Transcription
1. Vidéo promotionnelle du cours (À propos du cours): Bienvenue. Dans ce cours de développement de
jeux pour débutants, vous apprendrez à écrire votre propre jeu
fonctionnel l'aide des plans d'
Unreal Engine 5. Aucun revêtement ou Unreal Engine n'
a été utilisé, nécessaire. Bonjour, je m'appelle Greg Wanderer, un vétéran de l'industrie depuis 12 ans
qui enseigne développement de
jeux vidéo à l'aide d'
Unreal Engine depuis 2016. À la fin de ce cours, vous aurez une compréhension
approfondie de tous les concepts fondamentaux qui sous-tendent cette approche de
programmation basée sur les nœuds et couvrira les
classes et composants de Blueprint, les événements, fonctions, macros,
variables et bien plus encore. Ce cours s'adresse à tous,
du plus jeune
game designer Byron aux professionnels
saisonniers de l'industrie. Nous partons du tout début en supposant que vous ne savez rien. Mais à la fin de
ce cours, il
constituera une ressource précieuse. Vous pouvez vous
y référer encore et encore. Alors allez, rejoignez
les milliers d' étudiants
satisfaits qui ont commencé leur
parcours de développement de jeux vidéo avec moi. J'ai hâte de voir
ce que vous allez créer.
2. Primer de cours: Bienvenue, juste une
introduction rapide ici avant de
passer aux bonnes choses, juste pour que vous sachiez comment
suivre ce cours et tirer le maximum de valeur. Tout d'abord, merci d'
avoir choisi ce cours. Je sais que tu as
beaucoup d'options. Je prends ces
cours très au sérieux. J'ai passé plus d'
un an à le fabriquer. C'est le cours que je rêve d'élaborer, car
je pense que c'est le concept le plus
fondamental à acquérir. Lorsque vous travaillez
avec Unreal Engine, vous allez apprendre à
écrire des scripts de plan. Qu'est-ce que le monde
des scripts Blueprint est essentiellement une manière visuelle, basée sur des nœuds, de coder le
gameplay sans
regarder un mur de texte, de
syntaxe et tout ce jazz. Donc, si vous n'avez jamais vu quoi ressemble un script
Blueprints, j'ai un exemple rapide
à vous montrer ici. C'est Unreal Engine
5, d'ailleurs. Afin de créer un gameplay
fonctionnel dans Unreal avec des scripts de
plan, vous pouvez simplement connecter
des nœuds de ce type. Et ce que j'ai trouvé
ici n'est qu'une prise en charge rapide. J'ai également ce mur
procédural où nous
pouvons étendre le nombre de
pièces dont nous disposons. Tout cela est fait avec Unreal Engine, c'est le script
Blueprint. Alors, à qui s'adresse ce cours ? Je reçois souvent cette question
. Est-ce pour moi ? Eh bien, j'ai conçu
ce cours pour tout le monde. J'ai eu des élèves de
six ans à peine et de 65 ans qui ont suivi ce cours. Certains ne connaissent rien au codage
ou à l'écriture de scripts quelque part, nouveaux
débutants et d'autres
sont trois fois des développeurs. J'ai eu des élèves de
Naughty Dog et d'Insomniac. Mais je le fais chez Teach, comme si c'était ta première fois. Donc aucune menace dans un Hey, je ne comprends
rien à la
programmation, quoi que ce soit de ce genre. Je pars du
niveau du sol. Alors, comment est structuré ce
cours ? Eh bien, nous n'
allons pas créer quelque
chose en particulier dans ce cours. Ce cours est plutôt un cours basé sur des
concepts, présentant de nombreux exemples pratiques très
utiles. Maintenant, j'ai essayé de rendre ce cours aussi
ouvert que possible, c'
est-à-dire qu'il est censé vous
servir de ressource, de référentiel de
connaissances en matière de scripts que vous pouvez
retrouver de temps en temps encore une fois, comme un
guichet unique regroupant tous ces concepts de
script centraux vous pourriez avoir besoin et dont vous pourriez avoir besoin. Je veux dire, ce sont
toutes les questions que je me suis posées au cours de
mon parcours d'apprentissage au cours
des dix dernières années. Maintenant, en raison de la structure de ce
cours, vous pouvez passer
d'une leçon à l'autre. Vous n'êtes pas obligé de
procéder de manière linéaire. Mais je recommande d'
y aller dans l'ordre. Il y a peut-être quelques
leçons ici et là qui font référence à des leçons précédentes, mais je vais essayer de
les signaler lorsqu'elles se produiront et de réduire
cela au minimum. Maintenant, je tiens à souligner qu'il
est extrêmement difficile d'
enseigner un cours basé sur des concepts
comme celui-ci, entre guillemets, afin comprendre les
concepts présentés ici, nous rencontrerons sans aucun doute certaines choses dépendent de ce que cela signifie, c'est que
pour comprendre cela, vous aurez besoin
de le savoir. Et pour le savoir, vous devez le savoir. Il y a un concept
ou une compétence qui est présenté et qui semble
totalement étranger au premier abord. Sachez qu'un, je vais
l'appeler et je
couvrirai ce sujet correctement
plus tard. Il y a beaucoup,
beaucoup de choses à aborder ici. Et juste pour
vous donner un bref aperçu de mesure dans laquelle je suis préparé
à donner ce cours. J'ai mon plan
juste ici. C'est le schéma que j'
utilise pour créer ce cours. Chacun de ces liens bleus, des liens vers une leçon. Donc, j'ai passé littéralement, je suis en fait plus de deux ans à mettre sur pied ce cours. Encore une fois, je recommande d'
y aller dans l'ordre, même si vous pouvez vous déplacer. Enfin, si vous trouvez ce
cours utile, veuillez laisser un avis et le
recommander à d'autres Il n'y a rien
de mieux que de le
recommander à d'autres. J'adore enseigner aux élèves à
voir ou à construire. Rien n'est plus excitant pour
moi que de voir des étudiants appliquer ce que j'ai enseigné et le faire
passer au niveau supérieur. Des choses assez excitantes en effet. Très bien les gars, ça suffit. Passons aux bonnes choses. bientôt dans la vidéo suivante.
3. Téléchargez et installez: Très bien,
tout d'abord, avant de commencer par les bonnes choses, nous devons nous
assurer que vous avez téléchargé
et installé
Unreal Engine. Si c'est déjà le cas, n'hésitez pas à
sauter cette vidéo. Celui-ci est destiné aux débutants
complets que je n'ai aucune idée où aller, comment commencer, et cetera. Par conséquent, à l'aide d'un
navigateur Internet de votre choix, il suffit de taper
Unreal Engine.com. Maintenant, ils ont une page contenant des
instructions de téléchargement. Cela vous montrera une configuration
système requise si vous vous posez des questions à
ce sujet, c'est bon pour Windows ou Mac, peu
importe ce que vous avez obtenu. Et la première
chose à faire pour obtenir Unreal Engine est de
télécharger le lanceur
Epic Games. Oui, c'est
un peu flou. Nous devons télécharger le lanceur
Epic Games, via lequel nous avons ensuite
accès à Unreal Engine. bizarre, je sais. Mais allez-y et cliquez
sur ce téléchargement et lancez votre option. Il va vous demander d'
enregistrer ce package d'installation la destination de fichier
de votre choix. Je l'ai déjà fait auparavant,
mais une fois que c'est fait, vous pouvez double-cliquer
dessus pour commencer le processus
d'installation du lanceur Epic Games, c'est assez simple. Il vous
suffit de cliquer dans les cases qui sont présentées. Encore une fois, je l'ai déjà fait, donc je ne peux pas vraiment
reproduire cela ici. Processus assez simple. Maintenant, une fois cela fait, vous devriez être en mesure de trouver le lanceur
Epic Games apparaissant après
cela , ou vous pouvez le
rechercher ici. Si je clique sur ma petite
loupe ici et que je tape simplement épique, vous pouvez voir que mon Epic
Games lance votre application. Encore une fois, je l'ai déjà
pré-installé à partir d'ici. Je peux cliquer dessus avec le bouton droit de la souris et épingler ma barre des tâches,
ce que j'ai déjà fait. Ainsi, une fois l'installation du lanceur Epic Games
terminée, vous avez accès au lanceur
Epic Games, que vous avez les
onglets Store, bibliothèque et Unreal Engine sur le côté gauche. Parce que nous
travaillons évidemment avec Unreal Engine. Vous devez vous
assurer que cet onglet est sélectionné et que, en haut, vous devrez
sélectionner l'onglet de votre bibliothèque. C'est ici
que vous allez installer différentes versions d'unreal. Maintenant, tous
les deux mois environ, Epic Games propose
une version mise à jour
du moteur. Mais pour ajouter n'importe quelle nouvelle version de
moteur, vous pouvez simplement cliquer sur ce
bouton jaune plus ici. Il va ajouter
cette petite carte et ensuite ce menu déroulant, vous pouvez cliquer pour choisir
spécifiquement une version du moteur
que vous souhaitez installer. Maintenant, à la date d'aujourd'hui
où j'enregistre ce Unreal Engine
cinq est encore très nouveau et c'est la dernière
version du moteur. Quelle version du moteur
devriez-vous installer ? Je recommande la dernière
version, quelle qu'elle soit. Maintenant, si je clique à nouveau dessus, lorsque vous choisissez une
version différente du moteur, il
vous demandera de l'installer. Je l'ai déjà fait
hors caméra à l'avance, donc je suis prêt à le lancer,
mais en cliquant sur Installer ici, vous allez installer cette
version du moteur. Et il peut s'agir d'un processus
assez long. Donc, une fois que vous cliquez sur Installer, vous verrez
cette icône épique ou cette icône Unreal Engine se
remplir comme une barre de compteur. Et si vous cliquez sur cette option de
téléchargement ici,
vous pouvez également voir la progression
de l'installation d'Unreal. Allez-y et faites-le maintenant. Allez-y et
prenez un verre, allez dîner, etc. Parce que ça va
prendre du temps.
4. Créer un projet: Très bien, avec l'installation d'Unreal
Engine, il était temps
pour nous de créer un projet. Et pour ce faire, nous devons lancer le moteur. Il existe maintenant plusieurs
façons de lancer le moteur. Je vais donc vous montrer
ces méthodes maintenant dans le lanceur Epic Games avec Unreal Engine
sélectionné sur la gauche, l'onglet bibliothèque sélectionné
en haut. Nous pourrions lancer la version
du moteur que nous venons terminer d'installer
en cliquant ici. En haut à droite, il y a
un bouton Lancer qui me
permettra de lancer la
même version du moteur. Maintenant, si plusieurs versions
du moteur étaient installées ici, je peux cliquer sur cette liste déroulante. Ils seraient tous
présentés ici. Je pourrais en choisir un. Quelle que soit la
version du moteur que j'avais sélectionnée. Ce numéro apparaîtrait
à droite ici. Et encore une fois, en cliquant sur ce bouton
jaune
Launch , cette
version spécifique du moteur est lancée. Maintenant, si tout cela
est gênant, vous pouvez créer un raccourci en
cliquant sur ce
petit menu déroulant. Et vous pouvez créer un raccourci de
bureau ici, ce que j'ai déjà fait
avant cette vidéo. Il y a mon raccourci de bureau. Je vais cliquer ici sur
Launch. Ok, tu
finiras par arriver à une fenêtre contextuelle qui ressemble à ça. Nous sommes en train de créer un projet de
jeu, alors assurez-vous que cette
case est sélectionnée sur la gauche. Nous allons également
utiliser le modèle à la troisième personne pour nous
aider ici. Assurez-vous donc de l'
avoir sélectionné. Sur le côté droit, nous avons quelques options. Il s'agit d'
un projet
Blueprint sélectionné par défaut. Tout va bien et bien. Notre plateforme cible ici
sera la
qualité de bureau prédéfinie, maximum, désolé, contenu, sûr, le ray tracer votre choix si vous
voulez ou non que ce soit sélectionné, je vais dire Sûr. Emplacement du projet, vous
allez de l'avant et choisissez un emplacement de fichier
sur votre ordinateur. Cependant, le nom du projet
pour l'amour de Dieu,
s'il vous plaît, ne laissez pas
cela par défaut
car je vois
beaucoup trop d'étudiants le faire. Changez cette option en script
Blueprint. Ensuite, cliquez sur Créer. Très bien, et après
quelles scènes dans éternité après la
création de ce projet, nous obtenons notre premier
regard sur Unreal Engine cinq, l'éditeur de niveaux ici. Maintenant, si vous avez vu un
petit quelque chose dans la fenêtre inférieure droite qui
disait que les fichiers de projet sont obsolètes. Allez-y simplement et cliquez sur Corriger. Maintenant, pour arranger ça. En haut à droite, nous pouvons voir le nom
de notre projet. Et je tiens à
souligner qu'après avoir terminé ce projet, vous pouvez y
revenir directement en
passant par le lanceur
Epic Games, l'onglet Unreal Engine Library
est la section Mes projets. Dans n'importe quel projet que
vous avez créé
sera répertorié ici. Donc, double-cliquer
dessus ouvrira
ce projet spécifique pour nous, ce qui est très pratique. Mission accomplie ici, les gars, nous avons
créé notre premier projet. Découvrez les scripts
Blueprint dans la section suivante.
On se voit là-bas.
5. Exemple de plan: Bienvenue à tout le monde. Eh bien, avec notre
projet maintenant créé, passons tout de suite. Voyons les bonnes choses. Dans cette vidéo, notre objectif sera de définir
quels
sont les plans dans Unreal, puis de montrer un exemple d'un plan dans un jeu. Ce faisant, cela démontrera conceptuellement ce qu'est un plan directeur et comment nous pouvons les utiliser
dans la création de projets de jeu. Avant de tourner cette vidéo, je suis allé de l'avant et j'ai
créé un plan. J'ai créé un plan de ramassage
juste pour vous
enthousiasmer par ce que nous allons faire
ici dans la première partie de ce cours. C'est quelque chose que vous
voyez tout le temps dans le jeu. J'ai donc pensé que ce serait
un exemple très pertinent. Je vais cliquer sur
ce bouton vert en
haut ici. Et ce faisant,
en haut à gauche, il s'agit de cliquer
pour le contrôle de la souris. Si j'ai été supprimé
WAS et TSA dès le départ
et que rien ne se passe. Je dois d'
abord cliquer dans cette fenêtre pour prendre le contrôle
de mon personnage. Maintenant, tout ce que vous voyez
ici était préconstruit. La seule chose que
j'ai construite avant cette vidéo, c'était cette croix qui
tourne. Si je rentre mon personnage dedans, je l'ai collecté, je joue
un peu de son. Vous voyez ce genre de choses
dans les jeux tout le temps. Je vais frapper Escape
pour sauter d'ici. Maintenant, si je vais dans
mon tiroir de contenu et que je regarde l'info-bulle, leur contrôle et la barre d'espace, c'est aussi là
que je peux
faire entrer le tiroir de contenu. C'est là que je peux accéder
aux dossiers et dossiers
sur les dossiers de
mon Unreal Engine J'ai créé cette classe
Blueprint est BP exemple Blueprint classe. Avant cette vidéo, nous allons créer l'une des
nôtres par les vidéos antérieures. Mais je voulais souligner
ici avec le tiroir de contenu, s'agit d'une nouvelle fonctionnalité
et Unreal Engine cinq, il
s'agit d'une nouvelle fonctionnalité
et Unreal Engine cinq,
vous pouvez cliquer dessus pour le
relever ou le baisser,
ou faire ce contrôle
plus la barre d'espace. Cependant, pour ceux d'entre vous qui ont un
peu plus d'expérience ou vétérans d'Unreal, vous pouvez ajouter quelque chose et
le navigateur de contenu qui est une vision persistante de cela. tiroir en
bas de l'écran. Je vais donc passer sous navigateur de contenu
Windows et choisir le
navigateur de contenu pour
avoir juste une copie
du navigateur de contenu
disponible de façon persistante ici
dans l'éditeur. Vous n'êtes pas obligé de le faire. C'est ma préférence
personnelle. C'est exactement la même chose
que le tiroir de contenu a exactement les mêmes dossiers,
contenus, etc. Très bien, la raison pour laquelle
je fais cela est parce que je veux créer un nouveau dossier ici à l'intérieur
de mon dossier de contenu. Je vais donc cliquer avec le bouton droit sur mon dossier de contenu ici. Je vais créer un nouveau
dossier et je vais
appeler ça un script. Ensuite, je vais cliquer avec le bouton droit de la souris sur ce nouveau dossier de script. Et je vais lui donner
une couleur tout de suite. Et je vais juste faire un
clic gauche, déplacer ça. Je vais le régler en bleu parce que
c' est un cours de
script de Blueprint. Très bien, la raison pour laquelle je
crée ce dossier, c'est parce que beaucoup
de ressources que nous allons créer tout au long de ce cours. Je veux qu'ils soient
précisément dans ce dossier pour un accès
facile pour moi afin de savoir
exactement où ils vivent. Maintenant, sur le
côté droit,
je peux créer différents
types d'actifs. Et je peux le faire en cliquant avec le bouton droit de la souris
et un peu d'espace vide. Dans le menu contextuel MI, je peux créer une nouvelle classe de
Blueprint. Ce serait le bon
moment pour moi de
parler de nos plans dans Unreal. Donc, ce terme, les plans, signifie un peu deux choses ici. Blueprints est le système de script
visuel à l'intérieur d'unreal, parfois appelé script
Blueprints. Mais les Blueprints sont
également des actifs tels actifs de classe
Blueprint qui peuvent contenir des composants, des
données ou des scripts spécifiques qui ont aidé votre jeu d'une
manière ou d'une autre, de sa forme ou de sa forme. Il existe de nombreux types de
plans différents dans Unreal. Maintenant, tout ce système
d'impression bleu, c'est un moyen pour les
non-codeurs comme moi créer un
gameplay fonctionnel à l'intérieur d'Unreal, ce qui est assez doux. Donc, d'une certaine manière, vous
allez être enduit, mais de manière très artistique. Qu'est-ce que cela signifie ? Nous allons assembler quelques nœuds et ça va
être beaucoup plus
attrayant visuellement que ceux, zéros supports bouclés
et
tout ce genre de choses. Je vais donc
choisir un cours de Blueprint. Lorsque je clique dessus,
il va falloir
choisir une classe parentale. Encore une fois, beaucoup de
types de plans différents, mais dans l'ensemble, le plus courant est le plan de
classe d'acteurs. Il s'agit alors d'un objet qui peut être placé pour
répondre dans le monde. Allons de l'avant
et sélectionnez-le. allez créer cette
ressource ici dans notre dossier de script de contenu. Donnons un nom. Je vais appeler mon exemple de script de
soulignement BP. Je crois que c'est le nom que
je veux lui donner. Exemple,
ne prenez aucun exemple de ramassage. C'est le nom que je
voulais lui donner. Exemple de ramassage. C'est pourquoi je garde des notes. Appuyez sur Entrée. En passant, si vous souhaitez
modifier le nom de celui-ci, vous pouvez cliquer avec le bouton droit de la souris
et le renommer F2, tandis que le fait sélectionner vous
invite également à le renommer. Si je devais placer cela
dans mon niveau en ce moment, vous pouvez simplement le faire glisser et le déposer
depuis votre navigateur de contenu. Vous pouvez voir qu'
il y a une icône ici. Mais si je devais
sauter dans mon jeu, je ne
verrais pas vraiment ce truc. Cette icône n'est
disponible qu' en mode visualisable
ici dans l'éditeur. Je ne le vois pas quand je
joue au jeu lui-même. Maintenant, j'ai actuellement
le mode
rotationnel sur ce
truc de navigation de base. Le mode de rotation est activé. Vous pouvez revenir en
mode mouvement pour déplacer cela. Sinon,
votre barre d'espace bascule entre les mouvements, rotation ou la mise à l'échelle de
vos objets. Tous ont également des raccourcis clavier
associés à eux. Très bien, donc
tout va bien. L'astérisque ici montre
qu'il n'a pas encore été sauvegardé. Ainsi, Control plus S le dira, ou vous pouvez cliquer dessus avec le bouton droit de la
souris et cliquer sur Enregistrer également. Une autre chose que je
veux faire avant fermer cette vidéo, c'est créer un
tout nouveau niveau de tests. En fait, nous n'allons pas
travailler à l'intérieur de ce niveau. Tout cela sert à des fins de
démonstration. Je vais donc entrer dans le
dossier en haut à gauche. Je vais créer
un tout nouveau niveau. Lorsque vous faites cela, il
vous invite à sélectionner l'un de ces
différents modèles. Je vais aller avec le niveau
de base ici. Cliquez sur Créer. Cela va me
sortir de ce niveau et passer à un nouveau niveau sans titre. Maintenant, il y a peu de choses
que nous devons faire ici. La première est que je dois
sauvegarder ce niveau. Donc, si je clique sur cette petite icône de
sauvegarde du disque ici, ça va me demander, hé, où voulez-vous
enregistrer ce niveau ? Je vais mettre ça
dans mon niveau de script. Je vais nous donner un nouveau nom et je vais appeler cette carte des tests de soulignement
LV. Toute cette carte
va être un test géant. Maintenant, pour tous ces
différents
concepts de Blueprints , nous allons
explorer tout au long du cours. Nous allons cliquer sur Enregistrer ici. Le nom de cet onglet va
maintenant être modifié pour tester la carte. Vous pouvez voir que cette ressource se
trouve désormais dans mon dossier de
contenu. Il créera automatiquement
ces données de génération Mab test. Vous n'êtes pas obligé de faire
quoi que ce soit à l'intérieur de celui-ci, mais
cela sera automatiquement créé dans votre dossier. Il y a encore une
chose que je veux faire ici dans les paramètres de notre projet. Vous pouvez le trouver dans les
paramètres en haut à droite, les paramètres
du projet. Il va créer
un nouvel onglet. Sur le côté gauche,
nous avons des cartes et des modes. Allez-y et choisissez cela. Nous voulons modifier
notre éditeur par défaut, commencer la carte de la carte à la troisième personne
vers la carte que nous venons de créer, une carte de test de niveau. Nous pouvons simplement sortir d'ici. Et ce que cela fera,
c'est de faire en sorte qu'une fois que nous
fermons l'éditeur ici
et que nous l'
ouvrons, rentre automatiquement
dans ce niveau. Nous n'avons pas besoin de trouver ce niveau ici dans notre navigateur de contenu. Donc, tout va bien et bien. Je vais
terminer ce niveau
très rapidement en sautant dans
cet très rapidement en sautant dans exemple de Blueprint que j'ai créé dans
mon dossier de contenu, je peux simplement
placer l'un d'entre eux dans mon niveau et sautez dans
mon exemple de plan. Ici, j'ai
cet onglet de fenêtre qui montre les différents composants
qui composent mon Blueprint. Et puis j'ai
ce graphique d'événements qui montre les scripts, nœuds et
les fils qui ont créé la fonctionnalité de ces Blueprints
particuliers. Je me chevauche et il émet un son
et ça détruit l'acteur. C'est donc essentiellement ce que
nous allons construire tout au long de ces
prochaines vidéos ici. Mais les gars, ça va nous amener aussi loin que je
voulais voir dans cette vidéo. Nous vous verrons donc
dans le prochain.
6. Panneau de composants: Bienvenue à tous. Dans cette vidéo, notre
objectif est d'ajouter des composants à notre plan
nouvellement créé pour vous
permettre de comprendre ce que se trouve
le panneau Composants dans un plan et comment en tirer le meilleur parti
de travailler avec, car il y
a beaucoup de nuances, de bonnes choses
à savoir qui vous feront gagner beaucoup de temps. Très bien, avant d'en arriver là, je voudrais supprimer
cet exemple de BP que j'ai lu avant le
début de la dernière vidéo. Nous allons donc dire
adieu à cela en cliquant sur Supprimer directement dans
le navigateur de contenu. Vous pouvez également utiliser votre tiroir de
contenu. Je vais
entrer dans mon
dossier de scripts et placer
mon exemple de capture d'exemples BP
dans mon niveau. Encore une fois, il n'y a rien
à l'intérieur de ce plan, donc je vois cette icône, mais si je devais jouer, je ne verrais rien. Il existe maintenant plusieurs manières
de modifier
ce plan. La première est que nous pouvons
double-cliquer sur son actif lui-même dans le tiroir à barres obliques
du navigateur de contenu. Ou avec cet objet
placé dans le niveau, vous pouvez cliquer sur votre
plan où vous avez sélectionné un exemple de prélèvement de
BP et où
vous pouvez modifier des exemples de prélèvement de BP. Je vais donc cliquer dessus. Et si vous
constatez qu'il s'agit
uniquement de données . Des plans apparaissent
parfois lorsque vous ouvrez un plan, vous pouvez simplement cliquer
ici pour ouvrir l'éditeur de plan complet. Très bien. Il s'agit de notre éditeur de plans. Je vais cliquer sur l'onglet de la
fenêtre d'affichage juste en haut. Nous allons détailler
tous les aspects de cette
question ici. Mais je vais d'abord passer à l'onglet de la
fenêtre d'affichage, car nous allons ajouter des composants dans
l'onglet Composants que nous pourrons ensuite
visualiser dans l'onglet de la fenêtre d'affichage. Je dois souligner ici que nous avons fait des
plans de classe d'acteur dans la dernière vidéo. Et voilà, dans
le coin supérieur droit, le coin supérieur droit, il est écrit que la classe des parents
est la classe des acteurs. Très bien, alors allons-y et parlons de ce que sont les composants. Les composants sont essentiellement
les éléments
de base d'un plan directeur. Si vous pensez à une voiture, sa construction,
un plan de voiture
aurait une carrosserie grillagée. Vous auriez des roues, des phares, du
klaxon, peut-être de la fumée d'échappement. Tous ces composants
peuvent être ajoutés ici dans le panneau Composants. Désormais, par défaut, le panneau
Composants se trouve en haut à gauche de
l'éditeur de plans. Vous pouvez maintenant redimensionner cette fenêtre
en cliquant avec le bouton gauche de la souris et en la faisant glisser ici. Vous pouvez détacher
cette languette
ici et la placer dans un endroit
complètement différent. Dis en bas. J'ai choisi de le
remettre là où il était. Vous pouvez masquer et afficher
l'onglet des composants. Si je devais simplement
cliquer dessus avec le bouton droit de la souris, je pourrais masquer cet onglet. Si je clique sur ce
petit drapeau bleu, je peux afficher l'onglet. Je peux cliquer
dessus avec le bouton droit de la
souris,
l'ancrer dans la barre latérale et la déplacer ici si je le souhaite. Et je
clique simplement dessus pour
pouvoir à nouveau cliquer dessus avec
le bouton droit de la souris en le détachant
de la barre latérale. De nombreuses options ici. Je peux aussi me débarrasser de
ce panneau
de composants en cliquant dessus. Les étudiants le font
de temps en temps, puis ils paniquent et se demandent comment récupérer cette fenêtre ? Eh bien, si vous entrez dans votre option
Windows ici, voilà, vous avez
une option de composants. Tu y vas. Très bien, ajoutons quelques
composants à nos plans. Nous avons donc jeté un
joli coup d'œil ici. Nous avons ce
bouton Ajouter ici. Mais fidèle à la
nature de l'irréel, s'il existe plusieurs
façons de faire les choses. Je vais donc
essayer de démontrer plusieurs façons d'ajouter des composants. Cliquons d'
abord sur ce bouton Ajouter ici et en ajouter un tout nouveau. Ce que nous voulons, c'est une
collision de sphères et de composants. Comme vous pouvez le constater, de nombreux composants
différents dans Unreal, ne vous
laissez pas intimider. Certains d'entre
eux sont utilisés
beaucoup plus couramment que d'autres. L'un de ceux qui est le
plus couramment utilisé est le composant de
collision de sphères. Cela vous
fournit essentiellement
une sphère invisible que
nous pouvons vérifier pour voir si vos personnages
se chevauchent pour faire des choses. Je vais donc appeler cette
sphère « collision ». Tu peux lui donner un nom là-haut. Et avec ces composants sélectionnés dans
le panneau Détails, je vais changer
quelque chose à ce sujet. Je vais modifier les détails, le rayon de
la sphère pour qu'il soit de 50. Nous aborderons plus en détail le
panneau Détails dans une prochaine vidéo. Je vais également ajouter un cube. Et je vais appeler ce
cube un trait de soulignement horizontal. Je peux utiliser la molette de ma souris
pour zoomer et dézoomer. Je vais juste
nous donner une échelle approximative. Je pourrais ajuster cela à un moment donné, mais une fois que cela est débloqué, je vais le changer
pour qu'il soit 0,25 dans le x, 0,25 et le y l'amincit un peu. Et je vais
changer l'échelle Z pour qu'elle
soit de 0,8, quelque chose comme ça. Maintenant, je peux cliquer dessus avec le bouton droit. Je peux dupliquer celui-ci
car je vais
créer la forme de croix que
j'avais dans la dernière vidéo. Et cela m'incite
à nous donner un nom. Je vais appeler ça
un cube vertical. Et celui-ci, je vais le garder vraiment vertical
car le dernier, même si je
l'appelle horizontal, se tient verticalement avec le cube
horizontal sélectionné. Je vais choisir le mode
rotation ici. Vous pouvez également appuyer sur
la barre d'espace. Et je vais
simplement le faire pivoter vers le bas pour qu'il soit de 90 degrés, comme ça. OK, ajoutons un autre
composant. Allons-nous ? Et si on
y ajoutait du feu ? Bien sûr, ajoutons un effet
de particules. Je vais détacher
cet onglet ici. Et je vais le détacher, le placer quelque part ici. Et si je fais cela, c'est
que dans mon navigateur de contenu, je vais accéder à
mon contenu de démarrage. Je vais aller dans mon dossier de
particules. Je vois ici une particule de feu P. Il s'agit maintenant d'un système de
particules plus ancien. Dans les années à venir, nous allons probablement nous en
débarrasser. Le nouveau système de particules
est connu sous le nom de Niagara up. Vous n'avez donc pas à utiliser
ces anciens effets de particules. Vous pouvez utiliser un effet de
particules Niagara plus récent lorsqu'ils sont Je suis sûr que nous les aurons disponibles dans un dossier de
contenu de démarrage. Mais ce que je voulais
démontrer ici, c'est que je peux cliquer avec le bouton gauche de la souris ici
dans le navigateur de contenu, faire glisser directement vers le haut dans mon panneau de
composants, comme suit. Et vous voyez cette boîte qui
entoure mon signal à l'horizontale, je vais juste le
faire glisser juste au-dessus. Et je vois
que je l'ai ajouté à mon plan. Une autre chose que je
voulais noter, c'est que lorsque nous l'avons ajouté à notre plan l'intérieur de notre panneau de composants, cela a été ajouté à l'instance de ce plan
qui se trouve dans notre niveau. Ainsi, comme vous pouvez le constater, lorsque nous modifierons les choses ici à l'intérieur
de notre plan, cela modifiera et
mettra à jour
n'importe quelle instance, toute copie de ce
plan que nous
avons placée dans notre niveau, qui C'est ce qui rend
les plans si géniaux. autre chose que je
voulais souligner ici, c' est qu'une sorte de
relation existe. Vous pouvez voir que
les objets sont indentés en faisant glisser mon feu P sur le dessus
de mon cube à l'horizontale. Il a en fait fait fait en sorte qu'il soit attaché à ce cube
horizontal. Donc, si je devais sélectionner mon cube
horizontal ici, permettez-moi de revenir
à la taille réelle. J'ai sélectionné les
composants de mon cube horizontal ici. Si je le déplace, le feu
retentit pendant le trajet. Je vais juste faire Control
Z pour confirmer ça. Cependant, si je devais sélectionner
le feu lui-même et le déplacer, rien d'autre n'est
attaché au feu. Le feu était fixé
au cube à l'horizontale. Je vais donc utiliser Control
Z pour annuler ça. Si je n'aime pas qu'
il y soit attaché, je peux simplement
glisser-déposer ce sac par-dessus. Et maintenant, cela montre
qu'il n'est pas attaché essentiellement lorsque quelque chose
est indenté de cette manière, cela montre qu'une chose
est attachée à une autre. Donc, à l'heure actuelle, mes deux composants de maillage
cubique sont attachés à mon composant de collision de
sphères. Maintenant, juste parce que je
veux montrer plus de choses de ce genre
qui sont attachées. Je vais le
faire glisser vers la droite au-dessus de mon cube à l'horizontale. ai aucune raison de le faire si
ce n'est simplement
parce que je vais
désamorcer ça à nouveau, dans des endroits comme ça. Que dois-je ajouter ici ? Je veux en ajouter un peu, ajoutons de la fumée, de la voyante. Donc je vais aller
fumer juste ici. En fait, laisse-moi faire ça. Je vais mettre
cette sauvegarde en haut, pour revenir à mon niveau de test. Voici une autre façon d'
ajouter ce composant, en
saisissant ma fumée, en cliquant avec le bouton
gauche de la souris, en le
faisant glisser vers mon onglet. Maintenant, cet onglet s'ouvre
automatiquement, et maintenant je vais le
glisser-déposer sur le dessus du feu. Voilà, je viens d'ajouter
un autre effet de particules. Encore une fois, la fumée est
attachée au feu, qui est à son tour attaché
au cube horizontal. Donc, si je devais déplacer la composante horizontale du
cube, le feu et la
fumée l'accompagneraient. Contrôlez Z pour le sauvegarder. Et comme vous pouvez le voir
dans mon éditeur de niveau ici, il est en train de fumer avec cette
instance du plan. Plutôt cool. Très bien, je voudrais ajouter, ajoutons autre chose ici. Je veux ajouter un retour à l'intérieur de mon
exemple de micro de plan, ajoutons un
mouvement de rotation pour lui montrer. Je clique donc sous l'onglet Ajouter des composants dans une zone
de recherche de composants, je peux en rechercher un
appelé mouvements rotatifs. Donc oui, vous pouvez
rechercher des composants. Je savais que celui-ci existait, donc je savais qu'en le cherchant, je le réduirais. Maintenant, en sélectionnant ceci, il va l'ancrer
un peu plus bas. C'est une sorte de composant
spécial qui n'est
attaché à rien. Vous ne pouvez pas associer un composant de mouvement
rotatif à un autre composant. Cela affecte essentiellement
tous les autres
composants de notre plan directeur. Maintenant que cette option est
sélectionnée dans le panneau Détails, vous pouvez régler sa vitesse de
rotation. À présent, il va
pivoter le long de l'axe Z. Vous avez des axes
x, y et z sur lesquels vous pouvez le
faire pivoter à une vitesse donnée. Maintenant, nous ne voyons rien
tourner pour le moment. Cependant, si j'étais supprimé en tant que bouton
Simulation en haut de l'éditeur, vous le verriez tourner. Maintenant que la simulation est lancée, je vais cliquer
dessus à nouveau pour l'arrêter. Je pourrais changer ça pour, disons 2 000. Et puis cliquez sur Simuler pour
le voir tourner beaucoup plus rapidement. Je vais rétablir sa valeur par défaut en
cliquant sur ce
petit bouton de retour. OK, super. Donc, si je devais atteindre mon
niveau ici et que je devais jouer,
eh bien, si je devais jouer, je
ne serais pas en train de courir partout. Je ne verrais
pas cela tourner parce que je n'ai
pas acteur ou d'acteur ou d'acteur placé dans mon
niveau où apparaître. Donc, en cliquant sur le
bouton Ajouter en
haut de l'éditeur, je vais passer
sous la rubrique Acteurs de base. Et je veux ajouter un acteur
débutant à mon niveau. Je peux simplement cliquer avec le bouton gauche
et glisser-déposer. Et avec cet acteur,
cela définit un endroit de mon monde
où je vais apparaître dans cette flèche bleue pointant
vers la direction dans laquelle mon
personnage va faire face. Donc maintenant, si je devais cliquer sur Play, je jouerais. Et je peux voir tout cela tourner. Oui, tout tourne,
y compris le feu et la fumée,
car tout est attaché. Je sais que ça n'a pas l'air génial, il montre juste des concepts
différents. Très bien, ajoutons un autre
composant à notre plan. Et celui-ci va également se
faire d'une manière unique. Je veux trouver un morceau
audio donné trop attaché
à ce plan. Donc, ce que je vais faire ici c'est sélectionner notre plan ici
dans l'éditeur de niveau lui-même. Et regardez dans
le panneau Détails. Je vais le décoller
ici. Je peux voir tous les
différents composants qui ont été ajoutés
à ce plan. Et à partir de là, je peux
ajouter un composant. Essayons donc de l'ajouter
à partir d'ici plutôt
que dans notre
éditeur de plans lui-même. Je vais donc cliquer sur Ajouter et je veux ajouter
un composant audio. Et ce faisant,
il l'ajoute ici. Cependant, si je devais accéder à mon exemple de capture BP que j'avais créé ici
dans mon dossier de scripts. Allons-y tout de suite. Je ne vois encore ce composant
nulle part ici. Alors, comment puis-je m'assurer
que cette modification apportée à cette instance du plan se propage à mon plan de base ? Eh bien, si je clique sur ce
bouton ici, modifie le plan de cet acteur
, je peux cliquer ici. Ce que je peux faire, c'est choisir
cette option ici, appliquer les modifications
d'instance au Blueprint. Donc, ce faisant, je reçois une petite notification
juste là. Et puis, si je reviens à l'exemple de lecture de mon
plan, je peux maintenant voir
que ce composant audio a également été ajouté. Encore une fois, il
existe de nombreux types de composants qui peuvent être
ajoutés à un plan. Il y en a beaucoup que
je n'ai jamais utilisés, mais certains
sont très couramment utilisés. Et il y a une chose
que je veux faire comprendre très tôt, c'est
de travailler avec Unreal. Il y a tant de choses à savoir, mais vous n'avez pas à
tout savoir en connaissant certains
des concepts de base clés que vous
pouvez obtenir très, très loin. Ne vous laissez donc pas intimider
dès le début. Les types courants de composants
incluent les maillages statiques. Vous pouvez ajouter
des lumières. Où sont mes lumières,
il y a mes lumières. Vous avez vos formes de
collision. Et puis il y a
certains de ces mouvements. Une fois que vous avez résolu le mouvement de
rotation, il en existe un appelé mouvements
d'interprétation. C'est aussi assez couramment
utilisé. Très bien, il y a encore
quelques points que je voulais
souligner dans cette vidéo
avant de terminer, l'un concerne cette relation
d'
attachement que nous entretenons dans le panneau Composants. Il convient de noter qu'
avec un composant sélectionné qui est attaché
à un autre élément, l'emplacement indiqué dans
le panneau Détails est relatif à l'objet
auquel il est attaché. Donc, en ce moment, j'ai sélectionné les
composants horizontaux de
mon cube. Et cela est lié à mon composant de collision de
sphères. Si je devais définir l'
emplacement z sur 100, cela le ferait
monter de 100 unités irréelles. Chaque unité irréelle
représente un centimètre, 100 unités irréelles au-dessus du point central de ma composante de
collision. Sachez donc que tous ces paramètres de
localisation sont relatifs à
ce à quoi ils sont attachés. Je vais remettre ça en arrière. Je voulais également souligner que
vous pouvez changer la racine. Notez que lorsque nous avons créé
ce plan par défaut, cet
itinéraire
était visible par défaut dans cet éditeur ici. C'est cette icône qui
existait là avant. Tout le reste est joint et leur emplacement est
relatif à cet itinéraire. Vous pouvez modifier le
composant racine en sélectionnant simplement, dans ce cas, je
vais sélectionner
une collision de sphère sévère, et
non une collision grave. Je vais le faire glisser et le
déposer dessus ici. Et cela me permet de savoir que
si je le dépose ici, je vais en
faire les nouvelles racines et que la
route par défaut sera supprimée. Sweets, c'est
maintenant la nouvelle racine. Tout le reste est positionné par rapport à ma collision de sphères. La dernière chose que je
voulais souligner ici, et ce qui rend les
plans si géniaux c'est qu'en faisant créer un acteur de
plan ici, si j'apporte un changement à l'intérieur
de ce plan, cela changera chaque copie
ce sont tous les exemples que l' on trouve dans le monde et il suffit de
le démontrer très rapidement ici. Pouvez-vous revenir à
mon niveau de test ici dans mon dossier de scripts. Je vais juste en placer
quelques-unes tout au long du niveau. Au fait, vous n'avez pas besoin de
continuer à glisser-déposer. Vous pouvez maintenir la touche Alt enfoncée et cliquer avec le bouton gauche pour continuer à
en faire glisser des copies. Très bien, donc j'en
ai cinq. Maintenant, disons que je
pense, tu sais quoi,
que ça tourne, que le feu et la
fumée semblent un peu stupides. Je peux revenir à mon
exemple de pick-up ici. Je peux sélectionner ma cigarette. Je peux dire supprimer. Je vais juste faire
Control Z là-bas et dire : « Tu sais quoi, je
veux me débarrasser
du feu et de la fumée. Je vais donc sélectionner
mon feu et appuyer sur Supprimer. Il va le supprimer. Je vais ensuite
éliminer la fumée. Et maintenant, si je
reprends mon niveau,
il n'y en a plus pour
chaque copie, je veux m'en
débarrasser, oui, en effet. Je vais donc revenir à mon exemple de capture de
plan. Sauvegardons ça. Et c'est tout ce
que nous voulions accomplir
dans celui-ci. Le responsable du panel des composants est un élément très important pour
connaître les plans. Ça va
tout faire pour cette vidéo, on se voit dans la prochaine.
7. Onglet de Viewport: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est de comprendre ce que trouve
l'onglet de la fenêtre d'affichage d'un Blueprint. Maintenant, c'est notre fenêtre sur ce à quoi va ressembler
notre plan de classe d'acteurs. Grâce à cet onglet, nous pouvons
affiner le placement de
ces composants les uns
par rapport aux autres. Maintenant, l'onglet de la fenêtre peut
être trouvé ici. Nous avons trois
onglets différents, un onglet Fenêtre,
un onglet Script de construction,
puis l'onglet Event Graph. Chacun d'entre eux va
justifier sa propre vidéo. Alors ne vous inquiétez pas, nous allons
aller voir ces autres. Commençons par
parler des différentes options de la
fenêtre d'affichage. C'est-à-dire ce qui se
trouve sous cette petite icône de hamburger
en haut à gauche. Donc, si je
clique dessus, on me présente
quatre options
différentes sur lesquelles j'en ai deux. Par défaut, cette option
en temps réel et cette option Afficher la grille. Nous en arriverons à
tous dans un petit moment. Réinitialisons donc la caméra 1. Si je devais cliquer
là-dessus en ce moment, ça ne
semble pas vraiment faire autant. Il a juste un peu sauté
mon appareil photo pour montrer tout ce qui se trouve dans mon plan. Juste ici, devant et
au centre de ma fenêtre. Maintenant, là où cela
est vraiment utile, c'est parfois que vous avez beaucoup de composants
différents
à l'intérieur de vos ports de vue. Ou parfois, pour quelque
raison que ce soit, vous avez volé
loin , loin, comme je le
fais en ce moment. Et tu es comme, où
sont toutes mes affaires ? Où sont mes composants ? Si vous vous trouvez simplement sous
cette icône de hamburger, cliquez sur Réinitialiser la caméra. Il vous sautera tout de suite
là où vous voulez être et vous soupirerez. soupir de soulagement. Ensuite, nous allons
parler de l'option en temps réel. Il est coché par défaut, mais nous n'avons
rien d'animation ici, il est
donc difficile de
voir vraiment ce que cela fait. Je vais passer à
un autre plan pour montrer ce qu'il fait ici. Je vais donc revenir à ma carte de test de niveau
à l'intérieur de mon
navigateur de contenu ou de mon tiroir de contenu. Je vais entrer dans mon dossier Blueprints à la
troisième personne. Il y a mon
personnage B P ThirdPersonnage qui est un personnage que nous
jouons actuellement car lorsque nous appuyons sur ce bouton Lecture, je vais
double-cliquer ici pour ouvrir ce Blueprint. Et encore une fois, si je clique
sur l'onglet Viewport, je peux voir tous les
différents composants qui
composent notre
ThirdPersonnage, y compris une caméra, et
c'est la caméra que nous
examinons lorsque nous nous intéressons
jouent à notre jeu. Maintenant, si vous zoomez légèrement sur ce
personnage et que je suis juste en train de rouler ici vous pouvez voir notre personnage
s'animer un peu. Ils jouent une animation
inactive. Eh bien, si pour quelque raison que ce soit, je veux que le personnage
reste immobile, je peux cliquer sur cette option. Désactivez en temps réel. Il y a également une touche de raccourci
associée. Donc, si je fais le contrôle et notre,
ça va activer et désactiver ça. C'est plutôt cool. accord,
revenir à mon exemple BP,
ramasser, passer sous l'icône de mon
hamburger veut plus. J'ai l'option « show floor ». Maintenant, c'est désactivé par défaut, mais il ne s'affiche pas ici, ce qui est plutôt étrange. Je vais éteindre ça. Permettez-moi de retourner à mon
personnage de troisième personne et de montrer l'étage. On y va. Il y a notre spectacle pour l'option. Je ne l'utilise pas trop souvent, mais de temps en temps, vous avez un tas de
composants et vous dites que nous construisons une voiture ou
quelque chose du genre. Cela peut vous donner un meilleur
sens de l'échelle et de la façon dont les
choses sont agencées les unes
par rapport aux autres, par
opposition à
un modèle de personnage ou de classe d'acteur qui
flotte dans l'espace. En revenant à mon
exemple BP une fois de plus, sous les
différentes options, nous avons la grille d'affichage. Maintenant, il est activé par défaut et
vous pouvez voir qu'il est ici. Je peux désactiver ça. Et pourquoi cela est utile
à montrer ou non. Je vais faire une démonstration
ici dans un peu. Je vais montrer ma grille et
maintenant je vais mener à
la discussion de
nos différents points de vue
ici, en la discussion de
nos différents points de vue sautant un. Il s'agit actuellement de la fenêtre de
perspective. C'est un peu votre vue
magnifique. Cependant, si je
devais cliquer dessus, j'ai différentes vues
orthographiques dans
lesquelles je peux sauter
notre fenêtre d'affichage, comme une vue de dessus. C'est un peu une
vue d'ensemble des choses. J'ai une vue de gauche le
regarde sous un angle gauche et vous pouvez entrer et sortir de la
molette de la souris. Une vue de face. Nous voyons la croix, non pas de la croix, mais plutôt du côté, du côté. Et chacun d'entre eux a une
touche de raccourci associée. Maintenant, là où la grille entre
réellement en jeu c'est que vous pouvez voir ces
différentes marques de grille. Vous vous demandez peut-être quelle est la taille de chacun de ces carrés de
grille ? C'est là que nous
commençons à discuter de nos différentes
tailles de grille ici. Donc, si je devais cliquer
ici juste là où se trouve ce numéro cinq, je peux montrer différentes
tailles de clichés, 1510, etc. Il est actuellement fixé à cinq, ce qui signifie que chacun de ces
minuscules carrés représente une surface irréelle de cinq sur cinq unités. Maintenant, c'est super pratique
et je vais juste
sauter pour aller à la vue de dessus. Si vous souhaitez déplacer des
composants et
que vous voulez qu'ils sautent
certains incréments. J'ai donc ce mouvement
d'
accrochage Snapping actuellement activé. C'est ce que ce bleu le
représente ici je vais définir mes paramètres de
capture à 100. Notez maintenant qu'une fois que j'ai fait cela, la taille de la grille est
modifiée pour correspondre. Il s'agit donc maintenant de
100 par 100 en taille de grille par opposition
à ce qu'elle était avant, qui était cinq par cinq. Je vais
donc revenir à 100. Disons maintenant que
je veux qu'il déplace mon
maillage horizontal de cube ici,
plus de 100 unités
en cliquant avec le bouton gauche et en le faisant glisser, je le saute simplement sur 100 unités. Maintenant, vous pouvez voir si je
le déplace dans la vue de dessus, il saute par
incréments de 100. Et vous pouvez voir cela reflété ici dans les paramètres de localisation. Encore une fois, ces paramètres de localisation sont relatifs à la racine. Maintenant, si je voulais le déplacer de façon plus fluide, je pourrais désactiver les réglages d'accrochage lorsqu'
il n'est pas bleu comme ça. Cela signifie que je peux
le déplacer facilement. Mais parfois, vous voulez le déplacer par incréments très
discrets. Et c'est là que cela s'avère
vraiment utile. Je vais remettre mon
emplacement ici à 0. Et je vais
réactiver mes paramètres d'accrochage et les remettre à cinq pendant que nous sommes ici et que nous
parlons de tout cela. C'est probablement le
moment idéal pour parler nos différents paramètres
dans notre fenêtre d'affichage. Actuellement, je suis en mode de
traduction d'objets. Je peux cliquer ici pour
passer en mode rotation. Comme ça. Vous pouvez voir maintenant, permettez-moi de
revenir ici en perspective. Vous pouvez voir que je fais
tourner ça, il le déplace
par incréments de dix. Et il se déplace par incréments
de dix parce que
mes paramètres de rotation sont activés, ce qui signifie qu'il va le déplacer
par incréments de dix. Et si je devais
cliquer ici, je pourrais modifier les incréments. Il va le faire pivoter. J'aime bien dix degrés, mais il y a des cas
pour ces autres. J'ai également le mode échelle
que je peux transformer cela. Je peux donc passer à mon option d'échelle. Et maintenant, si je devais simplement
saisir l'une de ces poignées, je vais prendre cette
poignée bleue juste là, qui représente l'axe Z,
l'axe Z relatif. Dans ce cas, vous
pouvez voir comment j' ajuste l'échelle de cela. Je vais remettre
ça à ce que j'avais auparavant, qui était de 0 point. Je pense que je l'ai eu aux points 8.8, c'est vraiment ce à quoi je l'ai eu. Ainsi, W, E et R, comme vous pouvez le voir dans
ces infobulles, celles-ci peuvent vous guider dans
les différents modes, le mode mouvement, mode
rotation et le mode échelle. Cliquer sur ces boutons le
fera également, mais un ENR peut vous lancer dans
ces différents modes de mouvement, de
rotation et de mise à l'échelle. Cependant, la barre
d'espace
bascule entre les trois. Parlons ensuite de nos
différents modes d'éclairage. Actuellement, par défaut,
c'est en mode Lit, mais si je clique dessus, je peux le changer
en mode non éclairé. Encore une fois, tous ces
raccourcis clavier sont associés. Ou en mode filaire. Pas trop de fois j'utilise le mode
filaire ou non éclairé, mais ils sont là au
cas où vous en auriez besoin. Que se passe-t-il si vous
fermez accidentellement cet onglet ? Cela arrive assez souvent, plus souvent que vous ne le
pensez réellement. Et puis les étudiants se demandent Où est-ce que c'est allé, comment puis-je le récupérer ? Je vais donc le faire
maintenant en le fermant. Eh bien, le moyen de le récupérer
est simplement de passer sous cette option de fenêtre. Et puis, en
bas,
vous pouvez cliquer nouveau sur votre fenêtre d'affichage. Il existe d'autres
options de fenêtre d'affichage auxquelles vous pouvez accéder
en cliquant dessus avec le bouton droit de la souris. Vous pouvez l'ancrer sur une barre latérale. Ce que ça fait, c'est qu'il
va sauter ici. Et donc si je cliquais dessus, je développerais cette ouverture. Si je l'épingle, cela signifie que
je ne peux pas m'en sortir. Donc, si je le déépingle, je peux cliquer dessus avec le bouton droit de la souris et il le
ramènera dans la barre latérale. Si je clique à nouveau dessus avec le bouton droit, je peux le déverrouiller. Je peux donc le fermer
à partir d'ici, ce que j'ai fait avant de le fermer ,
c'est la même chose que de
cliquer sur ce x. Je peux fermer l'onglet
à droite de cette signification de ce script de
construction ou le graphique d'événements. Si je me débarrasse de ces
gars-là, ils sont partis. Ils ne sont pas trouvés sous
l'option de fenêtre ici. Pour que ces gars reviennent
dans le panneau Mon Blueprint, vous pouvez double-cliquer sur le graphique des événements pour le
ramener. Vous pouvez également double-cliquer sur
le script
de construction pour afficher
cet onglet particulier. Ensuite, parlons de
se déplacer dans la fenêtre d'affichage. Si je devais maintenir
le bouton gauche de la souris enfoncé et
simplement déplacer ma souris. Ceci. Conduite dans la fenêtre d'affichage. Au fait, il s'
agit du même contrôle dans votre éditeur de niveaux. Si vous étiez dans la fenêtre de votre éditeur de
niveaux, le bouton
gauche de la souris et
déplacez votre souris autour des lecteurs. bouton droit de la souris
regarde simplement ici à
l'éditeur de niveau, ainsi qu'à l'intérieur de votre fenêtre d'affichage pour le bouton central de votre
Blueprint. Et en déplaçant votre souris
, il suffit de la garder sur le même plan 2D
et de la déplacer. Bouton central de la souris plus, ou je devrais dire un bouton
du milieu souris
ou des boutons gauche et
droit de la souris ensemble. Nous allons
refaire la même chose dans l'éditeur de niveaux, le bouton
central de la souris, le
déplacer, boutons
gauche et droit de la souris ensemble. déplacer
fait la même chose. Et puis dernier point mais non le moindre, c'est ma façon préférée de
naviguer dans la fenêtre d'affichage, maintenant le bouton
droit de la souris enfoncé, puis en utilisant W, A, S et D pour voler. Maintenant, la vitesse à
laquelle vous volez, permettez-moi de revenir dans
l'onglet de
ma fenêtre d'affichage de mon plan qui est déterminé par ce
type ici. Curseurs de vitesse de vos caméras. Si vous cliquez dessus, vous
pouvez le configurer ou le désactiver. Maintenant, je vais
voler très vite. Ou si je l'envoie plus bas, je vole très lentement. Maintenant, une chose à noter ici, la valeur par défaut est que
si vous devez
voler et que vous utilisez la molette de votre
souris pour entrer et sortir, en faisant défiler vers le haut ou vers le bas, vous pouvez réellement modifier la
vitesse à laquelle vous volez. C'est donc une bonne
astuce pratique à connaître. Vous voulez que les choses
soient notées avant de fermer cette vidéo, les composants racine. Dans ce cas, j'ai que
la sphère pourrait avoir des collisions définies comme étant mes deux composants
racine. Je ne peux pas déplacer les composants de la
racine. Vous pouvez voir que je ne peux pas vraiment le sélectionner ici dans mon éditeur en dehors de simple sélection dans
le panneau Composants, vous pouvez le sélectionner,
mais comme vous pouvez le voir, je ne peux pas le changer en mode de traduction ou de rotation ou
mode d'échelle. Cela me permet de rester dans le mode de
sélection d'objet, qui est la touche de raccourci Q. Et vous pouvez voir dans
le panneau Détails,
je ne peux que mettre à l'échelle cela. Je n'ai pas la possibilité de le
déplacer ou de le faire pivoter. De plus, je voulais vous rappeler tous les aspects relationnels
du panneau Composants et comment cela affecte le déplacement des
objets dans votre fenêtre d'affichage. Si vous vous souvenez de la dernière vidéo, j'ai ajouté ce
composant audio qui est enterré à l'intérieur
de ma croix ici. Laissez-moi simplement déplacer ce type vers le haut parce que
peu importe où je le place, juste cette icône ici. Je vais ajouter cela à mon composant vertical de
cube. Encore une fois, si je devais déplacer mon composant audio
tout seul, il se déplacera indépendamment. Mais en ce moment, il est
attaché à mon Q vertical. Je suis censé déplacer
ce type. Le composant audio va
venir pour le trajet. Cette relation
est donc très puissante. Utilisez-le et souvenez-vous
de
ces paramètres de localisation, ils sont relatifs à la
chose à laquelle il est attaché. Si vous n'aimez pas cette relation
attachée, vous pouvez simplement aller comme ceci, faire glisser à nouveau en haut
et elle ne mettra pas en retrait montrant qu'elle n'y est plus
attachée. Enfin, n'
oubliez pas vos paramètres de capture
ici dans la fenêtre d'affichage
lorsque vous déplacez ici dans la fenêtre d'affichage quelque chose, faites
pivoter
quelque chose ou que vous mettez à l'échelle quelque chose. Et s'il vous
plaît, n'oubliez pas que vous pouvez modifier vos paramètres d'accrochage de la
balance,
vos paramètres d'accrochage rotationnel
et vos réglages d'
accrochage des mouvements, ce qui peut également vous faire gagner beaucoup de temps. Très bien les gars, c'
est l'onglet Viewport. En un mot, j'espère que beaucoup de ces trucs
et astuces vous feront gagner beaucoup de temps. Cela fera pour offrir celui-ci. Nous vous verrons dans
la vidéo suivante.
8. Panneau de détails: Bienvenue à tous les participants de cette
vidéo ou de ces objectifs pour tout
savoir sur le panneau de détails
à l'intérieur d'un Blueprint. Aujourd'hui, les plans sont composés
de tous types de choses. Nous avons des composants. Nous avons des variables dont nous n'avons même pas encore
parlé, mais qui le feront, et même des
informations sur le plan lui-même. Maintenant, toutes ces données, toutes ces
informations sont définies par vous dans le panneau de détails. Désormais, par défaut, le panneau
Détails
se trouve à droite dans
votre éditeur de Blueprint. Comme n'importe quelle autre fenêtre d'affichage, vous pouvez simplement l'arracher, cliquer avec le bouton gauche, la faire glisser vers une autre partie de la fenêtre de votre
éditeur ici. Certaines personnes aiment le
placer juste en dessous leur
panneau de composants, car
il y a plusieurs composants,
puis ils aiment
modifier les détails
juste en bas. Cependant, j'ai la jambe
juste là où elle est. Je vais donc l'
ancrer là-bas. Walla. Pourquoi ne pas modifier quelques détails différents concernant
certains de nos composants ? Et en ce moment, je regarde deux composants de
maillage statique différents ou cube horizontal
et cube vertical. moment, nous avons ce genre de croix
blanche pour une prise en charge de santé. Je pense que ce serait mieux que
nous le changions en vert. Je vais donc choisir mon
cube, horizontal ici, et encore dans le panneau Détails, je peux modifier le matériau
qui y est appliqué. moment, j'ai ce matériau
de forme de base. Je peux cliquer dessus avec le
bouton gauche et je peux choisir l'
un de ces différents
types de matériaux. J'ai aimé cet atout de base, O3, c'est plutôt cool. Maintenant, si vous ne voyez pas cela, ou si vous souhaitez peut-être accéder
à d'autres documents. Si vous cliquez ici sur cette petite icône d'
engrenage, vous pouvez activer et
afficher le contenu du moteur. Et c'est ainsi que je
vois plus de matériaux que vous ne l'êtes à
première vue ici. Donc, si vous
avez également du contenu
de plug-in, vous pouvez également l'
activer. Par conséquent, afficher le contenu du moteur passera en
revue davantage de documents pour vous. Je vais utiliser cet
actif de base O3 pour changer son vert. Et je vais faire de
même pour mon cube vertical avec ce qui est sélectionné, changeant le matériau
ici en cliquant sur ce menu déroulant et nous
le changeons en vert. Tout va bien et bien. Maintenant aussi, peut-être que je veux que
ma collision de sphère
ici entourant ma croix verte entourant ma croix verte soit
un peu plus grande, un peu plus
généreuse, si vous voulez, juste
ici avec une sphère car les composants de collision sélectionnés dans le panneau Détails, je peux modifier le
rayon de ma sphère en cliquant dessus en
poinçant un nouveau nombre
comme 100 et en cliquant sur Entrée. Ou dans ces champs numériques, vous pouvez simplement
cliquer avec le bouton gauche et le faire glisser. Voyons, en cliquant dessus
et en cliquant dessus. Ensuite, vous pouvez le
déplacer vers la gauche et
la droite pour l'ajuster de cette façon. Je vais aller avec le
numéro 100 pour l'instant. Cela semble assez généreux. Maintenant encore une fois,
si vous
fermez
par erreur ce panneau Détails en cliquant dessus, vous pouvez passer sous l'
option fenêtre et le réactiver. Il existe maintenant différentes options de
visualisation dont vous devez être informé. Dans le panneau Détails, vous avez cette icône en forme de roue dentée. Si je clique dessus, il y a un tas d'
options différentes à votre disposition. Je ne vais
parler que de quelques-uns
des plus couramment utilisés. L'un d'entre eux est effondré
et élargit toutes les catégories. Je vais donc
réduire toutes les catégories en ce moment. Donc oui, maintenant si vous
voulez y entrer, vous devez cliquer
dessus un par un. Cela peut être utile s'il
n'y a que quelques catégories différentes que
vous souhaitez jouer. Je vais repartir
là-dessus, et je vais
élargir toutes les catégories. Un autre que j'aime beaucoup est d'
afficher
uniquement les propriétés modifiées ou d'afficher uniquement les propriétés
modifiées. Donc, en cliquant dessus,
c' est un moyen très facile de voir
d'un coup d'œil quelles sont les
choses que vous avez réellement modifiées à propos de
ce composant particulier ? Je vais faire reculer
celle-ci. Affichez ensuite toutes les propriétés
avancées. Quelles sont maintenant les propriétés avancées dans chacune de ces
catégories ? Je ne devrais pas dire que chacun d'entre eux, mais
beaucoup d'entre eux, il existe propriétés
avancées qui ne sont pas développées par
défaut. Par exemple, j'
ai ma forme et je peux changer la
couleur de ma forme si vous voulez. Laissez-moi simplement cliquer sur ça. Par défaut, il est rouge. Mais si je clique sur ma collision de sphère dans
la catégorie avancée, je pourrais changer cela en
rose vif si je le voulais vraiment. Bien sûr, pourquoi. Noix. Maintenant, il y a aussi ce petit peu, je ne sais pas comment vous appelez ça. Un peu une icône de type
bloc-notes. Cela ouvrira une sélection
dans la matrice de propriétés. Qu'est-ce que
c'est maintenant une option que je n'utilise pas trop fréquemment. Cependant, si je
devais cliquer dessus, il va
ouvrir un nouvel onglet ici. C'est une autre façon de modifier
différentes propriétés. Encore une fois, tout
est effondré ici, mais s'il y a
quelque chose que vous vouliez changer à ce sujet, vous pouvez simplement l'épingler. Je vais épingler cette
option maintenant. Génére des événements de chevauchement. Vous pouvez voir que cela
est vérifié si je devais le
décocher ici, puis revenir dans mon exemple de pick-up b p
en cas de collision de sphère. Sous les
propriétés de collision événements de chevauchement ne
sont plus cochés. Je vais revenir à l' endroit où je l'ai eu et je
vais fermer d'ici. Je voulais juste
montrer ce que c'est. Je ne l'utilise pas trop souvent. Vous y trouverez peut-être
une bonne utilisation. Et puis vous pouvez voir ici avec la collision de sphère
sous vide I, je peux voir que la génération événement de
chevauchement a
été vérifiée à nouveau. Maintenant, en haut
de notre barre d'outils, nous avons cette option
par défaut de classe dont je voulais vous
faire prendre conscience. Je vais cliquer dessus
et quand je le ferai, je vais apporter toute une série
de détails différents
sur de détails différents
sur ce
plan de classe d'acteurs spécifiques à ce plan de
classe d'acteurs. Maintenant, il n'y a pas grand-chose
à changer ici, même si je vais vous
faire prendre conscience d' un jeu amusant
avec lequel vous pouvez jouer. Et c'est-à-dire que la durée de vie initiale
sélectionnée par défaut de la classe est actuellement définie sur 0,
ce qui signifie infinie. Mais si je devais
régler ça sur trois, ça veut dire
que ce
type va s'en
aller au bout de trois secondes. Et je peux le prouver en
cliquant simplement sur le bouton de lecture ici. Et ça va sauter
dans mon éditeur de niveaux ici en jouant au
bout de trois secondes. Ils passent tous, par un peu de
plaisir si je le dis moi-même. Je vais donc changer
cette classe par défaut ma durée de vie initiale à 0. Encore une fois, cela a un impact sur
certaines choses concernant cette classe particulière de
Blueprint, la classe par défaut. Ensuite, je
voulais juste vous informer du bouton ici, cette option de paramètres de classe. Plus tard dans le cours, nous aurons affaire
à quelque chose appelé « Blueprint Interface ». Et
tout cela va être mis en place dans ce domaine. Rien d'autre que je
veux changer ici. En fait, vous ne gérez pas trop les paramètres de
classe dehors de la mise en œuvre d'éléments appelés interface Blueprint. Mais je voulais juste
en parler maintenant. Donc, plus tard sur le
parcours, vous serez comme, je sais exactement où
aller et ce que c'est. Très bien, c'est
le panneau Détails. Connaissez-le, aimez-le,
faites bon usage. Ça va tout faire
pour cette vidéo. On se voit dans le prochain.
9. Mon panneau de plan: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est de
savoir quel
est le but
du panneau Mon Blueprint dans un Blueprint Unreal
Engine. Il s'agit maintenant d'une zone d'
un Blueprint dans laquelle vous pouvez créer des éléments
tels que des variables, comme des fonctions ou des macros pour aider à façonner ce qu'un
Blueprint donné peut faire. Maintenant, si vous ne connaissez pas
les termes tels que variables, fonctions ou
macros, ne vous inquiétez pas. Nous allons
les décomposer beaucoup plus tard dans le cours. Pour l'instant, il est juste bon de
déclarer que le panneau Mes plans ici est endroit où de telles choses
peuvent être créées. Ainsi, comme vous le voyez ici
dans mon exemple BP, prenez le panneau Blueprints, par défaut situé dans le
coin inférieur gauche de l'interface, comme n'importe quel autre onglet ici, vous pouvez cliquer avec le bouton gauche sur
et vous pouvez le faire glisser partout où vous le souhaitez. Je l'aime bien là où
il se trouve par défaut. Je vais donc le
laisser là. Tout comme les autres onglets ici, vous pouvez cliquer dessus avec le bouton droit de la souris. Vous pouvez le fermer. Vous pouvez le ramener
via l'option de fenêtre ici, coche montre qu'il
se trouve dans notre Blueprint ici. Aucune coche ne signifie
qu'il n'est pas présent. Je vais donc le
ramener. Cliquez avec le bouton droit sur options ici. Je pourrais cacher l'onglet. Ce sera juste une barrière
que cet onglet vous donne un peu plus de biens immobiliers à
l'écran qui sont
curieusement utiles
de temps en temps. Un clic gauche dessus
ramènera cet onglet. Cliquez avec le bouton droit. Je peux accéder à la barre latérale comme je le pouvais auparavant. Cliquez avec le bouton droit sur Dark également. Vous m'avez vu le
faire plusieurs fois. Très bien, une autre option
que je veux souligner ici dans les
panneaux Mon Blueprint, cette icône en forme de roue dentée. Maintenant, si je clique dessus,
cela me montre diverses options montrant les sections vides
que j'ai ici. Ce que cela fait, c'est qu'il affiche n'importe quelle section vide,
n'importe quelle catégorie vide. instant, je n'ai pas de macros
dans mon plan. Si vous ne savez pas ce que c'est, encore une fois, ne vous inquiétez pas,
mais sachez simplement que si
je devais désactiver cela, je ne
verrais même pas cette catégorie. Donc, en montrant ceci et j'aime qu'
il soit affiché par défaut, je verrai toutes les différentes sections
vides que nous pourrions avoir sous la catégorie
Blueprints. Un autre élément important
à souligner ici sous cette icône d'engrenage est cette variable héritée de
show. Maintenant, cela va afficher les variables
héritées
des classes parentes. Maintenant, dans notre cas, notre classe de parents est ici
un plan de classe d'acteur. Je vais donc le
montrer rapidement. Et quand je le ferai,
vous verrez quelques catégories apparaître
ici. Nous y voilà. Nous allons
afficher les variables héritées. Et je vais me pencher
sur ma catégorie d'acteur ici. Et que savez-vous ? Je vois une variable appelée durée de vie
initiale. Eh bien, cela semble
plutôt familier. Quelles sont donc toutes
ces variables dans ces
différentes catégories ? Eh bien, si vous vous souvenez
de la dernière vidéo, lorsque nous avons cliqué sur le bouton des valeurs par défaut de la
classe, nous avons
beaucoup de paramètres
différents, de nombreuses
propriétés différentes spécifiques à cette
classe d'acteurs plan directeur. Et l'un d'entre eux se
trouvant dans la
catégorie des plans d'acteurs était la durée de vie initiale. Voici, on
peut y accéder ici, le panneau Mes plans. Nous montrons les variables héritées. Il s'agit donc d'une autre
façon
d'afficher toutes ces
variables par défaut de classe, non seulement lorsque vous cliquez sur
les valeurs par défaut de classe, mais ici dans le panneau
Mon Blueprint. Et je tiens simplement
à souligner ici que si je devais cliquer sur la variable de durée de vie initiale et passer au panneau
Détails. Je peux modifier ma
durée de vie initiale en S3. Maintenant, si je devais entrer dans les valeurs par défaut de la classe et trouver la durée de vie
initiale de la catégorie d'acteur. Il est également réglé à
trois ici. Vous changez donc
la même propriété, juste deux
façons différentes de le faire. Je vais
remettre ça là où je l'ai eu. Et notez maintenant que même si je l'ai modifié ici dans la section par défaut de la
classe, si je cliquais sur ma propriété de durée de vie
initiale, cela la change également ici. Très bien, nous allons les
cacher à nouveau afin que nous
puissions nettoyer un peu notre
panneau Mon Blueprint ici. Affichez donc les
variables héritées. Non. Voyons comment créer de nouvelles variables,
fonctions ou macros. Nous pouvons également créer de nouveaux graphiques
et des répartiteurs d'événements, mais ceux-ci auront
leurs propres sections plus tard dans le cours. Si nous cliquons sur ce bouton Ajouter, il indique que vous souhaitez
créer une variable, une fonction, une macro, un graphique et un répartiteur d'événements. Vous pouvez le faire de cette
façon ou avec chacune de ces différentes catégories
, vous avez ce petit bouton plus
pour créer un nouveau graphique, une nouvelle fonction, une nouvelle macro ou une nouvelle variable, ou un répartiteur d'événements. Allons de l'avant et
créons une variable ici. Même si ce n'est pas le but de
cette vidéo, les variables auront leur propre
quelques sections ici. Nous allons en
créer une juste pour vous
donner une idée de
ce que fait toute ma zone de
Blueprint, je vais créer
une nouvelle variable
en cliquant sur ce bouton plus. Je vais donner un
nom à ça et appeler ça le hoquet. On dirait ça. Maintenant, je dois
décider quel type de bleu ou quel type de
variable je veux que ce soit. Par défaut, il affiche
généralement des valeurs booléennes lorsque vous créez une variable
pour la toute première fois. Ou bien, il définira le type de variable
par défaut comme
celui que vous avez créé pour la dernière fois. Avant de créer cette vidéo, j'ai fait une course à sec et
elle est donc actuellement réglée sur le type de variable que je recherche. Alors,
comment changer cela ? Nous pouvons cliquer
ici pour le modifier. Ou avec sa variable sélectionnée
dans le panneau Détails, vous pouvez également
la modifier ici. Par conséquent, sous type de variable, cliquez sur cette liste déroulante et recherchez la base sonore. Dans le petit
menu déroulant ici, vous souhaitez choisir la référence de l'
objet. Maintenant, ce faisant, il vous incitera à
compiler votre Blueprint. Encore une fois, il affiche ma valeur
par défaut ici parce que j'ai déjà fait une course à sec
avant la vidéo. Mais si vous compilez ici, cela vous permettra alors d'
insérer un son de votre choix, en cliquant sur cette liste déroulante. J'aime bien le son d'interaction. Donc, si vous effectuez une recherche
pour entrer, lire et passer la souris sur ce fichier d'onde sonore
particulier, il apparaît dans cette petite
fenêtre contextuelle qui apparaît que cela provient
du chemin du moteur. Et encore une fois, si vous
ne voyez pas ce son, si vous cliquez dessus
sur cette icône d'engrenage, vous pouvez afficher le contenu du moteur et vous devriez avoir
accès à ce son. Maintenant, vous pouvez vraiment
insérer n'importe quel son ici. C'est juste
celui que j'ai choisi. N'hésitez donc pas à insérer
le son que vous voulez. Nous n'allons pas encore utiliser cette variable. Cela arrivera dans la prochaine vidéo lorsque nous
parlerons de notre Event Graph. Mais pour résumer ici, le panneau Mon Blueprint, c'est ici que vous hébergez, où vous créez des
éléments tels que des fonctions, macros, des
éléments comme des variables et où accéder
ces choses-là. Dernière chose avant de
terminer cette vidéo, vous avez peut-être déjà
remarqué que tous nos différents composants
ici dans le panneau Composants sont également affichés
ici dans la section des variables. Et c'est un moyen
rapide et facile d'ajouter une référence à chacun de ces différents
composants dans notre graphique d'événements. Mais encore une fois, nous
allons utiliser cela dans les prochaines vidéos. Pour l'instant, je voulais simplement
souligner la relation entre les composants ajoutés
à votre Blueprint, également sous la section Variables
du panneau Mon Blueprint. Cela fera tout
pour cette vidéo, les gars, nous vous verrons dans la prochaine.
10. Graphique d'événement: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est de
découvrir et de démontrer ce que se trouve le graphique
d'événements dans un plan irréel. Il s'agit maintenant
d'une zone d'un plan où toute notre
magie des scripts se produit chaque fois que nous voulons
ajouter un
comportement, une fonctionnalité
ou un gameplay. L'endroit où ces
interactions prennent vie se trouve dans le graphique des événements. Donc ici, à l'intérieur de mon exemple
BP, nous avons déjà exploré
l'onglet Fenêtre, l'onglet Script de
construction dont
nous parlerons bientôt. L'onglet Event Graph est celui que
nous allons faire
de la star du spectacle dans celui-ci. Laissez-moi faire un clic gauche là-dessus. Et ce que vous voyez, c'est un graphique
qui comporte quelques nœuds ici. Par défaut, il s'agit de nœuds d'
événements à partir desquels nous pouvons
créer un script. Nous parlerons des
nœuds d'événements dans leur propre section. Mais pour l'instant, ce que je
veux faire, c'est simplement faire glisser un clic gauche et je vais faire glisser
cette boîte connue
sous et je vais faire glisser
cette boîte connue
sous le nom de sélection de chapiteau. Et je vais appuyer sur
la touche Supprimer une fois que tous seront mis en surbrillance
et que Newcomb sera sorti. Adieu. Nous allons
créer notre propre script ici. Très bien, la première
chose que nous voulons faire est ajouter des nœuds à notre graphique. Alors, comment pouvons-nous faire cela ? Eh bien, il y a
plusieurs méthodes différentes et comment procéder. La première consiste à
cliquer avec le bouton droit sur un graphique. Si vous cliquez avec le bouton droit de la souris, vous disposez un tas de catégories
différentes. Et dans chacune de ces
différentes catégories, il existe différentes
fonctions que vous pouvez ajouter. Il existe différents événements
que vous pouvez ajouter, etc. Je vais juste choisir
Event Begin Play ici. C'est une chose que vous avez déjà
vue ici. Et voilà, vous
avez un nœud. Je vais faire disparaître ça. Je vais en
ajouter un maintenant que nous voulons dans notre graphique, je vais choisir notre composant de collision de
sphère ici dans le panneau Composants. Maintenant, je vais simplement passer rapidement à l'onglet de la fenêtre d'affichage. La collision de sphère est cette sphère invisible
qui entoure notre croix ici. Je veux donc faire quelque chose
avec notre collision de sphère. Je veux qu'un nœud soit
associé à cela. Pour revenir à mon graphique d'événements avec cette collision de
sphère sélectionnée, je vais cliquer avec le bouton droit mon graphique et noter cette
case à cocher ici. Il est sensible au contexte. Cela va donc
me montrer quelques nœuds spécifiques à ma collision de sphère et ils sont listés
en haut ici. L'un d'eux que je vais
ajouter maintenant se trouve sous cet événement Ajouter pour la catégorie
collision de sphère. Je vais donc cliquer sur
cette liste déroulante et sous la section Collision, je veux ajouter les
composants qui commencent à se chevaucher. Maintenant, ce nœud
va déclencher un signal lorsque quelque chose
commence à le chevaucher. Et il peut produire des
données ici en
fonction de ce qui se chevauchait ce composant
particulier. Maintenant, une information
que je veux trouver quand quelque chose chevauche est une collision de sphère est qui
était l'autre acteur ? Je vais donc faire sortir
un fil d'ici, et je vais taper un personnage
à la troisième personne. Maintenant, nous n'avons pas encore
appris le casting, mais pour résumer, nous le ferons, ce nœud va nous
permettre de vérifier, hé, l'autre acteur qui
chevauche cette collision de sphère, était que le
Personnage à la troisième personne ? Si c'est le cas, nous
allons continuer notre flux d'exécution ici. En dehors de ces événements
via ce nœud, continuez jusqu'ici. Il s'agit d'un tas de
fils et de nœuds que nous relions ensemble
pour que les choses se produisent. Si ce n'était pas le
troisième personnage qui chevauche cette collision de
peur, ce casting
échouerait et le flux d'exécution
se poursuivrait hors d'ici. Par conséquent, une autre façon d'
ajouter un nœud consiste
simplement à retirer un fil de l'une
de ces broches colorées ici. Et nous parlerons de ces
différentes épingles de couleur dans les prochaines vidéos, puis nous
chercherons un nœud donné. La troisième façon
d'ajouter un nœud à notre graphique est de
faire glisser et déposer. Nous pouvons faire glisser et
déposer un composant. Et je pourrais le faire ici à partir du
panneau Composants ou de la section Variables
du panneau Mon Blueprint. Maintenant, je vais faire les deux simplement parce que c'est amusant de faire des
démonstrations dans les deux sens. Mais la première chose que je vais faire est que je vais faire glisser et déposer, cliquer avec le bouton gauche et faire glisser ce son
pick-up dans notre graphique. Il va me demander,
est-ce que je veux obtenir ça ou est-ce que je veux régler ça ? Eh bien, je veux obtenir le
contenu de cette variable. Le contenu de cette variable
ou de cette variable commence à jouer là, désolé, ce son d'interaction
qui lui est associé. Je vais l'obtenir. Et puis je vais glisser
hors de ce nœud et je
vais taper le son de lecture. Vous voyez, je savais que cette variable contenait
un son à l'intérieur. Il contient ce son
d'interaction. Donc tout ce que je fais
ici, c'est que je dis, Hey variable, je veux jouer son
que
tu as en toi. C'est ce que fait ce
nœud de fonction ici. Maintenant, cela ne se produira pas à
moins que je ne lie ce fil d'exécution à ce nœud de fonction audio de
lecture. Très bien, il s'agit donc d'
une façon de faire glisser et déposer directement à partir
du panneau Mon Blueprint. Une autre chose que je veux faire, et ce sera juste
à des fins de démonstration, c'est que je vais faire glisser un
composant hors d'ici. Permettez-moi de faire glisser
quelque chose de visuel comme le cube horizontal,
cliquez avec le bouton gauche et faites glisser. Et puis je vais
sortir de mon cube horizontalement et simplement
taper détruire. Je vais détruire
ces composants lorsque notre ThirdPersonnage se
chevauche en sphère. Voici donc comment lire ce scénario
en particulier en ce
moment, en chevauchant notre sphère, nous allons découvrir
qui était l'autre acteur. Nous allons lancer
notre ThirdPersonnage, découvrir
, hé, est-ce personnage de la troisième personne
qui nous
a chevauchés ? Si c'était le cas, nous allons
continuer notre flux d'exécution ici
en jouant le son. Et ensuite, nous allons
simplement
détruire le composant
horizontal du cube. Allons de l'avant et
jouons à tester ça. Je vais cliquer sur ce bouton
Lecture ici. Et je vais mettre
ça sur le côté ici parce que
je veux que vous puissiez non seulement
me voir jouer au jeu, mais aussi voir l'exécution
de ce script. Maintenant, j'ai
accès à ma fenêtre ici, mais je veux le faire est de cliquer sur Shift in F1 pour ramener mon curseur
de souris dans mon éditeur. Maintenant, ici, j'
ai mon exemple BP. Je peux cliquer dessus
et vous pouvez voir que
j'ai ce qui équivaut à 12345 instances différentes
de ce pick-up dans mon graphique. Cela ne va
donc le montrer
que pour n'importe quel cas particulier que
j'ai choisi ici. Je vais donc prendre des
exemples BP, le premier. Et maintenant, si je
réactive cette fenêtre, vous verrez ce flux
d'exécution hors de ce nœud d' événement à
travers le reste de ces nœuds chaque fois que je chevauche cette instance spécifique
de ce pick-up. Voyons donc ce
premier ici. Il s'agissait donc de montrer le flux d'exécution
juste au-dessus. Et comme vous pouvez le constater,
il a juste détruit qu'un composant n'a pas tout
détruit. Très bien. Je chevauche celui-là. Encore une fois, il a détruit
le composant, mais vous ne voyez pas le
flux d'exécution de ci-dessus. Sweet, donc ça fonctionne
actuellement. Maintenant, je veux aller un
peu plus loin ici, et nous pouvons ignorer cette
erreur ici parce que
ce que nous venons de construire ici n'
était que temporaire. Je vais donc
cliquer sur ce bouton X. Je voulais donc aller un peu
plus loin ici en détruisant ce composant de destruction et la chaleur et le
cube horizontaux. Parce que ce n'est pas vraiment
ce que je voulais faire ici. Au lieu de cela, ce que je veux faire,
c'est que je voulais détruire tout
l'acteur lorsque
nous collectons ça. Je vais donc sortir
de mon son 2D, et je vais simplement
taper Destroy Actor. Maintenant, la cible de ce
nœud est elle-même, ce
qui signifie tout ce Blueprint. Donc, en chevauchant
cette collision de sphère, nous allons découvrir si c'est un
personnage à la troisième personne qui était l'autre acteur qui
chevauche cette collision de sphère. Nous allons jouer ce son et ensuite nous allons
détruire notre acteur. Facteur amusant de cet endroit jusqu'
à D. Vous pouvez cliquer dessus
pour modifier certaines
propriétés à ce sujet, telles que le multiplicateur de volume
peut définir cette valeur sur deux. Par exemple, allons-y
et jouons encore une fois. Maintenant, cela devrait détruire tout
l'acteur lorsque nous le chevauchons. Et allons-y un
peu plus grand ici, comme ça. Et nous y voilà. Sucré. Très bien, avec un
peu de script construit ici, parlons de
la navigation dans le graphe des événements. Ici, la molette de défilement du graphique d'événements
effectuera un zoom avant et arrière. bouton gauche de la souris bouton
droit de la souris feront
également un zoom avant et arrière. Je les ai tous les deux baissés et
je déplace ma
souris de haut en bas. Vous pouvez voir le
niveau de zoom en haut à droite. Au fait. Si j'ai le bouton droit de la souris et que je
fais glisser ça va se déplacer. Il me donne un peu cette icône de main déplacer comme ça, bouton
gauche de la souris et le faire glisser, cliquer avec le bouton gauche et faire glisser comme. Donc. Cela apportera cette sélection de
chapiteau, qui est idéal pour mettre en évidence toute
une sélection
de nœuds comme celui-ci. Fait amusant ici, quelque chose que vous pouvez faire avec l'
ensemble du script comme
celui-ci ajouté est d'appuyer sur la touche C pour ajouter une zone de
commentaires autour de cela. Et je vais juste appeler
ça mon script de ramassage. Cela aide à garder les choses
bien organisées. Donc, si vous effectuez un zoom arrière
comme ça, vous pouvez voir tous
vos différents scripts que vous avez écrits ici. Bouton gauche de la souris sur Non, ce qui vous permettra de le sélectionner
afin vous puissiez
le déplacer comme tel. bouton droit de la souris
sur un nœud
affiche un menu sensible au contenu. Voici quelques options que j'ai
vraiment aimé explorer. Ces options d'alignement sont excellentes et fonctionnent comme tout ce que vous pourriez trouver dans PowerPoint ou Google
Slides pour aligner les nœuds, les
rendre légers, justifiés à gauche,
justifiés à droite. J'adore ces liens, surtout ces liens
redressés. L'un est l'un de mes favoris. Qu'est-ce que nous avons d'autre ici ? Nous avons Alt plus le bouton
gauche de la souris est la façon dont vous pouvez couper les fils. Comme vous pouvez le constater, nous avons ce
flux d'exécution ininterrompu. Lorsque cet événement se produit, une impulsion traverse ces broches
d'exécution juste ici, en maintenant la touche Alt enfoncée et en cliquant avec le bouton gauche sur
un fil le brisera. Donc en ce moment, si je devais jouer le jeu, je jouerais
le son mais je ne détruirais pas
l'acteur parce que le flux d'exécution à travers ces casseroles d'exécution n'
est pas arrivé ici. Très bien, Control plus le bouton gauche de
la souris déplaceront les fils. Disons que je l'ai fait,
je vais juste
cliquer avec le bouton droit de la souris et dupliquer mon nœud Destroy Actor. Disons simplement
que c'était une autre fonction ici. Et je voulais déplacer ce fil. Vous n'avez pas besoin de le casser comme
ça , puis de le rebrancher comme
ça. Si vous maintenez la touche Contrôle enfoncée, vous pouvez cliquer avec le bouton gauche, prendre ce fil et le
déplacer vers un autre nœud. C'est aussi une
astuce très pratique. Utilise beaucoup celui-là. C'est quelque chose à signaler
ici lorsque vous cassez des fils, vous n'avez pas à simplement, vous savez, Alt et
clic gauche au milieu. Vous pouvez également cliquer sur Alt
et cliquer avec le bouton gauche sur l'une de ces broches
d'exécution. Donc, vous l'avez là. Il s'agit d'un truc de
navigation rapide pour votre graphique d'événements. Une autre chose que je tiens
à souligner ici avec les graphiques de l'événement, car cela arrive
toujours aux élèves. fin de compte, si vous fermez votre onglet Graphique d'événements,
boom, il n'y a plus. Vous ne pouvez pas le trouver dans l'option de
fenêtre ici. Comment allez-vous récupérer ça alors ? Eh bien, c'est contenu dans le panneau Mon Blueprint ici,
nous avons ce graphique d'événements. Et si je clique deux fois sur ce graphique d'événements sous
notre section graphique, cela reviendra tout de suite. De plus, c'est bon
à noter également. Il répertorie tous les événements qui se trouvent dans votre graphique d'événements. Laissez-moi simplement cliquer avec le bouton droit de la souris et
ajouter et les événements Commencer à jouer. Vous pouvez voir que j'ajoute
ceci à mon graphique, il le montre également ici sous
mon graphique d'événements. Donc, si j'étais l'été dehors et
que j'ai double-cliqué
sur le début de l'événement, ça me sauterait dessus. J'ai également la possibilité
de créer un nouveau graphique. Permettez-moi de le faire rapidement en
cliquant sur un nouveau graphique, et j'appellerai ce nouveau graphique. J'ai maintenant deux graphiques
différents. Ces deux graphiques sont des graphiques d'événements. L'un est appelé graphe d'événements, l'autre est appelé nouveau graphique. Pourquoi auriez-vous fait ça ? Eh bien, je le fais parfois simplement pour mieux organiser mes scripts. Selon la quantité script que vous souhaitez
ajouter à un Blueprint, il peut être judicieux
d'avoir un graphique très
spécifique à dire, événements
d'entrée plutôt que des éléments
très passifs qui peuvent arriver à
ce plan. Donc, certaines
choses organisationnelles
à garder à l'esprit lorsque vous
construisez vos différents plans. Très bien, c'est un aperçu rapide
du graphique des événements. Tous les plans.
11. Script de construction: Bienvenue à tous. Dans cette vidéo, notre objectif est d'
obtenir une compréhension
de haut niveau de ce que contient
le script de construction d'un plan. C'est-à-dire que cet onglet est pris en sandwich entre notre
fenêtre d'affichage et les onglets Event Graph. À première vue, il va sembler presque
identique au graphique des événements. Donc, en ce moment, je suis sur
l'onglet Event Graph de notre exemple de collecte bp. Vous pouvez voir qu'il
y a des nœuds connectés ensemble. Dans notre script de construction. Actuellement, nous avons un nœud, mais tout comme un graphique d'événements, nous pouvons brancher d'autres
nœuds. Maintenant, alors que le graphe d'événements est l'endroit idéal pour
créer un script qui s'
exécutera pendant que votre
jeu est en cours d'exécution. Le
script de construction permet de
créer un script
que vous souhaitez exécuter avant le
démarrage du jeu pendant que vous
construisez votre Blueprint. Maintenant, regardez, le
script de construction est idéal pour intégrer de la
variété de construction dans vos scripts, ainsi que
pour créer des acteurs
procéduraux avec lesquels vous pouvez travailler. Ce que vous voyez avant
vous est un aperçu de ce qui va se passer tout
au long de cette vidéo. Ce mur ici est un plan de classe d'acteur
qui n'utilise que, tirant parti du script de
construction. Maintenant, ce qui rend un script de
construction si cool, c'est que vous pouvez exposer quelques paramètres
dans votre panneau de détails. Et simplement en modifiant quelques-uns des paramètres
que vous avez exposés, vous pouvez modifier l'apparence de cette instance particulière
du Blueprint. Maintenant, comme vous pouvez le constater, alors que je
modifie certaines propriétés ici, le script
ci-dessous se déclenche. Encore une fois, ce qui
le
différencie du script de construction du graphe d'
événements, c'est que
le script de construction se
déclenche chaque fois que je modifie ce Blueprint, il pourrait même simplement le déplacer
.
regarde que je déplace ça. Vous allez voir
une impulsion tout au long du script
de construction ci-dessous. Maintenant, cela rend cela aussi cool, si je crée une copie
de ce Blueprint, je vais dans Alt,
cliquez avec le bouton gauche et faites glisser. Je peux modifier les paramètres
de cette instance particulière. Permettez-moi donc de modifier le nombre de sections ici en dix. Et je peux changer
la matière, tapez simplement
le mot brique. Et cela peut donc avoir un matériau
unique qui lui est propre. Donc le
script de construction est là où il peut faire en sorte que quelque chose comme ça se produise. Pensez maintenant aux
possibilités avec la configuration de ce
script de construction. Ce n'est qu'un simple mur. Il peut s'agir d'une rangée de chaises, d'une clôture. Il pourrait s'agir d'un tas
de poteaux électriques avec des fils enfilés entre eux, ce genre de choses. Très bien, nous allons
commencer ici dans notre navigateur de contenu, particulier dans
le dossier
de script de notre navigateur de contenu. Je vais cliquer avec le bouton droit de la souris dans
un espace vide ici. Est-ce que je clique avec le menu droit ? Je souhaite créer
un nouveau plan directeur. Nous voulons qu'il s'agisse de la variété de la classe des
acteurs, car il
s'agira
d'un plan que nous mettons en place dans le monde. Cela va
m'inciter à lui donner un nom. Je vais appeler cet exemple de
soulignement BP. Que diriez-vous seulement des œufs ? Construct script, c'est
un nom très abrégé, mais je voulais qu'il
rentre sur une seule ligne ici, pas autour du script x
construct. Génial. Je vais double-cliquer dessus
pour l'ouvrir immédiatement. Ensuite, crochez-vous en haut, comme j'aime le faire. Nous allons maintenant ajouter un composant à
ces Blueprints. Je vais passer sous le bouton
Ajouter et je vais
taper un maillage statique. Juste de l'électricité statique
va le réduire. Maintenant, contrairement à l'endroit où nous avons ajouté un composant de
maillage statique, dans ce cas, nous voulons ajouter un composant
Mesh statique d'instance. Et la raison en est
que nous allons
construire un certain nombre
de sections murales. Et afin de le faire
efficacement pour le type de script que
nous sommes sur le point de créer, nous voulons qu'
un maillage
statique d'instance vous indique comment le rendre efficacement. Ajoutons donc une
instance Static Mesh. Je vais appuyer sur Entrée ici avec ce composant sélectionné dans
le panneau Détails, nous
pouvons insérer dans un maillage statique. Je vais cliquer sur
ce menu déroulant ici. Tapez le nombre 400 car cette section de mur
que je veux
associer à ce composant
est la paroi 400 x 400. Allez-y et choisissez cela. Maintenant, comme vous pouvez le constater, nous ne voyons encore
rien dans notre fenêtre d'affichage. Nous allons utiliser cela d'une
manière différente ici l'intérieur de nos scripts de
construction. Alors, montons là-bas. Maintenant. Le principal point à retenir
que vous compreniez, du moins pour cela, est ce que peut faire
le script de construction. Pour créer des plans très
dynamiques. Vous pouvez personnaliser
vos plans
d'une manière impressionnante pendant que vous
construisez votre niveau. Maintenant, le script que
nous
allons créer en ce moment, c'est correct si vous ne
comprenez pas du tout
ce qui se passe, nous allons décomposer ces concepts de script comme
nous allons tout au long du cours. Mon objectif dans cette
vidéo est de simplement construire la chose afin que vous puissiez avoir une idée de ce que le script de
construction peut faire. Alors, portez avec moi là-dessus. Nous allons commencer par
créer une variable ici. Cliquez sur ce bouton Plus. Nous allons appeler
cette variable num de. Sections, nous allons utiliser cette variable dont
nous allons changer cette un type entier pour contenir nombre
de sections de mur que nous
aimerions pour ce
plan dégénéré. Nous pouvons attribuer une valeur par défaut dans
le panneau Détails, mais il nous demande d'abord de
compiler le Blueprint. Je vais y aller de l'avant et le faire. Commençons par
une valeur par défaut d'une section de mur. C'est bien. Maintenant, je veux souligner
quelque chose d'autre ici. Nous pouvons exposer ces variables à notre éditeur si nous cochons cette
case à cocher modifiable ici. Mais avant de le faire, je dois placer ce plan à
l'intérieur de notre niveau. Laissez-moi donc revenir à mon onglet de carte de test de niveau qui me ramène
à l'éditeur principal. Permettez-moi de faire glisser et de déposer cet exemple de
script de construction à notre niveau. Tout ce que nous voyons, c'est cette icône de composant
racine. Maintenant, dans le panneau Détails, si je recherche juste engourdi, rappelez-vous que notre variable donnée ici s'appelait
nombre de sections. Je ne vois rien. Je vais laisser cette recherche
ici pour le moment. Je vais revenir dans mon exemple de
script de construction ici. Allons de l'avant et cochons cette case
éditable ici. Notez que lorsque je fais
cela, c'est la même chose
que de cliquer ici. Fermer ce globe oculaire signifie que l'instance
n'est pas modifiable. En cliquant pour l'
ouvrir, cochez cette case. Vous pouvez donc cocher cette
case en cliquant ici ou en cliquant juste là. Maintenant, si je compile,
enregistrez ce Blueprint et je retourne à mon éditeur de
niveaux avec mon exemple de script de construction sélectionné ici dans le niveau
supérieur du panneau Détails. J'ai maintenant exposé cette variable
à l'éditeur de niveaux. Cela va être génial
car nous allons pouvoir saisir
un numéro ici. Et ensuite, le
script de construction va déterminer combien de sections de
mur nous voulons apparaître. C'est plutôt doux. Très bien, allons-y et construisons ce script. De retour ici. Dans le script
de construction. Je vais traîner un fil. Je vais
chercher une boucle de recherche. Et encore une fois, je
vais passer par là un peu rapidement. Donc, si vous ne comprenez pas
ce qui se passe, c'est tout à fait correct et je veux
juste
montrer la puissance du script de
construction ici. Maintenant, avec cela, je
vais alimenter
un certain nombre de sections qui
glissent un certain nombre de sections et déposent
cela dans le graphique. Je veux l'obtenir. Ensuite, je vais m'en
sortir et je vais
taper la touche moins. Je veux soustraire le nœud, et je vais
soustraire le numéro un. Et j'expliquerai pourquoi une fois que nous aurons fini
avec tout ça. Et je vais brancher ça dans notre dernier index de la boucle for-loop. Alors oui, permettez-moi d'abord de
construire cela, puis revenir en arrière et de décrire
exactement ce qui se passe. Maintenant, hors de ça, le corps de la boucle que je vais faire sortir de ça. En fait,
je dois d'abord introduire dans notre instance la référence Static
Mesh. Allons de l'avant et faites-le glisser
et déposez cela depuis notre panneau de composants
directement dans notre graphique. Sinon, je
pourrais aussi le faire descendre ici. Je vais m'en sortir et je vais
taper une instance AD. Donc, ce sera le
savoir qui va réellement
ajouter une section de mur ici. Il est contenu
dans cette instance maillage
statique vers notre monde. Nous allons prendre notre
corps de boucle et le brancher ici. Ensuite, je vais sortir de notre index de notre for-loop. Je vais plutôt apporter un bouton multiplier ou
multiplier le nœud, je veux multiplier cela par 400. Il y a une raison très
précise pour laquelle je choisis le
numéro 400 ici. se trouve que c'est la longueur exacte de
notre maillage statique ici. En fait, si je clique sur
cette souris dessus, vous pouvez voir dans l'
info-bulle la taille de celle-ci,
environ au milieu
de cette boîte, la taille approximative
est de 400 par 20 x 400. Il s'agit donc de 400 unités irréelles de large, 20 unités d'épaisseur, 400 unités de haut. C'est donc une
raison très précise pour laquelle je choisis
ce numéro ici, car je vais
ajouter un nombre donné de sections toutes les
400 unités irréelles. Ensuite, je vais
retirer l' épingle
de transformation de cette instance. Et une fois que j'ai relâché
et que je vais taper le mot faire transformer, nous
donne un
peu plus d'espace ici. Déplacez cela en
position comme ça. Et puis hors de l'épingle de
localisation ici, je vais cliquer avec le bouton gauche
et faire glisser et taper, faire Vector juste
ici, faire du vecteur. Et je vais brancher
ça dans notre x et cela va introduire un nœud de conversion,
convertissant un
entier de type de données
en nombre flottant. Donc, ça va bien se passer. Parlons maintenant de
ce que nous avons ici. Ce qui va se passer,
c'est que nous allons
alimenter un certain
nombre de sections. Et n'oubliez pas que cette variable
est exposée dans l'éditeur, nous pourrons
donc déterminer le
nombre de sections que nous voulons. Supposons donc que
nous voulions dix sections. Nous allons parcourir le nombre
de sections
que nous avons ici, commençant par notre premier indice. Il commence par
le nombre de 0. Si j'en ai dix et que j'en ai moins un, ça va être neuf. Notre premier indice sera
donc 0. Notre dernier est neuf. Donc, essentiellement, cela
va nous donner dix itérations de cette boucle. Encore une fois, en commençant par
0 et en terminant par neuf. C'est pourquoi nous faisons
cette soustraction ici même en mettant dix, en soustrayant un
qui équivaut à neuf. Mais nous commençons à
compter à 0. Il va donc
fonctionner dix fois. Il va s'exécuter à partir de
ce corps de boucle dix fois. Il va ajouter dix
instances de ce maillage statique. Maintenant, tout cela
ici consiste à déterminer où placer les mailles
statiques. Essentiellement, ce que nous
faisons, c'est pour chaque indice, nous allons le déplacer sur plus de 400 unités irréelles
dans la direction X. C'est essentiellement
ce que ce script fait ici. Désormais, chaque fois que vous créez
un script, que ce soit dans le
script de construction ou dans le graphe d'événements, vous souhaitez compiler. ce faire, nous
vérifierons votre script pour nous assurer que vous
n'avez commis aucune erreur. Il ne va pas
détecter toutes les erreurs, mais il va
détecter beaucoup d'erreurs. Et ensuite, vous
voulez sauver ça. Revenons maintenant
à notre niveau ici. Et ce que nous voyons actuellement, c'est que
nous avons une section de mur. Tout va bien et bien. Laissez-moi simplement soulever ça. Appuyez sur la touche End, et ça va
le frapper par terre. Et c'est plutôt cool. Que se passe-t-il maintenant si je modifie le nombre de sections par deux ? Que savez-vous ce qui
ajoute une autre section ? 3410. Maintenant, nous avons maintenant dix
sections de mur qui sont plutôt
fades, mais vous pouvez voir ce que le script de construction nous
a permis de faire. C'est beaucoup pour nous de créer un
Blueprint très personnalisable en
changeant simplement une valeur ici, nous changeons ce qui se passe
avec ce Blueprint, un endroit à l'intérieur de votre niveau. Maintenant, prenons ce pas en
avant parce que c'est un mur plutôt fade, si je le dis moi-même. Prolongeons donc un
peu plus notre script. Venez donc dans notre script
de construction. Et je vais juste faire un
zoom arrière un peu. Et je vais faire glisser une autre copie de notre maillage statique d'
instance ici. Faites glisser une copie. Je vais le
placer ici. Et puis je vais
traîner un ici et taper un matériel de jeu. Matériau de l'ensemble. Notre maillage statique d'instance
sera la cible. Et continuons notre
exécution ici. Et à partir de notre matériel ici, je peux cliquer avec le bouton droit de la souris et
promouvoir cela en variable. Lorsque je fais, cette variable apparaîtra dans
notre section Variables. Ce sera un matériau
et je vais lui donner
le nom de nouveau matériel. Et je vais
cliquer sur cette case pour rendre cette instance modifiable. Je vais également devoir rendre cela modifiable pour que nous puissions changer
cela dans l'éditeur. Donnons-nous un nouveau
matériel ici. Nous pouvons lui donner un nouveau
matériel que je choisirai. Essayons. Je
vais juste taper de la brique. Vous pouvez changer cela par
ce que vous voulez. Je vais choisir de l'argile en brique. Bien sûr. Compilez, enregistrez c'
est notre script actuel. Et maintenant, si je reviens dans
notre éditeur de niveaux ici, vous pouvez voir que la matière argileuse est placée sur chaque
section du mur. Cependant, je ne le
vois pas dans l'éditeur car je
filtre actuellement par le mot engourdi. Laissez-moi donc annuler ce filtre
tout en haut, je peux voir les deux variables que
j'ai maintenant exposées à l'éditeur. Permettez-moi de changer mon nouveau
matériel par autre chose. Allons à Chrome et Wallah. Nous avons nous-mêmes
un mur Chrome. C'est ainsi
que vous créez des plans très extensibles, si vous voulez, pendant la conception. Une fois de plus, le script de
construction est là pour donner à vos concepteurs, vos concepteurs de niveau,
si vous voulez, grande puissance et
flexibilité quant aux plans qu'
ils ont placés dans vos niveaux et comment ils
peuvent les personnaliser. Imaginez si vous voulez, si vous aviez un plan
qui n'était qu'une lumière, une lampe, si vous voulez, dans une pièce. Et peut-être que vous
exposez la couleur de la lumière comme nous l'avons fait
ici dans notre exemple, ici même dans l'éditeur. Nous pouvons faire en sorte que pour chaque plan de lampe que
nous avons placé dans le niveau, nous puissions modifier la couleur de celui-ci via le script de
construction. Donc, vous l'avez, les gars, c'est la puissance du script de
construction. À l'intérieur d'un plan. Ils vont faire pour offrir celui-ci. Nous vous verrons dans le prochain.
12. Les plans de cours: Bienvenue à tout le monde. Dans cette vidéo, notre objectif
est de découvrir certains
des différents
types de Blueprint dans Unreal, commençant par
un Blueprint de classe. Maintenant, la raison pour laquelle nous
voulons en savoir plus sur différents types de Blueprint est que différents types
servent des objectifs différents. De plus, l'
interface et la façon dont
vous travaillez
avec ce Blueprint peuvent différer légèrement en fonction ce
sur lequel vous travaillez. Maintenant, utilisons notre
exemple de ramassage bp ici. Jetez un coup d'œil à cela
très rapidement. En haut à droite. Une fois de plus, il
montre qu'il s'agit d'un Blueprint de classe d'acteurs connu sous le nom de classe parent. Il est sous le parapluie Class
Blueprint. Encore une fois, il existe de nombreux
types de plans de classe. Qu'est-ce qui fait d'un
Blueprint de classe un Blueprint de classe ? Eh bien, vous pouvez considérer
un Blueprint
ou un Blueprint de classe pour faire court, comme un type de modèle de ressource. En tant que modèle que
vous pouvez facilement ajouter des fonctionnalités ou des composants
pour en faire le vôtre. Maintenant, juste à côté de
cet onglet, j'
ai mon ThirdPersonnage BPA. Et à l'intérieur de cette classe de
personnages Blueprint, j'ai quelques composants
différents qui proviennent automatiquement de la création de ce Blueprint de classe de
caractères, à savoir le composant Capsule, la flèche, le maillage et le composant de
mouvement de personnage. Cependant, si je le voulais, je pourrais personnaliser cela
et le faire mien. Je peux ajouter d'autres composants. Je pourrais changer, disons, l'apparence de ce maillage
dans le graphique des événements. Je pourrais changer tout ce script chez les bons gens
d'Epic Games fournis. Et j'ai pu créer quelque chose de
complètement différent pour mon personnage bouge de
la manière dont je
voulais qu'il bouge. C'est ce qui rend les
plans de classe si puissants. Ils vous fournissent le
modèle et à partir de là, vous pouvez le faire comme
vous voulez le créer. Maintenant, comment pouvons-nous créer
ces plans de classe ? Eh bien, il y a
quelques méthodes. Un que vous m'avez déjà vu faire. Dans l'explorateur de contenu,
vous pouvez cliquer avec le bouton droit de la souris et un espace vide se
trouve sous Blueprint Class. Et là, il vous permet
de choisir une classe parentale. Ce sont tous différents
types de plans de classe. Les plus
courantes énumérées en haut, les moins courantes en bas. Il y en a beaucoup. Nous allons
explorer plusieurs des types
les plus courants
tout au long de ce cours. Mais sachez qu'il y a
beaucoup, beaucoup, beaucoup de types. C'est donc un moyen d'obtenir ce sélecteur de Blueprint de classe. L'autre façon est juste
en haut ici avec cette petite icône de nœud,
l'icône de Blueprint, si vous le souhaitez,
vous pouvez choisir cela, se trouve sous la nouvelle classe
Blueprint vide. Et en cliquant sur ce bouton,
vous aurez même possibilité de choisir votre option de classe
parent. Une fois de plus, le parent nous
fournit les modèles de
départ. Je vais donc
créer un personnage ici. Et je vais appeler ça
mon personnage temporaire, comme ça. Et je vais double-cliquer
dessus pour l'ouvrir. Nous allons comparer
et comparer cela avec notre BP
ThirdPersonpersonnage existant. Comme vous pouvez le voir en
haut en haut à droite, cela indique que la
classe parente est un caractère. Et certaines des points communs que vous verrez entre ce personnage et le
personnage à la troisième personne sont que j'ai un composant capsule
dans un composant d'erreur,
un maillage, n'importe quel composant de
mouvement de personnage. Ces quatre peuvent également être trouvés dans notre
composant ThirdPersonCharacter, notre
capsule, notre flèche, notre maillage
et notre mouvement de personnage. Maintenant, l'une des principales différences entre le
ThirdPersonpersonnage et notre caractère temporaire est le maillage ici est
rempli d'un maillage squelettique. Cependant, dans mon caractère temporaire, je pourrais définir cela et le
faire comme je veux. Je pouvais choisir le maillage
squelettique que je voulais. Il est vide par défaut. Vous remarquerez également
qu'ici, avec notre
modèle de caractères vierge ici, je n'ai rien trouvé dans
le graphique d'événements qui définit le mouvement de mon
personnage temporaire. Cependant, dans le
ThirdPersonnage, les bonnes personnes d'
Epic Games ont déjà donné cela pour travailler avec eux. Ainsi, encore une fois, notre classe de
personnages pooper, ils fournissent le
plan directeur de la création d'un personnage en nous
fournissant ces composants, mais le reste dépend
de nous. Nous pouvons le personnaliser en
ajoutant de nouveaux composants, personnalisant le script pour
qu'il se déplace d'une certaine façon, vous obtenez l'intérêt. Ensuite, je voulais vous donner quelques moyens de vous
identifier facilement. Travaillez-vous à l'intérieur
d'un Blueprint de classe ou d'
un plan de niveau
Blueprint seront abordés dans
la vidéo suivante. Numéro un, en haut à
droite d'un Blueprint de classe, il répertorie un niveau de classe
parent. Les plans ne le feront pas. Numéro deux. Blueprints de classe ont un panneau Composants Les
Blueprints de niveau ne le font pas Le numéro trois des Blueprints de classe Event
Graph Tab en
bas à droite était
simplement un Blueprint
plutôt que des Blueprints de niveau, en
indiquant Level Blueprint. Voici quelques conseils rapides. J'ai beaucoup d'étudiants
débutants qui sont
parfois confus
où ils travaillent. Pourquoi ne voient-ils pas
le panneau Composants, ce genre de choses ? Donc, j'espère que ces choses aideront certains d'entre vous là-bas. Enfin, je veux
parler de certains
des plans de classe courants ici. Donc, cliquez avec le bouton droit et un espace
vide Blueprint Class. Blueprint après la classe. C'est celui que vous voulez choisir quand c'est
quelque chose que vous allez placer ou
apparaître dans votre niveau. Par là, je dois dire, quelque chose qui n'est ni un
personnage ni un pion. Un plan de personnage est un pion. Il s'étend de la classe des pions, en fait, vous pouvez le
déplacer. Et l'un des
avantages
d'un plan de classe de personnages
est qu'il est pré-construit avec un
composant de mouvement de personnage qui vous donne contrôle sur la
vitesse à laquelle votre personnage se déplace, comment haut ils sautent, ce
genre de chose que vous pouvez posséder et contrôler une classe de
personnages, un plan, un mode de
jeu, des plans, une base de
mode de jeu, si vous voulez. C'est l'endroit principal où stocker les règles
scriptées de votre jeu. Il peut déterminer
des choses comme la notation, les limites de
temps de ce
genre de choses
fonctionneront sur l'un de ces points
plus tard dans le cours. Très bien, les gars,
ça va le faire. C'est le plan de classe à venir, le
Level Blueprint. voit là-bas.
13. Des plans de niveau: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est d'
apprendre ce qu'est un Blueprint de niveau, comment y accéder, les éléments pour lesquels il est utilisé et en quoi il diffère
d'un Blueprint de classe. Qu'est-ce qu'un plan directeur de niveau ? Eh bien, c'est le
plan associé
spécifiquement à un niveau donné. Dans notre cas, il s'
agirait du plan associé à notre niveau de carte de
test. Comment y accéder
maintenant ? Eh bien, juste en haut ici avec cette petite icône
Blueprint E-type, cliquez sur ce menu déroulant
et à droite
au milieu ici, nous avons cette option de plan de niveau
ouvert. Il suffit de cliquer
dessus pour
ouvrir notre onglet Level Blueprint. Cependant, avant de faire cela, je veux vous montrer
un petit conseil ici car si je
cliquais dessus maintenant, cela ouvrirait dans
cette fenêtre séparée. J'aime que mes fenêtres soient ouvertes juste en haut, le
long de la fenêtre principale. Je vais donc vous montrer
rapidement comment faire cela. En ce moment. Je
vais passer sous Modifier les préférences de l'éditeur dans notre fenêtre des préférences de l'
éditeur. Ici, nous avons l'option dans la
catégorie Apparences générales ici. Asset Editor, l'emplacement ouvert
est actuellement défini sur la valeur par défaut. Je vais
définir ça comme fenêtre principale, puis je vais
fermer ça. Alors maintenant, quand j'ai essayé d'accéder à mon Blueprint de niveau ici, ouvrez Level Blueprint, bam, il le place juste
en haut ici, au lieu de devoir
faire glisser et déposer cet onglet juste le long de la Je
l'aime bien. Maintenant, je vais également faire
glisser et déplacer cela juste à
côté de mon onglet de carte de niveau lui-même. Remarquez donc rapidement quelque chose
ici, l'icône orange de la montagne qui représente
le niveau lui-même, le niveau de vous-même sur lequel
vous travaillez. Il porte exactement le
même nom,
mais il y a cette icône de
montagne bleue qui est le plan qui lui est
associé. Il s'agit du plan directeur de niveau. Si rapidement, avant
de parler de la raison pour laquelle
ce plan de niveau
est utilisé, comment pouvons-nous savoir qu'il est différent d'un Blueprint de
classe ? Eh bien, pour commencer ici, tout
en bas,
ça dit évidemment, Hey, Level Blueprint. Une autre façon de dire
que c'est différent d'un
Blueprint
de classe est qu'il
n'y a pas de panneau Composants sont BP exemple pickup ici
avec un panneau Composants. Notre plan directeur de niveau ne le fait pas. Notez également que notre Blueprint de
niveau
ne possède pas de script de
construction ou onglet d'
affichage sont d'autres
Blueprints jusqu' au ThirdPersonCharacter
et à notre exemple BP. Tous deux l'ont également. De plus, dans notre plan de niveau, si nous regardons en
haut à droite, aucune classe parente n'est répertoriée. Par conséquent, parce qu'il n'
hérite pas d'une classe parente, il n'y a pas de
composants ou de variables hérités. Donc, dans ce plan de niveau, quoi sert-il ? Eh bien, le Level Blueprint est l'
endroit où vous placeriez un script pour des éléments spécifiques au niveau,
tels que la musique de niveau. Peut-être que ce niveau vous voulez
qu'une seule sélection de musique soit
jouée dans ce
niveau, nulle part ailleurs. C'est ici que vous
pouvez écrire pour
que la musique de ce niveau soit diffusée. Vous avez peut-être des événements ponctuels
spécifiques à ce niveau, comme un joueur qui passe
dans un couloir. Dans ce niveau, ils chevauchent
un volume de déclenchement et
provoque un zombie à franchir une fenêtre et à effrayer le joueur. Ce sont des
choses très spécifiques à un niveau que le script doit entrer dans
un Blueprint de niveau. Contratez cela avec disons
notre exemple de pick-up bp. Maintenant, revenons
à notre éditeur de niveau voici l'exemple de ramassage BP. Il s'agit d'un plan
de classe d'acteurs. Vous pouvez glisser-déposer cette information
tout au long de ce niveau. Et si je devais jouer mon jeu, je peux aller de l'avant et écraser ces faux micros de santé
et les récupérer. Maintenant,
peu importe que je glisse et que je les
dépose à l'intérieur de
mon niveau de carte de test, ou je peux créer
un deuxième niveau, un troisième
niveau de quatrième niveau, etc. Ce pick-up va se
comporter de la même manière. Ainsi, j'ai créé ce
script à l'intérieur de notre exemple bp pickup qui vérifie si notre ThirdPersonpersonnage
chevauche la sphère, joue un son et
détruit en tant qu'acteur, ce script est spécifique
à cet acteur, et cet acteur peut être
placé à n'importe quel niveau. Ainsi, le Level Blueprint
est l'endroit où vous placez
des scripts spécifiques à différents niveaux. Maintenant, l'un des
avantages de travailler dans le plan de niveau
est qu'il est très facile d'
obtenir une référence ou d'
ajouter un événement pour un acteur qui
existe déjà dans votre niveau. C'est quelque chose qui
n'est pas aussi facile à faire à l'intérieur d' un autre plan de classe qu'
un plan de classe d'acteurs. Et juste pour le
démontrer rapidement, je vais revenir
à mon éditeur de niveau ici. Et je vais passer sous
mon onglet Contenu publicitaire ici. Et je vais ajouter une forme. Nous allons juste ajouter un cube. Je vais donc faire un
clic gauche et faire
glisser un cube dans mon niveau, vais
juste le relever un peu
dans les airs. Remarquez que je l'ai sélectionné. Ce contour jaune montre
que je n'ai pas sélectionné. Et si je regarde mon contour, c' est
ce qu'on appelle actuellement l'acteur du cube,
c'est son nom. Maintenant, je vais revenir dans mon plan de niveau
avec cette option sélectionnée. Et avec cette option sélectionnée,
tout ce que je dois faire est de maintenir
la touche R enfoncée et de cliquer avec le bouton gauche. Ou bien, je
peux cliquer avec le bouton droit de la souris et ici, je peux créer une
référence à ce cube. Il s'agit donc de la méthode du
clic droit. Si je maintiens la touche Alt enfoncée
et cliquez sur le bouton gauche C'est la même chose, obtenir
une référence à ce cube. Maintenant, notez que si je devais
essayer quelque chose comme ça à l'intérieur de mon
exemple BP ici, sautons à l'intérieur de
ce graphique d'événements. Si je maintiens la
touche Alt enfoncée et que je clique avec le bouton gauche, il n'a aucune idée de ce que vous
essayez de référencer ici. En fait, si je clique avec le bouton droit, c'est comme si je n'avais aucune idée ce que vous
essayez de référencer maintenant, cela ne veut pas dire
que nous ne
pouvons pas obtenir de référence à ce cube spécifique à l'intérieur
de notre exemple bp pickup, mais il existe d'autres méthodes
pour le faire et nous pourrons explorer ces choses
plus tard dans le cours. Mais ce n'est qu'un exemple
rapide de l'un des avantages de travailler
dans
le plan de niveau :
il est très facile, dans un plan de niveau, d' obtenir
une référence à
tout ce qui existe déjà à
l'intérieur d'un plan de niveau. de votre niveau. Très bien, créons
un script rapide ici à l'intérieur de notre plan de
niveau. Notre cube est déjà
sélectionné dans le niveau. Je vais donc cliquer avec le bouton droit de la souris
et un espace vide ici. Au lieu de créer
une référence à notre file d'attente parce que
nous en
avons déjà une, nous allons ajouter un événement. Maintenant, il est dit que vous êtes à l'événement pour acteur
de maillage
statique au lieu de l'acteur Static Mesh actuellement,
pour que cela soit clair dans
notre niveau, dans notre plan, le sol, le plancher par défaut, c'est un type d'acteur de
maillage statique. Il s'agit d'un deuxième acteur
Static Mesh que nous avons ajouté à notre niveau. Ainsi,
il considère aussi l'acteur Static Mesh. Je voulais juste que
cela soit clair. Très bien, avec ce
cube sélectionné, cliquez avec le bouton droit de la souris sur l'événement pour l'acteur de maillage
statique deux, nous allons ajouter un événement
lorsque nous frappons cet acteur. Allez-y et ajoutez-y. Ce sera un script très
simple. Nous n'allons pas
vérifier qui l'a frappé. Ce
truc va flotter dans les airs. Donc je vais glisser hors
de cela et taper simplement son
de lecture sur D. Vous pouvez insérer n'importe quel
son que vous voulez. Mais j'aime entendre
les choses exploser. Je vais donc vérifier
s'il y a une explosion ici. Là, c'est une explosion. N'hésitez pas
à le mettre quand vous le souhaitez. Et après cela, je vais sortir de mon cube parce que je veux parler
spécifiquement de ce cube. Et je veux dire Destroy Actor. Il s'agit donc d'un script spécifique à l'intérieur de
ce plan de niveau. Si je devais placer juste ce
cube dans un autre niveau, il ne le détruirait pas
comme nous sommes sur le point de le voir, car ce script
n'existe qu' à l'intérieur de ce Blueprint de
niveau. Allons donc jouer ici. Et Bam, une petite
explosion retardée là-bas. Mais un chemin, un chemin
qui fonctionne effectivement. Examinons ici
un autre exemple montrant à quoi sert le
Blueprint de niveau. Il peut être utilisé pour
donner coup d'envoi de musique. Donc, en revenant dans
ce plan de niveau, allons-y et la construction de cet événement
a commencé à jouer ici. Je vais simplement faire
glisser le type dans le son de lecture 2D. Un son 2D est un son qui n'
est localisé à aucun endroit dans un espace 3D. C'est tout simplement génial pour la musique de
menu, la musique de fond, ce genre de choses dans notre déroulant ici, je vais
taper le mot musique, et je vais faire
notre musique de départ ici qui se trouve dans le
Pack de contenu Starter. N'hésitez pas à l'insérer
où vous le souhaitez. Et si je joue du
wallah, vous avez de la musique. Donc encore une fois, ces
scripts fonctionnent dans ce niveau et ce niveau
seulement si
je crée un deuxième niveau, je dois décider
quelle musique de
menu je veux jouer et quelle
autre... sur les interactions je pourrais également vouloir écrire. Jusqu'à
présent, dans cette vidéo, je vous ai montré un plan d'un niveau
associé à un seul niveau. La question peut donc se puis-je avoir plusieurs plans
bas ? La réponse à cela est oui, essentiellement vous
pouvez voir à quel point, si je passe sous
mon option Windows dans l'éditeur de niveau principal ici, je peux trouver cette
option quatre niveaux. Et quand j'ouvrirai ça, je vais ouvrir un onglet Niveaux. Maintenant, j'aime bien accoster ça
juste à côté de mon plan. Et ce que je peux faire ici, c'est que je
pourrais ajouter un tout nouveau niveau, essentiellement un
sous-niveau, une couche, si vous voulez, à ce niveau
existant. Actuellement, cela montre que j'ai ici
un niveau connu sous
le nom de niveau persistant. Et cette coloration bleue
montre que c'est le niveau que je
travaille avec lui. Sous cet onglet niveaux et ses niveaux
déposés ici, je peux créer un nouveau niveau. Je vais donc y aller
et le faire maintenant. Cela va m'inciter à choisir un nouveau niveau
et à lui donner un nom. Je vais choisir
un niveau vide ici. Nous allons créer cela. Et il va dire, où voulez-vous le sauvegarder. Je vais donc donner
le nom de sous-soulignement niveau,
soulignement 01. Je vais voir comment ça se passe dans
ce dossier maintenant, mais je vais commencer à
héberger ces choses dans sous-dossiers
séparés dans un
peu ici, laissez-moi me débarrasser de
cette majuscule U là-bas. Au premier niveau, nous
allons sauvegarder ça. Maintenant, vous voyez que cela a ajouté un niveau à l'onglet de mes niveaux ici. Pensez à un sous-niveau comme
un calque dans Photoshop. C'est juste une
couche supplémentaire de choses, acteurs, d'objets,
que pouvez-vous ajouter à votre niveau ? Les équipes de développement consacrent souvent un sous-niveau entier à l'
éclairage, par exemple. Pour qu'un
spécialiste de l'éclairage puisse se concentrer uniquement
sur l'
aspect éclairage du niveau. Et il est très facile
pour cette personne d'avoir accès
unique à
celui-ci est de sous-niveau et y
apporter des modifications sans
interrompre le reste de l'équipe de développement qui
travaille à ce niveau. Donc, si nous créons un monde ouvert
massif, nous pouvons avoir plusieurs
sous-niveaux ici. Peut-être que quelqu'un est responsable de la sculpture de ce monde ouvert
massif. Il y a peut-être un sous-niveau
pour tout le feuillage et autre sous-niveau pour l'éclairage et un autre sous-niveau pour les effets, ce genre de choses. Comme vous pouvez le voir ici, lorsque nous l'avons créé
en tant que sous-niveau, notre sous-niveau bleu a émis le niveau actuel dans
lequel nous travaillons. Qu'est-ce que cela signifie
pour le rendre actuel ? Eh bien, cela signifie que tout acteur que
nous devions ajouter à ce niveau maintenant, qui l'ajoutera
réellement à
notre sous-niveau, notre sous-niveau
ici et créé un tout nouvel atout pour ce niveau et
notre contenu. par
opposition à notre principal niveau
persistant ou carte de test LV. Allons de l'avant et essayons cela
dans un instant. Cependant, je voulais
souligner que chaque sous-niveau a son propre plan de niveau. Vous pouvez y accéder en
cliquant
ici, là où se trouve cette
petite icône de plan. Donc, si j'ouvre cela, nous pouvons voir qu'il a le nom de mon sous-niveau et encore cette icône de plan de
niveau. Revenons maintenant à notre éditeur de niveau
principal ici, et je vais
ajouter un point lumineux. Je vais donc passer
sous mon onglet Ajouter ici. Nous allons trouver nos lumières. Ajoutons un point lumineux. Très bien, maintenant, nous l'avons
ajouté à notre sous-niveau. Et si je clique sur ce petit
bouton de visibilité ici, vous pouvez voir qu'il l'
affiche et la cache. Et c'est dans notre sous-niveau. Si je devais cacher notre niveau
persistant, nous verrions encore notre lumière parce que cela appartient
à notre sous-niveau. Pour aider à faire rentrer
ce point à la maison, je vais sélectionner
notre lumière ici. Si je devais entrer dans mon
sous-niveau Level Blueprint et que je devais cliquer avec le bouton droit de la souris
et un espace vide, je peux créer une référence
à mon point lumineux. J'ai sélectionné ces
lumières ponctuelles dans mon niveau ici, plus précisément dans mon
sous-niveau. Cependant, si je devais essayer d'ajouter une référence
à cela dans mon
Blueprint de niveau principal ici, cliquez avec le bouton droit de la souris. Il n'y a aucune référence que je puisse créer à ce point lumineux. Donc, quoi que vous ayez, quels que soient les objets,
effets, etc. que vous avez existant
dans votre sous-niveau donné. Vous pouvez les référencer directement à l'intérieur de votre plan de niveau. Mais il doit s'agir de
n'importe quel niveau ou sous-niveau dans lequel vous avez réellement
placé cette chose. Si vous débutez avec Unreal, l'idée derrière
les sous-niveaux va probablement bien au-delà de ce que vous devez savoir actuellement. Mais comme nous sommes sur le
sujet des plans de niveau, j'ai pensé que le moment
était
inapproprié parler au moins. Deux autres choses que je veux faire avant de fermer cette vidéo. Allons de l'avant et sauvegardons
notre niveau et notre sous-niveau. Les deux ont des
astérisques sur eux. Ils peuvent être enregistrés
en cliquant avec le bouton droit de la souris sur ces ressources et sur notre navigateur de contenu ou dans notre onglet
Niveaux juste ici, je peux cliquer sur chaque
disque pour les enregistrer. De plus, je souhaite créer ici des dossiers
distincts
pour certains de nos actifs. Sinon, nous
aurons trop de place dans notre dossier de script. Je vais cliquer avec le bouton droit de la souris. Je vais ajouter un nouveau dossier. Je vais ajouter 14 niveaux. Et je vais également cliquer avec le bouton
droit sur notre dossier de script. Une fois de plus, je vais
ajouter un autre nouveau dossier, et je vais en ajouter un car
nous allons l'appeler aperçu de
certains de nos tout premiers
Blueprints que nous avons créés. Ensuite, je vais
retourner dans mon dossier de script. Et je vais faire glisser
et déposer certaines de ces ressources dans
le dossier approprié. Je vais donc
cliquer avec le bouton gauche et le faire glisser et surligner comme désolé, pas
cliquer et faire glisser. contrôle. Cliquez sur mon exemple de ramassage dans
mon script de construction. Et je vais les faire glisser et les
déposer dans notre dossier d'aperçu. Et l'autre 3123, je ne fais que cliquer sur le contrôle. Je vais faire glisser
et déposer dans notre dossier
de niveaux, les
déplacer ici. chutes d'acides sont
référencées par un ou plusieurs, diront oui. Et enfin, nous allons déposer et sauvegarder tous les
bons endroits pour tout sauvegarder sous. Les gars, ça va tout
faire pour celui-là. Nous vous verrons dans le prochain.
14. Types de nœuds: Bon, bienvenue à tout le monde. Au cours
des prochaines vidéos ici, nous allons
décomposer les Blueprints, scripter des nœuds de manière
beaucoup plus fine. En particulier, nous allons parler
de différents types de nœuds. Nous allons
parler de différents types d'épingles. C'est ces épingles de forme
circulaire colorées
par rapport à ces épingles de
forme triangulaire. Nous allons
parler de la différence entre les broches d'entrée situées à gauche d'un nœud et les broches de sortie situées sur le côté
droit d'un nœud. Nous allons
parler de câblage des nœuds et comment mieux
organiser les nœuds. Maintenant, dans cette vidéo, notre objectif est de discuter de
certains types de nœuds de
script de Blueprint trouvés dans Unreal. Nous allons maintenant
parler de chacun de
ces différents types de nœuds
plus en détail plus loin dans
le cours. Mais pour l'instant, je
voulais simplement vous familiariser avec ces différents types de nœuds
afin que vous puissiez mieux les
identifier et
comprendre leur utilisation. Très bien, nous allons
commencer
notre discussion sur les
différents types de nœuds avec les nœuds de couleur rouge. nœuds de couleur rouge dans Unreal
sont appelés nœuds d'événements. Et ils sont critiques
car ils sont nécessaires pour lancer n'importe quel script là-bas. L'étincelle qui envoie une impulsion vers le bas de ce fil ici pour que tous les autres nœuds s'y
accrochent, s' allume également. Maintenant, un exemple, des événements
ou des événements commencent à jouer, ce qui est très courant. Cela se déclenche chaque fois que
nous commençons notre jeu. Vous avez également des événements d'entrée tels que lorsque vous appuyez sur un votre clavier ou sur le bouton inférieur de la
manette de jeu. En avançant, nous avons ces nœuds de couleur bleue et
ils sont appelés fonctions. En particulier, elles sont
connues sous le nom de fonctions impures. Dans les fonctions pures, faites
quelque chose qui se passe, mais sont libres de modifier
les choses. Parmi les exemples de
différents nœuds de fonction on peut citer l'apparition d'un acteur, le frai et l'émetteur. C'est l'ancien
système VFX dans Unreal, nous avons également engendré
le système qui est le plus récent système VFX dans unreal, nous avons cette fonction de création de
widget. Il permet d'afficher les types de menus ou de HUD que
vous avez créés. Nous avons également des fonctions
pour jouer un son ou un décor et l'
emplacement ou le décor des acteurs, le matériel, ce
genre de choses. Je voulais ajouter
celui-ci ici aussi. Vous avez certaines fonctions
qui peuvent avoir ce développement
uniquement sur celui-ci. Et c'est parce que
cette note de fonction n'est vraiment destinée qu'à des fins de
développement. Donc, si jamais vous voyez
quelque chose comme
ça, c'est pourquoi nous avons ces nœuds de couleur
verte. Et ils sont également connus sous le nom de
fonctions. Mais elles sont connues sous le nom fonctions
pures qui sont
simplement utilisées pour obtenir des données. Et un
facteur clé de différenciation entre ces fonctions vertes et
ces nœuds de fonction bleus. Les deux ont
ce F fantaisie, c'est que ces
nœuds bleus impurs ont quelque chose connu sous le nom de broches exactes sur eux. Goupilles d'exécution,
broches exactes pour les courtes. Alors que le vert sait que
les fonctions pures ne le font pas. Ces
broches exactes ou d'exécution sont simplement utilisées pour maintenir le flux
d'exécution. Dans. Le fil d'exécution peut
entrer et sortir. Cependant, ils n'ont pas cela. Alors, quel
est exactement leur but ? Leur but est simplement
d'obtenir des données. Dans ce cas, ce
nœud va
obtenir ce qu'est notre
personnage joueur. Dans ce nœud, nous
obtenons le niveau dans lequel se trouve cet acteur. Et cette fonction pure
obtient simplement le nom complet de
l'objet qui y est branché. Dans ce cas, notre niveau. Ces deux nœuds ne
sont pas des fonctions pures. Ensuite, nous avons une catégorie de
nœuds appelés nœuds de contrôle de flux. Vous pouvez les identifier grâce cette
bannière de couleur grisâtre située en haut. La seule exception à cela est la famille de nœuds switch dont il existe
de nombreux. Et ils avaient ce genre de bannière
de couleur dorée
sur le dessus. Ils sont également considérés comme
des nœuds de contrôle de flux. Ce que font les
nœuds de contrôle de flux avec leur utilisation pour déterminer où
aller ensuite dans un script. Alors imaginez si vous voulez, nous avons eu un événement, commencez à
le jouer juste avant
ce nœud de branche. Et il était
branché ici. Donc, selon la
condition, vraie ou fausse, nous pourrions soit un feu
de cette façon, soit de cette façon. Et je peux avoir toutes sortes de scripts
différents attachés
à ma vraie branche ou ma fausse branche les nœuds de
contrôle Hello sont super courants dans Unreal
et Blueprints script. Et vous saurez que
vous améliorez
vraiment votre jeu de
script Blueprint lorsque vous
commencerez à les maîtriser, comment trouver ces nœuds ? Si vous cliquez simplement avec le bouton droit de la souris
dans un espace vide, vous pouvez saisir le contrôle de flux. Et il y a une
catégorie entière
répertoriée comme contrôle de flux. Et vous pouvez voir
où il y a
des tonnes de nœuds de commutateur, un contrôle de flux, laissez-moi réduire la catégorie des
commutateurs et il y a un tas de nœuds de contrôle de
flux. Et ensuite, nous avons des variables. J'ai maintenant créé un tas
de variables différentes sur la gauche en
préparation de cette vidéo. Les variables contiennent
des données d'un type spécifique. Ce sont des conteneurs,
si vous voulez. Ils peuvent voir leurs
valeurs modifiées ou définies comme nous aimons le dire, autre
chose que
ce qu'elles étaient à l'origine, tant qu'il s'agit du même type. Maintenant, ces conteneurs
sont utilisés pour contenir des éléments tels que des valeurs de santé. Ou est le statut de posséder
quelque chose ou d'un lieu de frai. S'il s'agissait d'une
valeur de santé, il peut s'agir d'un type int ou d'un type float. C'est une sorte de chiffre. S'il s'agissait
d'un statut de propriétaire d'une clé, il peut s'agir d'un type booléen
vrai ou faux. Et s'il s'agissait de l'emplacement
d'un frai d'un ennemi, il s'agirait d'un type vectoriel, ce serait un emplacement X,
Y et Z. Enfin, je voulais
mentionner un nœud très spécial et unique on trouve dans le script de
Blueprint, c'
est-à-dire un nœud de chronologie. Les nœuds de chronologie sont utilisés
pour modifier la valeur d'une variable ou de
variables au fil du temps. Et ils sont utilisés pour modifier la valeur d'un flotteur afin de changer un minuteur de jeu pour diminuer
au fil du temps, comme la création d'un jeu de sport,
vous savez, un compte à rebours d'horloge. Ou peut-être modifier
une variable vectorielle au fil du temps pour déplacer un objet. Dans le cas d'une plateforme
mobile, c'est un nœud tellement cool et
unique que j'ai une vidéo entière dédiée à
cela plus tard dans le cours. En résumé, nous
avons des nœuds rouges. Ces nœuds sont appelés nœuds
d'événements nécessaires au démarrage de scripts. Ils sont bleus. Les nœuds sont appelés fonctions
impures. Ils font simplement arriver
quelque chose. Ils peuvent engendrer un acteur, ils peuvent engendrer un
effet de particules, jouer un son. Ils peuvent afficher un écran de
menu ou un HUD. Ce qui différencie les fonctions
impures de nos fonctions
pures, c'est qu'elles ont des broches d'exécution entrent et sortent d'elles. En parlant de fonctions pures, voici quelques exemples
de nos fonctions pures. Ils sont colorés en vert. Ils n'ont pas de broches
d'exécution dessus, et ils sont simplement
utilisés pour obtenir des données. Les nœuds de contrôle de flux sont colorés en gris, à l'exception
des nœuds de commutateur. Et ils sont très
utiles pour contrôler le flux d'exécution
dans votre graphique. Ensuite, nous avons des variables. Il existe de nombreux types de
variables différents. Les variables contiennent une
information. Le contenu d'une
variable peut être défini, modifié si vous le souhaitez, quelque part le long de votre script. Enfin,
nous avons un nœud de chronologie. Il s'agit d'un nœud très spécial
dans unreal qui peut modifier la valeur d'une
variable au fil du temps. Les gars, ça va tout
faire pour celui-là. Nous vous verrons dans le prochain.
15. Épingles d'exécution et de données: Bienvenue à tout le monde. Dans cette vidéo, notre
objectif est d'en savoir plus sur et de comprendre
les différences entre l'exécution
et les plans de données
variées sans
marée dans les Blueprints Unreal Engine. Jusqu'à ce
stade du cours, vous m'avez vu travailler avec certains de
ces différents types d' épingles
sur les différents nœuds, mais nous n'avons pas eu de discussion
officielle sur les types d'épingles. C'est donc le but de cette
vidéo, en utilisant certaines de nos fonctions
impures. Voici un exemple rapide. Découvrez ça. J'ai quelques épingles de
forme triangulaire sur un nœud, et j'ai également ces épingles
circulaires à
code couleur sur un nez. Ces choses sont
appelées épingles. Quelles sont les différences
entre eux ? Eh bien, ces épingles de
forme triangulaire sont connues sous le nom de broches d'exécution. Ces broches sont l'endroit où les
signaux sont envoyés vers et sortant d'une connaissance donnée. Ils ordonnent au nœud d'
exécuter quelque chose. Dans ce cas, ce nœud
produirait un effet visuel. Désormais, tous les nœuds d'événements possèdent
au moins une épingle d'exécution. Et il est très important
que les nœuds d'événements fassent parce le
fassent parce que ce sont eux qui démarrent l'
ensemble du script. Nous avons donc commencé à jouer. Il va commencer un flux d'
exécution à partir de cette
broche et descendre ce fil. Il est maintenant important
de noter ici que tous les nœuds
ne possèdent pas
d'épingles d'exécution. Si vous vous souvenez de
la dernière vidéo, ces nœuds de fonction pure
n'ont pas de broches d'exécution. Ces données sont simplement
destinées à générer des données. Cela mène à bien
la discussion sur ce qu'est une épingle de données. Eh bien, revenons à nos fonctions
impures ici, parce que ce nœud en
a beaucoup. Les épingles de données
sont des épingles où les données peuvent entrer ou sortir d'un nœud donné. Des exemples de données pouvant être branchées à un nœud
peuvent être des nombres, coordonnées, des objets,
ce genre de choses. Notez maintenant que ces épingles de données, ces épingles de données de forme circulaire
sont disponibles en différentes couleurs. Et c'est pour aider à identifier
les différents types de données. Si je souris sur l'une de ces différentes épingles
à code couleur dans l'info-bulle qui apparaît. Il répertorie les
différents types de données qui peuvent y être entrés. L'emplacement est donc à la
recherche d'un type de données vectorielles, tout comme l'échelle. Cependant, cette destruction automatique
recherche un type de données booléen. Maintenant, vous vous êtes peut-être souvenu
de la dernière vidéo que nous avons
brièvement parlé de variables
ici, et que les variables peuvent venir
de différents types de données. Les variables peuvent être connectées ces différentes broches de données pour indiquer au nœud ce qu'il faut faire. Par exemple, si nous voulions
générer un émetteur à
un emplacement donné, je pourrais brancher une variable
vectorielle dans cette broche de données pour indiquer à cet
émetteur où il doit être apparu. Comme vous pouvez le voir lorsque je glisse et que je dépose ça sur l'épingle, c'est dire : Oui, C'
est une variable vectorielle. Il est normal de le
brancher à notre emplacement ici. Maintenant, si je supprime cela
et que j'essayais de brancher la même chose dans
cette broche de destruction automatique. Il dira, Nope, que je ne peux pas le
faire car ce n'
est pas un
type de données compatible, je ne peux pas le faire. Cependant, cette variable booléenne
peut être branchée sur
cette option automatiquement détruite car il
s'agit d'un type de données correspondant. Il est maintenant important de
comprendre que les nœuds peuvent capter des données
et les extraire. Ainsi, cet
émetteur d'apparition sur place comme notre système d'apparition sur place, il peut prendre toutes sortes de données et
renvoie également des données. Mais voyons
un autre exemple de nœud qui produit
beaucoup de données. Je vais passer à mon exemple de
BP, reprendre rapidement ici. Et nous pouvons voir sur notre
propre composant commence événement de
chevauchement ici qu'
il peut générer beaucoup de données, y compris l'autre
acteur qui est l'autre chose qui chevauchait
ce collisionneur de sphère. Maintenant, je veux aider à consolider
tous ces concepts ici,
nous avons des épingles d'exécution plutôt que des
épingles de données. Nous avons des broches d'entrée
sur le côté gauche d'un nœud par rapport aux broches de sortie. J'ai donc ajouté un script temporaire
ici à l'intérieur de mon exemple
BP. C'est cette prise ici. Je vais supprimer cela à la
fin de cette vidéo juste pour aider à démontrer
ce concept. Dans mon niveau
, j'ai également une instance, une copie de mon
exemple BP. Actuellement dans mon
niveau, il est connu
sous le nom de BP exemple pickup to. La raison pour laquelle je parle de
cela est parce qu' à l'intérieur de ce Blueprint
ici, j'ai sélectionné ceci, mon exemple de prêt BP, instance de
ramassage comme option
de débogage. La chose que je veux voir le script se
déclencher en travaillant. Maintenant,
ce script temporaire
que j'ai ajouté ici va
déclencher chaque image. C'est ce que fait l'événement tick. Il va demander à notre nœud de
fonction d'impression de chaîne d'
imprimer quelque chose sur notre
écran dans des textes roses. Et il va
imprimer le nom de notre personnage joueur. C'est ce que ces
nœuds font ici aussi. Donc cette chaîne d'impression, si je débranchais ce
fil ici, elle
imprimerait simplement le texte Hello. Cependant, avec cela
branché dessus, je dis à cette fonction de chaîne
d'impression ce qu'il faut imprimer à l'écran. Nous fournissons des données informatiques sur ce
qu' il faut imprimer. Nous y voilà. Je vais cliquer
ici rapidement. Et si je déplace ça un
peu, on y va. Vous pouvez voir cet événement
se déclencher en continu, un flux continu indiquant à
notre chaîne d'impression d'imprimer
continuellement
ce nom d'affichage sur notre écran. Ici, il est spammé le long de la main gauche.
côté dans des textes roses. Et c'est là que tu l'as. Nous avons un nœud d'exécution qui s'allume dans ce nœud d'entrée d'
exécution, ce qui
indique de l'
imprimer à l'écran. Nous avons des données qui circulent dans ce nœud pour lui dire ce qu'
il faut imprimer. Ça va tout faire
pour ce type de vidéo, nous avons des épingles d'exécution,
ces épingles de forme triangulaire. Nous avons des broches de données, ces broches de forme
circulaire à code couleur. Nous avons des broches d'entrée sur
le côté gauche d'un nœud. Nous avons des broches de sortie sur
le côté droit du nœud. Cela fera tout pour
cette vidéo, les gars, nous vous verrons dans la prochaine.
16. Câblage de nœud: Bienvenue à tout le monde. Dans cette vidéo, notre
objectif est d'apprendre les méthodes de câblage des
notes ensemble de façon irréelle. Maintenant, en surface, il peut sembler qu'il n'y a pas grand-chose à cela, mais il y a
ici quelques trucs et astuces
subtils qui valent
vraiment la peine appris car
ils peuvent vous faire économiser une charge de bateau du temps pendant
de nombreux jours de développement. Tout d'abord, parlons de
différents types de fils. fils blancs. Il s'agit de
fils d'exécution qui
circulent entre les broches d'exécution. Ils permettent de maintenir le flux d'exécution d' un nœud à un autre. Et un conseil amusant ici, si vous
survolez l'un de ces fils, vous pouvez le mettre en surbrillance comme
ça pour le faire ressortir. Vous pouvez voir que je fais ça, distribue un
peu tous les
autres fils en bas. C'est plutôt cool,
ça aide à se démarquer. Ensuite, nous avons des fils de données. Ils sont codés par couleur
en fonction de leur type de données, ce qui, encore une fois, nous en
apprendrons beaucoup plus sur types de données plus tard
dans le cours. Ils transmettent des données d'
un nœud à un autre. Ce fil rose représente donc
un type de données de chaîne. Et encore une fois, il est dit que dans l'
info-bulle
lorsque je la souris dessus, si je saute sur notre bp
ThirdPersonpersonnage, nous pouvons trouver quelques autres fils à code couleur. Ces fils verts représentent un type de données flottant qui est un
nombre avec une virgule décimale. Il y a aussi un
fil jaune ici. Il s'agit d'un type de données vectorielles. Une fois de plus, les fils de données sont codés par couleur en fonction
de leur type de données. Parlons ensuite différentes façons de
connecter les nœuds ensemble. moyen le plus
courant consiste probablement à cliquer avec le bouton gauche et à faire glisser d'
un type de broche à un autre type de broche
similaire, comme ça. Cependant, vous n'avez pas
à travailler de cette façon, de gauche à droite, vous pouvez travailler à l'envers. Si je devais déconnecter cette épingle, je pourrais faire quelque chose comme ça. C'est également une
façon tout à fait valable de le faire. Vous pouvez également faire glisser et déposer
certains nœuds sur d'autres nœuds. Regardez en bas ici à
ma place le nœud 2D sonore, j'ai temporairement déconnecté
mon son
de micro de mon entrée sonore ici. Je pourrais faire quelque chose comme ça, où je clique avec le bouton gauche et que je
glisse ça dans la greffe, je l'obtiens, puis je l'ai
branché comme ça. Toutefois, il s'agit d'un processus
en deux étapes. Nous simplifions la vie. Donc, parce qu'il s'agit
du même type de données que
celui recherché, je peux simplement le faire glisser et le déposer
juste au-dessus de là, et il va le
brancher automatiquement. C'est un truc très pratique. Maintenant, cela fonctionne non seulement
pour la saisie de données, mais également pour la sortie de données. Donc, avant cette vidéo, j'ai créé
ici une variable appelée Delta secondes
du type de données float car cette tick d'
événement peut générer
des données flottantes. Si je clique avec le bouton gauche et que je
fais glisser ça au-dessus d'ici, cela peut automatiquement. Pourquoi ces deux nœuds sont-ils
ensemble ? Maintenant, nous n'avons pas
parlé de l'obtention certaines données plutôt que de
définir les données. Nous en parlerons davantage
dans notre section sur les variables. Une autre façon de réunir les
nœuds consiste à obtenir quelque chose de
contextuel. Qu'est-ce que je veux dire par là ?
Eh bien, laissez-moi vous montrer. Je vais sélectionner
notre
maillage de cube horizontal ici dans notre panneau de
composants. Et avec cette option sélectionnée, je vais cliquer avec le bouton droit de
la souris sur notre graphique ici. Et je vais faire une recherche pour un
nœud appelé Sets material. Je peux donc définir le matériel pour
mon cube horizontal ici. Si j'ai sélectionné ce nœud de
fonction, il va
automatiquement connecter notre composant de cube horizontal
ici à ce nœud de fonction. Cela ne fonctionne pas seulement dans un plan de classe d'acteurs ou d'autres plans
d'ailleurs. Mais ici, dans notre
plan directeur de niveau , je peux également le
démontrer. Laissez-moi donc revenir
à ma carte de test ici. J'ai sélectionné mon cube, revenez dans mon plan de
niveau. C'est un rappel
sur la façon de le faire. Avec ce nœud sélectionné ou
avec cette actrice sélectionnée. Je devrais dire que le cube a été sélectionné. Je peux cliquer avec le bouton droit de la souris et
un espace vide. Je peux appeler une fonction
sur cet acteur Static Mesh. Laissez-moi entrer dans la section
rendu et je peux mettre l'acteur
caché dans les jeux. Je connecte
donc automatiquement une référence à mon cube,
à cet acteur de jeu caché
dans la fonction de jeu. Comme je l'ai brièvement démontré
dans la dernière vidéo, si vous essayez de brancher une épingle à une autre et qu'elles
ne sont pas compatibles, irréel va
vous en informer. Donc, si je devais casser
mon petit garçon ici, et j'ai essayé de le
brancher ici. Ça va dire,
OK, je ne peux pas le faire. L'événement a commencé
à jouer dans l'épingle d'exécution essayant de le
brancher dans une chaîne int, type de données de
chaîne, Impossible de le faire. Longue histoire, courte,
Unreal vous indiquera si vous pouvez connecter
ces broches ou non. Parlons maintenant de certaines
façons dont les fils peuvent être coupés. La méthode la plus simple
consiste à maintenir
la touche Alt enfoncée et à cliquer avec le bouton gauche
sur le fil lui-même. Cependant, si vous n'êtes pas obligé de le
faire sur le fil lui-même, vous pouvez trouver l'une ou l'autre des
broches que le fil se connecte et maintenez simplement
Alt enfoncée et faites un clic gauche
sur la broche elle-même. Peu importe que ce
soit de ce côté ou l'autre côté
du fil de connexion. Une autre façon de le
faire consiste simplement cliquer avec le bouton droit
de la souris sur le nœud. Cliquez avec le bouton droit de la souris sur notre nœud de chaîne
d'impression ici. Et est-ce que je clique avec le menu droit ? J'ai la possibilité de
casser les liens de nœuds. Ça va le faire. Une autre façon de le
faire consiste à
cliquer avec le bouton droit de la souris sur
l'épingle elle-même. Prenons donc cet
exemple ici. J'ai cette référence de cube à l'intérieur de mon plan de niveau. Et j'ai eu ça
branché à deux fonctions. Je peux donc cliquer avec le bouton droit sur cette épingle elle-même et je pourrais
casser tous les liens épingles. Remarquez donc que je l'
ai branché à deux nœuds de
fonction différents ici. Si je voulais apporter les deux
fils en même temps,
il suffit de cliquer avec le bouton droit sur cette broche, casser toutes les liaisons de broches et de la
flèche, tous déconnectés. Enfin, déplacer des fils une broche à une autre est
l'une de mes astuces préférées. Au lieu de faire
quelque chose comme ça, nous avons notre référence de
cube et nous voulons l'accrocher à cela. Oh, maintenant, nous voulons le
rattacher à ça. Il faut donc casser l'
épingle et y aller. Oui, c'est très bien. Vous pouvez le faire. Toutefois, si vous maintenez
la touche Ctrl enfoncée et que vous
cliquez avec le bouton gauche sur l'épingle elle-même, vous disposez de cette
petite icône de main. Vous pouvez faire glisser et déposer cela d'une épingle
de données à une autre, comme ça, j'adore cette astuce. C'est un énorme
gain de temps, n'est-ce pas, c'est quelques méthodes différentes
pour câbler les nœuds ensemble. Ça va tout faire pour celui-là. On se voit dans le prochain.
17. Organisation de nœud: Bienvenue à tout le monde. Dans cette vidéo, notre
objectif est d'apprendre quelques
trucs et astuces d'organisation de notes qui
nous aideront à être plus efficaces, ainsi que d'écrire des scripts plus
propres qui peuvent être lus plus facilement. Jusqu'à ce
stade du cours, nous avons écrit des scripts
assez basiques. Ils ne contiennent pas
beaucoup de nœuds ou de fils. Et donc l'organisation de nos nœuds n'est pas
si importante, mais à mesure que vous devenez plus avancé, vos scripts auront
tendance à inclure plus de nœuds, à inclure plus de fils, et donc ces organisations.
les options deviennent activées, si importantes pour des
raisons de lisibilité. Donc, dans un plan
de votre choix, je vais faire partie de
mon exemple BP. Explorons quelques-uns de
ces éléments et maintenant j'ai délibérément foiré une partie de l'organisation de nœuds que j' avais utilisée ici à l'avance. Si vous cliquez avec le bouton gauche et faites glisser le curseur, vous pouvez mettre en surbrillance une
sélection de nœuds. Vous pouvez également maintenir la touche
Contrôle enfoncée et cliquer avec le bouton gauche pour
sélectionner plusieurs nœuds. Une fois que vous avez cliqué avec le bouton droit sur
l'une de vos sélections, vous pouvez créer un menu contextuel dans
l'une des catégories est l'organisation. Nous allons
parler spécifiquement de ces options d'alignement. Et dans le petit
menu « fly-out », vous pouvez voir que nous pouvons aligner nos nœuds
le long du haut du nœud. Le bas est, le milieu
est moins
les centres, les droits, etc. Tous ces raccourcis sont
associés à des raccourcis clavier. Comme vous pouvez le voir ici. Si vous regardez attentivement, c'est Shift plus W, A, S et D. C'est le mouvement
de votre personnage sur le clavier qui
correspond facilement au haut, au bas, à gauche et à
droite. C'est très pratique. Je vais donc m'aligner
le long du sommet ici, mais il y a un peu de nuance avec l'alignement que
vous devriez connaître. Alors, permettez-moi d'aller de
l'avant et de le faire. Vous pouvez voir comment il aligne tous ces nœuds
le long du haut. Mais alors la question
devient, eh bien, lequel de ces nœuds
décide-t-il d'aligner deux ? Recommençons ça. Je déplace ça un
peu hors de Kilter. Vous allez effectuer la
sélection de contrôle de ces nœuds. J'ai donc 1234. Remarquez donc que Destroy
Actor ici était le dernier nœud que
j'ai sélectionné. Maintenant, si je clique avec le bouton droit de la souris, je vais à
nouveau aligner le haut. Et notez qu'il aligne tout
cela
en fonction du dernier nœud que
vous avez sélectionné. Maintenant, nous venons d'
aligner en haut,
mais vous pouvez imaginer
ce que fait l'alignement à droite, gauche ou en bas. Ensuite, je veux parler du
redressement des connexions. Plusieurs fois, à mesure que vos scripts
deviennent de plus en plus complexes, vous pouvez avoir des nœuds qui se
recroquevillent dans une zone, peut-être en arrière comme ça. Non, c'est un peu comme ça. Câblage de toutes sortes de façons bizarres. redressement des connexions est un moyen de les
rendre très propres. Si je mets en surbrillance ces
deux nœuds, non ? Comme cela et cliquez avec le bouton droit de la souris, vous pouvez voir que la
touche de raccourci pour redresser les connexions est la touche Q. Et si je fais cela, vous pouvez voir comment cela permet de redresser
cette connexion filaire. Ici aussi, il y a
un peu de nuance. La première sélection
que nous avons faite, et laissez-moi les enlever. Encore une fois. La première sélection
que nous avons faite est le nœud que vous souhaitez redresser. La deuxième sélection
que nous faisons. Dans ce cas, il s'
agira de notre nœud de chaîne d'impression. Ce sera l'épingle
du nœud que nous
voulons en redresser deux. Remarquez donc cela en cliquant avec le bouton droit. Alignez Q. Nous nous sommes redressés
sur cette épingle, ce nœud, nous nous sommes
redressés à cette épingle. Ensuite, j'ai sauté sur
mon plan de niveau où j'
ai délibérément
foiré l'organisation de
certains de mes nœuds variables afin de pouvoir démontrer la
distribution verticalement. La première chose que je vais
faire est de cliquer avec le bouton gauche et de
mettre en surbrillance tous
ces nœuds variables. Et je veux d'abord les
aligner sur la gauche. Donc, en maintenant la touche Maj enfoncée, je vais appuyer sur la
touche A car Maj plus a est la touche de raccourci pour
aligner le long de la gauche. Comme vous pouvez le voir verticalement, ils n'ont pas l'air très
uniformément espacés. Il y a donc une option
pour cela également. Je vais
cliquer avec le bouton droit sur l'une de mes notes
surlignées restantes ici. Ce sont tous des alignements
surlignés et nous pouvons les distribuer
verticalement. Et ce que cela va
faire, c'est qu'il va les espacer
uniformément entre le nœud le plus haut
que j'ai sélectionné et le nœud le plus bas
que j'ai sélectionné. Alors, jetez un coup d'œil. Il les
a espacés uniformément entre mon nœud sélectionné le plus haut et
mon nœud le plus sélectionné le plus bas. organisation des notes horizontalement n'
est pas différente. Nous avons donc ici quelques nœuds de contrôle de
flux qui sont un peu décalés. Je vais cliquer avec le bouton gauche et le
faire glisser pour mettre en surbrillance ces quatre. La première chose que je
vais faire est de maintenir touche Maj
enfoncée et d'appuyer sur la touche W pour les aligner
le long du haut ici. Et puis avec tous
ces éléments en surbrillance, je peux cliquer avec le bouton droit de la souris sur l'
un des quatre
qui sont mis en surbrillance. Nous pouvons passer à l'alignement. Nous pouvons les distribuer horizontalement
à uniformément, les espacer. Maintenant, avec ces nœuds sélectionnés, il existe
plusieurs
façons de les déplacer. Vous pouvez voir que j'ai tous les
quatre sélectionnés. Je peux sélectionner n'importe lequel d'entre eux et déplacer les quatre tours comme ça. Cependant, je peux également
utiliser les touches fléchées. Donc, en ce moment, j'appuie
sur les touches fléchées, gauche, droite et haut, qui déplaceront également les nœuds. Autre chose que vous remarquerez
peut-être que j'ai sur quelques nœuds. Voici un commentaire, un commentaire sur certains raccourcis clavier
associés à
l' intégration de quelques-uns de ces
nœuds dans votre graphique. Comment obtenir un commentaire sur un nœud ? Il suffit de
cliquer avec le bouton droit de la souris sur
la note elle-même. Et là, vous pouvez
laisser un commentaire de nœud. J'aimerais
parfois le faire avec des raccourcis clavier, surtout lorsque je
crée des vidéos comme celle-ci. Chaque fois que vous souhaitez vous
laisser un rappel sur ce que fait un nœud, ou peut-être un cas particulier auquel
ce nœud est confronté. cliquer dessus avec le bouton droit de la souris et
d'ajouter très pratique de cliquer dessus avec le bouton droit de la souris et
d'ajouter une comète noeud. En parlant de commentaires,
vous verrez peut-être, si vous voulez, que j'ai cette boîte de commentaires autour de toute cette
sélection de nœuds. Eh bien, comment ai-je eu ça ? Eh bien, c'est
simplement une question de, laissez-moi simplement déplacer ces
nœuds hors d'ici. Je vais supprimer ça. Vous pouvez cliquer avec le bouton gauche et le faire glisser pour créer cette sélection de chapiteau
autour de tous vos nœuds. tous sélectionnés, vous pouvez appuyer sur la touche C
pour créer une boîte commune. Au moment où vous le faites, vous pouvez voir plus loin dans le panneau Détails, vous pouvez donner un nom
à votre zone de commentaires. Vous pouvez également
le nommer ici. Permettez-moi de déplacer
ces nœuds vers le bas parce qu'ils se chevauchent
un peu. Vous pouvez également double-cliquer sur ce nom juste ici pour
le renommer et accéder
à votre commentaire. détails ici, je vais
appeler ce contrôle de flux. Vous lui donnez également une couleur
à la boîte ici. Quelque chose de vert. Peut-être. Vous pouvez également modifier
la taille de la police. C'est très pratique lorsque vous faites un zoom arrière comme ça. Vous voulez peut-être
quelque chose comme ça. Maintenant, une autre option vraiment
utile avec cette bulle de nœud de commentaire est que vous avez ce
mouvement en mode. Actuellement, si je devais
sélectionner ma zone de commentaires, je peux déplacer tous les nœuds car mon mode de mouvement est
défini sur Mouvement de groupe. Cependant, je peux également
changer
cela par la boîte de commentaires elle-même. Et je peux déplacer la boîte de
commentaires personnellement, j'aime le mouvement de groupe. Une autre façon de
créer une boîte de commentaires serait donc de mettre en surbrillance
certains nœuds comme ça. Et comme vous pouvez l'imaginer, le
menu contextuel vous
donnera également la possibilité de créer
une boîte commune. Je vais aller de l'avant et le
faire et j'appellerai ces nœuds de boucle. Cela montre également
que vous pouvez avoir une zone de commentaires à côté
d'une autre zone de commentaires. Je pourrais donc me déplacer autour de
ces nœuds comme ça, tout en déplaçant tous
ces nœuds. Permettez-moi de
revenir aux mouvements du GRU, y compris la
sélection des commentaires à l'intérieur. Enfin, aucune
vidéo d'organisation de nœuds ne peut être complète sans
parler de reroutage des nœuds et de leur importance
dans les Blueprints. Pour démontrer le nœud de reroutage, je suis dans mon
mur de Blueprint, Scott, que vous pouvez trouver à la date
d'aujourd'hui, dans le dossier
Blueprints du contenu de démarrage, encore une fois, vous pouvez le démontrer dans n'importe quel plan, mais à l'intérieur ici, vous le voyez souvent
dans des scripts où il a eu des fils
traversant d'autres fils, fils traversant des nœuds,
ce genre de choses. Est-il
possible de rediriger ce fil ? Oui, vous pouvez. Et c'est à travers
quelque chose qu'on appelle un nœud de
réacheminement. Qu'
est-ce que le nœud de réacheminement ? Il s'agit essentiellement
d'un point défini, d'une bande, si vous voulez, que vous créez dans un fil. Pour les mettre en place,
vous pouvez simplement double-cliquer sur
n'importe quel fil comme ça. Double-cliquez
ici sur un nœud de réacheminement. Il continue simplement
le flux de données. Dans ce cas, vous pouvez
également ajouter des nœuds de reroutage pour les
fils d'exécution, comme cela. C'est génial de faire ce
genre de choses là où on se penche en
quelque sorte pour qu'il soit plus clair où ça va plutôt que de
traverser les choses. Vous pouvez également introduire
un nœud de reroutage en le
faisant glisser hors de quelque chose et en saisissant des routages, vous pouvez ajouter un
nœud de reroutage comme celui-ci. Et vous pouvez voir que ce
point s'allume ici, ce composant, si vous voulez, est branché sur
plusieurs de ceux-ci. Tant qu'elle
se nourrit d'une note de reroute, je pourrais aussi faire quelque chose
comme ça. C'est une façon tout à fait
valable de le faire. Peu importe
dans ce cas si je fais glisser la lumière
ponctuelle à partir ici ou du point
où il est réacheminé. Ces deux méthodes sont
valables pour le faire. Donc le nœud de reroute super
pratique aimait tellement. Et le moyen le plus simple
de les obtenir est double-cliquer sur un fil. Les gars qui vont le faire pour cette vidéo sur l'organisation des nœuds, veuillez maîtriser ces
trucs et astuces. Vous vous remercierez plus tard.
18. Niveau BP - Références d'objets de temps de conception: Bienvenue à tout le monde. Au cours des
prochaines vidéos ici, nous allons
parler de l'un des concepts les plus clés et
les plus
essentiels tous
les scripts de Blueprint. C'est ainsi que vous pouvez créer
une référence d'objet. Maintenant, c'est un concept tellement
important et nous y
parviendrons avant même de parler d'événements, de
fonctions ou de variables. Parce que la plupart des
scripts de Blueprints sont centrés sur manipulation d'objets d'une
manière ou d'une autre. Par exemple, si vous deviez
marcher sur un nouveau pick-up d'arme , vous ne pouvez pas
collecter cette arme sans avoir une
référence à cet objet. Peut-être que vous tirez sur un char
avec un lance-roquettes. Eh bien, vous ne pouvez pas détruire
ce char sans faire référence à cet
objet à ce char. Ou peut-être voulez-vous ramasser
des objets à récolter pour fabriquer de l'
épée Maître, pour ainsi dire. Eh bien, vous ne pouvez pas
collecter cet objet sans avoir une
référence à cet objet. Nous allons maintenant
parler de la façon de créer ces références d'objets non
seulement dans les Blueprints de niveau, mais aussi dans les Blueprints de classe, et pas seulement pendant la conception, c'est-à-dire avant
que le
jeu ne s'exécute, également pendant l'exécution, c'est-à-dire le jeu est
en cours d'exécution. Très bien, donc créer des références à côté de notre plan de niveau. Tout d'abord, je tiens juste à
souligner que dans mon onglet
Niveaux ici, je travaille dans mon niveau
persistant. Et j'ai trois objets qui ont été ajoutés à
ce niveau persistant, un cube, mon pick-up BP et mon Blueprint Construction
Script. Et juste pour marteler
le point que ceux-ci ont été ajoutés à mon niveau persistant, mes tests de niveau sont cartographiés, si vous voulez. Je vais simplement cliquer
sur ce globe oculaire pour
activer et désactiver cela afin que vous
puissiez voir que oui, en effet, ils existent à l'intérieur de
cette carte de test de niveau, autrement connue
sous le nom de mon niveau persistant. Je vais revenir dans
mes contours ici et je
vais sélectionner
les trois objets. Maintenant, vous pouvez les sélectionner ici dans votre port
de
vue en la touche
Ctrl enfoncée
et en cliquant sur 123. Sinon, si je clique
dessus un instant, je
peux les sélectionner ici dans mon plan, 123. Et vous pouvez voir que ces
trois objets sont décrits ici
dans la fenêtre d'affichage. Très bien, passons maintenant à notre plan de niveau
en arrivant sous notre bouton
Blueprint ici. Nous allons ouvrir
notre plan directeur de niveau, même si je l'
ai déjà ouvert en haut. Et quelque chose que je tiens à noter ici qu'actuellement
mon Blueprint bas, j'ai deux graphiques d'événements. L'un d'entre eux s'appelait Event Graph, celui-ci était présent par défaut, et un autre
appelé types de nœuds. J'ai créé celui-ci lorsque je parlais des
différents types de nœuds. Maintenant, la raison pour laquelle je le
mentionne est que dans mon graphe
d'événements de type nœud, j'ai commencé à jouer cet événement. Vous ne pouvez
commencer à jouer qu'un seul événement par plan directeur de niveau. Donc, si je devais travailler dans cet onglet Graphique d'événements
et cliquer avec le bouton droit de la souris et faire une recherche pour Begin Play. Et cliquez dessus. Il va me sauter de cet onglet Event Graph
vers l'onglet de type de mes nœuds. C'est là. Maintenant, je dois aussi
fonctionner les nœuds ici. J'ai un nœud de retard
qui va retarder pendant trois secondes, puis
un nœud Destroy Actor. Donc, essentiellement, ce que
je
cherche à faire ici, c'
est qu'au début du jeu, on va retarder
trois secondes, puis on va détruire
un acteur cible. Quels acteurs
voulons-nous détruire ? Eh bien, j'ai
sélectionné ces trois points ici
dans mes ports de vue. Créons donc une référence à
cela à l'intérieur de notre plan directeur de
niveau. Maintenant, si je clique avec le bouton droit de la souris et
un espace vide ici, je ne semble pas
les voir du tout ici, cependant, il y a un
raccourci pour cela. Je peux maintenir la
touche R enfoncée ou, comme dans Robert, clic gauche et
boom,
ces trois références sont ajoutées
même si elles
se chevauchent. Vous pouvez donc les séparer. Comme ça. Maintenant, c'est ma façon préférée d' ajouter une référence à quelque chose qui existe
au sein de votre niveau, à l'intérieur du plan de niveau. Cependant, si je retourne ici
et que je ne sélectionne qu'un seul objet, je vais sélectionner
mon exemple de pick-up. Je vais revenir à
mon plan directeur de niveau. Je peux cliquer ici avec le bouton droit de la souris. Et lorsque vous
n'avez
sélectionné qu'un seul d'entre eux dans votre menu
contextuel, votre troisième option en bas, vous pouvez également créer une référence
à cela. une ou l'autre méthode
fera personnellement, j'ai aimé le raccourci
de maintenir la R,
R enfoncée comme dans la touche Robert
et cliquer avec le bouton gauche. Maintenant, j'ai deux références
à mon exemple BP. Est-il acceptable d'avoir plus d'une référence
au même acteur, au même objet ? Oui, c'est très bien. Il y a simplement des doublons à qui
vous parlez. Même chose. Je vais juste
supprimer l'un d'entre eux
ici pour le moment. Comme vous pouvez le constater, tous ces acteurs proviennent
du niveau persistant, ma carte de test LV. Et je peux brancher ces trois
éléments à mon Destroy Actor. Et vous pouvez voir que je peux
les câbler vers l'avant et vers l'arrière. Encore
une fois, il
est très important d'obtenir une référence d'objet parce qu' un script de Blueprint implique manipuler les acteurs d'une manière ou d'une autre. Dans ce cas, nous allons simplement la méthode
de la force brute qui consiste à détruire l'acteur. Donc, si je joue à mon jeu maintenant, permettez-moi d'abord de
compiler mon plan ici pour voir s'il y a des
erreurs dans mon script. Gardez ça tout de suite. Allez-y
et cliquez sur Jouer ici. Et vous pouvez voir au
bout de trois secondes que
ces trois
acteurs sont détruits. Désormais, la création de
références d'objet est cool, non seulement parce que vous pouvez
affecter l'objet lui-même, mais vous pouvez également affecter les choses cet objet à un niveau
plus granulaire. Laissez-moi vous montrer ce que je veux dire. Je vais me débarrasser
de cette fonction Destroy Actor ici. Et avec mon exemple de ramassage BP, si je retourne là où cela
se trouve dans mes dossiers ici, j'ai ici quelques
composants auxquels je peux parler directement. Ceux-ci existent à l'intérieur de
mon exemple BP pick-up. Et je veux affecter
cette collision de sphère. Il s'agit actuellement de
mon composant racine. Je vais donc modifier l'
échelle de ce composant racine. Tous ces autres composants
sont attachés à la racine. Donc, si je fais de l'échelle, ceux-ci vont également
être mis à l'échelle. Donc comme celui-ci audio, mais
celui-ci est actuellement vide et franchement je
n'en ai plus besoin. Alors, permettez-moi d'aller de l'avant et de
supprimer cela de là, compiler et de sauvegarder cela. Très bien, permettez-moi de revenir
à mon plan de niveau. Et je vais m'éloigner de
mon exemple ici. Et je vais chercher une collision
de sphère. Et je veux aller jusqu'
au fond. Souvent, lorsque vous
recherchez quelque chose qui existe dans
ce plan, c'est tout en bas. Et je veux avoir collision
sphérique parce que je
veux y faire quelque chose. Et puis, hors de ça, je vais traîner
d'ici et taper en 3D
à l'échelle mondiale. Donc, cette fonction fait ce
que vous pensez faire pour
augmenter ce composant de scène,
c'est la cible. Je vais définir l'échelle pour qu'elle soit trois fois plus grande dans les coordonnées x, y et z. Nous allons donc le faire au
bout de trois secondes. Et encore une fois, tous les autres
composants de la croix verte, si vous voulez, ce qui est attaché à ce composant de
collision racine de sphère. Ainsi, une fois cela mis à l'échelle, tout devrait être
trois fois plus grand, y compris cette croix verte. Permettez-moi donc de compiler ça pour m'
assurer que mon script est correct. Allons de l'avant et cliquez sur Jouer. Au bout de trois secondes, nous devrions voir ce changement. Oups, et j'ai accidentellement
cliqué sur la fenêtre. Laissez-moi essayer encore une fois. En se concentrant sur cette croix verte, boom, trois fois plus grand. Essayons autre chose ici. Encore une fois en utilisant notre
exemple de pickup bp, permettez-moi de supprimer certains de ces nœuds inutiles ici. Je vais supprimer ces gars. À l'intérieur de notre exemple de pick-up bp. Nous avons cette variable
sonore de pick-up, et actuellement elle est réglée sur
ce type de son d'interaction. Maintenant, je vais
changer ça par un son de type explosion. Et je peux le faire dans mon
Level Blueprint tant que j'
ai une référence à cet acteur
qui existe dans le niveau. Donc, une fois que j'aurai une
référence à cela, je vais faire glisser un
fil et
taper un son de pick-up. Je peux obtenir ce son ou
je peux régler ce son. Laissez-moi aller de l'avant et régler ça. Et maintenant, je peux changer le contenu de cette
variable par quelque chose d'autre. Allons de l'avant et changeons
cela en explosion. Et je vais faire en sorte que
l'événement commence à jouer. Je change simplement la
valeur de cette variable, cette variable de son pick-up, de ce son d'interaction
à un son d'explosion. Très bien, alors une fois que je jouerai, vous
entendrez une explosion. Maintenant, lorsque je recueille
ce ramassage de santé, quelques autres informations
intéressantes que je pensais mentionner pendant que
j' étais ici avec cet exemple référence de
ramassage dans
notre plan de niveau, Si je devais cliquer dessus avec le bouton droit de la souris, je peux trouver cet
acteur à un niveau. Donc, si jamais vous vous
demandez, Hé, où cette chose
existe dans mon niveau, vous pouvez aller de l'avant
et cliquer avec le bouton droit de la souris, cliquer dessus et
revenir à votre onglet de niveau, et cela vous sautera droit. chose d'autre à l'intérieur de votre plan de niveau que
vous pourriez faire est de me laisser un
peu expliquer
où se trouve cette référence. Dites que je pars dans le no man's land. Je peux passer sous Window. Je peux passer sous,
trouver des résultats dans, dans cette fenêtre de résultats, je peux simplement taper, saisissons simplement le ramassage. Et je peux trouver mon
exemple BP ici. Je ne savais pas que j'
allais aussi trouver mon son de pick-up, mais il y a en effet
le mot pickup dedans. Il suffit de double-cliquer dessus
pour me
rendre à l'endroit où se trouve cette
référence d'objet. Plutôt sucré. Très bien, il
y a donc comment ajouter des références d'objets à l'intérieur
de votre Blueprint de niveau, assurez-vous que les objets sélectionnés ici et votre niveau. Ensuite, vous
pouvez faire un clic droit et un espace vide et
créer une référence à celui-ci, ou maintenir la
touche Alt enfoncée et cliquer avec le bouton gauche, ce qui vous permettra également d'y accéder. Ça va tout faire pour
cette vidéo, les gars. On se voit dans le prochain.
19. Niveau BP - Références d'objet de temps d'exécution: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est d'
apprendre à créer des
références à des
objets à l'intérieur de votre Blueprint de
niveau lors de l'exécution. Cela diffère des références d'objets
temporelles de conception en ce qui va capturer et contenir des
références à divers objets pendant que
nous jouons au jeu. N'oubliez pas que le moment de la conception est
avant le début du jeu. L'exécution est pendant que le
jeu est en cours d'exécution. Maintenant, un cas
d'utilisation courant est celui des objets ou des ennemis qui apparaissent dans
le jeu pendant que nous jouons. Peut-être qu'une fois qu'un objet ou
des ennemis apparaissent dans votre niveau, vous voudrez l'affecter d'une
manière ou d'une autre. Pour ce faire, vous devez créer une
référence pour cet objet. Vous devez contenir cette référence
à l'intérieur d'une variable. Très bien, nous allons
commencer ici à l'intérieur de notre carte de test de niveau. Et juste pour rendre
les choses super claires, dans l'onglet Mes niveaux ouverts, j'ai mon
niveau persistant comme niveau bleu, le niveau actuellement actif. Je vais ajouter
des objets à partir de maintenant
à mon niveau persistant, ne vais plus travailler à l'intérieur de mon sous-niveau. Je voulais juste que
cela soit clair. Si vous souhaitez que
ce niveau soit actif, vous pouvez double-cliquer dessus ou
cliquer dessus avec le
bouton droit de la souris et mettre à jour que la police bleue indique que c'est
votre niveau actuel. Nous allons ajouter
un acteur à ce niveau. Et pour ce faire, je vais rapidement ajouter au bouton Projet dans
le menu
déroulant toutes les classes. Et je suis à la
recherche d'un acteur de notes. Je vais donc cliquer avec le bouton gauche
et le faire glisser dans mon niveau et le
placer juste ici. Maintenant, dans un acteur connu, si
vous jouez au jeu, vous ne voyez pas
cette icône ici. J'utilise simplement cet
acteur comme moyen de définir un point dans l'espace où je
veux créer quelque chose. Maintenant, notez que j'ai actuellement sélectionné
mon acteur de note, et je peux voir que je l'ai sélectionné ici dans mon plan. Assurez-vous que cette option est sélectionnée car nous
allons créer une référence d'objet de conception temporelle pour cela dans une seconde seulement. Alors, en arrivant sous mon bouton
Blueprints ici, je vais passer
au plan de niveau, même si je l'ai ouvert ici,
c' est comme ça
que vous pouvez revenir
dans votre plan de niveau. Et ce que je vais faire, c'est
que je vais passer à l' onglet Graphe E Event
juste ici. Dans un espace vide, je vais créer une référence temporelle de conception
à cet acteur de note. Je vais maintenir
la touche R enfoncée et cliquer avec le bouton gauche. Vous m'avez donc vu faire ça
dans la dernière vidéo. Il s'agit d'une référence temporelle de conception. Je vais y
revenir dans un instant, mais j'ai besoin d'une clé de l'événement. Je vais cliquer avec le bouton droit de la souris et un
peu d'espace vide et taper le seul bouton. Je vais ajouter un événement
clavier lorsque j' appuie
sur la touche unique de mon clavier. Et souvent cela, une fois que
j'ai appuyé sur ce bouton, je vais traîner
de cela et taper acteur de
frai de la classe. C'est une fonction super
pratique, non, qui va
apparaître dans quelque chose que nous lui disons depuis
ce menu déroulant. Que voulons-nous
faire apparaître ici ? Je vais apparaître dans
quelque chose de visuel. Faisons apparaître dans ce feu
d'effet Blueprint. Cela provient du
Starter Content Pack. Encore une fois, si vous n'
avez pas ce pack constant lorsque vous organisez
ce cours, n' importe quoi fera
quelque chose de visuel. Donc, peu
importe ce que vous y mettez. Mais je vais choisir
le feu. Cependant, je dois dire
à cela où je veux que cela apparaisse
et c'est là que cette transformation de frai entre en jeu. Et je dois brancher
quelque chose dans cette entrée de transformation pour qu'elle sache quoi créer
et ensuite où. C'est donc pour cela que ces acteurs
de notes vont être utilisés. Je vais m'en
sortir et taper la transformation
de l'acteur. La transformation correspond à l'emplacement, la rotation et en fait
aux informations d'échelle de
cet acteur noeud. Mais nous ne nous préoccupons vraiment que
des informations de localisation. C'est donc très bien que nous utilisions toute
la transformation ici. Branchez ça dans ma transformation de
frai. Et c'est ici
que nous allons
créer une référence d'
objet d'exécution. Nous allons stocker
quelque chose à l'intérieur d'une variable pendant que le
jeu est en cours d'exécution. Donc, en dehors de cette valeur de
retour ici, lorsque je survole l'épingle, il indique qu'il retournera une instance de ce
Blueprint, l'objet feu. Maintenant, je veux stocker cela dans une variable afin que je puisse l'affecter manière ou d'une autre pendant que
le jeu est en cours de jeu. Je vais donc
cliquer avec le bouton droit sur cette épingle et taper Promote to variable. Ce faisant,
dans ma section variable, j'ai créé un nouveau feu d'effet de
Blueprint. Mais je dois donner un nom à ça. Je vais appeler ça le feu
promu. C'est un très bon nom. Donc, même s'il s'
agit d'une variable, je peux aussi la compiler. Actuellement, lorsque je compile cela, je regarde la
valeur par défaut dans et je me dis, OK, ce site de Blueprint sera l' effet de
feu Blueprint, type feu. Mais pour l'instant, nous
n'avons rien à l'intérieur d'ici. Cependant, une fois que j'ai
appuyé sur une touche, cet acteur apparaîtra à cet endroit, puis le placera à
l'intérieur de cette variable. Il sera essentiellement
contenu à l'intérieur de ce conteneur pendant que
nous jouons au jeu. Maintenant, nous
allons simplement le faire au moment de l' exécution afin que nous
puissions le détruire. Donc, en bas,
je vais cliquer avec le bouton droit de
la souris sur les deux touches, deux entrées. Ils vont descendre jusqu'à
l'événement clavier à touche. Et en dehors de ça, je vais faire entrer le
type, Destroy Actor. C'est une fonction très visuelle. C'est pourquoi je l'aime
tellement quand je prépare ces
cours. Et ensuite, il va dire, quel objet aimeriez-vous
détruire quel acteur ? Eh bien, je peux simplement faire glisser
et déposer ça directement sur la cible pour lui demander
de le détruire. Notez maintenant que si je jouer et
appuyer sur les deux touches, je le ferai maintenant pour
démontrer quelque chose. Je joue le jeu. Laissez-moi voir si je peux mettre ça dans une fenêtre
latérale ici. Vous pouvez voir mes scénarios. Je vais
juste appuyer sur les deux touches pour, pour, pour, pour, pour, pour, ouops, je dois sélectionner
une option de débogage ici. allons choisir mes cartes de
test afin que nous puissions voir le flux d'exécution ici. J'appuie donc sur ces
deux touches et vous pouvez voir cette impulsion vers la gauche
lorsque j'appuie sur les deux touches. Mais regardez ça. Quand je
frapperai Escape, j'
aurai quelques erreurs. Et la raison pour laquelle je reçois une erreur, c'est parce qu'elle dit : «
Hé, on ne trouve rien
à l'intérieur de cette variable. Nous essayons de
détruire cette chose, mais il n'y a
rien là-dedans. La raison en est
donc que rien n'est
actuellement stocké ici. Cependant, lorsque nous
appuyons sur le banquet, nous allons créer un acteur qui aura un effet de feu de
plan, puis nous le stockerons
à l'intérieur de cette variable. Nous avons créé une référence d'
objet stockée à l'intérieur de cette variable. Essayons donc encore une fois. Cliquez sur Lecture. Mon acteur de note était donc un tour au-dessus de l'endroit où se trouve la tête de mon
personnage ici. Je vais donc appuyer sur une touche. Il y a cet effet de feu
qui vient d'apparaître. Et je vais appuyer sur
les deux touches disparues. Et je peux encore appuyer
sur une touche. Une autre instance
de ce pare-feu, renseignez cette variable,
appuyez sur la touche F2, disparue. Maintenant, quelque chose qui
vaut la peine d'être noté ici, je vais revenir
à ma carte de test de niveau. Et je vais changer
mon option de jeu ici, en cliquant sur ces trois points. Il se transforme pour être lu
non pas dans une nouvelle fenêtre d'éditeur, mais dans cette fenêtre d'affichage sélectionnée. Je le fais parce que si vous
regardez dans le contour, sur le côté droit, lorsque j'appuie sur une touche, vous
verrez que cet acteur
est apparu dans ma liste d'
objets dans le contour. Alors, jetez un coup d'œil. Vous pouvez opprimer la seule touche. Vous voyez que le feu de l'
effet Blueprint apparaît juste au-dessus de
mon exemple BP. ramassage deux va le
détruire un à un. Et juste pour
le signaler, c' est dans le Outliner juste là. Essayons un deuxième exemple ici. Ici, je vais placer sous
les volumes, volume de
déclenchement, un volume de
déclenchement juste en face de l'endroit où mon personnage
va apparaître. Et je vais juste le
dimensionner un peu pour assurer que mon personnage a facilement le
chevauchement. Je vais le
ramasser légèrement par terre. Ensuite, avec cette option sélectionnée, je vais sauter dans
mon Blueprint de niveau ici, et je vais cliquer avec le bouton droit de la souris sur
ajouter un événement lorsque nous chevauchons ce
début, le chevauchant. Et encore une fois, il déclenche un événement de
volume comme ceci est sur le chevauchement de l'acteur
peut nous
dire qui est l'autre acteur qui se chevauche fait ce que je vais ceux que je vais
faire, je vais
cliquer avec le bouton droit sur cette épingle et je vais faire passer
cela à une variable. Et ce faisant, vous
pouvez nous donner un nom. C'est par défaut le nom
ici pour moi à un autre acteur. Parce qu'avant l'enregistrement de cette
vidéo, je l'avais entré en tant que nom. Vous pouvez cependant appuyer sur F2
là-dessus pour le renommer. Ainsi, une fois que nous le chevauchons, il peut stocker une référence à
cet acteur qui l'a chevauché pendant l'exécution pour
savoir qui était l'autre acteur. Juste pour nous assurer que nous savons qu'en fait, il y a des
chevauchements. Je vais juste jouer un son, entendre n'importe quel son. Je vais également élever
le son ici. Nous jouerons sûrement. Un obturateur de caméra,
ce n'est que deux. Prévenez-nous, c'est
en fait quelque chose qui s'est passé. C'est donc génial. Mais supposons que lorsque notre personnage se chevauche
ce volume de déclenchement,
c' est, oh, c'est
négatif d'une manière ou d'une autre. C'est peut-être
une sorte de nuage de gaz toxique
qui va nous rétrécir. Donc, une fois que nous avons une
référence à notre acteur ici, nous pouvons les affecter d'une manière ou d'une autre. Je vais donc m'éloigner
d'ici et faire référence
à mon autre acteur. Et de là, je vais
taper l'échelle de mots. Nous allons définir l'échelle de l'acteur en 3D. Et j'appuierai sur
les valeurs 0.5.5.5 dans chacune de ces valeurs. Allons donc, en jeu ici. Une fois que j'ai compilé, compilé , je
vais vérifier que
mon script est bon. Allons jouer. J'ai défini
ma carte de test comme objet par défaut que
je débogue ici. Nous pouvons donc voir ces
scripts se déclencher. Voici la fenêtre de mon lecteur. Alors juste en face de moi, ce volume de déclenchement invisible. Vous m'avez entendu chevaucher ça. En ce moment. L'autre acteur a été
peuplé pendant l'exécution ici. Dès que j'appuie sur la
touche, l'autre acteur, alias moi à ce point, ils agissent ou seront
mis à l'échelle à moitié. On y va. J'appuie sur la touche
unique en ce moment. Boom, en bas. J'y vais. Un autre exemple ici. Avant de boucler ce
problème, nous allons
montrer comment créer plusieurs références aux
acteurs pendant l'exécution. J'ai actuellement dupliqué
mon exemple de ramassage ici. Vous pouvez le faire simplement
en faisant glisser et en déposant instances
individuelles ou par alt, en cliquant avec le bouton
gauche et en
faisant glisser l'une d'entre elles pour créer une autre instance. Donc, dans mon plan de niveau
de mon événement de 16 km, ce que je vais faire, c'est que
je vais traîner sur un fil et taper, obtenir tous les acteurs de la classe. Et dans la classe d'acteur, je peux insérer dans mon pick-up
mon exemple BP. Et cela peut générer toutes les
instances de cet acteur. Je vais donc cliquer avec le bouton droit de la souris
sur cette épingle des acteurs. Je vais promouvoir cela à
une variable et appeler cela mes acteurs de
pick-up. C'est un tableau. Encore une fois, je sais que nous n'avons pas
parlé de types de tableaux, mais un tableau est essentiellement une
liste d'un type de variable, dans ce cas, sont
BP exemple pickup. Il va stocker tous ceux qui sont à l'intérieur d'ici afin que nous
puissions les affecter d'une manière ou d'une autre. Et ce que nous allons leur
faire, c'est glisser hors de cette épingle et taper
pour chaque boucle. Et encore une fois, j'ai une vidéo dédiée à la boucle
for-each à venir. Donc, si vous ne savez pas
ce que c'est en ce
moment , ce n'est pas grave. Donc, pour chaque article de cette
liste que nous stockons ici, nous allons y faire
quelque chose. Et ce que nous voulons faire, c'est pour
chaque élément de cette liste, l'élément tableau, nous allons
obtenir le nom complet. Et ensuite, nous allons imprimer
ceci à la fenêtre de notre lecteur, en
accrochant ça comme ça.
Cliquez sur cette liste déroulante. Je vais changer cela par un texte
de couleur rose parce qu'il se
distingue un peu plus. Donc, ce
qui se passe ici c'est que dès que j'
appuie sur la touche unique, nous allons
chercher tous les acteurs d' une classe donnée qui
existe à mon niveau. Et nous allons
les stocker pendant que nous
jouons
au jeu à Runtime à l'intérieur de
cette variable de tableau, ils seront tous
de ce type de variable, mon exemple BP. Ensuite, pour chaque
élément de cette liste, nous allons imprimer leur nom complet
à l'écran. Allons de l'avant et
donnez-nous une pièce de théâtre. Et encore une fois, j'ai la carte de mes tests de
niveau répertoriée ici. Il y a des acres, il incrémente ce nombre chaque fois que
je joue au jeu. C'est donc ce qu'est ce chiffre. Vous n'avez pas à vous soucier de la signification de
ce numéro. Ici, on y va. Cliquez et jouez. Notez maintenant en haut à gauche ici, lorsque j'appuie sur une touche, vous allez voir ce flux d' exécution passer par ici. Et il répertorie les cinq
instances de mon exemple de ramassage. Je peux le faire encore
et encore. Je suis juste en train de
spammer pour le moment. Maintenant, si vous le savez ici
dans mon Level Blueprint, si je clique sur ma liste d'
acteurs de pick-up ici dans l'éditeur. Eh bien, il
n'y a rien à l'intérieur ici. Une fois de plus, nous remplissons le contenu de cette
variable pendant l'exécution, nous le capturons
à l'intérieur de cette variable. Nous allons donc faire quelque chose à partir
des deux événements ici. Définissons la durée
de vie du centre commercial Shelley. Une fois que nous aurons une référence
à cette liste d'acteurs, je peux alors saisir cette liste d'
acteurs, la faire glisser et la déposer. Enlevons-le de ça. Je vais taper
pour chaque boucle, nous allons faire quelque chose
pour chaque élément de cette liste. Et ce que nous allons faire, c'est hors
des éléments du tableau. C'est donc pour chaque
élément de cette liste, je vais définir leur durée de vie. Une fois encore. Chacun d'entre eux a une
propriété de
durée de vie que je pourrais affecter. Je vais changer cette
durée de vie en deux secondes. Très bien, et laissez-moi juste
réduire ça un peu. J'ai défini mes cartes de test comme option de débogage. Je
vais cliquer sur Play. Permettez-moi de déplacer cette
fenêtre de lecture et d'
ici un peu, en appuyant sur une touche pour remplir
cette liste de variables. Il est maintenant peuplé. Donc, quand j'appuie sur les
deux touches, une pour disparaître. Donc, vous l'avez tous. Voici quelques-unes des nombreuses façons de créer références
d'objets d'exécution
à l'intérieur de votre Blueprint de niveau. Nous avons parlé de la façon
de faire cela à partir d' un acteur d'apparition à partir d'un nœud de fonction de
classe. En outre, lorsque vous superposez
un volume de déclenchement, nous pourrions également frapper un autre objet
qui le ferait. Aussi, nous avons parlé de la
façon de faire cela d'une fonction de tous les acteurs de la
classe. C'est ainsi que vous pouvez
obtenir plusieurs acteurs. Il y a d'autres façons d'être sûr, mais j'espère que cela vous
donnera une grille, désolé, les gars, qui fera
tout pour cette vidéo. On se voit dans le prochain.
20. Cours BP - Références d'objets de temps de conception: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est apprendre
à
créer des références à des objets de niveau
à l'intérieur
d'un Blueprint de classe. Ce faisant, nous allons
pouvoir écrire un script à l'intérieur d'un Blueprint de classe qui
peut affecter les objets de niveau, les choses situées ici dans notre niveau. C'est un truc très pratique
à connaître et irréel pour créer un système de réglage simple par
niveau. Nous allons donc le
faire, même si juste un peu d'
avertissement ici, ce sera un système de réglage super
simplifié et j'utilise des guillemets aériens ici. Très bien, nous allons
commencer dans notre dossier de
présentation des scripts de contenu. Et dans un espace vide, je vais cliquer avec le bouton droit de la souris
et je vais
créer une nouvelle classe de Blueprint. Cela va être basé sur un cours d'acteur parce que
nous allons
placer cela à l'intérieur
de notre niveau. Je vais donc nommer
ce trait de soulignement BP L V, qui va signifier les paramètres de soulignement de
niveau. Ensuite, je vais double-cliquer
dessus pour l'ouvrir. Et je vais ajouter
un composant ici, et je vais ajouter un
panneau publicitaire. Dans ce panneau d'affichage,
par défaut, les composants nous donnent cette icône Sprite de
type tête de dragon. C'est celui avec lequel je
vais me lancer. Vous pourriez changer cela
pour être autre chose, mais cela va désigner
dans mon niveau que
c' est votre acteur de
paramètres de niveau BP. Je vais également en
faire la racine parce que je veux me
débarrasser
de cette icône de racine de
scène par défaut. Laissez-moi simplement glisser et déposer
ça juste en haut de là. Cela va en
faire la racine et donc le seul IC d'icône. Maintenant, si je place
ça dans mon niveau, je peux voir cette petite icône de tête de
dragon. Oui, les
têtes de dragon vont représenter mes paramètres de niveau
dans le panneau Détails. Si vous effectuez une recherche de
panneau d'affichage et encore une fois, vous devez sélectionner
ces
Blueprints de paramètres de niveau . Vous pouvez le réduire à l'échelle du panneau d'affichage de l'
éditeur. Je vais changer cela
pour être dix fois la taille habituelle. Juste pour que cela se démarque
vraiment. Cet acteur ne sera pas vu
lorsque vous jouez au jeu, mais pour quelque chose comme
un acteur de réglages de niveau, j'aime rendre cela
très proéminent, très facile à voir. Et encore une fois, on ne
voit pas ça dans le jeu, donc pas de soucis là-bas. Très bien, la prochaine
chose que nous allons
faire est de créer une variable à l'intérieur de notre Blueprint de
paramètres de niveau ici. Par conséquent,
dans la section variables du panneau Mon
Blueprint, les variables. De plus, nous allons ajouter
une variable appelée Musique. Et nous allons changer
le type de variable ici d' une valeur booléenne à une ambiance. Son, son ambiant
dans la référence de l'objet. Maintenant, dans le
panneau Détails, il est écrit « hey », compilez ceci pour définir
une valeur par défaut. Je vais donc le faire. Cependant, je vais
laisser ce champ vide. Nous allons définir cela
dans notre éditeur de niveaux afin de pouvoir définir
cette variable particulière à partir de l'éditeur de niveaux, je dois soit cliquer sur cette petite icône de globe oculaire proche soit cocher cette boîte où il est
indiqué que l'instance est modifiable. Vous voyez maintenant si
je devais retourner à mon éditeur de niveau avec
cet acteur sélectionné, permettez-moi de sortir. Je ne vois pas cette variable musicale, expose à l'intérieur de mon éditeur. Cependant, si je
clique sur cette icône de globe oculaire, qui fait la même chose que de cocher cette case modifiable d'
instance. Et je l'ai compilé
et je l'ai sauvegardé. Maintenant, dans mon
éditeur de niveaux qui a été exposé ici dans le
panneau Détails de mon éditeur de niveaux. Ce que cela
me permet de faire, c'est de définir la valeur de cette variable ici dans l'éditeur
sur un acteur. Dans l'éditeur, je pouvais
cliquer sur cette liste déroulante. Et je vois cependant qu'il n'y a
rien ici. Mais il y a cet acteur de pipette de scène
qui
me permettrait de choisir un fichier sonore
qui existe dans mon niveau. Allons donc
chercher un son à jouer. Je vais sélectionner mon dossier de
contenu ici. Et je vais utiliser
l'option Filtres. Et je vais
chercher sous le son. Et nous ferons une recherche fichiers d'ondes
sonores
qui rechercheront n'importe quel fichier d'onde sonore
n'importe où dans mon dossier de contenu ou
n'importe quel de ses sous-dossiers. Je veux trouver cette musique de
départ. Je vais donc simplement
faire glisser ça dans mon niveau, comme ça. Maintenant, si je devais
jouer à notre jeu, entendez leur
musique s'échapper. Et la raison en est
que notre musique de départ, laissez-moi simplement, avec cette option sélectionnée, activer ma fenêtre d'affichage ici et appuyer sur
la touche F pour me concentrer dessus. Ma musique vedette dans
le panneau Détails a une propriété d'
activation automatique cochée. Je vais vérifier
ça pour le moment. Et maintenant, si je joue, je n'
entends pas jouer cette musique de niveau, en appuyant encore une fois sur Escape. Ce que je veux faire maintenant, c'est dans le côté de mes paramètres de
niveau BP ici, je veux définir la valeur de ma variable musicale sur
ce morceau de musique. Nous y voilà. Je vais choisir un
acteur dans la scène. Je vais sélectionner cet acteur sonore
ambiant. Et maintenant, il va
insérer cette musique vedette dans mon réglage de niveau BP. Donc, tout va bien et bien. Cependant, à l'intérieur de
mon paramètre de niveau BP, je n'ai aucune écriture pour dire cela pour la jouer. Je peux changer cela
en allant dans le graphique des événements et en faisant
quelque chose hors de l'événement. Commencez à jouer ici. Permettez-moi de supprimer
ces deux autres acteurs. Maintenant, je peux faire glisser
une référence à ma variable musicale ici,
cliquer avec le bouton gauche, faire glisser. Nous allons l'obtenir. Et si je sors d'ici
et que je tape le jeu de mots, je peux lire les composants audio. longue histoire, courte, si vous faites glisser hors de la musique, cette variable, la variable
sonore ambiante juste là, cela apportera automatiquement ce
composant audio. Nous pouvons fixer un délai. Je vais cliquer avec le bouton droit de la souris
et un peu d'
espace vide et taper un délai. Donc, nous ne l'entendons
pas tout de suite si nous le faisons passer par ici aussi. Disons donc qu'au bout de deux secondes, nous commencerons
au tout début de
cette piste musicale. Compilons et sauvegardons pour nous
assurer que notre
script est bon. Et si je joue au bout de deux
secondes, tu ne joues pas ça. Essayons un autre
exemple ici rapidement. Ici, dans notre section
variables, je vais cliquer sur
ce bouton Plus. Et je vais taper la lumière
directionnelle comme nom. Il va me donner
le son
ambiant comme type variable parce que c'est la dernière
chose que j'ai créée. Je veux changer cela. Et je vais changer cela
par une lumière directionnelle, une objet lumineux
directionnel, et
non la référence de l'objet
lumineux directionnel du composant. Maintenant encore une fois, si
je compile ici, s'agit d'une variable vide. n'y a rien à l'intérieur d'ici. Mais aussi une fois de plus, si je
coche cette case modifiable d'instance, cela rendra vie à cette
icône du globe oculaire, celles-ci font la même chose. Et je compile ça et je
retourne à mon éditeur de niveau. J'ai maintenant exposé cette variable à l'éditeur de niveaux une fois
mes paramètres de niveau BP sélectionnés
ici. Maintenant, la raison pour laquelle j'ai défini cela pour être exposé est que lorsque nous avons
créé notre niveau de carte de test, je sais que par défaut, il y avait déjà
un acteur de lumière directionnelle dans ce niveau. C'est-à-dire, ce type ici, ce genre d'icône de lumière du soleil avec cette flèche blanche
suspendue à ce type. Ce que je peux faire, c'est avec mes
Blueprints de paramètres de niveau sélectionnés. Je peux régler ma
lumière directionnelle à l'intérieur de mes paramètres de niveau BP pour
parler à cet acteur
en particulier. Alors, laissez-moi cliquer sur la pipette
ici et regarder. Il sait que ces
objets ne sont pas valides. Toutefois, c'est valable. Aucun de ces autres n'est non, mais c'est un acteur de lumière
directionnelle. Nous pouvons donc définir celui-là. Boom, il est maintenant prêt. Revenons à
nos paramètres de niveau BP. Et si je glisse et que je dépose
ça
dans nos graphlets d'événements , je vais le faire glisser
et taper des sets. L'intensité réglera ici l'intensité de notre composant lumineux, car la lumière directionnelle
est constituée d'un élément de jambe. Et nous allons définir notre
intensité ici à, essayons une valeur de 500 par exemple. Je continue le flux
d'exécution juste après notre début de jeu
, puis le retard
de deux secondes. Au bout de deux secondes, nous allons entendre
notre musique se lancer. Il y a une pression sur la touche Q là
où cela s'avère utile. Ensuite, nous allons également
définir l'intensité de notre acteur de lumière directionnelle ou scénario
compilé est beau. Allons-y et jouons. Vous pouvez voir que nous n'entendons pas
seulement la musique. Ce sont donc des exemples assez
extrêmes ici, mais nous avons créé un acteur
de niveau très basique. Et remarquez le pouvoir ici. Je pouvais
aussi faire glisser et déposer cet acteur de
réglage de niveau dans d'autres niveaux et mettre un morceau de
musique
unique et des lumières
directionnelles uniques. Tant que je pointe
vers une lumière directionnelle pour cette variable et un
son ambiant pour cette variable musicale. Vous devez donc
les avoir dans vos niveaux. Eh bien, hups, acteur
principal directionnel dans l'acteur de musique. Mais c'est ainsi que nous définissons des objets de
niveau acteurs de niveau
dans nos paramètres de niveau BP. A Class Blueprint, gars qui vont tout
faire pour cette vidéo, nous vous verrons dans la prochaine.
21. Cours BP - Références d'objets de temps de course: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est d'
apprendre à créer des
références à des objets de
niveau à l'intérieur d'un Blueprint de
classe lors de l'exécution, c'
est-à-dire pendant que nous
jouons au jeu. Maintenant, c'est vraiment utile lorsque, par
exemple, vous voulez que votre personnage interagisse
avec quelque chose dans votre monde. Et puis il a
voulu faire quelque chose à cette chose avec laquelle vous avez
interagi. Très bien, pour montrer cet exemple que j'ai
pour vous aujourd'hui, je vais mettre
quelques trucs à l'intérieur de notre plan
ThirdPersonnage, cela fonctionnera à l'intérieur d' une première personne
personnage aussi. Mais encore une fois, c'
est le personnage que
nous utilisons pour ce projet. Allez-y et double-cliquez
dessus pour l'ouvrir. Passons à l'onglet
Viewport car nous allons voir un composant
ici dans un petit peu. Nous allons ajouter un tout nouveau composant à
notre liste de composants. Nous allons ajouter des composants
de flèche. Allez-y et cliquez dessus. Et je vais appeler ça
mon point de fin de trace de ligne. Et avec ces
composants sélectionnés, l'emplacement x pour cela, je vais être 300. Les unités irréelles touchent Entrée. Et si je balaie un peu, en
maintenant le bouton droit de la souris enfoncé, ma fenêtre d'affichage, j'ai configuré mon
composant de flèche pour qu'il soit en
avance sur mon personnage
ici de 300 unités irréelles. Maintenant, ce que nous voulons faire ici c'est que nous allons envoyer une ligne invisible dans l'
espace en utilisant ce composant
pour nous aider ici, nous allons vérifier si cette ligne invisible
entre en collision avec n'importe quoi. Et si c'est le cas, nous allons
déterminer quelle est
cette chose qui nous a frappé afin que nous puissions l'affecter d'une
manière ou d'une autre. Ce faisant, nous pouvons créer une référence d'objet lors de l'exécution
pendant que le jeu est en cours d'exécution. Passons donc
à notre graphique d'événements. Je vais entrer
dans un espace vide. Par défaut, les Blueprints de classe de
caractères
reconnaissent les événements d'entrée. Je vais donc maintenir enfoncée, ou plutôt cliquer avec le bouton droit de la souris
et taper la touche 0. En passant, tous les Blueprints de
classe ne reconnaissent pas les
événements d'entrée par défaut, mais la classe de caractères le fait. Désactivé d'appuyer sur la touche 0. Nous allons introduire
un nœud de fonction appelé trace de
ligne par canal. Il existe de nombreux nœuds de fonction de
suivi différents. Celui que nous recherchons
est la trace de lignes par canal. Bien plus tard, nous parlerons
de certaines de ces traces. Et cela va être
beaucoup plus avancé que là où vous en êtes si vous
commencez par les plans. Mais la nature circulaire de l'
apprentissage des plans d'Unreal
Engine est que pour le savoir, il
faut le savoir. Et pour le savoir, vous devez savoir à ce sujet. Donc, si vous ne comprenez pas cette partie ici,
c'est tout à fait très bien. Nous allons aborder
certains de ces concepts. Il suffit de supporter avec moi. Il s'agit simplement de
montrer une technique
permettant d'obtenir une référence d'
objet d'exécution. Très bien, donc ce nœud
va envoyer une trace de ligne invisible
dans notre monde ici. Par où voulons-nous
commencer cette trace ? Eh bien, que diriez-vous d'
avoir commencé chez nos acteurs ? Donc je vais faire un
clic droit et un espace vide Typing obtenir l'emplacement de l'acteur. Et cela
renverra l'emplacement de nous-mêmes ou
de nos plans de personnage tiers. C'est là que nous
allons commencer ça. Où allons-nous mettre fin à cela ? C'est pourquoi j'ai inclus ce composant de
point de terminaison de trace de ligne. Je vais faire glisser et déposer une référence à cela
dans notre graphique. Et puis je vais m'en
sortir et je veux obtenir l'emplacement mondial
de ces composants. Donc, je
vais commencer cette trace de ligne invisible dans notre monde à l'emplacement de
notre personnage à la troisième personne. Et il va s'
étendre jusqu'à
notre ligne aux points de terminaison de traçage. Donc d'ici à ici, bien, en allant ici, ce que nous allons
faire, c'est cette tenue. Essentiellement, cela va nous
donner beaucoup de résultats
différents sur
ce que cela a touché. Et je peux faire apparaître les résultats du
succès ici en
tapant un résultat d'évasion. Cliquez ici sur cette flèche vers le bas. Donc cette trace invisible, cette ligne invisible
qui est criée au monde peut nous donner toutes sortes
d'informations, y compris ce qui a été
l'acteur qui a frappé. Il peut générer toutes
ces informations. Celui que nous cherchons à obtenir
est l'acteur à succès. Maintenant, ce que nous pouvons faire,
c'est un clic droit là-dessus. Nous pouvons promouvoir cela
à une variable. Faisons ça. Et gardons le nom
Hit Actor ici. Et vous pouvez voir que
le type de variable n'
est qu'un acteur générique. Maintenant, là-haut, je vais sortir un fil
de là et taper une branche. Et je vais brancher notre valeur de retour ici
dans la condition. Ce que nous allons
dire ici, c'est
que nous voulons seulement continuer
au-delà de cette branche. S'il était vrai
que nous avons touché quelque chose, nous n'allons exécuter que ce qui est au-delà de cette branche ici. S'il est vrai que
notre trace de ligne a touché quelque chose,
c'est notre état. Nous allons donc faire glisser un fil de
ce type dans le son de lecture vers D. Ayons un
petit retour sonore pour si nous avons
effectivement frappé quelque chose. Réglons notre son
ici pour qu'il s'agisse de n'importe quoi, mais je vais le régler
pour qu'il soit cliqué sur un bouton. Bien sûr. Nous allons y aller.
Ça a l'air bien. là, je vais
brancher ce flux d' exécution pour mettre
notre acteur à succès. Donc, en fait, si nous l'avons
fait quelque chose, si et seulement si nous avons
frappé quelque chose, allons-nous définir le contenu de cette
variable si je compile, remarquez ici que
la valeur par défaut est pas seulement si notre
trace de ligne touche quelque chose. Eh bien, nous définissons le contenu de cette variable et
nous allons le
faire en jouant au jeu. là,
étendons un fil
et saisissons une impression, une chaîne. Et de notre Hit Actor. Sortons d'ici
et saisissons le nom d'affichage. Nous allons donc imprimer le nom
de la chose que nous avons cachée. Laissez-moi dessiner
ce script ici. Donc, si vous voulez mettre en
pause la vidéo ici et jeter un
coup d'œil là-dessus, vous pouvez voir ce que nous avons construit. Je ne peux pas garder, pas tout à fait obtenir
le bon niveau de zoom ici. On y va. Un autre paramètre qui
serait utile ici pour définir notre type de débogage Draw
pour qu'il soit de durée. Ce faisant, lorsque
nous appuyons sur la touche 0, nous verrons un
peu de ligne là-bas,
une ligne de débogage, si vous voulez, être filmée dans le monde. Nous pouvons donc voir que
ce canal de traçage laisse la visibilité. Pour l'instant, il s'agit de notre canal de suivi
par défaut. Il s'agit essentiellement d'une
chaîne de noms que
nous allons filmer cette
ligne d'au-delà. Très bien, et avec cela, nous pouvons réellement
compiler cela, l'enregistrer. Allons jouer pour voir si on peut voir une
ligne fermée. Encore une fois, nous appuyons sur une touche 0. Là, vous voyez cette
ligne rouge être abattue. Cette ligne rouge est en train d'être abattue. Maintenant, la raison pour laquelle vous
voyez la ligne rouge être filmée dans le monde, mais vous ne
voyez pas ce flux d' exécution dans mon script en haut est une fois de plus, parce que je n'ai pas défini
mon option de débogage. Je dois donc jouer en premier. Et une fois que je joue, ça va faire entrer mon
personnage dans le monde, alors je peux définir mon personnage BP
ThirdPersonnage. Permettez-moi d'apporter cette fenêtre de
jeu une fois de plus. Donc, lorsque j'appuie sur la touche 0, je peux voir ce flux d'
exécution en cours. Je ne frappe rien. Vous voyez donc que le flux d' exécution s'arrête
au niveau de la branche. Cependant, si je vais sur
une chaise objet, vous avez entendu le son en
haut à gauche et ma fenêtre de jeu, il imprime le nom de chaise
S M, cube, exemple pick-up. Et ça ne va pas traverser ça. C'est ça qui frappe
ce banc du tout. Et la raison pour laquelle il ne
frappe pas ce banc, c'est parce que ce banc Static Mesh n'a
pas de collision dessus. C'est pourquoi il
saute ça. y a donc quelque chose à
garder à l'esprit. Mon mur Construction
Script aussi. Ok, donc
tout va bien et bien. Nous définissons cette
référence d'objet au moment de l'exécution, mais affectons cette référence d'
objet d'une
autre manière une fois que nous en avons
capturé une référence. Nous allons donc simplement mettre un peu de script supplémentaire
en bas ici. Je vais cliquer avec le bouton droit de la souris
et un peu d'espace vide. Apportons le bouton
neuf de saisie. On y va. Et de là, je vais faire venir
notre Hit Actor. Allons comprendre ça. Et puis faisons glisser un fil
hors de ce type dans est valide, cette version de point d'interrogation. Et s'il s'agit d'un objet valide, cela
signifie-t-il ? Si c'est valide, nous allons traîner
hors de ce qui
a été Destroy Actor. La cible. Nous voulons
être notre acteur à succès. C'est ce
que nous voulons détruire. Double-cliquez dessus pour
créer un nœud de réacheminement. Il y a peu de propreté. Essayons donc d'encadrer
ce script ici, ces
deux scripts, pour que vous puissiez les voir fonctionner. Laissez-moi aller de l'avant et jouer. Essayez de réduire un peu cette
fenêtre de jeu ici. Très bien, si je devais
aller de l'avant et appuyer sur la touche neuf maintenant,
ce que
vous remarquerez, vous pouvez voir qu'elle
sort de la neuf touches sur le
côté gauche pendant que je spam
là-dessus. Mais il n'avance pas au-delà du nœud
est valide car il n'y a pas d'acteur de frappe valide
qui est une variable vide. Cependant, pressons
la touche fléchée. J'ai maintenant vérifié
s'il s'agit d'une chaise en définissant
cette variable. Maintenant que j'appuie sur la Nike, l'acteur à succès a
été peuplé. Et boum, ça va adieu. Marcher jusqu'à ce cube, en appuyant sur la touche 0 qui a maintenant été définie
comme mon nouvel acteur à succès. En appuyant sur la Nike, boum,
ça va adieu. Maintenant, il est important de
noter ici que Hit Actor n'est qu'un acteur générique. Nous ne savons pas quel objet
nous avons touché et nous ne pouvons donc pas modifier les
variables qui sont appelées fonctions spécifiques à cette référence
d'objet. Si nous voulions le faire,
nous pourrions lui lancer cet objet pour assurer qu'il est
d'un type donné. Encore une fois, cela
va être un peu plus avancé pour ce que
vous en êtes en ce moment, nous parlerons de casting plus tard dans le cours. Mais juste pour montrer brièvement comment vous pourriez faire
quelque chose comme ça, je vais juste
modifier un peu plus ce script ici. Essayons quelque chose comme
ça de mon acteur à succès. Je vais aussi lancer. Nous ferons un exemple de ramassage. On va jeter
et vérifier si c'était un exemple de pick-up. Et si c'est le cas, faisons évoluer
ce type à l'échelle mondiale. Nous allons définir l'échelle mondiale
de notre collision de sphère, laquelle tous les autres
composants sont attachés. Et nous allons définir notre
échelle mondiale pour
qu'elle soit, disons, trois fois plus
grande et les x, y et z. Donc encore une fois, notre trace de
lignes est ce qui
va être peuplé, créant une référence à
notre Hit Actor variable. Si c'est valide, nous
allons vérifier s'
il s' agit d'un exemple de plan de
ramassage. Et si c'était le cas, nous allons augmenter la taille trois fois plus grande. Permettez-moi donc de minimiser
ce chemin ici. Sauter et jouer, lutter contre la touche 0. Je ne veux pas m'approcher
trop de ça. Appuyez sur la touche 0 dès maintenant. Mon acteur à succès est maintenant prêt. Encore. Il y a eu un jeu. Laissez-moi juste reculer pour ne pas chevaucher
accidentellement
lorsque je monte à l'échelle. Maintenant, je vais appuyer sur la touche F9. Et Wallah, c'est que
l'échelle mondiale est beaucoup plus grande. Très bien, vous l'
avez là, les gars. Il existe un cas d'utilisation très
pratique d'une référence d'objet d'exécution. Encore une fois, il existe d'autres
moyens de le faire, mais une trace de ligne est
un moyen très utile, surtout à l'intérieur d'un plan de
personnage. Cela fera pour
offrir à ces gars, à vous
voir dans le prochain.
22. Références d'objets moulés: Bienvenue à tout le monde. Dans cette vidéo, notre objectif est
d'apprendre à lancer sur un objet afin de créer
une référence à quelque chose. Tout d'abord,
qu'est-ce que le casting ? Le casting permet de
vérifier si un type
d'objet donné appartient à une classe
spécifiée. Maintenant, vous m'avez vu faire ça dans
mon exemple BP ici. Nous avons vérifié ce qui chevauche notre sphère de
collision ici, c'est-à-dire cette sphère ici. Dans ce cas, nous
cherchions à voir si cet autre acteur,
si la chose
qui se chevauchait était un personnage de troisième personne que nous lancions pour voir si c'était
le troisième personnage. Maintenant, s'il s'agit d'un type de classe
spécifié, dans ce cas, le
ThirdPersonCharacter. Nous pouvons ensuite immédiatement capturer cet objet comme référence. Et plus important encore, faites
des choses spécifiques à cet objet. Il peut y avoir
des fonctions, des variables ou des composants à l'intérieur de notre classe spécifique
qui lui sont propres. Par conséquent, je veux dire, si nous capturons ici une référence à notre
ThirdPersonnage, si c'est vrai, nous pouvons capturer la référence à
notre ThirdPersonnage. Cela signifie ThirdPersonnage. Nous pouvons parler aux
composants ici. Nous avons des variables
à l'intérieur d'ici. Nous pouvons les modifier d'une manière ou d'une autre. Nous pouvons modifier certaines des variables par défaut
de classe à l'intérieur d'ici. Des choses comme le nombre maximum de
sauts, ce qui est amusant avec lequel
jouer. Indice, indice, vous pouvez double, triple saut avec ce paramètre, toutes sortes de choses. Notez donc que ce sujet de casting est un sujet dont
nous allons parler
plus loin dans la section
Communication Blueprint plus loin dans ce cours. Mais pour cette vidéo, nous allons simplement
parler de la façon de créer des références
d'objets en les
lançant sur une chose donnée. Très bien, nous allons
montrer quelques exemples ici dans ma carte de test de niveau. Tout d'abord, je veux
vérifier que vous avez un acteur
débutant dans votre niveau. Et si ce n'est pas le cas,
vous pouvez passer sous votre petit bouton ici pour ajouter
rapidement à votre projet. Et dans la
catégorie Toutes les classes ici, vous pouvez trouver un
acteur débutant, ce type juste là, glisser-déposer l'un d'entre eux. Assurez-vous d'en avoir
un dans votre niveau. Et ensuite, si vous
venez ici, vous avez ces
trois petits points pour changer votre mode de jeu
en place. C'est ici que vous pouvez
modifier pour lire le port de vue
sélectionné ou
une nouvelle fenêtre d'éditeur. Au fait, cependant, je veux attirer votre attention sur ce joueur d'apparition à l'heure actuelle, nous avons coché cela, c'est-à-dire coché pour créer
un personnage de joueur au début de
notre joueur par défaut se trouve à cet
endroit d'acteur juste ici. Je pourrais changer cela, changer cela par l'emplacement
actuel de la caméra. Donc, où que je sois dans le
niveau, si je clique sur Jouer, je pourrais apparaître à partir de cet endroit que je
regarde en ce moment. Cependant, nous voulons que ce
jeu lancé
par défaut pour cette vidéo. Très bien, avec cela, nous
allons créer un
script pour capturer une référence de personnage à l'intérieur
de notre plan de niveau. Une fois de plus, vous pouvez accéder à
votre Blueprint de niveau ici et ouvrir vos Blueprints de
niveau. Boom. Maintenant, je veux faire quelque chose en
dehors de l'événement Begin Play. Maintenant, plus tôt dans ce cours, j'ai créé un deuxième graphique d'événements
et je l'ai nommé types de nœuds. Et j'ai mentionné que nous ne pouvons commencer qu'
un seul événement selon
nos plans de niveau. Je vais donc simplement le supprimer
d'ici et faire tout ce travail à l'intérieur de
notre graphique d'événements de base ici,
notre graphique d'événements par défaut, qui est actuellement vide. Alors ici, je vais
cliquer avec le bouton droit de la souris et taper commencer, jouer. Événement B chez les plaquettes. Allez-y et ajoutez-y. Ensuite, je vais cliquer avec le bouton
droit de la souris. Et dans un espace vide, je vais taper un personnage
git player. C'est une fonction vraiment pratique ici qui va simplement renvoyer le
personnage que vous,
un joueur solo, jouez, car dans ce cas, l'index des
joueurs est 0. Nous n'avons qu'un seul joueur, ce sera
donc nous. dehors de ça. Nous pouvons faire glisser et taper
Cast to ThirdPersonCharacter. Si vous jouez avec un
modèle de personnage à la première personne ici, vous pouvez passer à un personnage à la
première personne. Nous allons lancer à notre
bp un personnage de troisième personne. Ce que nous faisons ici,
c'est que nous allons obtenir notre personnage de joueur et nous
allons ensuite vérifier, hé, s'
il s'agit d'un personnage de troisième que vous
contrôlez ou est-ce autre personnage
qui que vous aviez affecté dans les paramètres de votre
projet ? Et encore une fois, nos paramètres de projet sont
accessibles ici, les paramètres
du projet, ainsi que
sur les cartes et les modes. Dans le mode de jeu que nous avons sélectionné, nous pouvons voir notre classe de pion
par défaut. Actuellement, nous utilisons par défaut
une classe de personnages à la troisième personne lorsque nous jouons à ce jeu. Mais c'est une façon
de vérifier, hein, est-ce qu' on joue en
tant que personnage à la troisième personne ? Maintenant, c'est là
que la chose entre réellement en jeu, où nous utilisons
un casting pour créer une référence d'objet
juste ici tant que personnage à
la troisième personne. Nous allons
cliquer dessus avec le bouton droit de la souris. Nous allons promouvoir
cela à une variable. Dès que nous le ferons, il va brancher deux fils à cette
variable centrale ici. Ainsi, dans notre section Variables, il a créé une nouvelle variable de caractères à la troisième
personne qui est un type qui lui a
été donné. Le nom. Nous pouvons changer cela. Je vais juste changer
ça pour devenir « Character Rugh ». Et puis je ferai un clic droit
sur ce nœud et je laisserai un commentaire au nœud et
appellerai simplement cela promu. C'est ainsi que nous avons créé
cette variable. Nous l'avons promu à partir de notre
début de jeu ici. Nous allons capturer une référence à notre
ThirdPersonnage. Super sucré. Cela signifie que nous pouvons ensuite en
faire quelque chose. Et c'est génial de faire ce
genre de choses. Souvent, hors d'un
événement, commencez à jouer, car une fois que vous
avez une référence à un acteur donné, tapez
un objet donné, alors vous êtes prêt à partir. Vous pouvez influer de la manière
dont vous le souhaitez. Je vais donc créer
un script ici pour ensuite affecter la référence de notre
personnage. Cliquons avec le bouton droit de la souris dans
un espace vide. Et je vais juste
taper un certain nombre de clés. Saisissons le
seul événement Shelley. Et de là, je vais faire glisser notre référence de
personnage. Il va dire,
voulez-vous l'obtenir ou le régler ? Je veux obtenir une référence à notre personnage de joueur
et l'offrir. Je vais taper dans mon
ancien monde de la scène, à l'échelle 3D. Maintenant, que voulons-nous
définir en 3D ici ? Mettons notre maillage. Et si nous allons dans notre Blueprint
ThirdPersonnage, nous parlons à ce type
ici même avec
les composants sélectionnés. Notre personnage en maille ou personne, notre mannequin, si vous voulez. Femme mannequin, si vous voulez. Très bien. Donc, lorsque nous appuyons sur le banquet, nous allons définir
notre échelle mondiale et ne pas la laisser à 0
, car vous allez disparaître. Allons-y 0.5.5.5. Et compilons ceci pour nous assurer que nos
scripts sont beaux. Nous allons le sauver. Définissons ensuite notre option de
débogage nos cartes de test afin
que ce soit les scripts que
nous verrons se déclencher. Allons-y et jouons. En fait, permettez-moi de m'assurer
que j'ai défini
cette nouvelle fenêtre d'éditeur. Revenez à mon plan de niveau. Maintenant, nous avons déjà créé cette référence de personnage que nous avons commencé à jouer. Mais si j'appuie sur
une touche pour l'instant, vous verrez que ce
script s'est effectivement déclenché. J'ai capturé cette référence
de
personnage dans Event Begin Play, et j'appuie sur la touche qui a
réglé mon échelle à 0,5. Maintenant, vous pouvez voir que je suis en train
de marteler sur la seule clé. Maintenant, il ne va pas continuer à le
régler à la moitié de la taille, moitié de la taille, à la moitié de la taille. Je viens de le dire, je l'ai réglé à
la moitié de sa taille habituelle juste là. C'est donc un exemple de diffusion vers notre
ThirdPersonCharacter, créant une référence d'objet. Très bien, essayons
un autre exemple ici. Cette fois, ne pas utiliser
un personnage joueur,
un personnage à la troisième personne ou à la première personne
. Je vais passer sous mon bouton ici pour
obtenir du contenu. Je vais ajouter une sphère. Allons de l'avant et ajoutons
une sphère à notre niveau. Je vais l'
élever en l'air. Et puis je vais définir quelques paramètres,
un sur ma sphère ici, puis un sur ce treillis de sol. Tout d'abord, je vais
renommer ma sphère ici en cliquant dessus et en appuyant
sur F2. Et je vais appeler
ça mon bal de physique. Cela aidera à compenser un peu
ça. Il s'agit d'un acteur de maillage statique. Ensuite, dans
le panneau Détails, je souhaite cocher une case
appelée simuler la physique. Et sous cette section physique il est
ici, simulez la physique. Maintenant que ça va faire
dès que je jouerai au jeu, cette balle va
tomber par terre. Allons de l'avant et
cliquez ici. Et vous pouvez voir, oups, je veux aller, en fait, je n'ai pas besoin de jouer
au jeu. Je vais brièvement
configurer ça pour simuler. Et dès que je le ferai, vous
verrez que le renflement est tombé sur le sol. simulation consiste donc à
exécuter le jeu, pas à jouer au jeu, mais vous avez vu les résultats. Que se passe-t-il lorsque vous lancez
le jeu sans jouer ? C'était le mode simulation. Maintenant, il est bloqué en
mode simulation, je vais revenir à la nouvelle fenêtre de l'éditeur. Près de vous avez vu cette balle
tomber encore une fois, Shift et F1
me remettra le curseur de ma souris. Laissez-moi sortir de là. Ok, donc nous avons mis notre balle pour simuler la physique
qui est importante. Ensuite, allez de l'avant et sélectionnez
votre treillis de sol ici. Et ce que je veux faire
ici, c'est que je veux chercher quelque chose appelé simulate génère des événements de succès. Et si je passe sous ma section de
collision
ici, voici une case à cocher
que je recherche pour simuler, générer,
toucher des événements. Il s'agira d'
une balle simulée, ce qui signifie qu'elle
aura de la physique dessus. La simulation génère des événements de frappe pour cet étage signifie qu'elle générera un événement de frappe
pour un objet simulé, alias cette balle physique. Il est donc important
que cette case cochée pour déterminer ce que nous
allons faire. Ensuite, nous allons
accéder à notre plan directeur de niveau. Cependant, je veux m'
assurer que notre plancher
est d'abord sélectionné
ici. Assurez-vous donc d'avoir sélectionné
votre plancher et dans votre plan directeur de niveau. Passons à
droite ici, je vais cliquer avec le bouton
droit de la souris et
un espace vide. Nous allons ajouter un événement
pour une collision au sol et nous allons participer aux événements à
succès d'acteurs. Ensuite, nous
allons vérifier quel était l'autre
acteur. Ils m'ont frappé. Donc, si on s'en sort, on peut aussi lancer. Passons à un acteur de mailles
statiques. Pourquoi lance-t-on
un acteur de mailles statiques ? Eh bien, nous faisons appel à
un acteur de mailles statiques parce que notre balle physique ici, si je sélectionne cela, le type d'acteurs qu'il s'agit,
est un acteur de mailles statiques. Bon, revenons dans
notre plan de niveau ici. Et encore une fois,
promouvons cela une variable
en cliquant avec le bouton droit de la souris sur cette
épingle, en promouvant une variable. Et je vais renommer cette boule de
physique comme ça. Le type est un acteur de maillage statique. Et nous allons simplement imprimer quelques
textes après cela. Je vais m'en sortir. Nous pouvons imprimer des chaînes
ou imprimer des textes. Je vais simplement utiliser des
textes imprimés dans le champ de texte. Je vais changer ça
pour toucher le sol. Je vais cliquer
dessus avec le bouton droit de la souris et laisser un commentaire de nœud et
appeler cela promu. Très bien, faisons aussi
quelque chose ici avec une clé. Je
vais cliquer avec le bouton droit de la souris. Apportons une clé à deux clés. Whoops, c'était F2. Je veux dire, on pourrait vraiment
le faire à partir de n'importe quoi. Je vais juste faire les deux clés
parce que c'est évident. Et ensuite,
nous voulons obtenir une référence
à notre bal de physique ici. Par conséquent, glissons-le et
déposons-le dans le graphique. Nous allons l'obtenir.
Et puis, de ce moins simplement, tapez
le matériel de jeu. Nous voulons définir un matériau sur les
composants statiques du maillage, comme cela. Et nous dirons
qu'une fois que nous aurons appuyé sur le tube et que nous changerons notre matériau en, je vais taper de l'or. Vous pouvez changer cela par
ce que vous voulez. Donc encore une fois, je
vais m'assurer que mon option de débogage est
définie sur la carte de test de niveau. Allez-y et
cliquez sur la pièce ici. Vous résolvez ce feu
juste en haut alors que j'
ai attrapé la fenêtre ici, vous pouvez voir que je l'ai
parfaitement attrapé pour
que vous puissiez voir ce pouls couler à travers
l'acteur frappé. Nous sommes en train de jouer à notre acteur
statique Mitch. Nous capturons notre boule de
physique là-bas, n'importe quelle variable que nous y
créons une référence et nous l'imprimons à
l'écran, nous frappons le sol. Et il est imprimé
plusieurs fois là-bas. Une fois que j'ai appuyé sur les deux touches, cela devrait devenir de l'or massif. Et voilà que tu y vas. Vous avez un ballon de physique
qui est devenu de l'or massif. Vous pouvez voir qu'il enregistre à nouveau
ces événements à succès,
encore une fois que je les roule
à travers le sol. Parce que, bien sûr,
pourquoi ne le ferait-il pas ? Très bien, donc vous l'avez là. Vous avez quelques
exemples d'entre nous pour
créer une référence d'
objet. Beaucoup d'autres choses que nous aurions
pu mettre en valeur. Vous pourriez en trouver une certaine
utilité. Cela fera tout
pour ces gars, nous vous verrons dans le prochain.
23. Widget BP Références: Bienvenue à tout le monde. Nous
commençons cette leçon ici sur Internet en montrant
quelques exemples,
dans ce cas, dans l' écran d'inventaire d'une légende de Zelda, étendue de la nature. Et je veux aussi
montrer cet exemple
du HUD de Legend of Zelda en jeu, à l'échelle de la nature. Donc, dans l'irréel, si vous
voulez créer quelque chose comme compteurs de
santé ou des mini-cartes
ou des messages dans le jeu, ou dans l'écran d'inventaire, n'importe lequel de ce genre de choses, vous devez créer des plans de
widget. Notre objectif dans cette
vidéo est donc d'
apprendre à créer une référence
à un Blueprint de Widget. Nous n'allons donc pas vraiment nous
pencher sur la façon de créer des Blueprints de
widgets. Bien que nous le fassions, c'est un tout autre
cours en soi. Mais une fois que vous avez créé une ressource
Widget Blueprint, comment créer
une référence à celui-ci ? Nous allons, dans cette vidéo créer
un de ces atouts. Nous allons juste mettre en
place un simple compteur de santé. Il ne sera pas fonctionnel.
On va juste supporter avec simple
m'a aidée à gagner sa capuche. Nous allons maintenant
créer une référence pour pouvoir activer et désactiver les
bactéries dans Unreal Nous allons commencer
par créer
un nouveau dossier à l'intérieur
de notre dossier de script, Je vais
cliquer avec le bouton droit sur Nouveau dossier. Je vais appeler ça des Widgets. Ensuite, à l'intérieur d'ici, je vais cliquer avec le bouton droit de la
souris sur la droite. Nous allons passer
sous l'interface utilisateur. Et nous voulons créer une ressource Widget Blueprint dans
la fenêtre contextuelle qui apparaît, elle va nous demander de
choisir un widget d'itinéraire. Tout
ce que nous voulons faire, c'est sélectionner le widget
le plus courant, celui de l'utilisateur. Encore une fois, il ne
s'agira pas d'une leçon sur la façon de
créer tous les aspects d'
un Blueprint de Widget. Je vais simplement nommer ce HUD de soulignement
WPP. Ensuite, nous
double-cliquerons dessus pour ouvrir cette ressource Widget
Blueprint. Bref, ce que vous pouvez faire ici, c'est que vous pouvez faire glisser et déposer
différents éléments, ces différents widgets de
ce panneau de palette juste ici dans cette fenêtre d'
affichage pour tracer une sorte d'écran, un capot, un écran de menu, une notification textuelle,
tout ce genre de choses. Nous allons créer
un HUD très basique, avec une barre de santé. Et nous allons
commencer par ajouter un widget de panneau de canevas. Donc, sous le panneau du palais, je vais
chercher un panneau de toile. Le panneau Canvas est essentiellement
un tableau de bord qui va
être le widget sur lequel nous pouvons
coller d'autres widgets. Je vais donc faire glisser et
déposer ça juste ici. Boom, nous voyons ce
contour vert dans la hiérarchie. Il affiche ici la liste de
tous les widgets que vous avez ajoutés à votre Blueprint
Widget. Nous avons donc actuellement ce panneau de
toile et
nous donnant un tableau technique géant, si vous voulez, sur
lequel coller les choses. Super. Ensuite, nous allons ajouter des composants de boîte
horizontale. Horizontal Box est simplement une boîte vide qui peut
contenir d'autres widgets. Je vais faire glisser ça en haut à gauche ici
parce que je veux que mon HUD ait une sorte de mètre dans le
coin supérieur gauche de mon écran. Maintenant, il s'agit actuellement de cette
taille, de cette taille prédéterminée. Cependant, je vais ajuster
cela en une seconde ici, mais juste pour
étendre cela, je vais changer ma taille x ici avec cette sélection
pour être quelque chose, je ne sais pas, 400, Allons 500, probablement un peu long,
quelque chose comme ça. Encore une fois, il s'agit simplement d'une boîte vide qui peut héberger d'autres widgets. Ensuite, je vais trouver un widget texte ici
sous la section commune. Et je pourrais
glisser-déposer ça au-dessus de ma boîte horizontale pour que cela soit
contenu à l'intérieur de cette façon. Ou je peux simplement le faire glisser
et le déposer
ici à l'intérieur de ma boîte
horizontale comme ceci, vous pouvez voir cette
petite indentation ici montrant cette relation. Actuellement, ce
widget de texte est contenu dans notre boîte horizontale. Je vais changer le texte ici. Donc, avec cette option sélectionnée
dans le panneau Détails, je vais changer
ce texte qui dit bloc de texte pour simplement « santé ». Je vais y donner quelques espaces parce que je vais ajouter un compteur de santé, si vous voulez, juste à droite
de ça. Donc, en appuyant sur Entrée, Boom va
changer cela en Santé. Ensuite, je veux qu'un compteur passe
juste à droite ici. Vous pouvez l'ajouter en ajoutant
un widget de barre de progression. Je vais donc une
fois de plus faire glisser ça à l'intérieur de ma boîte horizontale. Maintenant, dès que je fais
ça, ça va apparaître comme
cette petite dalle grisâtre, si vous voulez, qui ne
ressemble pas du tout à un mètre. Par conséquent, la façon dont nous pouvons changer
cela est avec ce widget sélectionné, ce widget de barre de progression sélectionné dans
le panneau Détails, nous pouvons modifier la
taille pour qu'elle devienne un remplissage. Boom, voilà. Maintenant, pour remplir cela, nous avons cette couleur de remplissage et opacité qui sont
actuellement définies en bleu. Vous pouvez cliquer dessus
pour modifier la couleur. Je vais devenir vert, un peu de vert.
Bien sûr, c'est bien. Mais ce pourcentage
ici va
déterminer comment Fill
this est actuellement. Il est rempli à 0 %. Je vais donc cliquer avec le bouton gauche
et faire glisser et vous pouvez voir comment cela
peut aller entre 01. Cela va donc essentiellement d'une échelle
de 0 à 1, 0 à 100 %. Et vous pouvez choisir
votre type de remplissage de barre, gauche à droite, de haut
en bas, de droite à gauche. Quoi que vous vouliez le faire, je vais laisser
la valeur par défaut là. Cela va très
bien marcher pour moi. Donc, ce que cela a créé,
je vais simplement compiler cela.
Nous allons le sauver. Génial. Nous avons créé ce
Blueprint Widget. La prochaine chose que nous allons
faire ici est
de créer un script qui va
créer ce widget. Ensuite, nous allons
créer une référence à ce sujet. Nous allons l'ajouter
à notre fenêtre d'affichage, ce qui signifie qu'il
apparaîtra dans notre jeu. Ensuite, nous allons ajouter
un peu de script pour
qu' une fois que nous aurons cette
référence à notre HUD, nous puissions activer et désactiver la visibilité
de ce HUD. Je vais utiliser le Blueprint
ThirdPersonpersonnage pour cela. Maintenant, si vous créez
quelque chose comme le HUD, vous n'utiliserez
généralement pas le Blueprint de personnage
pour afficher ou masquer le HUD. Mais comme il s'agit d'un plan que nous avons
utilisé jusqu'ici, je vais l'utiliser uniquement
pour montrer comment créer une référence
à un Blueprint de Widget. Ouvrez donc votre Blueprint
Personnage de la troisième personne. Si vous avez oublié où cela se
trouve dans votre navigateur de contenu, vous pouvez le trouver ici sous Blueprints
tiers. À l'intérieur d'ici, sautez sur le graphique des événements. Et nous voulons faire quelque chose
hors du jeu de l'événement. Je vais donc
cliquer avec le bouton droit de la souris, commencer à jouer, même commencer à planifier. Boom. Et souvent cela, nous
allons faire glisser un fil et taper un widget de création. Cela va
dire actuellement construit aucun, car nous n'avons aucun widget
ici pour créer. Cependant, si vous
sélectionnez cette classe, petite liste déroulante, nous pouvons trouver notre Blueprint Widget
que nous venons de créer. Maintenant, une fois que nous l'avons sélectionné
, nous avons défini cela. Cela va dire, d'accord, que c'est le Blueprint du widget
que vous souhaitez créer. Super. Mais nous n'avons pas encore enregistré
cela comme référence. Cliquez avec le bouton droit de la souris sur
cette valeur de retour ici. Pour promouvoir cela à une variable. ce que nous faisons. Il va créer
cette variable dans ma section Blueprints. Il sera
du type WB P HUD. Et je vais le nommer
de façon appropriée. Nous BP HUD. Comme je l'ai déjà fait, je
vais cliquer dessus avec le bouton droit de la souris. Et dans la zone de commentaires du nœud, je vais juste laisser
ça comme promu. C'est ainsi que nous avons créé cette
référence à notre HUD de widget. Et ensuite, ce que nous allons
faire, c'est glisser hors d' ici et taper
Ajouter à la fenêtre d'affichage. Donc, essentiellement, ce que
nous faisons ici c'est au début du jeu, une fois que notre
personnage est apparu dans le jeu cet événement commence à se déclencher. Nous allons créer
ce Blueprint Widget. Nous allons créer
une référence à ce Blueprint Widget à
l'intérieur de cette variable. Il va donc le capturer à
l'intérieur d'ici. Ensuite, nous allons l'ajouter
à la fenêtre d'affichage, ce qui signifie qu'il devrait
apparaître dans notre jeu. Allons de l'avant et
compilons ceci pour nous assurer que notre script est
bon et qu'il l'est. Et puis je vais
jouer juste pour vérifier que nous voyons ce HUD dans le jeu. Et voilà. Dans le
coin supérieur gauche de l'écran, vous pouvez voir que
notre barre de santé ne fonctionne pas. Très bien, maintenant que nous
avons une référence à cela, créons un petit script
pour montrer ou masquer cela. À l'intérieur d'ici. Je vais cliquer avec le bouton droit de la souris
et un espace vide. Je vais faire venir, faisons les cinq clés. Et apportons une référence
à notre Blueprint Widget, faites-le glisser et déposez cela. On va
s'en sortir. Je vais traîner et
je vais rechercher une fonction appelée
définir la visibilité. Et je vais
appuyer sur Control C et Control V pour créer un doublon, une copie de celui-ci,
puis un collage de celui-ci. Ce sera notre cible. Lorsque nous appuyons sur ce bouton, nous voulons que cela soit caché. Définissez donc la visibilité
ici pour qu'elle soit cachée. Et puis, lorsque nous le
publierons, nous allons dire à nouveau ce widget
d'être visible. Maintenant, comment ai-je pu savoir que cette fonction
était disponible pour moi ? Eh bien, plusieurs fois, ici
dans notre Blueprint Widget, si vous regardez les différents widgets que vous avez ajoutés à votre hiérarchie, vous pouvez voir toutes
vos propriétés dans la droite
ici, le panneau Détails. Et l'un d'eux pour
ce widget particulier est la possibilité de l'
afficher ou de le masquer. Comme vous pouvez le constater en ce moment,
j'ai cette barre de progression, visible ou non visible. Tout cela peut
être montré ou non affiché. La visibilité peut
être visible ou non visible. Ici, je dis, Hey WPP, quand j' appuie sur les cinq touches,
je veux te cacher. Lorsque je le publie, je veux qu'il s' affiche une fois de plus et nous
pouvons le faire car nous avons capturé une référence à compilation de
notre Widget Blueprint. Cela permettra de vérifier
que votre script est bien. Disons ceci. Je vais jouer. Là. Vous pouvez le voir. Je vais appuyer sur les
cinq touches et la maintenir enfoncée. Il est maintenant caché. Et quand je le relâche,
il s'affiche encore une fois. Il y a donc des gars. ne s'agissait pas d'une vidéo sur la façon de créer un
Blueprint de Widget
qui, encore une fois, c'est tout un autre cours. Mais comment créer une référence à des notes de Blueprint Widget. Vous pouvez créer des références
à des Blueprints de widgets à partir de Blueprints de classe ou d'un Blueprint de niveau
ou de sous-niveau. références aux
Blueprints de widgets sont généralement créées lors de l'exécution, peut-être à partir d'un
jeu ou peut-être partir d'un volume de déclenchement
lorsque vous chevauchez éléments comme une arme pour une
sorte de ramassage notification ou notification de
ramassage AML, ce genre de choses. Ça va tout faire pour
cette vidéo, les gars. Nous vous verrons dans le prochain.
24. Références de tag: Bienvenue à tout le monde.
Dans cette vidéo nous allons découvrir comment balises ajoutées aux acteurs peuvent
être utilisées pour trouver des objets, créer des références à des objets, puis affecter ces objets
référencés. Alors, un tag, de quoi
parlons-nous ici ? Eh bien, une balise est essentiellement
une étiquette ou un mot-clé que nous attribuons à un
associé à un acteur donné. Et ensuite, si un acteur
a une étiquette donnée, nous pouvons l'affecter de
telle manière que nous puissions créer une
référence à cet objet. On peut appeler une fonction,
faire toutes sortes de choses sympas. Nous allons donc le
démontrer ici. Avant de le faire, si vous
voulez jouer à la maison, j'ai trois
acteurs différents à mon niveau. Le plafonnier Blueprints
est situé à cet endroit. Si vous avez le contenu de
démarrage, j'en ai un ici. Cet émetteur de feu se trouve à cet emplacement dans le dossier de contenu de
démarrage. Et puis ce cylindre que je viens
d'attraper ici. Boom, un cylindre si vous
voulez jouer à la maison. Très bien, nous allons donc
ajouter un tag commun qui est une sorte de mot-clé à ces
trois acteurs. Et je vais
trouver cette balise dans le panneau Détails
avec mon cylindre sélectionné en recherchant une balise. Et je vais réduire ça
aux balises de
composants ou aux balises d'acteur. Nous voulons ajouter une balise d'acteur, associée à
l'ensemble de
cet acteur. Encore une fois, différents acteurs peuvent avoir différents composants
configurés avec eux. Nous voulons simplement en
avoir un
associé à l'acteur en général. Alors sous les balises avancées d'acteur, cliquez sur ce petit
bouton plus et nous pouvons nommer la balise et je vais
appeler le mien. Et juste pour m'assurer que je
n'ai pas d'erreurs d'orthographe ici,
je vais le mettre en surbrillance, appuyer sur le contrôle C pour la copier,
car je vais ajouter
exactement la même balise. Mon émetteur de feu ici. J'ai donc cette
étiquette
ici pour trouver mon tag d'acteur. Ajoutons ça. Nous allons ajouter cela ici. Et puis aussi pour mon plafonnier
Blueprint, nous filtrons par mot tag. Nous allons ajouter cela à
notre tag avancé d'acteur. Et mettons ce
nom ici aussi. Super, ensuite, pendant que
nous y sommes, pourquoi ne pas inclure cela sur
notre BPS ici, notre exemple de script de construction, ainsi que nos micros. Je vais donc accéder
à l'endroit où ils se trouvent dans mes dossiers ici. Exemple de ramassage Bp. Allons à l'intérieur ici. Si vous souhaitez ajouter une
balise à ce Blueprint, vous voulez passer sous les valeurs par défaut de
votre classe effectuez une recherche pour une balise. Le voilà, des étiquettes d'acteur. Ajoutons aussi
des choses ici. Allez-y et compiler, sauvegardez ça. Nous pouvons le fermer et ensuite nous en débarrasser
à partir de la dernière vidéo. Obtenons également notre mur de script de
construction ici dans les valeurs par défaut de
sous-classe, assurez-vous
que vous avez obtenu la balise sélectionnée. Ajoutons une étiquette pour ce type. Et on y va. Je voulais juste montrer
où ajouter
cela à l'intérieur d'un
Blueprint lui-même. Il est important de noter que je l'ajoute
ici
au plan lui-même. Pour ce plan de
plafond particulier, je l'ajoute juste à cette instance de l'
objet à l'intérieur du niveau. Je n'ai pas
ajouté cela à l'intérieur
du plan de plafond ici à l'intérieur de mon plafond
Blueprint Class par défaut. Si je recherche un tag, je ne le verrai pas ici
car je ne l'ai pas ajouté
au Blueprint lui-même. Juste cette instance particulière du plan dans mon niveau. Commençons donc par créer
une référence à tous ces acteurs marqués
que je vais faire cela dans
le Level Blueprint. Alors, juste en dessous,
ouvrez Level Blueprints, nous avons un tas de scripts pour
lesquels j'ai actuellement désactivé tous les événements. Je vais probablement nettoyer
ça entre les vidéos et me débarrasser
de ces vieux trucs ici. Passons sous un
espace vide dans notre graphique d'événements. Et je vais
cliquer avec le bouton droit de la souris pour rechercher la touche T, les entrées T, les entrées. Passons sous un clavier. Événements clavier. Vraiment, n'importe quel
événement clavier le fera. Je veux juste aller avec T
parce que T signifie tag. Il y a un Tiki. Et souvent cela, nous allons
traîner un carré et nous allons
amener
tous les acteurs avec un nœud de balise. Sans surprise,
cette fonction
fera exactement ce qu'elle
dit faire. Il obtiendra tous les acteurs
avec un tag donné. Voici le nom de la
balise que nous voulons trouver. N'importe quoi avec le tag thinking et avec cette épingle d'acteurs, il y a ce genre d'icône de
type gaufre qui va nous
donner une panoplie d'acteurs
qui ont cette étiquette. Cela signifie une liste d'
acteurs qui ont cette étiquette. Cliquons avec le bouton droit de la souris dessus,
Promote to variable. Et appelons simplement
cela notre tableau de choses. Vous pouvez voir qu'il a créé
cette variable ici. Donc, quand j'appuie sur la touche T. Nous allons stocker
toutes les références aux acteurs qui ont cette chose que
vous étiquetez à l'intérieur de ce tableau. Et ce tableau
va être une liste de tous les acteurs qui
ont cette étiquette. Très bien, donc cela se produira
lorsque nous appuyons sur la touche T. Faisons quelque chose à
tous ces acteurs. Maintenant que nous avons une référence
à tous ces acteurs, que voulons-nous en faire ? Eh bien, je vais cliquer avec le bouton droit de la souris
et un espace vide. Une fois de plus, je
vais faire apparaître
l' événement du clavier de la touche haut. Et j'ai pensé
que c'était approprié parce que nous allons
augmenter ces acteurs dans
la coordonnée z. Je vais traîner dans mon tableau de trucs,
on va comprendre ça. Et ensuite,
je vais
traîner un fil et apporter une boucle pour chaque boucle. Encore une fois, nous allons en
parler pour chaque boucle, ces nœuds de contrôle de flux
plus tard dans le cours. Ce que vous devez tous
savoir pour l'instant, c'est que pour chaque élément de cette liste, chaque élément de ce tableau, nous allons y faire
quelque chose. Et ce que nous voulons faire, c'est pour chaque élément ici, chaque élément, que
nous voulons ajouter
des décalages locaux d'acteur. Et nous terminons, nous
allons le déplacer dans une direction donnée
à un décalage par rapport à celle-ci. Et nous allons changer
l'emplacement du delta. C'est-à-dire dans quelle mesure
voulons-nous le changer depuis
son emplacement initial par rapport à son emplacement initial par rapport où il se trouve la prochaine fois
que nous appuyons sur la touche
haut, en augmentant 50 unités irréelles
dans la direction z. Tiki va donc obtenir une référence à tous les
acteurs avec ce tag. La touche Up va
examiner tous les éléments de ce tableau, tous les éléments de cette
liste sont stockés ici. Et pour chaque élément ici, nous allons ajouter un décalage le déplacer vers le
haut à l'emplacement z. Maintenant, je vais
compiler ce script. Tout va bien
paraître. Cependant, je le sais,
permettez-moi de sauvegarder cela également. Quand je joue, cela se produira par
erreur. Je vais laisser cela se produire, mais
allons y jouer. Très bien, j'ai donc ajouté
cette étiquette là-dessus. Ce sont des cylindres, des flammes, des plafonniers qui se croisent et du mur en arrière-plan. Laissez-moi passer en F1. Je peux donc minimiser cela. Je veux que vous voyiez ce script
se déclencher ici également. Je vais donc réduire un peu
ça. Et je vais
appuyer sur la touche T. J'ai donc
maintenant une référence à tous ces acteurs portant
cette chose que vous étiquetez. Maintenant, je vais
appuyer sur la touche haut, c'
est-à-dire la flèche vers le haut. Et bien, certaines choses évoluent. Mais ce cylindre ne le fait pas. Et c'est l'époque dont on
parlait. Laissez-moi aller de l'avant et m'échapper. Et l'air va montrer ce qui
se passe ici. Il va avoir mentionné que ce
composant de maillage statique doit être défini sur mobile si nous
voulons pouvoir le déplacer. maillages statiques
ne bougeront donc pas simplement sans que l'un de
leurs paramètres devienne mobile. C'est donc facile de le
réparer
en revenant au niveau de nos tests ici, en
sélectionnant notre cylindre. Juste ici. Il s'agit du
réglage de la mobilité du cylindre le
remplacer par mobile. Une fois encore, si nous
devions jouer ça, permettez-moi de réduire un peu ce scénario
ici. Ici, en
appuyant sur la touche T, nous avons une panoplie de tous les acteurs avec
une étiquette de réflexion. Et maintenant, une fois que j'ai appuyé sur
la flèche vers le haut, ils vont
tous
monter 50 unités irréelles. Nous allons ajouter
50 en décalage
chaque fois que nous appuyons sur la touche haut. Réfléchissons donc à
tous les cas d'utilisation possibles de la création
de références de cette manière
à l'aide d'une balise. Eh bien, peut-être que vous engendrez des ennemis différents et votre niveau au fil
du temps pendant un match, disons toutes les 20 secondes. Vous ne pouvez donc jamais savoir combien d'ennemis existent
à la fois sur votre carte. Disons maintenant que vous voulez détruire tous les ennemis dans certains objets
environnementaux. Chaque fois que le joueur collectionne un super duper, détruisez tout l'objet. Nous pourrions demander à tous les acteurs
ayant une étiquette donnée, dire en chevauchant
ce super-duper, détruire tous les objets, puis
détruire, ajuster ces objets. Donc toutes sortes de bons cas d'utilisation
utiles pour cela. Une autre note que je voulais donner ici avant de
terminer cette vidéo, nous pouvons vérifier si un acteur individuel a une
étiquette. Comment pourrions-nous faire cela ? Eh bien, j'ai
sélectionné mon cylindre ici dans mon niveau, dans
mon plan de niveau, je vais cliquer avec le bouton droit de la souris. Je vais créer une
référence à ce cylindre. Et de toute référence ici, je peux simplement faire une recherche
pour l'acteur a une fonction de balise. Ensuite, je pourrais brancher ça dans un nœud de branche pour que je puisse
faire une recherche ici pour voir, hé, est-ce que ce cylindre
a l'étiquette de la chose ? Et si c'est vrai, nous
pouvons faire une chose. Si c'est faux, nous
pourrions en faire un autre. Je voulais juste
le souligner ici aussi. Très bien, c'est
comme ça que vous pouvez
créer des références à l'aide de balises. Cela fera pour offrir celui-ci. On se voit dans le prochain.
25. L'événement Commencer à jouer: Bienvenue à tous. Dans cette section du cours, nous allons explorer les
événements plus en détail. Nous allons explorer certains des événements
les plus couramment utilisés dans Unreal, commençant par
Événement, Commencer le jeu. Maintenant, notre objectif spécifique
dans cette vidéo est de comprendre ce qu'est
l'événement Begin at Play, où vous pouvez le trouver et comment nous
pouvons l'utiliser dans l'irréel. Maintenant, sautez dans
notre carte de test de niveau, notre plan de niveau ici. Vous pouvez le trouver en allant
ici, ouvrez Level Blueprint. Vous pouvez voir que j'ai mis en place un script avant de
tourner cette vidéo. Je vais gérer tout ça à
partir de l'événement. Commencez à jouer. Cela semble un
peu intimidant, mais je vais
vous expliquer
les différentes choses que je
fais et pourquoi je le fais. Maintenant. Tout d'abord, comment
organisez-vous un événement ? Tu commences à jouer ici ? Eh bien, quelques méthodes. Vous pouvez cliquer avec le bouton droit de la souris
et taper simplement
commencer à jouer comme une cellule, c'est comme ça
que vous pouvez le trouver. Sinon, j'aime
utiliser le raccourci clavier,
qui consiste simplement à maintenir la touche P enfoncée et à cliquer avec
le bouton gauche de la souris. Maintenant, une chose amusante à noter ici avant même de brancher
ceci est que vous
ne pouvez avoir qu'un seul événement commence à
jouer par plan. Et peu importe le
nombre de graphiques que vous avez. Si vous vous souvenez tout
à l'heure dans ce cours, j'ai créé un deuxième graphique
appelé types de nœuds. Maintenant, si je passe
au graphe de mes types de nœuds, je suis actuellement dans mon graphique
d'événements, Graph. Et je maintiens la
touche P enfoncée et je fais un clic gauche. Je ne le trouve pas. Sinon, si je tape dans une barre de recherche en
cliquant avec le bouton droit de la souris et en tapant, Begin Play et je clique dessus, vais accéder à
mon onglet Event Graph. C'est donc une chose à noter. Vous ne pouvez
lancer qu'un seul événement par plan. Cela soulève donc
la question, et si
je veux faire plusieurs
choses en dehors de l'événement ? Commencer à jouer ? Ai-je juste besoin d'un long script pour faire en sorte que
plusieurs choses se produisent ? Eh bien, non, tu ne le sais pas. C'est là que ce
nœud de séquence est très pratique. Nous parlerons plus en détail du nœud de séquence plus loin dans
le cours. Mais sachez simplement que le
nœud de séquence est quelque chose que vous pouvez utiliser pour
diviser votre signal. Ainsi, en branchant l'événement commence à
jouer dans un nœud de séquence. Vous pouvez ajouter d'autres broches de sortie et faire en sorte qu'une chose se produise, puis une autre, puis une autre et une autre, le tout dans un ordre
séquentiel. Voyons donc ce que je
vais faire ici. dehors de l'événement B en jeu dans mon plan
de niveau. Eh bien, la première chose que je vais
faire est de jouer un événement sonore. Commencer à jouer est un excellent
événement à utiliser si
vous voulez que de la musique
démarre simplement au début
de votre niveau. La deuxième chose que je
vais faire
ici est de faire passer mon personnage de joueur à
mon
personnage ThirdPersonCharacter, puis stocker mon personnage
à la
troisième personne dans cette variable afin
que nous puissions utilisez-le. donc de lancer notre
ThirdPersonCharacter, puis encapsuler à l'intérieur
de cette variable. Juste en bas se trouve l'endroit où
nous allons réellement
utiliser cette variable que
nous venons de stocker ici. Nous allons récupérer la
référence de notre personnage que nous avons enregistrée ici. Nous allons obtenir l'
emplacement de nos acteurs et ensuite nous allons le
définir dans
cette variable vectorielle. Donc, quelque chose qui est souvent
fait en dehors du début de l'événement est ce
qu'on appelle des variables d'
initialisation, c'
est-à-dire pour lui donner
une valeur initiale. Maintenant, plus haut dans ce cours, et en parlant
simplement des différents types de nœuds
variables, je crée une variable d' une variable vectorielle dont les valeurs par défaut sont
000 et qui seraient 000 si je ne
leur donnais pas une autre valeur. Dans ce cas, je suis en train de
l'initialiser. Cela lui donne une valeur
initiale basée sur l'emplacement de mes
personnages. Il va donc alimenter l'emplacement de nos
personnages dans ce fichier et le stocker dans
cette variable vectorielle. L'initialisation des variables
est une chose qui se fait généralement en
dehors du début de la lecture. Et je vais également
imprimer les résultats à l' écran afin que nous puissions voir l'emplacement de
notre référence de personnage
lorsqu'elle est définie. Donc, trois choses que
nous faisons ici, dehors de l'événement, commencez à jouer. Nous allons jouer de la musique. Nous allons créer une
référence à notre personnage. Ensuite, nous allons utiliser notre référence de caractère pour aider à initialiser cette variable vectorielle. Allons-y. Vous pouvez donc voir une certaine
initialisation de notre variable vectorielle juste ici comme étant imprimée
à l'écran. On entend la musique. Et bien sûr, ce personnage fait
référence à cela comme étant dit. Ce n'
est pas quelque chose de très visuel, mais cela se fait en dehors
du début de l'événement. Ensuite, parlons de l'
endroit où vous pouvez et
ne pouvez pas trouver Event Begin Play. Comme vous pouvez le voir, c'est ici
dans mon plan de niveau. Qu'en est-il de mon plan de
sous-niveau n'y est pas
également disponible ? Oui, ça l'est. Et je vais cliquer
ici pour ouvrir le plan de niveau secondaire. Et j'ai créé quelques
scripts avant cette vidéo dans lesquels
je vais retarder de trois secondes, puis jouer un son d'explosion
et je vais
déboguer pour que nous puissions voir
cela se déclencher. Mais vous remarquerez qu'une fois que je joue, attendez trois secondes et
rien ne semble se passer. La raison en
est que je ne
charge pas ce Blueprint
au niveau du sous-réseau. Et ce que je veux dire par là. Si je retourne à l'onglet de mes niveaux, je dois cliquer avec le bouton droit de la souris
sur le sous-niveau, changer la méthode de streaming de blueprints à always loaded. Et maintenant, si je retourne
dans mon sous-niveau, je peux cliquer sur Jouer. Vous voyez cet événement
déclencher le compte à rebours retardé, et cela fera jouer
Event Begin, jouera ce qui
vient après. Il est donc disponible dans un plan bas
ainsi qu'un plan de sous-niveau. En outre, le début de l'
événement peut être trouvé dans les plans de classe d'
acteur
tels que notre exemple de ramassage ici. Encore une fois, je l'ai ajouté avant
de tourner cette vidéo. Vous pouvez également le trouver dans les plans des
personnages à la
troisième personne. Vous pouvez voir que nous l'
utilisons ici pour créer notre HUD et
l'afficher à l'écran. Cependant, vous ne le trouverez
pas dans nos plans de widgets. Voici notre indicateur de santé,
le Widget Blueprint. Et si je vais dans l'onglet graphique,
que je clique avec le bouton droit de la souris sur un espace
vide, que je tape et que je
commence à jouer. Tu ne le trouveras pas. Event Construct est essentiellement l'événement de début de
jeu si vous voulez, à l'intérieur d'un plan de widget, vous ne le trouverez pas non dans un plan d'
instance de jeu, mais à peu près tous les
autre classe Blueprint vous pouvez trouver Event Begin Play. Enfin, une autre chose très
importante à mentionner à propos de Event Begin joué
avant de terminer cette vidéo. Bien qu'il soit vrai que
cet événement se
déclenche lorsque nous commençons à jouer, faisons-nous pour les
différents acteurs qui apparaissent à d'autres
moments pendant le jeu ? Quand commence le
jeu Event Begin pour eux ? Eh bien, l'événement a commencé
à jouer pour ces plans. Le moment où ces choses sont amusantes. Et juste pour montrer ceci, je vais faire défiler un
peu vers le bas dans ma carte de test de niveau, et j'ai configuré un
peu plus de
script en dehors du début de l'événement, où je vais
apparaître un plan, plafonnier qui a été trouvé contenu de l'étoile
MI
après trois secondes. Maintenant, laisse-moi juste
parler un peu de ça ici. Vous pouvez donc voir que c'est
un peu mieux. Après trois secondes
dans notre plan bas, nous allons générer ce plafonnier à une transformation donnée sans devoir
alimenter ce transformateur. Cela va échouer. Laissez-moi entrer ici
et je vais ajouter toutes les classes sur lesquelles j'ai
cliqué ici. Toutes les classes trouveront une note. Trouvons un acteur de notes juste pour nous donner une place de référence
dans l'espace. Je vais le soulever, le
soulever en l'air comme ça. Avec cette option sélectionnée, je vais revenir à mon plan de niveau, maintenir la touche R
enfoncée, cliquer avec le bouton gauche de la souris, There's
my note actor. Je vais faire transformer les
acteurs. Nous allons faire apparaître
ce plafonnier. Maintenant, ce que je faisais avant
cette vidéo dans mon plan, plafonnier, et encore une fois, cela se trouvait dans mes plans de contenu
vedette. Ce plafonnier, c'est là que j'ai créé ce bout de script
où je commence à jouer. Nous allons
encore retarder de trois secondes. Je vais régler le rayon d'atténuation de mes points
lumineux. Il s'agit essentiellement de la distance d' une zone ou d'un point
lumineux. Nous allons également
définir sa couleur claire sur cette couleur rosâtre. début du jeu de cet événement
se
déclenchera au moment où il apparaîtra
dans notre niveau. Et encore une fois, je réapparaît
dans notre niveau ici dans ma carte de test de niveau après le début
de l'événement. Déboguons donc ce
paramètre de ce lac. Nous avons donc essayé de l'encadrer
comme ça. Compilez ça,
assurez-vous que notre script est bon. Et là, nous allons
à droite. Au bout de trois secondes. Cette lumière tourne bel et bien. Donc encore une fois, ici dans mes
plans, plafonnier, cet événement a commencé à jouer
dès que cet acteur est apparu
dans le niveau. Donc, pour revoir le début de l'événement, c'est idéal pour exécuter un
script au début de la lecture. Dans ce cas, jouer de la musique est idéal pour créer des références
d'objets. Dans ce cas, la création notre
référence ThirdPersonCharacter est idéale pour initialiser
des variables. Dans ce cas, je l'utilise pour initialiser notre
variable vectorielle ici. C'est également bon pour faire apparaître des acteurs après un
certain temps. Beaucoup de choses que vous pouvez faire en
dehors de l'événement. Commencez à jouer. Eh bien, les gars, ça
va le faire souvent. Dans cette vidéo, nous
vous verrons dans la prochaine.
26. Tick d'événement: Bienvenue à tous. Dans cette vidéo, notre objectif est de
comprendre ce qu'est un tick d'événement, où nous pouvons le trouver
et comment il peut être utilisé. Comme il s'agit d'un événement
qui déclenche chaque image, vous devez utiliser cet événement avec précaution, sinon vous risquez détruire
totalement les performances de votre
jeu. C'est-à-dire que votre fréquence d'images peut beaucoup
souffrir. Utilisez donc cet événement avec prudence. événements peuvent donc être trouvés
dans à peu près n'importe quel plan d'Unreal qui
comprend des plans de niveau, plans de
sous-niveau et la
plupart des plans de classe. Une exception à cela, mais je suis sûr que c'est le plan d'instance de
jeu. Nous parlerons plus en détail ce
type de plan directeur important plus tard dans le cours. Je vais juste faire un clic droit sur
un espace vide ici. Je vais créer
une nouvelle
classe de plan de type acteur. Je pourrais choisir n'importe lequel d'entre eux.
Je vais choisir un acteur. Je vais le laisser
comme nom par défaut, et je vais simplement
double-cliquer dessus pour l'ouvrir. Et vous pouvez voir que lorsque nous passons
au graphique d'événements, ce tick d'événement est l'un des événements par défaut qui est
immédiatement disponible pour vous. Maintenant, si vous deviez le
supprimer, laissez-moi le faire. Je pourrais cliquer avec le bouton droit de la souris
et taper Tick, et je peux l'ajouter à nouveau. Vous ne pouvez maintenant avoir qu'
un seul de ces paragraphes. Donc, si je devais cliquer avec le bouton droit de la souris
et taper à nouveau Tick ,
en allant simplement
comme oui, le voilà. Ça va
te sauter droit dessus. Maintenant, je vais supprimer
ce plan ici et
je vais passer à mon plan de niveau
pour faire
certaines choses avec les ticks d'événement. Ouvrez donc Level Blueprint. Il y a mon ticket d'événement. Il convient également de noter
que vous ne pouvez avoir qu'
un seul tick d'événement par
plan, et non par graphique. Il s'agit de mon plan de niveau. Dans, dans mon plan de niveau, j'ai actuellement deux graphiques, mon graphique de graphe d'événements et mon graphique de types connus
que j'ai créé. J'étais en train de créer ma
vidéo sur les différents
types de nœuds dans Unreal. Donc, si j'étais dans mon graphique d'événements, cliquez avec le bouton droit de la souris et tapez le
mot tick et cliquez dessus. Cela va me faire passer
à mon repas graphique de types de nœuds. Oui, il y a votre coche d'événement. Ça y est. Maintenant, l'événement tick, comme
nous l'avons dit plus tôt, il déclenche chaque image. Maintenant, il convient de noter
que vous pouvez afficher votre fréquence d'images dans
les éditeurs de niveaux. Nous allons donc le faire
maintenant, avant continuer à
parler des événements ici, revenez à votre éditeur de niveaux. Et ici vous avez cette icône de hamburger à
trois lignes,
si vous voulez, allez-y
et cliquez dessus avec le bouton gauche de la souris. Ici, affichez les images par
seconde Ctrl Shift et h, cela affichera
votre fréquence d'images à l'écran de 120 images par seconde que je suis
en train de l'exécuter. Cela fait 8,33 millisecondes. Très bien, une autre chose
qui vaut la peine d'être signalée ici est que vous pouvez définir une fréquence d'images
fixe. C'est un
peu une tangente ici, mais ça vaut la peine de le noter également. Si vous allez dans vos
paramètres, les paramètres du projet et que vous tapez des fréquences d'images, j'aime bien remplir ces vidéos
avec toutes sortes de connaissances. Je pourrais utiliser une fréquence d'images fixe. instant, il est réglé sur 30. Il n'y a pas de bouton Enregistrer
ici. Et maintenant, si je devais
revenir à mon éditeur de niveaux, ils montrent que je cours
actuellement à 30 images par 2,33e, 33 millisecondes, ce qui va
annuler ce que je viens de faire. coche d'événement
déclenche donc chaque image. Faisons quelque chose avec nos événements à l'intérieur de
notre Level Blueprint. Laisse-moi juste
le déplacer ici. Et je vais ajouter, nous allons ajouter un ennemi à notre niveau. Ce n'est pas un ennemi fantaisiste, mais ici, dans mon navigateur de contenu, je vais
me retrouver dans mon dossier mannequins, mon dossier de maillages. Vous pouvez placer n'importe quoi
dans votre niveau ici. Il va représenter un ennemi
simple, stupide et
qui ne fonctionne pas. Je vais faire glisser et déposer ce Quinn simple dans mon niveau. Une fois cette
option sélectionnée, je vais
revenir à mon plan de
niveau. Je vais maintenir la touche R
enfoncée clic gauche pour créer une référence à notre simple ennemi Quinn,
si vous voulez. Et hors de la coche de l'événement, je vais m'éloigner de
cela et je vais taper est valide. Je veux cette version avec point d'
interrogation. Je vais vérifier si les objets
que j'ai saisis ici, mon ennemi est valide. C'est-à-dire, est-ce qu'il existe ? Et s'il n'existe pas, c'
est-à-dire qu'il a été détruit. Nous allons le faire une fois. Qu'est-ce qu'on va faire une fois ? Eh bien, nous allons
émettre un son indiquant qu'il
a disparu, au revoir. Nous allons jouer un son 2D, et nous allons jouer un
son de confirmation VR confirmé q. Maintenant, si nous
allons procéder à cette vérification pour voir s'il est valide ou non. Nous devons trouver un moyen
de détruire cet acteur. Nous devons le détruire afin qu'il soit vérifié qu'
il n'est pas valide. N'oubliez pas que ce tick d'événement
va se déclencher toutes les secondes. Je vais donc cliquer avec le bouton droit de la souris
et un espace vide ici et nous allons faire les quatre touches. En dehors des quatre touches, je vais faire glisser
notre clic gauche vers le bas pour faire apparaître une autre référence
à notre Quinn simple. Et je vais m'éloigner
de ça et taper Destroy Actor. Bon ? L'idée ici est que chaque image que nous
allons vérifier pour voir si le symbole
Quinn de notre ennemi est valide ou non. S'il est valide, c'
est-à-dire qu'il existe, nous n'allons rien faire. S'il n'est pas valide, c'
est-à-dire qu'il est détruit. Une fois, nous allons
jouer ce son et c'est ainsi que nous allons
détruire cet acteur. Cette évaluation n'est donc pas valide. Très bien, allons-y
et jouons. Et vous pouvez voir que le tick d'événement
se déclenche à chaque image, mais il ne
dépasse pas ce qui est valide car il
vérifie continuellement qu'il est valide, oui, il existe dans notre niveau. Cependant, une fois que j'ai appuyé sur
la touche F4, c'est parti. Elle a été détruite. Et vous pouvez voir comment nous avons
joué ce son une fois. C'est donc un
exemple parfaitement légitime d'utilisation de la coche d'événement. Maintenant, une chose que je tiens à
souligner ici est que vous pouvez modifier le taux de ticks. Maintenant, si notre jeu
le lance à 120 images par seconde, tick d'
événement va se
déclencher 120 fois par seconde. Maintenant, si je clique sur le bouton par défaut de
ma classe juste ici, je peux modifier l'intervalle de ticks. Et encore une fois, il indique en secondes, la fréquence en secondes à laquelle la fonction tick
sera exécutée. Il n'est donc pas nécessaire de
tirer toutes les images. Je peux lancer ça
toutes les deux secondes, toutes les trois secondes, j'
y vais toutes les cinq secondes. Cela va être un exemple un
peu extrême. Mais dès que
j'aurai détruit mon acteur, il ne jouera pas
ce son immédiatement. Allons-y et
essayons-le. Je vais cliquer sur Play. Je vais appuyer sur la touche F4
pour détruire notre acteur ici. Et puis finalement, il a joué le son un peu
en retard par la suite. Et c'est parce qu'
il ne fait que tic-tac, il ne déclenche ce tick d'
événement que toutes les cinq secondes. C'est ainsi que vous
pouvez modifier votre tick d'événement. Voici maintenant un autre cas d'
utilisation pratique du tick d'événement. Avoir quelque chose tourne pour faire face à une
autre chose tout au long d'un jeu, comme cette chaise, parce qu'évidemment vous auriez une chaise qui fait tourner le visage
du joueur tout le temps. Maintenant, imaginez s'il s'agissait d' une caméra de
sécurité ou d'un regard de tourelle
abattu dans le
joueur et que vous vouliez attirer le joueur. Vous pouvez faire en sorte que
chaque image
change de rotation ou
de recadrage. Maintenant, si vous voulez jouer le jeu
à la maison et voir comment j'ai fait, j'ai simplement placé une chaise
en filet statique dans mon niveau. Vous pouvez trouver quand ils se trouvent
dans ce répertoire, j'ai changé la mobilité de cette chaise sélectionnée en une chaise
mobile dans le panneau Détails. Et puis dans mon Level Blueprint, voici mon script pour l'
avoir assemblé. Vous obtenez une référence
à votre fauteuil en le sélectionnant, maintenant la
touche Alt enfoncée et en cliquant avec le bouton gauche de la souris. Et ce que je fais
ici , c'est que je dis « déteste partager ». Je veux que vous
regardiez ce lecteur et que vous mettiez
à jour
sa rotation à chaque image. Maintenant, nous n'avons même pas
parlé des deltas secondes ici. Alors laissez-moi, je vais d'abord mettre ça
à l'écran, nous allons faire glisser ici,
aller imprimer la chaîne. secondes delta sont le temps
écoulé entre les images. Revenons donc à mon éditeur de niveau
ici, nous fonctionnons à 120 images par seconde, soit 8,33 millisecondes. Donc, si je joue ceci, cela devrait montrer que le
temps entre les images est 0,0083 seconde parce que nous fonctionnons à 120
images par seconde. 120 fois ce nombre
équivaut à une seconde complète. Voilà ce que vous avez. Vous pouvez également remarquer
qu'en haut à droite, il n'affiche pas mes images par seconde pendant que je joue, même si c'est le
cas dans l'éditeur de niveau, la façon dont nous pouvons obtenir nos images
par seconde apparaître dans notre fenêtre de jeu, il suffit
d'appuyer sur la touche Tilda. C'est celle qui se trouve à gauche de la touche unique de la plupart des
claviers en haut à gauche. Cela va faire apparaître
une petite barre de console, si vous voulez, en bas, si je tape stat
FPS et que j'appuie sur Entrée. Maintenant, affichez votre fréquence d'images
en haut à droite. C'est bon à savoir. Vous pouvez maintenant utiliser la sortie des secondes
Delta dans des
calculs qui déterminent la mesure dans laquelle
un acteur donné, comme une plateforme, doit
déplacer chaque image. De cette façon, vous pouvez utiliser les sorties
Delta secondes pour déplacer une plate-forme de la même quantité,
quelle que soit la fréquence d'images. C'est un
peu plus avancé. Je ne vais pas
entrer là-dedans, mais juste vous
donner un aperçu rapide
de ce que secondes
Delta peuvent être utilisées plupart du temps, vous n'
en aurez pas besoin. Enfin, au tout
début de cette vidéo, j'ai mentionné
combien il
faut faire attention à l'utilisation de l'authentique. Parce que si vous ne l'utilisez
pas correctement, vous risquez de détruire les fréquences d'images de votre
jeu. Je vais donc vous
montrer ce qu'il ne faut pas faire à l'intérieur de mon personnage BP
ThirdPersonCharacter. Vous pouvez trouver ce
modèle de personnage ici dans ce répertoire dans
votre navigateur de contenu. À l'intérieur, j'ai
préparé un script à l'avance. On n'est plus sur le point d'événement. Je suis simplement en train de transformer
mes acteurs. C'est là que ce
ThirdPersonCharacter
va être localisé et
pivoté dans le monde. Je vais ensuite créer
un feu d' effet de plan
que j'ai placé juste ici. Il s'agit d'un acteur
de spawn issu du nœud de classe. Et de cela, ce que j'ai simplement fait, c'est que je
me suis débarrassé de ça et je retire le composant
audio feu de ce plan. Je dessine juste ce composant
dès que je l'ai généré dans chaque tick ici, dans chaque image. Parce que sinon
le son pour ça devient vraiment ennuyeux,
très vite. Notez donc qu'une fois que
je clique sur Play here, ma fréquence d'images sera détruite. Cela va passer de
120 images par seconde à 20 assez rapidement
ici. Alors allons-y. Regardez en haut à droite. Remarquez qu'il génère
un effet de feu partout où se trouve mon
personnage, à chaque image. Et vous pouvez voir à
quel point cela nuit
à la fréquence d'images. Et encore une fois, si je vais dans
ma classe par défaut ici et que je règle mon taux de
ticks sur quelque chose comme, oh, allons-y,
réglons-le toutes les trois secondes. C'est peut-être quelque chose
qui pourrait être acceptable. Donc maintenant, au lieu de
déclencher toutes les images par défaut de
ma classe, je dis, hé, authentique ne se
déclenche que toutes les trois secondes. Et en faisant cela, vous pouvez
voir que ma fréquence d'images
va rester assez
stable au moins pendant un certain temps, parce que je ne produis cet effet de particule
que
toutes les trois secondes. Donc, si vous allez utiliser des événements cochez la case et vous
n'avez vraiment pas besoin générer quelque chose, de faire pivoter
quelque chose ou de faire quelque chose. Chaque image est comprise dans les valeurs par défaut de la classe et définissez votre intervalle
de tick sur un certain nombre. Eh bien les gars, ça va faire tout pour celui-ci pour l'événement tick. Nous vous verrons dans le prochain.
27. Entrées d'événement: Dans cette vidéo, notre objectif est de
montrer comment nous pouvons
utiliser les événements d'entrée. L'un des événements les plus
courants utilisant le
jeu pour lancer
un peu de script. Maintenant, lorsque nous
parlons d'événements d'entrée, nous parlons de choses comme les pressions de
touches sur le clavier. Il peut s'agir d'
appuis sur des boutons comme le bouton a ou B d'une manette
traditionnelle. Ou cela peut être quelque chose
comme toucher un appareil, un téléphone portable ou un iPad, ce genre de choses. Euh, en général, ces
événements d'entrée sont simplement enregistrés. Tu l'as appuyé ou tu
l'as relâché ? Les événements d'entrée ne doivent pas être
confondus avec les événements d'accès, qui peuvent être lus dans une plage de valeurs, comme vos joysticks gauche
ou droit sur un
clavier de contrôle traditionnel peuvent indiquer si votre personnage se déplace peu ou si vous
essayez de courir avec eux. Les événements d'accès sont donc
différents des événements d'entrée. Dans l'exemple que je vais
vous montrer, nous allons faire en sorte que le fait
d'appuyer sur un bouton fasse sprinter notre personnage
joueur. Ensuite, relâcher ce
bouton nous
ramène à notre vitesse normale de
locomotion. Je vais utiliser notre ThirdPersonCharacter
pour cette vidéo. Donc, si vous voulez
jouer le jeu à la maison, il se trouve dans le dossier Blueprints à la
troisième personne du contenu. C'est là que vous pouvez
trouver ce plan. Double-cliquez
dessus pour l'ouvrir. Et à l'intérieur, vous pouvez
voir que nous
avons déjà utilisé certains événements d'entrée. Plus précisément, j'
utilise la touche fléchée mon clavier pour envoyer une trace de
ligne dans le monde. Et là-haut, j'
utilise la touche cinq pour masquer ou afficher mon plan de widget HUD que je suis en train de créer
au début de la lecture. Si je me déplace un peu vers la
gauche, il y a
d'autres événements d'entrée qui étaient ici par défaut. Nous avons un saut d'
action d'entrée qui
est défini dans les paramètres de votre projet et je vais vous montrer comment
le faire et juste un peu. Et nous avons également
une entrée tactile. Donc les deux font sauter
ou arrêter de sauter
notre personnage. Très bien, je vais ajouter ce script de sprint juste à droite
de nos scripts sautés. Donc, en cliquant avec
le bouton droit de la souris dans un espace vide, je vais taper
le mot clavier pour trouver tous nos différents événements
clavier. Et tu peux lier ça
à n'importe quelle touche, comme je vais le
faire avec la touche L. Et je vais également organiser un autre événement. Je vais faire un clic droit
et un espace vide. Et je vais faire une recherche pour
une manette de jeu, un bouton visage, en bas. Comme vous le savez, les manettes PlayStation et
Xbox sont quasiment identiques. bas du bouton de la manette
correspond donc Le bas du bouton de la manette
correspond donc au bouton x la manette PlayStation, ou je crois que c'est
le bouton a de la manette Xbox. Vous connaissez la
configuration en losange sur le côté droit. Ils les ont donc nommés
plutôt agnostiques, afin de ne pas appeler un
contrôleur en particulier ou un autre. Que
voulons-nous arriver lorsque
nous appuyons sur la touche L d'un clavier ou que nous connectons une
manette de jeu à votre ordinateur ? Eh bien, nous allons récupérer notre
composant de mouvement de personnage ici, parce que si nous sélectionnons notre composant de déplacement de
personnage, vous pouvez voir que
nous avons de nombreuses propriétés
différentes que
nous pouvons modifier à propos de cela, y compris notre vitesse de marche maximale, c'est ce
paramètre ici même. Cela détermine la vitesse à laquelle notre personnage se déplace
dans le monde entier. Je vais donc faire glisser notre contrôleur de mouvements de
personnage
ou notre composant de mouvement de personnage, pas notre contrôleur. Pour cela, je vais
traîner et je vais dire que c'est régler la vitesse de marche maximale. Encore une fois, cela
va nous permettre de
modifier notre vitesse de marche maximale. Et je vais appuyer sur
Control C et copier ce Control V pour le coller. Comme ça. Et donc, lorsque j'appuie sur la touche L et que je relâche la touche L, tout le
monde voudrait que notre vitesse de marche maximale soit. Eh bien, vous pouvez voir
que
ma vitesse de marche maximale est actuellement fixée à 500. Je vais dire que
quand je le sortirai, je veux qu'il soit ramené à 500. Mais quand je veux sprinter, je vais régler
ça à quelque chose
comme 3 000 quelque chose d'un peu fou. Maintenant, je n'ai pas non plus le bouton de la face de
ma manette de jeu
connecté à cela. Mais je peux, je peux faire en
sorte qu'en appuyant sur la touche L ou sur le
bouton situé en bas d'une manette de jeu, je puisse régler notre
vitesse de marche maximale à 3 000. Ou si je relâche l'alcène ou que je
relâche le bouton de la face inférieure, je peux régler notre
vitesse de marche maximale à ce qu'elle était. Cliquez avec le bouton gauche de la
souris, faites glisser, appuyez sur la touche C. Voici mon script Sprint. Compilez ceci pour vous assurer que le script est bon. Ensuite, allons-y
et configurons le clic Jouer. Et je vais définir notre option de débogage ici pour être notre
ThirdPersonCharacter. Permettez-moi de revenir sur cette fenêtre de
jeu une fois de plus. D'accord, vous pouvez donc voir que nous avons appuyé sur Shift en F1 pour baisser un peu
ça. Maintenant, vous allez pouvoir
voir quand j'appuie sur la touche L, ce script se déclenche. Et quand je le
relâcherai,
ma vitesse de marche maximale sera rétablie. Donc WFISD pour se déplacer, maintenant la touche L enfoncée, se déplaçant beaucoup plus vite, en la
relâchant. Ça va beaucoup plus lentement. Très bien, ce n'est pas l'idéal. J'ai deux événements
d'entrée distincts qui font essentiellement
la même chose. Et ils ne sont pas
très descriptifs. J'ai un L, une touche et un bouton de
manette de jeu en bas, faisant
essentiellement
la même chose. Y a-t-il un moyen de simplifier cela ? Et la réponse est oui, c'est possible. Ce que nous allons faire, c'est revenir à notre éditeur de niveau principal. Et dans les paramètres, les paramètres
du projet, nous allons nous placer sous le côté gauche et
sélectionner la catégorie d'entrée. Et ici, nous pouvons créer notre propre
mappage d'action, des événements d'entrée. Nous avons des mappages d'accès
ou des mappages d'actions. Il est très important
que vous le fassiez dans les mappings d'action. Maintenant, si je développe ce
triangle juste ici, nous pouvons voir qu'un événement d'entrée de
mappage d'action existe
déjà appelé jump. Et c'est intéressant
parce que si nous revenons à notre personnage à la troisième personne, revenons à notre prise de saut, nous avons un nœud d'événement
appelé saut d'action d'entrée. Cela est dû au fait que dans
les paramètres de notre projet, nous avons créé un mappage d'action de saut qui
est un nœud d'événement nommé jump. Et actuellement, si je
développe cela, je peux voir que deux entrées
demanderont que cette
action de saisie se produise. Une barre d'espace sur votre clavier ou le
bouton situé en bas de la manette de jeu. Nous allons donc ajouter un
nouveau mappage d'action ici. Cliquez sur ce bouton plus pour
ajouter un nouveau mappage d'actions. Et nous allons lui donner
le nom que nous voulons. Je vais appeler les miens « sprints ». Et je vais dire, ça
va être lié à la touche L. Ou en cliquant. Je peux en ajouter autant
que je veux. Je vais faire en sorte
que la manette de jeu, le bouton «
Let's do Face », d'accord ? Bien sûr.
Bouton de la manette de jeu, c'est ça l'autre de ces
pressions sur
la touche L ou sur les droits du bouton de la manette de jeu permettrait à notre
personnage de sprinter. Il n'y a plus de bouton Enregistrer
ou quoi que ce soit ici. Avec cela créé,
je peux revenir à notre
plan de personnage de troisième personne. Je peux maintenant cliquer avec le bouton droit dans un espace vide et
taper le mot sprint. Et il trouvera notre nouvel événement d'action que nous
venons de créer, appelé Sprint. Pour nommer le sprint
d'action d'entrée de nœud, je peux maintenant supprimer
ces deux nœuds, les
connecter ainsi. Et si je devais sauter et jouer
à nouveau, W, a, S et D pour me déplacer en
maintenant la touche L. Et vous pouvez voir que
je suis en train de sprinter, relâche progressivement,
lentement vers le bas. Maintenant, la prochaine chose très
importante à prendre en compte à propos des événements d'entrée est que même si vous pouvez les ajouter à une multitude de types de Blueprint, ne
les déclencheront pas tous par défaut. Cependant, certains le feront. Si vous deviez ajouter des événements d'entrée
à votre plan de niveau, cela s'exécuterait comme prévu. Vous appuyez sur la touche Z,
ce
niveau de chaîne sera affiché à l'écran. Il le fera également pour les plans de
personnage et de pion. Donc, si j'appuie sur la touche X dans mon
plan ThirdPersonCharacter, il va également l'imprimer
. Il le fera également pour les plans de
contrôleur de joueur. Et maintenant nous
parlerons de cela plus en détail plus tard dans
le cours. Mais dans
les paramètres de mon projet, juste ici, sous cartes et modes
player controller, c'est le type
de plan dont je parle. Vous pouvez utiliser
des événements d'entrée dans le
plan du contrôleur de joueur sans aucune configuration particulière. Cependant, dans quelque chose comme un plan de classe d'acteur comme l'exemple de
BP, ramassez ici. Si je devais appuyer sur la touche C, l'une d'entre elles dans mon niveau, cela ne serait pas imprimé à l'écran. Donc juste pour vous montrer cela, laissez-moi cliquer sur Play, en cliquant sur ma fenêtre
ici pour l'activer, je vais appuyer sur la touche Z. Vous voyez ce niveau de texte
s'afficher en haut à gauche. Si j'appuie plusieurs fois sur la
touche X, vous voyez que les textes sont imprimés. Cependant, si j'appuie sur la touche C, les textos censés dire « ramasser ici » en
haut à gauche, cela ne s'imprimera pas. Et cela est dû au fait que les plans de classe d'
acteurs ne sont pas configurés pour enregistrer les événements d'entrée. Par défaut,
vous pouvez toutefois modifier cela dans la classe
par défaut de ce Blueprint. Donc, si je sélectionne les valeurs par défaut de ma classe ici sur le
côté droit, j'ai une catégorie
appelée input. Et comme la réception automatique de l'entrée
ici est actuellement désactivée. Cependant, si je change
cela en joueur 0 parce que j'
ai actuellement une partie solo. Cela fera en sorte que maintenant,
lorsque j'appuierai sur la touche C, cela
s'affichera à l'écran. Allons-y et essayons-le. Maintenant, lorsque j'appuie sur la touche C, vous pouvez voir que la capture de textes est
maintenant imprimée
à l'écran. Maintenant, il est intéressant de noter
ici qu'ici, dans valeurs par défaut de
ma classe,
j'ai dû changer cela dans mon plan de classe d'
acteur. Pour que l'
entrée de réception automatique soit le joueur 0. Si vous regardez
quelque chose comme
votre ThirdPersonCharacter
Class default et vous allez dans la section input. Il indique également que l'entrée de
réception automatique est également
désactivée. Cependant, encore une fois, des plans de
personnage et de
classe des plans de
niveau et un plan de
contrôleur de joueur. Ils les
enregistreront par défaut, même si cela est un
peu trompeur en
disant que l'
entrée de réception automatique est désactivée. Ensuite, nous devons parler de la
façon dont Unreal donne
la priorité au même événement d'entrée lorsqu'il est
utilisé dans plusieurs plans. Et pour illustrer cela
dans mon plan de niveau, j'utilise la touche X
pour imprimer une chaîne. J'utilise également l'entrée x à l'intérieur de mon
personnage à la troisième personne maintenant. Et je l'utilise également à l'intérieur
de mon micro d'exemple BP. Eh bien, il est connecté
dans trois domaines. Donc, si je clique sur Lecture
et que j'appuie sur la touche X, laquelle
va-t-elle donner la priorité ? Et vous pouvez voir que c'est donner la priorité mon acteur au
plan de classe ici, parce que j'ai activé dans paramètres par défaut de
ma classe que je recevrai des informations
du joueur 0, moi, le joueur prêteur. La priorisation
se déroule donc comme suit. Si vous avez une configuration
comme celle-ci utilisant la même entrée après le cours, BP seront priorisés en premier, suivis des plans de contrôle ou de
contrôleur de joueur que plans de contrôleur de
niveau et puis des plans
de contrôleur de personnage. Maintenant, que se passe-t-il si deux plans du
même type reçoivent des entrées ? Eh bien, dans ce cas, nous prendrions en compte cette priorité d'entrée
plus élevée. Maintenant, pour démontrer cela, je vais décrocher Juste pour que ce
soit parfaitement clair,
la touche X à l'intérieur de mon ThirdPersonCharacter
et à l'intérieur de ma carte de test. Et maintenant j'ai mon exemple
de pick-up connecté à la touche X. Et j'utilise également mon exemple de
script de construction BP à l'intérieur d'ici. Je vais également brancher ma touche X pour
imprimer cette chaîne. Notez également ici les valeurs par défaut
de ma classe. J'ai configuré sous la zone de
saisie pour le joueur 0, c'
est-à-dire que je dois
recevoir des informations ici. Actuellement, les deux sont
définis sur la priorité d'entrée 0. Priorité d'entrée 0, ça y est. Lequel est-ce
que ça va montrer ? Est-ce que ça va montrer ce
pick-up ou est-ce que ça va montrer le script de construction ? Eh bien, si je le joue en appuyant sur X, il va donner
la priorité à celle à laquelle j'ai ajouté
cette entrée x. Plus récemment. Comment ça se passe ? Si je devais aller dans
mon exemple de collecte et changer la priorité
sur un nombre plus grand, quelque chose de plus élevé que ce qui est
dans le script de construction. Ça peut être un,
ça peut être 100, ça peut être 5 000. Bien sûr, allons-y 5 000. Il devrait maintenant imprimer Pickup dès que
j'appuie sur la touche X. Allons-y. Enfin, une autre chose que
je voulais ajouter à propos événements
d'entrée dans vos graphiques est
que si vous avez sélectionné ce nœud, certaines options dans vous
pouvez manipuler certaines options dans
le panneau Détails. Il s'agit d'un moyen rapide de
modifier la touche de saisie ici. Vous pouvez également ajouter un modificateur. Ainsi, au lieu d'appuyer sur la touche X, vous pourriez être
obligé d'appuyer sur les touches Alt et X
en même temps pour que
quelque chose se produise. Mais celui dont je voulais vraiment
parler et que j'ai
appris par essais et erreurs était cette
exécution lorsque les options Pause. Beaucoup de jeux, vous l'avez
configuré de telle sorte que si vous appuyez sur
un certain bouton, vous pouvez mettre le jeu en pause. Ensuite, si vous
voulez le remettre en pause, vous devez appuyer sur ce même bouton. Nous allons vérifier cette configuration. Je dois y aller. Je l'ai
configuré pour que lorsque j'appuie sur la touche X, je mette le jeu en pause. Et puis quand j'ai
relâché la touche X, je suis censé le remettre en
pause et le jeu, mais regardez ce qui se passe ici. Je vais continuer
et cliquer sur Play. Vous pouvez voir ce ramassage
de santé
tournant ici qui va vraiment montrer que le jeu
est en pause ou non. J'appuie sur la touche X
et tout s'arrête. J'ai relâché la touche X et
tout reste en pause. Et la raison en
est que je n'autorise pas cet événement à continuer à être exécuté lorsque
le jeu est en pause, c'est actuellement réglé sur false. Donc, si je veux que
cela
continue à s' exécuter même
pendant que le jeu est en pause, je vais cocher cette case. Ainsi, lorsque j'appuie sur
la touche X maintenant, le jeu est mis en pause. Cependant, quand j'ai
relâché la touche X, jeu sera réinitialisé car
il s' exécutera
également lors de la pause. On y va, en maintenant x
enfoncé, on le met en pause et maintenant
je vais libérer ECS. Et cela a également
déclenché cette pression, ou dans ce cas, le
relâchement de la touche X. Donc voilà les
gars qui vont
tout faire pour celui-ci à
propos des événements d'entrée, nous vous verrons dans le prochain.
28. Axe d'événement: Bon retour à tous. Dans cette vidéo, notre
objectif est d'apprendre ce que
sont les événements d'accès dans Unreal, comment nous pouvons les créer, comment nous pouvons les utiliser. En réalité, notre plan de
personnage
contient déjà des événements
d'accès et fonctionne. Allons-y et
vérifions-les. abord, en entrant dans dossier
Blueprints à la troisième personne de
votre contenu, vous trouverez votre personnage BP
ThirdPersonCharacter. Double-cliquez dessus
pour l'ouvrir. Et c'est là que nous nous sommes arrêtés créer notre événement de saisie de sprint, ces événements d'entrée d'action. Et cela avait déjà
sauté l'événement d'action d'entrée que les bonnes personnes Epic Games avaient déjà
inclus avec cela. Plus haut, vous trouverez quelques événements d'axe et cela est
même indiqué dans le nom. Nous avons un événement d'axe d'entrée pour avancer et reculer, un pour le déplacement à gauche et à droite. Cela permet de contrôler les mouvements de notre
personnage. Et puis ici, nous avons quelques événements d'axe d'entrée de
caméra, un pour la manette de jeu, et un autre ici sur PC
pour vous, une souris folklorique. Cela détermine le mouvement de notre
caméra vers la gauche et la
droite et vers le haut et vers le bas alors que
nous la déplaçons tout autour. Maintenant, d'où viennent ces
événements de l'axe ? Eh bien, si vous vous souvenez de
notre dernière vidéo, dans les paramètres
de notre projet, nous pouvons créer non seulement des événements d'action d'entrée, mais également ces événements
d'axe d'entrée. Je vais donc passer
sous mon bouton d'édition en haut à
gauche de l'éditeur. Il s'agit d'un autre moyen
d'accéder aux paramètres du projet. À l'intérieur des
paramètres de votre projet l'option d'entrée à l'extrême gauche. Comme vous pouvez le voir, nous avons des mappages
d'actions que nous avons
traités dans la dernière vidéo. Et ici, nous avons les mappages
d'
accès ici tous
les noms des différents événements d'axes qui existent actuellement
dans notre éditeur. Maintenant, si je développe l'un
de nos événements d'axe ici, je peux voir que je peux lier non seulement les boutons du clavier à
un événement d'accès nommé donné. Je peux également acheter des entrées
de contrôleur similaires aux
mappages d'action d'entrée que nous avions
dans la dernière vidéo, comme notre saut et notre sprint. Maintenant, nous parlerons signification de
ces valeurs d'échelle un
peu plus loin ici. Mais avant même d'en venir à cela, définissons ce qu'est un événement d'
axe,
c'est en quoi cela
diffère d'un événement d'entrée, l'un de ces événements
d'entrée d'action, eh bien, la principale différence est accès Les événements sont des événements qui
sont déclenchés en continu , c'
est-à-dire qu'une fois par image pour
vraiment faire ressortir ce point, passons à notre plan de personnage à la troisième
personne. Et si je fais un
petit zoom arrière ici et que je clique sur Jouer, vous pouvez voir que mes différents événements d'accès
se déclenchent sans arrêt. Et il le faut parce que
s'il doit
gérer le
mouvement de notre personnage en tant que tel, il doit mettre à
jour notre mouvement chaque image en
avant et en arrière, gauche et à droite, ainsi que
la caméra mouvement vers la droite. Une autre caractéristique déterminante des événements
d'accès est qu'ils peuvent générer en
valeur d'axe et que cela est lié. Si je reviens aux paramètres de notre
projet, ces valeurs d'échelle que vous voyez sur le côté droit
des différentes entrées. Pour w, nous avons une échelle de un, et pour S une
échelle négative de un. Maintenant, pour les voir en jeu, laissez-moi revenir dans mon personnage de troisième personne
BP. Et je vais
modifier légèrement ce script ici. Je vais cliquer avec le bouton droit de la souris
et un espace vide et taper une chaîne d'impression. Et je vais
prendre notre axe d'entrée, avancer et reculer, le faire passer par là. Et je vais sortir la
valeur de l'axe. Il va convertir
ce flotteur en chaîne, et il va l'imprimer
à l'écran. Allons-y et faisons-le maintenant. Et vous pouvez voir une fois de plus, cela déclenche chaque image
sur le côté gauche, vous voyez une valeur
de 0 parce que je n' appuie ni sur W ni sur S. Maintenant, quand j'appuie sur la touche
W pour avancer, regardez sur le
côté gauche de ma fenêtre de jeu. Vous voyez toutes ces
valeurs changer en une seule. La valeur de mon axe est un. Lorsque j'appuie sur la touche Echap, tout devient négatif. Maintenant, sur un clavier, c'est
tout ou rien, non ? Il n'y a pas de dégradé
comme vous pouvez l'obtenir avec un stick analogique
où vous pouvez
juste le déplacer un peu. Sur un clavier. Il n'y en a qu'un. Donnez-moi tout cela pour l'
avenir, ou le contraire d'un, qui est négatif. Nous utilisons les valeurs
de un et de moins
un pour signifier une
chose qui va de l'avant, ou l'inverse de cette
chose dans ce cas, qui revient en arrière. Maintenant, si tout cela est
un peu déroutant, vous pouvez passer la souris sur
cette valeur d'échelle sur ce nœud de fonction pour
ajouter une entrée de mouvement. Et ils peuvent
vous dire qu'il peut également être utilisé pour les entrées analogiques. Il n'est pas nécessaire qu'il s'agisse d'un
seul ou d'un négatif. Ces paramètres d'échelle
ne font que déterminer la plage. Et vous pouvez avoir une gamme
avec un stick analogique, alors que vous ne pouvez pas l'avoir
avec les événements clavier. Maintenant, j'ai actuellement un contrôleur connecté à mon ordinateur pour le démontrer. Laisse-moi revenir ici. Cliquez sur Play. Et maintenant, je vais utiliser ma manette Xbox et appuyer légèrement vers l'
avant avec le
joystick gauche. Et vous pouvez voir que
la valeur est de 0,08. Et alors que je le pousse de plus en plus vers l'
avant, cela me permet de me
rapprocher d'un. Alors que si je tire légèrement vers
le bas sur le joystick, et puis de plus en plus, cela me
rapproche de mes autres bornes, qui sont négatives. Le stick analogique me permet
donc d'aller quelque part entre moins 11. Maintenant, pour insister davantage
sur ce point, j'
ai un graphique ici pour vous. En regardant une vue plongeante, vue haut en bas de notre personnage. C'est notre joystick gauche. Dans les paramètres du projet
sous nos mappages d'accès, nous définissons notre w pour avoir une valeur d'échelle de un. C'est
aussi loin
que possible, cela équivaut à ce que vous
avanciez aussi vite que possible. De l'autre côté. Notre touche S a une valeur, une valeur d'échelle négative un, c'est-à-dire l'opposé de un, dans ce cas dans
le sens inverse. Encore une fois, sur un clavier, si vous appuyez sur W, il
n'y a pas, pas d'intermédiaire ici. Vous allez soit de 0. Je ne vais pas aller jusqu'à un seul, je vais de l'avant
et à toute vitesse. Si j'appuie sur la touche S, cela signifie que je
recule à pleine vitesse. Il n'y a pas d'
intermédiaire, cependant, avec le joystick
gauche, vous pouvez faire en sorte
que vous puissiez simplement déplacer un
peu vers l'avant et vous rendre à
mi-chemin de votre limite
de un ou de moins 0,5 à vos limites de moins un dans
le sens inverse. Maintenant, il convient de
noter ici que vos valeurs d'échelle ne doivent pas nécessairement aller de un à un négatif. Vous pouvez définir
d'autres valeurs d'échelle, mais il s'
agit souvent de la plage définie. Très bien, ensuite,
créons quelques événements
d'accès que
nous pouvons utiliser. Je vais donc cliquer sur ce
bouton plus sous Mappages d'accès, assurez-vous de ne pas le
faire sous Mappages d'actions. Et laisse-moi réduire mon
mouvement en avant et en arrière. Je vais nommer ce
premier compagnon. Déplacez-vous horizontalement. Et je vais régler
ça sur ma touche L. Nous allons faire des
événements clavier qui feront L, la touche L. Et l'échelle pour ça
va être encore 11 fois. Je vais régler le contraire
de ceci pour être la touche J. Et il y aura
une échelle négative de un. Ensuite, je vais ajouter un autre
axe de cartographie ici. Cela s'appellera
compagnon, déplacez-vous verticalement. Et nous allons
régler ça pour avoir le icky avec l'
échelle réglée sur un. Et le contraire de
cela sera la
touche K et définira l'échelle pour
cela sur moins un. Maintenant, ce que nous allons
faire ici est d'
ajouter un composant à notre
ThirdPersonCharacter. Et en utilisant ces mappages d'accès, nous allons pouvoir
déplacer cet objet. Ce sera une simple sphère. Donc compagnon, déplacez-vous horizontalement, compagnon et déplacez-vous verticalement. Nous l'avons configuré dans les paramètres de
notre projet dans la catégorie Entrée Revenons à
notre ThirdPersonCharacter. Et la première chose que nous
allons faire avant même traiter les événements d'accès
que nous venons de créer. Nous allons ajouter un composant. Cliquez donc sous composants, nous allons ajouter un composant. Nous allons ajouter des composants sphériques
simples. Maintenant, dans le panneau Détails
, passons d'
abord
à la fenêtre d'affichage pour voir cette sphère, c'
est-à-dire une
énorme sphère géante. Je vais d'abord
réduire le barème. Je veux fixer une note uniforme. Alors allons-y et cliquons sur ce bouton de verrouillage pour que si je
change l'une de ces valeurs, 2.5, cela changera
les trois. C'est ce que fait cette icône de cadenas. Je vais également définir
l'emplacement sur 20 sur
l' axe des abscisses. Juste aussi, mets-le juste un peu
devant notre personnage. Maintenant, je vais également
créer deux variables pour nous aider avec le script que nous allons écrire
ici. Le premier sera lié aux
variables et il sera appelé taux
horizontaux d'accompagnement. Et il s'
agira d'une variable flottante parce que ce sera
une valeur décimale. Je vais
cliquer dessus avec le bouton droit de la souris. Je vais dupliquer
ça et
ça s' appellera « compagnon ». Taux verticaux, mips un peu
mal orthographiés. Et si je compile, je peux définir certaines valeurs
par défaut ici. Je vais donc fixer mes taux
horizontaux à dix. Et je vais également cocher
cette case, par exemple, modifiable qui entrera en
jeu ici un peu plus tard. Et je ferai de même pour mon
compagnon Vertical rate. Je vais également régler ça à dix. Cochez également cette case, par
exemple, modifiable. Et allons-y
et sauvegardons ça. Ensuite,
créons un script
dans notre graphe d'événements en utilisant les événements d'axe
que nous venons de créer. Donc, en passant un peu à
gauche ici, faisant un clic droit
et un espace vide, je vais taper
et me déplacer horizontalement. Et il y a mon événement d'axe pour
compagnon, se déplacer horizontalement. À présent, ne vous méprenez pas entre
les valeurs des axes et
les événements de l'axe. Nous voulons que le compagnon se déplace horizontalement avec une petite icône de
flèche juste là. Boum. Maintenant, je vais cliquer avec le bouton droit de la souris
et nous allons taper move vertical, vertical. Cette petite icône en forme de flèche vers la droite
indique également dans les événements. Très bien, et ce que nous voulons
faire, c'est déplacer notre sphère ici un
peu à chaque image. Allez-y, faites-le glisser et
déposez-le dans notre graphique. Juste ici et en bas. Et je vais faire glisser
hors de notre sphère et taper add relative location. Nous voulons donc mettre à jour
l'emplacement de cette sphère, à chaque image. Je vais le brancher
tout de suite. L'emplacement du delta
est la mesure dans laquelle nous
voulons modifier notre position relative. Pour ce faire, je
vais faire glisser la valeur de nos axes et faire une
recherche pour un nœud de multiplication. Je veux le multiplier par
nos différents taux ici. J'aurais vraiment pu faire
une seule variable ici et appeler ça juste un tarif compagnon. Mais juste pour jouer gentiment ici, je vais brancher
notre compagnon et taux
horizontal
directement là-dedans. Et puis je vais
reculer de cet emplacement delta et
taper make vector. Nous recherchons un nœud
make vector. Encore une fois, cette valeur
de vecteur recherche un x, un y et un z. Nous voulons uniquement modifier l'
emplacement de ces événements d'axe. Sur l'axe Y, nous allons le déplacer horizontalement. Donc l'axe des Y, l'
axe des Y, cette flèche verte. Donc ça va être les scripts. Et nous allons faire de
même ici. Je vais copier et coller
ces trois nœuds ici, 123
les mettant en évidence tous les trois, contrôle C, contrôle V. Ranger un peu
ça. La sphère est la chose que
nous faisons pour nous déplacer. Et nous devons nous assurer que nous
obtenons la valeur de nos axes ici, dans notre compagnon, dans ce cas, le taux
vertical ici. Encore une fois, nous
aurions pu simplement créer une variable appelée tarif
compagnon, puisqu'il s'agit de la même valeur. Mais je veux qu'il montre cette fonctionnalité modifiable ici
dans un petit moment. Très bien, nous
allons compiler ça. Nous allons enregistrer cela au format. Maintenant, si nous regardons en arrière dans les paramètres de
notre projet, vous pouvez voir que si nous
déplaçons les touches L et J, nous allons déplacer
ce compagnon, si vous voulez, horizontalement. Et si nous appuyons sur
le I ou le KCI, nous allons le
déplacer verticalement. Donc en revenant dans
notre éditeur de niveau ici, je vais
cliquer sur plaquette. En fait,
lançons ça à partir de notre
ThirdPerson Character. Je veux voir le
script s'activer. Alors cliquez ici pour jouer. Vous
pouvez le voir encore une fois, ils se déclenchent sans arrêt. Je devrais vraiment décrocher
cette chaîne d'impression. En fait, laisse-moi le faire maintenant. Je vais décrocher
cette chaîne d'impression de tout à l'heure parce que ça va
juste être déroutant. Très bien, je clique en cours de lecture. Ces événements sont en train de se déclencher. Vous pouvez voir cette petite
sphère devant moi. Je vais faire l'
axe de saisie, me déplacer horizontalement. Donc les touches J, K, L, comme ça. Icky et KCI
le déplacent également horizontalement. Et la raison en est
que j'ai fait cette erreur de simplement les avoir tous les deux
changeant l'emplacement y. Je vais maintenir la touche Ctrl enfoncée, cliquer avec le bouton gauche de la souris et
le brancher à l'emplacement z, ce qui
devrait résoudre ce problème. Maintenant. J et L, et I et K. Oui, vous pouvez le poser
à travers le sol. Maintenant, une caractéristique amusante ici est
que nous faisons certaine multiplication ici
pour déterminer la vitesse à laquelle nous
changeons l'emplacement
de notre sphère. Je peux revenir à
mon éditeur de niveaux. Je vais modifier
mes paramètres de place en cliquant sur ces
trois points juste ici dans la fenêtre d'affichage sélectionnée. Une fois que je fais cela,
je vais jouer
au jeu et
sélectionner la fenêtre d'affichage. Mon ThirdPersonCharacter,
qui est apparu dans le niveau ici,
apparaît maintenant dans mon plan. C'est ce que cette couleur jaunâtre indique qu'elle a été
engendrée. Et en sélectionnant cette option, je peux
rechercher un compagnon. Et je peux voir ces deux
variables que j'ai exposées à l'éditeur ici à partir de mon caractère BP ThirdPersonCharacter
en cochant cette case modifiable d'instance
sur chacune de ces variables. Maintenant, ce que cela
me permet de faire, c'est que lorsque j' appuie sur les touches R ou J et L, ou sur
les touches I et K, c'est génial. Mais en déplaçant le contrôle de gain F12, je peux modifier ces valeurs
vers le bas dans l'éditeur maintenant, donc je vais changer le taux
horizontal pour qu'il soit assez lent et le
taux vertical pour qu'il soit assez rapide. Ensuite, en cliquant avec le bouton droit de la souris ici, ma fenêtre d'affichage, J et L, elle se met à jour lentement, mais de haut en bas
va assez vite. C'est donc juste une fonctionnalité amusante
que j' ai pensé que j'allais également lancer
là-bas. Une fois que je me suis échappé d'ici, il convient de noter que ces valeurs variables
reviennent à leurs valeurs par défaut. C'est juste pour jouer avec différentes valeurs dans le jeu. Quelques autres éléments intéressants à connaître avant de terminer cette vidéo, comme avec les
mappings d'action d'entrée trouvés dans
la dernière vidéo, vous pouvez sélectionner ces événements. Et dans la
partie droite du panneau Détails, vous pouvez modifier quelques
éléments à leur sujet, y compris exécuter quand pause, je suis tombé pour parler de cela, consommer une entrée qui est également disponible sur les mappages d'
action en entrée avec ceci, s'il est défini sur true, alors cette entrée ne
fonctionnera que pour le Blueprint qui
a la priorité par défaut la plus élevée qui l'implémente. Ça va ? Cela se
retrouve dans les valeurs par défaut de votre classe. Souvenez-vous, sous votre entrée, de
cette priorité d'entrée, afin que
l'
entrée consommée ne fonctionne que pour celle qui a la priorité par défaut la
plus élevée. Maintenant, une autre chose à
noter ici, c' cela déclenche
chaque image, non ? Vous vous demandez peut-être, eh bien, si je modifie les valeurs par défaut de ma
classe, le taux de ticks, cela
affectera-t-il également cela ? Non, ça ne sera pas le cas. Le fait d'affecter le taux de ticks
n'affectera que cet événement. Événement de tick, cela n'
affectera pas le taux
auquel cela se déclenche. Ça va
disparaître à chaque image, que tu changes ça ou non. Très bien les gars, ça va tout
faire pour cette vidéo, on se verra dans la prochaine.
29. Début de chevauchement de l'événement: Avez-vous déjà joué à un jeu et êtes-vous demandé comment, lorsque
votre personnage marche dans ce couloir sombre
dans un jeu sur le thème de l'horreur, un zombie saute
au bon moment pour vous faire peur ? Ou peut-être jouez-vous à
un jeu comme Uncharted. Et alors que Nathan Drake fait miroiter le long du bord d'une falaise rocheuse, la falaise rocheuse s'effondre
alors qu' il passe devant une zone d'apparence
précaire. Maintenant, la façon dont cela se fait
dans les jeux passe par on appelle des volumes de
déclenchement. Et plus précisément, lorsque vous commencez à chevaucher un volume de
déclenchement. Cette vidéo montre comment nous
pouvons utiliser les volumes de déclenchement pour
initier un événement de superposition de
début d'acteur. Maintenant, c'est l'un des événements
les plus courants
déclenchés dans tous les jeux vidéo, et c'est donc un
événement essentiel à connaître. Très bien, nous allons
commencer ici en haut à gauche de notre éditeur, juste ici sous le bouton, euh, ajouter
rapidement au
bouton Projet, si vous voulez. Nous pouvons trouver des volumes, un volume de
déclenchement. Vous pouvez en placer un de cette
façon dans votre niveau. Vous pouvez également vous
placer sous le panneau des acteurs de lieu, qui ajoutera un
panneau d'acteurs de lieu à votre éditeur de niveau. Vous trouverez ici différents
onglets de différents acteurs, y compris un onglet Volumes. Et ici, ils sont tous
classés par ordre alphabétique. Vous pouvez trouver un volume de déclenchement. Laisse-moi y aller et
placer l'un d'entre eux. Sinon, sous
l'onglet Bases, vous pouvez trouver différentes formes de volumes pour ajouter une
zone de déclenchement ou une sphère de déclenchement. Il y a quelques
différences subtiles entre les deux, bien que ce que nous visons à faire
sera similaire. Peu importe quel ajout. Je vais ajouter
cette boîte de déclenchement juste pour montrer quelques
différences entre ce volume
et mon volume de déclenchement. Maintenant, si la case Déclencheur est
sélectionnée dans le panneau Détails, cela va me donner accès à une option d'épaisseur de trait
dans la catégorie Forme. Je vais donc régler
ce chiffre à dix tout de suite. Et puis pour l'étendue de la boîte je vais
définir quelque chose comme, eh bien, allons 300 par 300, quelque chose de beau et de grand. Je veux qu'il soit placé quelque part
devant mes joueurs. Commencez acteur, mais pas trop près, donc je ne le chevauche pas
tout de suite. On va faire quelque chose comme ça. Ce n'est pas grave s'il pénètre un peu dans le
sol. Maintenant, vous pouvez également définir
une couleur de forme ici. Donc, si vous le désélectionnez,
il affichera la couleur verte de la
forme. Sinon, lorsque
vous le sélectionnez,
il est surligné en jaune. Maintenant, c'est juste une démonstration, une petite
différence entre notre Trigger Box et
notre volume de déclenchement. Si j'ai sélectionné le
volume de mon déclencheur, vous pouvez en modifier
la forme. Il n'est pas nécessaire que ce
soit de forme cubique. Et pour ce faire, vous devez entrer
dans les paramètres de votre pinceau. Et sous la forme de votre pinceau, vous pouvez
le transformer en cône. Tu pourrais changer ça en escalier si tu le
souhaites, en cylindre. Ensuite, il existe
différentes propriétés à modifier en fonction de
la forme du pinceau. Mais pour les besoins
de cette vidéo, je vais m'en
débarrasser et utiliser cette boîte de déclenchement. La fonctionnalité sera cependant la
même entre eux. Très bien, nous avons sélectionné cette
actrice dans notre niveau. Je vais écrire
des scripts ici l'intérieur de nos plans de niveau. Allons-y et ouvrons-le. Et je vais mettre ça dans
mon graphique d'événements, Graph. Et dans un espace vide, je vais simplement cliquer avec le bouton droit de la souris. Et lorsque vous cliquez avec le bouton droit un objet sélectionné
dans votre niveau, vous pouvez ajouter un événement
pour cet objet. Dans ce cas, c'est la case de déclenchement cinq qui est appelée. Et sous la section collision, je voudrais faire un ajout
sur l'acteur, commencer le chevauchement. Lorsqu'un élément chevauche
cette zone de déclenchement. Nous pouvons faire quelque chose et découvrir qui était l'
autre acteur. Cela produira, cela nous permettra savoir qui était l'autre acteur. Juste pour aider à visualiser cela, je vais faire glisser mon épingle d'exécution ici et ajouter une fonction de
chaîne d'impression. Et je vais brancher cet
autre acteur directement là-dedans pour obtenir le nom de tout ce qui se chevauche, si je devais compiler
ceci et jouer, faire passer mon personnage
à travers ça et regarder en haut à gauche de
ma fenêtre de lecture ici, lorsque je chevauche ce volume de
déclenchement, me montrera qu'
il s'agit d'un ThirdPersonCharacter qui
chevauche ce volume. Maintenant, vous ne pouvez pas voir
ce volume
de déclenchement dans le niveau. Allons-y et réglons ça avant d'aller plus loin. Je vais donc retourner dans mon éditeur de niveau ici avec
ma case de déclenchement sélectionnée. à cocher de cet acteur caché
dans le jeu est cochée, ce
qui signifie
qu'il sera masqué dans le jeu. Si je désactive cette case,
allez-y et jouez. Je peux maintenant voir ce
volume de déclenchement dans toute sa splendeur. Très bien, faisons en sorte que
quelque chose se produise lorsque nous chevauchons ces volumes de
déclenchement. Revenons donc à mon plan de
niveau. Je peux m'en débarrasser maintenant, cliquer avec le bouton gauche de la souris et faire glisser ici mettre
l'autre acteur. Eh bien, sortons
de cela et faisons
ce casting à notre personnage à la
troisième personne juste assurer que nous
voulons que quelque chose ne se produise lorsque notre ThirdPersonCharacter
le chevauche également, nous aura également
un impact direct sur notre personnage de troisième personne
ici. C'est donc en quelque sorte un double
objectif pour lequel nous faisons cela. Alors quand l'autre acteur est
le ThirdPersonCharacter, que voulons-nous faire ? Eh bien, nous pouvons accéder à
notre ThirdPersonCharacter ici pour
modifier quelque chose à ce sujet. Y compris si j' ouvre mon
plan de personnage de troisième personne. Y compris nous pouvons
modifier certaines propriétés dans les composants de
mouvement de ce personnage. Alors faisons-le. Et nous nous souvenons que le composant de
déplacement du personnage peut contrôler des éléments tels que la
vitesse ou le déplacement d'un personnage. C'est la
propriété de la vitesse maximale de marche juste ici. Donc, de retour ici dans mon plan de
niveau, je vais faire glisser hors de mon BP ThirdPersonCharacter et taper caractère, whoops, mouvements de
personnage. Nous pouvons
le trouver tout en bas ici, obtenir le composant de
mouvement du personnage. Et que voulons-nous
modifier à l'intérieur de ce composant de mouvement de
personnage ? Eh bien, je voulais modifier
cette vitesse de marche maximale. Je vais donc revenir à
mon plan de niveau ici. Nous allons sortir
de là et taper set max, walk, speed. Maintenant, vous voyez ce genre de
choses se produire dans les jeux tout le temps. En fait, j'ai récemment fini jouer au remake de Final Fantasy
Seven. Il y a des zones dans ce
jeu où Cloud Strife se promène et sa vitesse de
déplacement ralentit. Donc, ce qui se passe
là-bas, c'est que
le nuage chevauche une boîte de déclenchement et chevauche une boîte de déclenchement et que la vitesse maximale du personnage
est réglée un rythme de marche pour m'
empêcher de courir
dans une zone. Peut-être que je
traverse un espace restreint ou quelque chose comme ça. Je vais régler la vitesse de marche
maximale à 200 ici lorsque je
chevaucherai
cette boîte de déclenchement, compilons, assurez-vous que compilons, assurez-vous que
notre script est bon ici. Ensuite, jouons. Maintenant, laissez-moi définir mon
option de débogage ici sur ma carte de test de niveau afin que vous puissiez
voir cet événement se déclencher. Déplace ça vers le haut. Ça va ? Et vous pouvez voir que je
cours à un bon rythme. Mais quand je chevauche
ce volume de déclenchement, je ralentit. Maintenant, vous pouvez voir que lorsque je suis
sorti de ce volume de déclenchement, je n'accélère pas. Et c'est parce qu'il s'agit d'un événement de chevauchement de début d'acteur. Cela affecte mes
personnages qui définissent ma vitesse de marche maximale lorsque
je la chevauche, mais je ne
lui dis pas de revenir à vitesse de marche maximale habituelle
lorsque je mets fin à ce chevauchement. C'est un exemple très basique, mais prenons
quelques mesures ridicules plus loin juste pour vous montrer
la gamme de choses que
vous pouvez faire sur un acteur qui commence à se chevaucher. Eh bien, une chose que tu pourrais faire est de t'
éloigner de ça et jouer du son sur place. Quel endroit ? Eh bien, nous pourrions dire l'emplacement de notre
déclencheur. Faisons un clic droit et
un peu d'espace vide. Ma
boîte de déclenchement est toujours sélectionnée dans le niveau. Créons donc une référence
à une boîte de déclenchement. Faites glisser hors de ceci et dites Get Location, get actor, location. Je n'ai pas vraiment besoin de le
faire à un endroit donné, mais je vais jouer de
la musique à un endroit donné. Bien sûr. Bon. C'est quelque chose que nous pourrions faire. Une autre chose que nous pourrions faire est de
nous assécher et de faire naître un acteur de classe. Que voulons-nous engendrer ? Eh bien, tout d'abord, nous devons nous dire
où apparaître. Donc, en utilisant encore une fois notre
boîte de déclenchement, je peux m'éloigner de cela et
dire encore une transformation d'acteur. Alors, que voulons-nous apparaître
lors de cette rotation d'emplacement ? Frayons en tout
cas, un peu de fumée. Ensuite, nous pouvons également faire quelque chose
comme le faire glisser et taper le système de spawn à l'emplacement. Maintenant, le système va générer n'
importe quel système de particules de Niagara. Donc, irréel avait ce truc
où ils utilisaient tous les systèmes de particules appelés cascade et c'était
l'ancien système. Certaines des explosions et des effets de
feu que vous m'avez
vus utiliser jusqu'à présent. C'est l'ancien système de
particules, mais le système de particules
Niagara de Huron. Donc, si vous souhaitez ajouter un système de particules
Niagara, vous pouvez vous rendre sur l'
Epic Games Store et sur le marché
sous Unreal Engine 5, vous pouvez vous retrouver dans les effets
visuels. Vous pouvez définir le prix
maximum sur gratuit. Et vous pouvez essayer d'ajouter certains de ces
effets de particules Niagara à votre projet. C'est assez simple. Je ne vais pas le faire maintenant parce
que ça va prendre un
peu de temps. Mais si vous deviez
sélectionner l'un d'entre eux, vous pourriez l'ajouter au projet. Sélectionnez les projets auxquels
nous voulions l'ajouter. C'est quoi ce bordel ? Je vais probablement ajouter ceci après cette vidéo au projet. Et c'est comme ça que tu le
ferais. Dès que vous cliquez
sur ce bouton
, dans votre éditeur de niveaux, vous verrez apparaître
les dossiers
appropriés contenant ces effets de
particules. Et cela vous permettra alors de vous
connecter à un système approprié. Bien sûr, vous
devez indiquer où vous voulez le faire apparaître. Très bien, donc juste pour le
démontrer, allons-y et cliquons encore une fois sur
Lecture. Et quand on se chevauche, ralentit, qu'on
joue de la musique, et que notre effet Blueprints
émet de la fumée, non ? Smack Dab au centre. Tir à l'arc Enfin, il est important de
savoir que ces
événements de début de chevauchement ne se
limitent pas à
ces volumes de déclenchement que vous trouverez ici dans
votre panneau d'acteurs de lieu. Au contraire, j'oserais
dire que
la plupart des événements begin overlap
que j'utilise dans les scripts trouvent à l'intérieur des
classes de blueprint elles-mêmes. Maintenant, pour le démontrer, revenons à l'intérieur de
notre exemple de pick-up BP. Double-cliquez dessus
pour l'ouvrir. Et si vous vous souvenez du
début du cours, nous utilisions un collisionneur de sphères, un volume de déclenchement
pour vérifier si notre personnage à la troisième personne
chevauchait cela
afin de le récupérer. Maintenant, si je passe sous
ce panneau de composants juste ici et que je clique sur Ajouter, si je fais défiler vers le bas, il y a différents types de volumes de déclenchement dans
la catégorie collision, mais il y a une boîte collision, collision forme de
capsule
et collision de sphère. Maintenant que l'un de ces éléments est
ajouté à un Blueprint, si vous le sélectionnez
sur le côté droit, vous pouvez voir qu' un événement Begin Overlap lui est
associé. C'est tout en bas. Sinon, si je
devais cliquer
dessus avec le bouton droit de la souris et
que je venais
sous Ajouter des événements, ce même événement est également
disponible ici. Juste pour rappel
, mon graphique d'événements. Voici où j'utilise un
composant impair, commencez le chevauchement. C'est une sorte de
volume déclencheur. C'est juste un composant étrange. Il s'agit d'un volume de déclenchement de composant actuellement de forme sphérique. Et il indique toujours le nom du composant
entre parenthèses, comme dans le plan de
niveau, il indique également le nom
du volume de déclenchement
entre parenthèses. C'est juste un acteur qui commence le
chevauchement dans mon exemple BP, c'est sur le chevauchement de début de composant. Ce sont tous deux des événements de chevauchement dans lesquels vous pouvez
lancer un script. Eh bien les gars, ça va tout
faire pour celui-ci. Dans la vidéo suivante, nous
parlerons des événements de fin de chevauchement. te verrai là-bas.
30. Chevauchement de fin d'événement: Bon retour à tous.
Dans cette vidéo, notre objectif est de montrer comment les volumes de
déclenchement peuvent également être utilisés pour déclencher
et chevaucher des événements. Parfois, vous
voulez qu'il
se passe quelque chose lorsque vous
commencez à entrer dans une zone et parfois
vous voulez que des choses se produisent lorsque vous quittez une zone. L'événement de fin de superposition
concerne les moments où vous souhaitez que quelque chose se produise
lorsque vous quittez une zone. Maintenant, nous avons laissé de côté la dernière vidéo où quand j'ai entré
ce volume, ce volume déclencheur juste ici, cela ralentissait mon personnage. Maintenant, j'ai fait d'autres choses
ridicules comme jouer la musique et créer un effet de particules,
ce genre de choses. Mais je ne vais pas vraiment accélérer mon personnage une fois que
je suis sorti de ce volume. Par conséquent, ici, nous allons
explorer comment procéder. Maintenant, avant même d'en venir à cela, je vais revenir à mon plan de niveau ici. Et j'ai fini d'ajouter un système de particules Niagara
à la toute fin ici. Et je voulais juste te faire
remarquer que dans la dernière vidéo, je t'ai dirigé vers
l'Epic Game Store. Et pendant que nous étions ici, je suis allé
sur le marché et nous
cherchions des effets visuels. Vous E5, je suis passé sous un UE cinq effets visuels
et je crois que je le
soulignais sous
les packs gratuits. Celui-là, c'
est l'ancien système en cascade. Si vous voulez des effets
Niagara, optez pour un effet
Niagara juste ici. Maintenant, j'ai inclus
cela entre les vidéos. Et donc, quand
je jouerai maintenant,
vous verrez que j'ai une reine à douche qui va
également apparaître là-dedans. Je voulais juste le souligner
pour terminer cette dernière partie. Très bien, passons au
chevauchement des extrémités. Ainsi, vous pouvez voir au début
du chevauchement où le ralentissement de notre
personnage. Eh bien, accélérons-les. Maintenant, comme nous l'avons
montré dans la dernière vidéo, si nous voulons ajouter cet événement
à notre plan de niveau, vous devez vous
assurer que cet acteur est sélectionné
dans votre niveau. Allons-y et
vérifions-nous que nous
avons sélectionné des volumes de déclenchement. Vous pouvez le sélectionner ici
ou dans votre Outliner. Quoi qu'il en soit, nous le ferons. Et revenez dans votre plan de
niveau. C'est comme ça que tu peux
revenir au plan de l'amour. Allez-y
et cliquez avec le bouton droit de la souris et un espace vide, nous pouvons ajouter un événement pour cela qui est connu sous le nom de
Trigger box 5 pour moi, ne vous
inquiétez pas s'il dit autre
chose pour vous. Trigger box 27 ou peu importe. Cela dépend vraiment du
nombre de cases de déclenchement que
vous avez ajoutées jusqu'à présent. Ici, nous voulons
faire un chevauchement. Ça va ? Nous allons également faire un casting pour notre
ThirdPersonCharacter. Nous voulons savoir
si la chose qui a mis fin au chevauchement Cast to ThirdPersonCharacter était
le personnage à la troisième personne. Maintenant, si c'est le
ThirdPersonCharacter qui a fini par se chevaucher,
ce volume de déclenchement, nous voulons
récupérer notre composant de
mouvement de personnage à récupérer notre composant de
mouvement de personnage partir de ce
ThirdPersonCharacter. Ensuite, nous pouvons
sortir de ceci et taper set max, walk, speed. Et encore une fois, je sais que
cette propriété existe parce qu'à l'intérieur de la composante mouvement du
personnage, à l'intérieur de mon personnage à la
troisième personne, il y a un paramètre de
vitesse de marche maximale. C'était donc 500 avant. Permettez-moi de revenir à
mon plan à la troisième personne juste pour montrer ce composant de
mouvement de personnage hors route , la vitesse de marche maximale est
actuellement fixée à 500. Donc, dans mon plan de
niveau, je vais ramener cette vitesse de
marche maximale à 500. Donc, lorsque nous finissons de chevaucher ce volume de déclenchement,
nous devrions, nous devrions revenir
à notre vitesse normale. Et je veux juste montrer que ces événements vont
s'enflammer ici. Permettez-moi donc de définir mon
option de débogage juste là. Ramenez mon personnage. Très bien. On voit qu'il
courait à 500 ans. À l'intérieur du volume de déclenchement. Quand je quitte et que je
chevauche jusqu'à 500, vous pouvez voir juste en bas ces événements se
déclencher. Très bien. Considérez donc les autres
utilisations possibles pour un chevauchement d'extrémité. Nous pourrions faire en sorte que
lorsque nous et que nous nous chevauchions, nous puissions arrêter de jouer de la
musique que nous produisons, que nous ne puissions pas arrêter cette musique parce que c'est un
feu et un oubli. Mais si vous vous intéressez à la musique, nous pourrions
l'enregistrer dans une variable et arrêter de jouer leur musique. Peut-être pourriez-vous
utiliser un chevauchement d'extrémités pour arrêter de blesser le joueur. Peut-être que le joueur se trouvait dans une zone de gaz toxique
qui affectait sa santé
dès qu'il la chevauchait. Mais quand ils ont fini de
se chevaucher ils ne
perdaient plus de santé. Ou
peut-être est-ce quelque chose comme vous pouvez voir dans Uncharted ou
Final Fantasy sept, que lorsque vous commencez à
chevaucher des volumes, vous ne pouvez pas dessiner d'arme, mais lorsque vous finissez de
chevaucher ce volume, tu peux dégainer cette arme. Cela peut être fait via des variables
booléennes définies à l'intérieur de votre
ThirdPersonCharacter. Eh bien les gars, ça va tout
faire pour cette vidéo, on se verra dans la prochaine.
31. L'événement commence le curseur: Bienvenue à tous. Dans cette vidéo, nous
allons créer quelques plans
et également modifier
un paramètre de projet
afin de montrer quel point les événements de survol sont intéressants. Ce sont d'excellents événements à savoir si
vous voulez que quelque chose se produise lorsque vous
passez la souris sur un objet, comme un élément dont la couleur
change, comme un effet de
surbrillance, ou faire apparaître
la description d'un élément peut-être
le nom de l'objet que vous
avez survolé. Ou peut-être des textes
qui disent d'appuyer sur X pour interagir ou saisir cet
objet, ce genre de choses. Maintenant, il s'agira
principalement d'un événement de type PC, mais il est bon de le
savoir quelle que soit la plateforme sur laquelle
vous développez. Juste pour voir tout ce qui peut
être fait ici à Unreal. Très bien, pour le montrer,
nous allons créer un plan de classe précis. Et vous pouvez le mettre dans le
dossier de votre choix. Mais je vais entrer dans
mon dossier d'aperçu des scripts, et je vais cliquer avec le bouton droit de la souris
dans un espace vide, sous la classe Blueprint. Après le cours est celui que nous recherchons et
je vais nommer cet événement de souris de soulignement BP. Ensuite, nous allons double-cliquer sur ce type pour l'ouvrir. Nous voyons notre racine de
scène par défaut ici. Nous allons ajouter
un seul composant. Passez donc sous le
panneau Composants, cliquez sur Ajouter. Nous allons ajouter des composants de
sphère. Super, et allons-y et mettons-le à notre niveau. C'est probablement une bonne idée de le placer juste en face de l'endroit où votre personnage va
apparaître pour que les
joueurs commencent acteur. Nous pouvons donc le voir tout de
suite , puis
revenir aux événements de votre souris
p.sit et nous diriger
vers le graphique d'événements. Maintenant, nous voulons que
quelque chose se produise lorsque nous survolons
notre sphère ici. Quels événements
avons-nous disponibles pour cela ? Eh bien, avec nos
composants de sphère sélectionnés dans le panneau
Détails tout en bas, vous pouvez trouver tous les
événements associés et disponibles pour ce composant
particulier, y compris Au début curseur sur. Donc, si je clique sur ce bouton plus, je peux ajouter cet événement à notre graphique et j'y
accèderai directement. Maintenant, vous pouvez également ajouter ces
événements si vous le souhaitez, avec le bouton droit de la souris sur ce composant. Et puis le petit
menu volant ajoute un événement, vous le trouverez dans cette liste. La raison pour laquelle il ne s'agit pas de cette liste est qu'elle
a déjà été ajoutée à notre graphique. Mais s'il n'a pas été
ajouté à notre graphique, nous pouvons également le trouver ici. Très bien, ce que nous
voulons, c'est que lorsque nous déplaçons
le curseur de la souris sur la sphère, nous allons
changer de matériau. Prenons donc une
référence à notre sphère. Cliquez avec le bouton gauche et
faites-le glisser dans le graphique. Et nous allons sortir de notre sphère
pour lui parler, pour changer quelque chose
à ce sujet. Je vais saisir le matériel
de tournage. Et encore une fois, je savais que
c'était une propriété que je pouvais modifier à propos de ce composant car si je sélectionne ma sphère, l'
un des
détails disponibles est le matériau. C'est donc un bon indice si
vous vous demandez ce que je peux changer à propos d'un composant donné tout en
sélectionnant simplement ce composant. Et dans les détails,
regardez toutes
les différentes choses qui
pourraient être modifiées à ce sujet. Maintenant, je vais placer
mon matériel ici pour qu'il soit quelque chose d'assez odieux. Je vais taper vertex green, c'est ce que
je cherche. Et si je ne le
trouve pas, c'est parce que si je clique sur cette petite icône en forme de roue dentée, je veux rechercher non
seulement mon contenu normal mais aussi le contenu de mon moteur. Et est-ce que Vertex Green n'est pas là ? Laissez-moi juste taper en
vert. Le mode d'affichage des couleurs des sommets, vert uniquement, c'est
celui que je recherche. Donc, si je compile ceci, je peux voir que mes scripts
sont prêts à être utilisés. Je vais aussi l'enregistrer. Vous pourriez penser, d'accord, si je
saute dans le jeu et que je place le curseur de
ma souris sur cette
peur que cela fonctionne. Eh bien. En fait,
ça ne marchera pas encore. Nous devons
travailler dans les
plans d'
un contrôleur de joueur pour activer ces événements
de survol de
la souris. Maintenant, les plans de
contrôleur de joueur sont quelque chose dont nous
allons parler beaucoup plus lorsque nous
parlerons de plans de framework. Mais pour rendre justice à cette vidéo
en particulier, je dois patauger
dans ces eaux. Pour les besoins de cette vidéo, tout ce que vous devez savoir sur le plan de la manette du joueur est que la
manette du joueur fonctionne en tandem avec un personnage ou un
plan de classe de pion pour affecter votre expérience de
jeu. Le contrôleur du joueur est
essentiellement constitué des cordes de marionnettes. Le personnage est la marionnette. Tu es la marionnette. Analogie trop simplifiée, je sais, mais le plan du
contrôleur de lecteur contient des paramètres
de souris que nous devons
définir afin définir afin cet
événement de début de curseur se produise réellement. Allons-y et créons plans de
cette manette de joueur. De retour ici, dans
notre éditeur de niveaux, je vais créer
un tout nouveau dossier
pour héberger les plans de ce
contrôleur de lecteur. Je vais donc cliquer avec le bouton droit de
la souris sur mon dossier de script. Nous allons
créer un nouveau dossier. Et je vais
appeler ce framework parce que nous allons ajouter des Blueprints de type cadre plus tard dans le cadre du
cours. Les plans sont des plans de haut
niveau qui permettent de déterminer des éléments concernant l'ensemble de
votre projet. Et à l'intérieur, je vais cliquer avec le bouton
droit sur la classe Blueprint. Et l'un des plus courants est un plan de
contrôleur de joueur. Il contrôle un pion utilisé par le joueur. C'est
la description qui s'y trouve. Et allons-y
et créons-le. Je vais appeler ce contrôleur de joueur de
soulignement BP. Nous allons double-cliquer
sur ce type pour l'ouvrir. Pas grand-chose ici,
cependant, dans la classe, le bouton par défaut de la classe
avec celui sélectionné dans le panneau Détails se trouve sous cette section de l'interface de la souris. C'est la partie la
plus importante. Une chose que vous devez
faire est afficher le curseur de la souris
en cochant cette case, nous allons nous assurer
que le curseur de la souris que je suis en train
d'agiter en ce moment sera présent
sur
l'écran. Et l'autre gros problème que
vous devez définir ici est d' activer les événements de survol de la souris. C'est essentiel pour que ce
curseur survole des événements. Assurez-vous de
compiler et de nous enregistrer. Nous pouvons aller de l'avant et
fermer, mais ce n'est pas encore fini. Nous avons créé ce plan de
contrôleur de joueur, mais nous n'avons pas indiqué
à notre projet d'utiliser ce plan de
contrôleur de joueur. En sortant d'ici, retournez dans votre éditeur de niveau
principal. Vous pouvez accéder aux
paramètres, aux paramètres du projet, et dans la section des cartes
et des modes, nous avons cette classe de
contrôleur de joueur. Nous voulons régler cela sur le
contrôleur de lecteur bp de
notre client que nous venons de créer. Ce faisant, nous expliquons
notre projet que nous avons créé pour utiliser cette classe de contrôleur de
joueur. Et cette classe de
contrôleur de joueur. N'oubliez pas que ces
événements de survol sont-ils activés ? Super. Maintenant, nous pouvons
revenir à notre niveau.
Allons-y et jouons. Et vous pouvez voir que mon
curseur est présent sur l'écran et qu'il est devenu vert
presque immédiatement ici. Laisse-moi jouer. Ok, ce n'est pas vert. J'ai dû peser ma
souris dessus immédiatement. Permettez-moi donc de faire un clic droit
et de l'espace ici. Cette sphère est de couleur
blanchâtre et
dès que je souris
dessus, boum, devient verte. Maintenant, en revenant à notre plan d'événements de souris
bp, vous pouvez voir comment je pourrais étendre cette fonctionnalité
pour jouer un son 2D, une sorte de son de confirmation lorsque je commence à
survoler la sphère avec la souris. Mais je ne fais rien quand j'ai mis fin à ce chevauchement
de la sphère. Nous traiterons de ces
événements dans la prochaine vidéo. Très bien, je veux
montrer un autre exemple ici avant de
terminer cette vidéo, nous allons faire cet exemple
suivant dans
notre BP, un
plan de personnage ThirdPersonCharacter. Je vais donc monter à nouveau là-bas. Vous pouvez le trouver dans les plans à
la troisième personne. À l'intérieur de notre
personnage ThirdPerson. Nous allons définir le matériau notre personnage lorsque nous
commencerons à le survoler avec la souris. Maintenant, la raison pour laquelle je vais
montrer ceci est pour montrer un paramètre
que vous allez
devoir définir ici
afin que ces événements fonctionnent avec le
curseur sur les événements. Ce que je veux faire, c'est quand je passe la souris sur
ce composant de la capsule, c'
est-à-dire cette capsule invisible encapsulant notre personnage. Il veut qu'il arrive quelque chose. Nous allons changer la maille, c'
est-à-dire la matière,
si vous voulez, la couleur, la maille
de la couleur de notre mannequin ici. Passons au graphique
d'événements. Après avoir
sélectionné ce composant Capsule , je vais cliquer avec le bouton droit
de la souris. Nous allons ajouter des événements sur, en commençant par le curseur sur. Il va ajouter cet
événement à mon graphique d'événements. Ensuite, je vais faire
glisser mon maillage qui est tout ce mannequin, si vous voulez, faites-le glisser dedans. Ensuite, je vais faire
glisser ça et taper un matériau de décors. Et je vais faire en sorte
que notre matériau devienne, je vais
aussi
le changer en vert , cette couleur odieuse. Très beau. Maintenant, je vais commencer et compiler ceci, enregistrer et jouer. Et maintenant, vous pouvez voir que lorsque
je passe le pointeur de la souris sur ma sphère, oui, elle change de vert. Vous vous attendez à la
même chose quand je survole mon mannequin ici également, mais cela ne semble pas
fonctionner. Qu'est-ce qui se passe ici ? Eh bien, si vous voulez
faire quelque chose comme
ça, nous devons
revenir aux composants de nos
capsules. Et dans les paramètres de collision, nous souhaitons développer nos préréglages de
collision ici. Préréglages de collision juste là, il est actuellement réglé sur pion. Nous allons le changer
en personnalisé. Et nous allons autoriser le blocage de notre canal
Visibilité. Essentiellement, ces événements de
survol de
la souris vérifient si la visibilité est bloquée et si
elle est bloquée, cela va se déclencher en ce
moment, nous l'ignorons. C'est ainsi que nous
détectons si cet événement
de survol de la souris se produit. Il fait une visibilité
tracée dans le monde. Maintenant. C'est juste ignorer que
si nous le réglons sur bloquer,
il reconnaîtra que oui,
cette il reconnaîtra que oui, trace a touché quelque chose, dans ce cas le composant
Capsule. Allons-y et
changeons ce matériau. Très bien, compilons
ceci et sauvegardons encore une fois, en cliquant sur Play here at sphere devient vert
et maintenant regardez-le. Ma maille devient également verte. Pourquoi pas tout ça ? Eh bien, la raison pour laquelle
tout cela ne
devient pas vert est
que si nous sélectionnons notre maillage ici dans le panneau Composants et
que nous passons sous Matériaux, je ne change que
cet élément est 0. Je ne change pas
l'élément qui détermine la couleur des autres parties de notre mannequin. Donc, si je devais changer cela
en index d'élément un, serait changer ces parties par
opposition à ces parties. C'est bon à savoir. Quelles sont les utilisations possibles
de ce type d'événement ? Eh bien, encore une fois, vous
pouvez afficher l'invite du bouton, interagir, détruire, interagir avec le
ramassage. Vous pouvez avoir une sorte
d'effet de surbrillance d'élément. Cela peut être un son, une particule
qui peut être un changement matériel
comme nous l'avons fait ici. Eh bien les gars, ça va tout
faire pour celui-ci. Nous vous verrons dans le prochain.
32. Curseur de fin d'événement: Notre objectif dans cette vidéo est de
poursuivre notre exploration des événements du curseur de la souris
en déclenchant événement lorsque nous terminons de
survoler un objet avec la souris. C'est extrêmement utile pour
faire revenir un objet à son état normal chaque fois que
nous avons fini de le vérifier, comme nous l'avons fait dans la dernière vidéo où nous avons passé la souris
sur cette sphère, elle est devenue verte, mais lorsque nous
Ne le survolez plus avec la souris, nous arrêtons de passer la souris dessus. Il ne revient pas à son état normal, de même que
notre personnage. Ajoutons donc un curseur de
fin sur les
événements pour
remettre ces éléments à leur état normal. Monsieur, dans mon
plan de personnage à la troisième personne. Et d'après la dernière vidéo ici, tout ce que nous faisons c'est que
lorsque nous passons la souris
sur notre
composant capsule,
nous faisons en sur notre
composant capsule, sorte que le matériau de notre
maillage devienne au
moins vert élément 0
PAS élément un. Allons-y et
remettons-le en arrière. Maintenant, la façon dont nous pouvons revenir en
arrière est simplement cliquer avec le bouton
droit de la souris sur notre composant
capsule ici. À l'événement, nous avons le curseur de
fin sur. Ajoutons cela à notre graphique. Et je peux simplement copier ce
nœud ici, contrôle C, contrôle V. Nous pouvons utiliser la même référence de maillage ici
pour le définir comme cible. Et nous affectons
l'élément est 0 ici. Nous allons affecter
l'élément 0 ici. Cependant, nous devons
redonner à la matière ce qu'elle était. Et quel était ce matériel encore
une fois, eh bien, c'était en tant que MI Quinn. Et nous pouvons y accéder
en cliquant juste ici en accédant à cela
dans le navigateur de contenu. C'est écrit « MI Queen ». Il se trouve dans cette série
de dossiers avec les actifs d'instance
matérielle sélectionnés ici dans notre
ThirdPersonCharacter. Et assurez-vous d'avoir
sélectionné cette option. Nous pouvons simplement cliquer sur
cette flèche juste ici pour l'insérer sous
le matériau. Compilons. Ce script se présente très bien. Sauvegardez-le également. Cliquez sur Play. Et maintenant, lorsque je survole le curseur de la souris, notre personnage devient vert, moins dans les
zones où les éléments 0 affectent notre maillage ici. Et quand je souris dessus
, je le remets en place. Cool. Faisons cela avec notre sphère d'événements de
souris bp également. En accédant à notre graphique d'événements,
nous faisons quelque chose
lorsque nous
commençons à parcourir cette sphère. Nous allons donc sélectionner notre sphère. Faisons un clic droit ici
et un espace vide sur les
événements pour terminer le survol du curseur. Et je ferai de même ici. Contrôle C pour copier, contrôle V pour coller. Nous pouvons utiliser cette même référence de
sphère, ou vous pouvez ajouter une
nouvelle référence de sphère, montrant
simplement plusieurs
façons de faire quelque chose. Les deux ciblent le
même indice d'élément. Celui-ci n'a qu'
un seul indice d'élément pour
les éléments de matériau 0. Et il utilise ce matériau
de base de formes. Je peux le rechercher ici, ou je pourrais faire comme je le
faisais avant cette fois-ci, recherchons-le simplement
en cliquant sur cette flèche
déroulante. Tapez des formes de
base, un matériau de forme de base. Essayons ceci,
compilons, sauvegardons et jouons. Et je suis aussi au-dessus de la
sphère qui devient verte. En fait, montrons le tir de ce
script ici. Il devient vert, devient blanc, vert
devient blanc, et vous pouvez également voir ces
événements se déclencher. Des trucs assez simples. Utilisez-le en tandem avec cet événement
begin cursor over. Et encore une fois,
afin de faire en sorte que
l'un de ces
événements de curseur se produise même, ou ceux qui terminent le curseur sur des événements. Vous devez définir
ces paramètres dans les plans de
votre
manette de joueur pour accepter ces événements de
survol de la souris , les
gars, je vais
tout faire pour celui-ci. Nous vous verrons dans le prochain.
33. Événement sur clic: Bienvenue à tous. Au cours des deux dernières vidéos, nous avons montré comment configurer un plan de contrôleur de lecteur pour détecter quand nous survolons quelque chose avec
la souris. Et puis le contraire,
c'est de finir de survoler quelque chose
avec la souris. Nous allons aller encore plus loin dans les deux prochaines vidéos ici pour détecter quand nous avons
cliqué sur quelque chose, ainsi que lorsque nous avons
une version qui a cliqué. Commençons ici à l'intérieur
de nos événements souris BP. Ce que nous voulons faire,
c'est détecter quand nous avons cliqué
sur cette sphère. Pour ce faire, nous pouvons cliquer avec le bouton droit de la souris sur notre composant de
sphère ici. Et dans notre
petit menu volant Ajouter un événement ici, je peux ajouter un événement en un clic. C'est une façon de procéder. Ou bien avec
les composants sélectionnés. Tout en bas
du panneau Détails se trouve la liste des
événements disponibles pour ce composant. Je vais cliquer ici sur ce bouton plus pour
l'événement OnClick. Cela nous permettra d'accéder
au graphique d'événements et d'ajouter cet événement à notre graphique. Nous allons donc mettre en place
un script très basique ici. Ce que je veux faire, c'est parler
aux composants de notre
sphère pour pouvoir faire glisser ici ou le
faire glisser ici. L'un ou l'autre suffira, je
vais m'en occuper. Et je veux définir l'échelle mondiale de cet
objet lorsque je clique dessus. Cependant, je ne
veux pas
définir ce chiffre sur un nombre strict et rapide. Je veux faire quelques calculs
de base. Donc ce que je vais faire,
c'est m'éloigner de ça. Je vais obtenir son échelle mondiale
actuelle ici en tapant et simplement
obtenir l'échelle mondiale. Cela me donnera son échelle mondiale
actuelle, qui si je sélectionne
ma sphère ici, l'échelle mondiale
est actuellement de 111. Et je veux faire en sorte que
chaque fois que je clique dessus, je vais simplement y ajouter
un peu. Donc, en faisant glisser la valeur de
retour ici, utilisez ce bouton plus
pour ajouter un nœud d'ajout. Et nous allons simplement
ajouter 0,1 dans les dimensions x, y et z, ce
qui le rend légèrement plus grand chaque
fois que vous cliquez dessus. La première fois
que vous cliquez dessus, nous allons
cibler notre sphère. Nous allons définir
notre échelle mondiale. Il va passer de 1
à 1.1 dans l'ensemble du tableau, puis en cliquant à nouveau
dessus, il le mettra à 1.2,
et cetera, etc. Compilons le
script et sauvegardons-le. Et tout cela semble
bien, cependant, vous verrez qu'une fois que je
cliquerai sur Jouer ici et que
je déboguerai cet objet d'
événements de souris ici. Je peux le mettre en surbrillance et
il devient vert. Cependant, lorsque je
clique dessus, rien ne semble se passer. La raison pour laquelle rien ne se passe ici, c'est parce que
je dois retourner dans la manette de mon joueur et cocher une case qui
active les événements de clic. Donc, si vous avez oublié plan de
votre contrôleur de lecteur, nous l'avions dans notre dossier
framework. Double-cliquez dessus
pour l'ouvrir. Et à l'intérieur d'ici avec
un bouton par défaut de classe sélectionné se trouve sous la section de l'interface de la
souris. Et tout comme auparavant lorsque nous
activions un événement de survol de la souris, nous devons activer les événements de clic. Maintenant, une fois que nous avons fait cela, notez ceci juste en bas, les touches d'événements de clic. Nous sommes donc en train de vérifier cela. Oui, nous pouvons reconnaître les événements de
clic. Et en bas, nous pouvons définir ce qui s'enregistre en tant qu'événement click. Par défaut, le bouton gauche de la souris est
défini, mais vous pouvez cliquer ici. Vous pouvez cliquer dessus plusieurs fois pour ajouter différentes clés. Je vais donc
supprimer cela parce que je ne veux que le bouton gauche de la souris. Cela fonctionnera donc. Cela activera le bouton
gauche de la souris. Il s'enregistrera, c'
est-à-dire un événement de clic. Il convient également de noter ici
que ci-dessous, nous avons un
canal de suivi des clics par défaut qui est défini le long du canal
Visibilité. Revenons à nos événements souris
BP. Et si je sélectionne ma sphère ici et que je regarde dans
le panneau Détails, passe sous la section
collision. Vous pouvez le voir si je tombe
sous Préréglages de collision, qui est défini pour bloquer toutes les dynamiques pour ce composant
particulier. En bas, mon canal de trace, pour le canal Visibilité nommé ou le canal de trace nommé visibilité,
est défini sur Bloquer. C'est important car tant que ce paramètre est défini sur bloquer, il peut reconnaître un événement click. revenant également à mon contrôleur de lecteur
bp, cela montre que la
distance de trace pour cela est de 100 000 unités irréelles. Donc, la façon dont cela fonctionne est que si je clique ici dans mon monde, cet objet se trouve à moins de
100 000 unités irréelles de l'endroit où je
clique sur l'écran. Il enregistrera donc
cela en tant qu'événement click. S'il est plus loin,
il ne l'enregistrera pas. Alors jouons ça ici. Je vais revenir
aux événements de souris BP pour qu'on puisse voir ça se déclencher, cliquer sur
Play et le placer ici. Il faut donc
les reconnaître au survol de la souris. Dès que je clique dessus, il
grossit un peu. Cliquez à nouveau, un
peu plus grand, un peu plus grand, un
peu plus grand, un peu plus grand. Voilà ce que vous avez. Pour que cet événement onclick fonctionne dans votre contrôleur de lecteur
bp, vous devez avoir
activé les événements de clic. Et puis également dit
au moins une clé d'événement de clic. Les gars, ça fera
tout pour celui-ci. On se voit dans le prochain.
34. Événement Sur Libéré: Bienvenue à tous. Eh bien, c'est le compagnon
de la vidéo précédente. Nous avons fait dans la dernière
vidéo qu'une fois que nous avons cliqué sur notre
plan d'événements de souris bp ici, la sphère, nous
l'agrandissons progressivement. Nous allons légèrement
modifier notre script et
nous allons faire quelque chose se produise lorsque nous
relâcherons notre clic de souris. Nous faisons donc quelque
chose lorsque nous
cliquons sur le bouton gauche de
la souris enfoncé. Mais lorsque nous soulevons cette question,
nous voulons que quelque chose
d'autre se produise. Revenons à
nos événements souris BP. Actuellement, je l'ai pour que
dès que je clique
sur la sphère, elle s'agrandit un peu. Je vais supprimer ces deux nœuds et
je vais simplifier un peu
ce script ici. Je vais appuyer sur Control C et Control V pour dupliquer ça. Et ce que je veux faire, c'est
aussi cibler la sphère. Cependant, je souhaite ajouter des événements inédits,
donc je vais faire
un clic droit
sur ma sphère lors de l'événement. Et à la sortie, cela se
déclenchera à nouveau. Une fois que j'ai levé le bouton gauche de
la souris, cliquez ici. Nous allons faire en sorte que
lorsque nous cliquons sur notre sphère, nous définissions
la taille à
deux sur le tableau, soit le
double de la taille. Et quand nous le sortirons,
il en sera
un partout. Je vais
le déplacer en haut à gauche ici, et nous allons le compiler. Assurez-vous que le script est bon. Allons-y et jouons-y. Et tu peux voir qu'une fois que
je clique dessus, ça devient gros. Une fois sorti, il
revient à sa taille normale. Grand, petit, cliquez, relâchez. Des trucs assez simples. La seule autre chose que
je vais ajouter ici
est dans la manette de votre joueur BP. Tant que dans les valeurs par défaut de la classe, vous
avez activé les événements de clic, tant que cela est coché et que vous avez une clé d'
événement de
clic qui permet à
l'événement onclick de fonctionner, ainsi que l'
événement de sortie pour fonctionner. une sorte de « deux pour un ». Très bien les gars, ça va tout
faire pour celui-ci. Rendez-vous au prochain.
35. Hit: Bienvenue à tous. Event hit est le
sujet de cette vidéo et c'est un
événement super important à connaître car les collisions
entre acteurs se produisent dans toutes sortes
de jeux tout le temps. Imaginez que dans un jeu de tir, vous tirez une balle, vous percutez un mur. Vous voyez un peu de
poussière s'envoler et vous voyez une balle D laissée à
ce point d'impact. Ou imaginez que vous
planifiez un match de course. Vous percutez une autre voiture et
vous voyez des étincelles s'envoler. C'est un indice d'événement qui se déclenche dans les
coulisses et
fait voler ces étincelles. Ces autocollants de balle sont apparus à
ce point sur le mur. Très bien, voyons comment
cet événement peut être utilisé. Maintenant, je vais utiliser ce cube acteur
dans mon niveau, il s'appelle cube. Il s'agit d'un acteur de maillage statique. Vous pouvez placer n'importe quel acteur de maillage
statique dans votre niveau pour voir ce que
nous allons découvrir. Mais si vous voulez jouer le jeu
à la maison, je suis allé ici, trouvé des formes et j'
ai pris mon cube juste là. Une fois cette option sélectionnée,
je vais
passer à mon plan de niveau. Et dans un espace vide, je vais faire un
clic droit et nous
allons ajouter un événement
pour cet acteur. Nous avons sélectionné
dans la section collision. Et ici, nous avons
un ajout sur le succès de l'acteur. Tout comme nos événements de chevauchement. Il peut nous dire qui est
l'autre acteur qui nous a frappés
dans cette affaire. Nous allons
vérifier, dans ce cas, si c'est bien le
personnage du joueur qui nous a frappés. Alors cliquons avec le bouton droit de la souris
et
saisissons un espace vide pour obtenir le personnage du joueur. Nous allons voir
si l'autre acteur est égal au personnage du
joueur. C'est-à-dire, s'agit-il
de la même chose ? Est-ce le
personnage du joueur qui nous a frappés ? C'est une façon
de
vérifier le personnage du joueur,
l' autre acteur qui nous a frappés. S'ils sont égaux, alors nous
allons sortir d'ici, apporter un nœud de branche. Et s'il est vrai que le personnage
du joueur l'autre acteur qui nous a frappés. Si c'est vrai, nous allons nous
éloigner d' ici
et taper le
son en D. C'est un son
non localisé, et je vais faire ma bonne
vieille explosion. Q, parce que
c'est très distinct. Il s'est passé quelque chose. Ce que je
vais faire, c'est détruire ce maillage. Je vais donc faire un clic droit
et un peu d'espace ici. Nous allons créer une
référence à notre file d'attente ici. Faites-le glisser et
tapez Destroy Actor. Très bien,
compilons ceci pour nous assurer que notre
script est bon. La coche verte indique que c'est le cas. Ensuite, je vais
continuer et cliquer sur jouer ici. Vous pouvez donc voir le
script se déclencher ci-dessus. Laissons notre joueur
dans ce cube. Allons-y. Bam. À ce stade, il vaut la peine ralentir un peu pour expliquer comment cette
collision a même été détectée. Comment cela a-t-il fonctionné ? Pourquoi mon personnage n'a-t-il simplement
traversé ce cube ? Eh bien, pour commencer,
regardons notre plan de
personnage à la troisième personne. Je l'ai ouvert ici. Et j'ai sélectionné le
composant de la capsule. Tous les autres composants
y sont attachés. C'est la composante invisible qui entoure mon personnage ici. Et si je regarde dans le panneau Détails sous
la section Collision, mes
préréglages de collision sont actuellement définis sur Personnalisé. Et vous pouvez voir
comment la collision est configurée pour
bloquer tout, tous les types d'objets différents. Quel type d'
objets existe-t-il ? Eh bien, ce personnage à la
troisième personne est un type d'objet pion
répertorié sous le type d'objet. Et cet étang est configuré pour
bloquer les objets statiques du
monde, les objets dynamiques du monde, autres étangs et toutes ces
autres choses ici même. Comparons maintenant ce résultat avec
ce que nous voyons sur notre cube. Maintenant, mon cube est
sélectionné ici dans le niveau lui-même qui
est une instance de cube. Cette instance de cube est composée de composants de maillage statiques, c'est-à-dire Composant de
maillage statique. Si vous sélectionnez cette option,
c'est là que
le
maillage du tube est inséré. Faites défiler la page vers le bas et
regardez les paramètres de collision. préréglages de collision sont-ils
actuellement définis par défaut, donc je ne peux pas vraiment explorer et voir tous ces autres paramètres. Cependant, si je devais changer cela personnalisé juste un instant, cela exposerait la configuration actuelle de la collision pour ce cube. Vous pouvez voir que le type
d'objet répertorié pour ce cube est un type d'objet
statique universel. Maintenant, il est configuré
pour bloquer un pion, tout comme notre
ThirdPersonCharacter are pion est configuré pour bloquer également un objet
statique du monde. faire court, ils sont censés entrer en collision les uns
avec les autres. Une chose ne passera
pas par une autre. Maintenant, si je devais
changer mon cube ici. Pour ignorer les collisions
avec un pion. Rappelez-vous que mon
ThirdPersonCharacter est configuré comme un type d'objet pion. Définissons momentanément
ce paramètre pour ignorer les étangs. Regardez ce qui se passe maintenant. Essayez de faire passer mon pion, mon personnage à travers ça
et rien ne se passe. Ça devient un peu bancal
avec l'appareil photo. Mais pour faire court,
qu'un
événement à succès d"acteur ne se produit jamais. Laisse-moi y aller et changer
ça pour bloquer. Et cela changera la collision, remettra à sa valeur par défaut. accord, maintenant plongeons-nous un peu plus en profondeur, car il
y a quelques nuances que vous devriez connaître sur le travail du bois
avec cet événement. Nous allons faire un clic droit
dans un espace vide, ici je suis dans mon dossier de présentation
des scripts de contenu. Et je veux créer un acteur de plan de classe
précis, BP souligne les événements. Hit, c'est comme ça que je vais appeler ça. Et je vais double-cliquer
dessus pour l'ouvrir. Et je vais ajouter
trois éléments ici. Je vais ajouter un cube. Je vais zoomer ici. Je vais ajouter une sphère, en la
déplaçant
un peu vers la droite également. Et je vais ajouter le
défilement vers le bas. Nous allons ajouter Sure, un cylindre. D'accord, maintenant
peu importe quels acteurs tu as. Tu t'es attaché à d'autres. S'ils sont attachés ou non. Cela n'a pas vraiment d'importance pour
les besoins de cette vidéo, ce que je veux savoir, c' est que le Graph d'événements
va supprimer ces événements, puis
un espace vide va montrer comment vous
pouvez ajouter un accès à l'événement. La première méthode, cliquez avec le bouton droit sur le
type d'événement. Cela vous permettra de remporter l'événement. Alternativement. Vous pouvez également
vérifier quels événements sont disponibles dans un Blueprint
donné dans
le panneau My Blueprint sous la section Fonctions. Si vous vous trouvez dans la liste déroulante
ici, sélectionnez cette option. Il a une liste complète
d'événements à
votre disposition pour cet
acteur de plan, y compris le hit de l'événement. Maintenant, tout cela est un
peu trompeur, au moins je l'ai trouvé
déroutant quand je suis entré dans le script de
blueprints, parce que dans la zone des
fonctions, vous pouvez trouver différents événements, au moins je l'ai trouvé
déroutant quand je suis
entré dans le script de
blueprints,
parce que dans la zone des
fonctions,
vous pouvez trouver différents événements,
Je suppose qu'avec leur signification,
voici tout ce que vous ajoutez au-delà de ces différents événements. Il s'
agit essentiellement de la fonctionnalité que vous ajoutez lorsque vous touchez
quelque chose dans ce plan. Ça va ? Donc, ce que je veux
montrer ici, c'est
glisser le type dans la chaîne d'impression. Et nous voulons trouver l'
autre chose qui nous a frappés. Je vais donc faire glisser
hors d'ici et taper get display name. La raison pour laquelle je fais tout
cela est pour montrer que cet
événement particulier se
déclenchera si nous touchons des
composants que nous avons ajoutés, peu importe lequel. Alors allons-y et jouons ici. Je vais également définir mes objets de débogage. Eh bien, tout d'abord, je
dois ajouter ça à mon niveau de donateur. Cela
serait utile. Pour l'ajouter à mon niveau, faites-le glisser et déposez-le ici
et faites-le pivoter un peu. Allons-y. Allez-y et jouez. Notre objet de débogage est défini. Et maintenant, quand je frapperai l'un de ces composants
qui s'enflammera, il s'envolera. Ensuite, je vais tirer. Peu importe le
composant que j'ai touché, cet événement est déclenché et vous
pouvez
le voir plusieurs fois. C'est quelque chose dont il faut être conscient parce que dans
de nombreux cas vous ne voulez pas qu'il se déclenche
plusieurs fois comme ça. Pour remédier à cela, vous pouvez ajouter un nœud due once entre les deux afin que
la première fois que vous le frappez,
il ne le fasse qu'une seule fois. Mais pour passer à notre
point suivant, vous pouvez ajouter un hit d'événement lorsque vous
atteignez un composant spécifique. Je vais sélectionner
mon cube ici. Et si je clique avec le bouton droit de la souris, je peux ajouter un événement, ajouter
des têtes de composants. Donc, ce coup est spécifique
à ce cube. Permettez-moi de sortir d'ici et de taper
simplement la chaîne d'impression. Et je
vais simplement le mettre dans la file d'attente de mots quand
nous appuierons sur ce Q. Donc, en cadrant mon
script comme ceci, je vais cliquer sur Lire une fois de plus. Maintenant, vous pouvez voir que
lorsque je touche ce cube, ces
deux événements
se déclenchent. Cependant, si je clique sur
Ajuster la sphère, seul ce
hit d'événement supérieur se déclenchera. Ce n'est pas que
des composants étranges frappent parce que l'impact d'un composant est
spécifique à ce cube. Maintenant, une
nuance très importante à comprendre à propos de l'événement est
ce qui se passe si vous avez des objets physiques
dans votre niveau. Et par là, je parle d'un objet qui peut être frappé ou qui respecte la gravité
, etc. Permettez-moi de cliquer sur jouer ici et de
vous montrer ce que je veux dire. Vous voyez cette chaise tomber
sur le sol, c'est un objet physique. Maintenant, ils sont très
simples à configurer. Si vous avez une chaise, autre
filet statique dans votre niveau, n'importe quel maillage statique fera l'affaire. C'est ici
que j'ai trouvé cette chaise dans mon
contenu de démarrage , dans
le panneau Détails. Si je sélectionne mon instance de chaise
, passe sous le composant de
maillage statique, mais passe dans la section
physique. J'ai réglé ça pour
simuler la physique. Il existe maintenant toute une série de
propriétés que vous pouvez
configurer si un objet
simule la physique. Mais dès que vous
cochez cette case, il est considéré comme
un objet physique. Si je regarde le hit de mon événement BP, tu as vu que cette chaise a frappé ce plan de classe d'
acteur. Notez que lorsque je clique sur Jouer, aucun de ces événements ne
se déclenche. Les événements de kit se déclenchent toujours si c'est le mouvement du personnage
qui déclenche le coup, ces événements ne se
déclenchent pas si un
objet physique les touche. À moins que l'acteur ou
qui souhaite détecter un succès ait une case à
cocher particulière cochée. Alors allons-y et faisons-le. Je vais passer
sous mes composants,
mon composant cube à l'intérieur
de la hanche de l'événement BP et plus encore dans le panneau Détails
sous la section collision, ce que je recherche c'est que
Simulation génère des événements de frappe. Si je coche cette case,
puis que je clique sur Jouer. Vous pouvez maintenant voir que ces deux
événements se sont déclenchés. Que se passe-t-il si je fais
glisser cette chaise au-dessus, disons le cylindre et qu'elle regarde
ensuite au-dessus du cylindre.
Puis cliquez sur Play. Ces événements ne se déclenchent pas. Et c'est parce que
je dois sélectionner mon cylindre et faire
la même chose ici. J'aurais besoin de
cocher cette case pour simulation, génère des événements à
succès. Donc un peu de
nuance très important pour comprendre leur, leur nez a frappé l"événement. L'un des événements les plus populaires utilisé dans tous nos scripts de
Blueprint. Ça suffira pour offrir celui-ci. Rendez-vous dans le prochain.
36. Évitez tout dommage: Bonjour, bonjour. Notre objectif dans cette vidéo
est de commencer à explorer certains des événements de dégâts
disponibles dans Unreal. Maintenant, les dégâts sont évidemment
une partie importante de nombreux jeux, et il est bon de
savoir qu'Unreal possède
déjà des
fonctions et événements dans les scripts de
blueprints pour aider à implémenter
ces concepts. Nous allons d'
abord explorer tout
événement endommagé , puis partir de
là. Très bien, le
ThirdPersonCharacter
va être la
star de cette vidéo. Trouvez donc votre chemin vers
ce répertoire dans le
navigateur de contenu ou le tiroir de contenu. Double-cliquez
dessus pour l'ouvrir. Nous allons commencer
par ajouter une variable. Nous allons ajouter
une variable de santé. Alors passez sous variables plus. Et nous allons
ajouter une nouvelle variable simplement appelée santé. Nous allons le laisser
du type flotteur. Il peut s'agir d'un nombre entier car
la santé peut parfois être représentée par des nombres entiers plutôt
que par des nombres décimaux. Mais nous allons y aller avec un type de
flotteur. Nous allons le compiler, puis
lui attribuer une valeur par défaut de 100. C'est une bonne valeur ronde. Maintenant, alors qu'Unreal
possède certains concepts et événements liés
aux dégâts intégrés. Il n'a aucune
notion de santé. Au moins à partir de l'
enregistrement d'aujourd'hui intégré à Unreal. Vous devez créer une variable de santé à l'intérieur du plan de
votre personnage, puis vous pouvez la gérer
à partir de là en utilisant les différents événements de dégâts. Très bien, avec cela
créé,
ajoutons un événement, n'importe quel dommage. Deux façons de le faire. Vous pouvez
saisir les dégâts avec le bouton droit de la souris. Vous pouvez le trouver ici. Vous pouvez également le trouver dans la section
Fonctions du
panneau Mon plan, Vous pouvez également le trouver dans la section
Fonctions du dans
la
liste déroulante de remplacement , il y a
des événements, des dommages éventuels. Très bien, avec ces événements ajoutés, nous voulons modifier notre
variable de santé d'une manière ou d'une autre. C'est ainsi que cela fonctionne. Allons-y et faisons glisser notre variable de
santé dans le graphique. Nous allons l'obtenir. Lorsque cet événement se déclenche, il peut indiquer l'
ampleur des dégâts qui ont été causés. Maintenant, nous voulons
prendre notre variable de santé. Nous allons faire glisser un ici, taper le symbole moins que
nous voulons soustraire. Nous allons donc prendre la santé de
notre personnage
et la soustraire
de la quantité de dégâts infligés. Ensuite, une fois ce
calcul terminé, nous allons mettre à jour
notre variable de santé. Pour ce faire, nous pouvons le faire
glisser et le déposer directement sur la
broche de sortie et le régler. Nous prenons donc notre santé, soustrayons le
montant des dégâts, puis nous définissons
notre nouvelle valeur de santé. Plutôt simple et
direct. Alors ce qu'on va faire,
c'est s'éloigner de ça et ajouter un signe inférieur ou égal à. Nous allons dire si c'
est inférieur ou égal à 0, alors nous allons créer une branche. S'il est vrai que nous sommes
inférieurs ou égaux à 0, notre santé tombe
à 0 ou moins, alors nous allons
détruire l'acteur. Dans ce cas, la
cible est nous-mêmes. Nous allons
tout détruire. Maintenant, avant de lier cela, je vais simplement me faufiler dans
un nœud de chaîne d'impression ici. Nous pouvons donc voir notre
valeur pour la santé traînée hors d'ici. Nous allons taper une chaîne d'impression. Et on va y aller comme ça. Et si nous branchons notre santé
dans cette chaîne, cela convertira cette valeur
flottante en chaîne. C'est donc ce que cela
fait ici. Il s'agit de convertir un
flotteur en chaîne de caractères. Et compilons
ça, assurons-nous que ce script est bon
et qu'il ressemble à ce qu'il est. Maintenant, notez que cet événement ne fera rien pour l'instant
car nous n'avons pas dit à cet acteur d'être impacté par le concept de
dommage de quelque manière que ce soit. Nous allons le faire l'année prochaine ici dans notre éditeur de niveaux. Et allons-y et
ajoutons un volume de déclenchement. Je vais le faire
en venant
ici, en plaçant le panneau des acteurs. Je vais ajouter
une zone de déclenchement et placer quelque part
devant mes joueurs. Acteur de départ. Avec ça sélectionné. Je vais régler l'
épaisseur de la ligne pour qu'elle soit un peu plus épaisse afin de pouvoir la voir dans
le niveau. Je vais également faire en sorte que
l'étendue de la boîte soit 200 par 200 par 200. Et je vais aussi faire défiler vers le bas et décocher le
jeu caché de l'acteur pour que nous puissions le voir. Très bien, une fois tout cela fait, passons à notre niveau. Plan directeur. Je vais faire un clic droit
et un espace vide. Nous allons ajouter un événement En cas de
collision au début du chevauchement. Nous allons vérifier si l'autre acteur qui
nous a superposés était le personnage à la troisième
personne, non le mode jeu. Le personnage. Si c'est le cas, ce que nous
allons faire ici, c'est traîner hors d'
ici et taper « appliquer des dégâts, a-ha, des dégâts
appliqués ». Maintenant, ces dégâts de base ici vont nous
permettre d'indiquer
combien de dégâts nous
aimerions avoir
infligés à notre
ThirdPersonCharacter. Donc ça marche comme ça. vous qui décidez de la quantité de dégâts que
vous souhaitez appeler cela. Donnons un certain nombre de points, disons 25,5, quelque chose de
ridicule comme ça. Il est défini ici et
là quand cet événement, tout dommage appelé, il le
sortira ici. Donc tu
transmets ces dégâts. Très bien, une fois que tout est fait, allons-y et
cliquons ici pour jouer. Et je veux être mon plan de
personnage à la troisième personne. Pour que nous puissions voir ce
script se déclencher ou non si nous avons tout
foiré , Allons-y
et cliquons sur Jouer. Et nous devrions voir si la valeur
endommagée est mise à jour ici en
haut à gauche parce que nous l'imprimons
à l'écran. Nous allons chevaucher cela. Et je ne le vois pas. Et la raison pour laquelle je ne le vois pas,
c'est parce que j'ai oublié recul dans
mon plan de niveau, j'ai oublié de définir
cet acteur de dégâts comme personnage à la troisième personne. Donc, si nous faisons cela,
nous disons, Hey, ThirdPersonCharacter,
toute cette fonction de dégâts appliquée, déclenchez-la et
assurez-vous que, ce faisant, vous déclenchez
tous les dégâts de cet événement. J'appelle donc cette
fonction si vous définissez l'acteur de dégâts dans ce cas
sur ThirdPersonCharacter, cela provoquera le déclenchement de cet événement
. Essayons encore une fois. Vous devriez donc voir cette valeur de
dégâts mise à jour dès que
ce volume de déclenchement se chevauche. Et voilà,
il a vu le feu s'éteindre. Si je recommence, vous mettrez
à jour la santé jusqu'à ce
que je dépasse ce seuil et
boum, je suis mort. Maintenant, juste quelques notes dans mon plan de niveau. Cette classe de type de dégâts. Il est possible d'
ajouter des dégâts de feu, dégâts de
foudre, des dégâts d'eau,
tout ce genre de choses. Dans Unreal. Il n'a pas besoin d'être réglé
et ce n'est pas dans le cadre de cette vidéo comment
configurer ce genre de choses. Cette icône de serveur, ce nœud indique que cette fonction n'est exécutée que sur le serveur
pour les parties solo, le client local est considéré comme le serveur que
j'ai pensé lancer dans ces notes. Une autre chose qui
mérite d'être soulignée ici est que si je reviens à mon
plan ThirdPersonCharacter et au lieu de soustraire
ici, je l'ai fait. Glissé hors de cela
et tapez annonce. Tu n'as pas vraiment à traiter ça comme une chose négative. Vous pourriez utiliser tout
ce concept de dégâts comme moyen de guérison. Donc au lieu de soustraire, vous pouvez faire quelque chose comme
ça et ajouter ce montant. Donc, si vous vouliez avoir
une sorte de bassin de guérison, vous pourriez le faire aussi. Une dernière remarque à propos
de tout dommage est
qu'il est destiné à être utilisé pour des dommages à usage
général, tels que les dommages subis
par votre environnement, abri du feu ou du poison,
ce genre de choses. Très bien les gars, ça va
suffire pour proposer celui-ci. On se voit dans le prochain.
37. Dégâts au point d'événement: Bienvenue à tous. Eh bien, nous en sommes au deuxième
de nos trois événements de dégâts. Dans le dernier, nous avons
parlé de tout dommage éventuel. Quel est votre événement de dommages à
usage général à utiliser pour des éléments tels que les dommages
environnementaux. Et celui-ci, nous
allons
parler des dégâts des points d'événement. Désormais, les dégâts ponctuels sont
censés être infligés par des armes à projectiles, des armes de balayage,
même des armes de mêlée. Et j'en ajouterai même
un quatrième ici. Nous allons
déposer une boîte de physique sur tête de
nos joueurs afin
qu'elle puisse également être utilisée pour quelque chose comme ça. Maintenant, bien que ses fonctions soient similaires
pour empêcher tout dommage, il comporte des informations supplémentaires
qui peuvent être transmises, ce qui le rend idéal pour les applications de
dégâts de style projectile. Maintenant, pour gagner du temps,
j'ai mis en place un tas de choses avant de tourner cette vidéo, mais je vais vous montrer exactement ce que j'ai fait pour que vous puissiez jouer le jeu à la
maison si vous voulez
suivre cet exemple. Tout d'abord, vous placez
un acteur de maillage statique dans votre niveau et le
placez juste au-dessus de l'endroit
où vos
joueurs apparaissent dans cet acteur
Player Start. J'utilise simplement un acteur de maillage
statique en cubes, mais tout ira bien
et vous pouvez attraper un cube en entrant
ici, cube de formes. Ensuite, avec ce cube
sélectionné dans le panneau Détails, j'ai sélectionné mon composant de
maillage statique. Et il y a deux cases à cocher que
j'étais sûr de cocher. L'une consiste à simuler la
physique pour s'assurer que cette boîte va tomber sur la
tête de mon personnage. Et aussi dans la section
collision, je me suis assuré de simuler des événements de
génération d'impact. Mettre cela sur true également, parce que je veux que cela
génère un événement hit. Maintenant que cela est sélectionné
dans mon plan de niveau, vous pouvez le trouver
en cliquant ici, ouvrez Level Blueprints. Je clique ensuite avec
le bouton droit le cube sélectionné
dans le niveau, un
clic droit et j'ajoute un événement Et j'ai ajouté un
hit d'acteur et ça montre que c'est le
nom de mon cube. Maintenant, ce que je veux faire,
c'est qu'une fois que j'ai frappé quelque chose, je veux appeler cette fonction
appliquer le point endommagé. Vous m'avez vu
infliger des dégâts dans la dernière vidéo. Quelque chose de similaire ici. C'était l'application de tout dommage
de la vidéo précédente. Nous faisons quelque chose de
similaire ici. Nous allons appliquer
un point de dégâts. Et tout comme avant,
nous devons nourrir cet acteur endommagé, avant que ce ne soit un personnage à la
troisième personne. Ici, nous allons emprunter un chemin un
peu différent. Nous allons
sortir notre résultat de frappe de nos coups quand notre
cube touche quelque chose. Et tout ce que vous avez à faire est de faire
glisser ici et de taper break, puis de casser le résultat de
ce hit, vous pouvez extraire toutes sortes
d'informations sur le hit qui s'est produit entre ce cube
et ce qu'il a frappé. L'une de ces choses que vous pouvez extraire est les acteurs à succès. Donc, si vous branchez votre
acteur principal dans l'acteur de dégâts, nous pouvons appeler cet événement de dégâts
ponctuels sur le plan Hit Actor. Nous y reviendrons
dans un instant. Nous pouvons également indiquer d'
où vient ce coup. Ce que je fais ici
est hors de sa tête, nous cassons le
résultat du coup et je dis,
Hé, où est-ce que cela s'est produit, l'emplacement x, y et z. Et nous transmettons cela
au coup à partir de la direction
fournissant essentiellement les coordonnées x, y et z où cet
impact se produit. Une autre chose que vous
devez faire ici avant de compiler
est de
transmettre les informations
de ces événements de coup dans les informations de frappe de votre fonction d'
application de dégâts de points. Une fois que tout cela est fait, vous
pouvez le compiler et l'enregistrer. Et tout cela est très bien. Mais la prochaine chose que vous
devez faire est de passer à notre
plan de personnage de troisième personne. Encore une fois, dans
le navigateur de contenu, vous pouvez trouver votre
ThirdPersonCharacter à cet endroit. Ici, j'ai configuré dégâts ponctuels de
cet événement et toutes les choses que
je voulais voir se produire. Alors tout d'abord, où obtenez-vous les points de
cet événement endommagés ? Eh bien, vous
pouvez cliquer avec le bouton droit de la souris et saisir des points de dégâts. Vous pouvez le trouver dans
le menu contextuel. Sinon, si vous ne l'
avez pas déjà ajouté à
votre graphique, vous pouvez passer sous fonctions puis dans la section de remplacement, vous pouvez trouver la fonction
endommagée par un point ici comme Eh bien. Il n'est pas listé
ici car il est déjà ajouté à mon graphique. Maintenant, une fois que le hit
apparaît dans notre
plan de niveau, une fois de plus, nous passons
le Hit Actor et nous savons qu'il va nous frapper
un ThirdPersonCharacter. Il va appeler cette fonction endommagée par
point, ce qui entraînera le
déclenchement de cet événement. Et ce que nous disons
ici, c'est que nous voulons le faire une seule fois
parce que c'est un événement qui, lorsqu'il touche des
choses dans notre niveau, ce cube peut être lié. Cela pourrait toucher notre
personnage plusieurs fois. Nous voulions
enregistrer un seul résultat, donc nous n'allons
dépasser ce temps que 0,1 fois. Ce que je fais ici,
c'est que je
transmets la quantité de
dégâts que j'ai spécifiée ici dans ma fonction d'
application des dégâts ponctuels. Ici, je dis juste
50,5 juste parce que ce chiffre
est transmis par nos dégâts de points d'
événement. Donc je soustrait cela de notre variable santé ici
et je la définit
comme notre nouvelle santé. Je suis juste en train d'
imprimer ça à l'écran. Ensuite, la dernière chose que
je fais ici, c'est que je vais apparaître dans
l'émetteur à l'emplacement. C'est l'ancien système
de particules ici, le système de particules en cascade. J'utilise juste une
explosion ici. Et ce que je fais
en dehors des
dégâts des points d'événement , c'est juste ici. Ce coup vient de la direction. Je transmets cette
information, sors d'ici à
l'
endroit où je veux que l'explosion
se produise. Quels en sont les résultats ? Maintenant, vous avez vu le flux d'
exécution juste en haut. Et me voici dans mon
personnage de troisième personne. Refaisons-le. À partir de mon plan de niveau. un petit zoom arrière. Alors encore une fois, gardez un œil
sur ce script. Bam. Vous pouvez voir qu'il tire plusieurs fois parce qu'
il touche le sol en plus
de toucher mon personnage. Maintenant, si vous vouliez utiliser le nouveau
système de particules au lieu de cet émetteur d'apparition à l'emplacement, vous pouvez le supprimer. Et si vous avez des
particules de Niagara dans votre projet, vous pouvez simplement en spécifier
une ici. J'ai une douche à pièces qui n'a pas l'air aussi
cool que cette explosion, mais regardez-la ici. Maintenant, une chose que je
n'ai pas encore mentionnée, mais je dois le faire, c'est que si vous
allez utiliser ce point de dégâts dans une
instance comme je l'utilise, vous devez être sûr
que vous n'
utilisez que ce point d'événement Endommagé ? Regarde ce que j'ai fait plus haut. J'ai déconnecté mon
événement de tout dommage. Maintenant, si je branche ça aussi
et que je remarque que je fais cette modification de santé
ici pour, eh bien, il en résultera que
les deux événements se déclencheront. Et vous pouvez voir ma
santé chuter
en dessous d'un niveau négatif. Quand tu appelles. Si j'applique des dégâts ponctuels, vous allez également appeler non seulement des dégâts ponctuels d'événement, mais également des dégâts
d'événement, car les dégâts ponctuels sont
techniquement des dégâts. Il suffit donc d'être conscient de
cette instance également. Notez maintenant que bien que ces
événements soient similaires, l'avantage des dégâts ponctuels d'
événement est que l'emplacement peut
être transmis. Vous avez d'autres
choses que vous pouvez également
transmettre ici, mais cet endroit est le
principal d'entre eux. Très bien les gars, ça va tout
faire pour celui-ci. On se voit dans le prochain.
38. Dommages radiaux de l'événement: Vous voilà donc en train de vous occuper de
vos affaires ,
puis vous marchez sur une mine vous subissez de gros dégâts. Vous survolez la
moitié de l'écran et vous plongez jusqu'à la mort. Événement. Les dégâts radiaux sont à l'origine de tels cas et des jeux
Unreal Engine. Et ce qui rend cet
événement unique par rapport
aux deux précédents, c'est qu'il est parfait pour les dégâts
de zone d'effet. Avec les dégâts radiaux dus à un événement, vous pouvez spécifier un point d'origine où les dégâts maximaux sont appliqués, ainsi qu'un rayon sur lequel l'
atténuation peut être appliquée. Ainsi, plus vous
vous éloignez de l'origine, moins votre
personnage subit de dégâts. Très bien, j'ai donc donné
un exemple avant de tourner cette vidéo et je vais vous
expliquer exactement ce qui se passe ici. Suivez-nous si vous
voulez jouer à la maison. Donc, ce que j'ai fait ici, c'est que j'ai placé une simple
sphère de déclenchement dans mon niveau. Vous pouvez le trouver en accédant
au panneau des acteurs du lieu. Et dans mon onglet de base, je place simplement le
doigt d'un Trèves dans mon niveau. Ici, je fixe simplement le rayon de ma
sphère à 1 000. Et je fais aussi apparaître
cela en passant simplement sous le champ Où se trouve ? Encore une fois, la
section de
rendu, rendu, rendu,
rendu. Ça y est. Je choisis de ne pas avoir
ce jeu caché. Je règle également l'échelle du panneau d'affichage de l'
éditeur. C'est cette icône jusqu'à cinq, juste pour que ce soit bien évident, pour voir ensuite, ce que j'ai fait, c'est la
largeur sélectionnée par cette actrice, je suis passée à
mon plan de niveau. Et à l'intérieur d'ici, j'ai créé une référence au fait que
cela déclenche la peur en maintenant la touche RT enfoncée
et en cliquant avec le bouton gauche de la souris, tant que vous l'avez
sélectionnée dans le niveau. Et puis je suis sortie de là et j'ai trouvé la position de l'acteur. Maintenant, ce que je fais ici, c'est qu'en
appuyant sur la touche E, vous pouvez obtenir n'importe quelle
combinaison de touches de votre choix. Une fois de plus, Level Blueprints
reconnaîtra les événements d'entrée. Je suis alors en train d'apparaître et d'
émettre à cet endroit, le point central de ma sphère Je suis juste en train d'augmenter l'
explosion pour qu'elle soit très grande. Encore une fois, si vous
ne voulez pas utiliser les anciens émetteurs en cascade, vous pouvez créer
un système d'apparition sur place pour les effets des
particules du Niagara. Et puis c'est le nœud clé dont nous
parlons ici, qui dégâts radiaux en cas de chute. Maintenant, notez que si je clique
avec le bouton droit de la souris et que je laisse un
espace vide et que je tape « appliquer le radial », vous pouvez appliquer un dommage radial et également appliquer un
dommage radial en cas de chute. Nous appellerons ces deux l'événement de dégâts radiaux que nous allons utiliser dans peu
de temps. Cependant, je préfère celui-ci un
peu mieux car il permet spécifier un rayon intérieur et
un rayon extérieur ainsi que base, puis des dégâts
minimaux. Cela vous permet de spécifier
une plage d'atténuation. Donc, en gros, ce que
je veux dire ici, permettez-moi de m'en débarrasser,
c'est mon rayon intérieur. Une fois de plus, ma sphère a une taille de
1 000 unités irréelles. C'est ça juste ici. Le rayon de la sphère est de 1 000. De retour ici, je dis que
le rayon intérieur est de 200 unités irréelles, le rayon extérieur est de 1 000 unités. Les dégâts à l'épicentre de l'origine et dans ce rayon intérieur seront de 100. Donc, tout ce
qui se trouve dans ce
rayon intérieur subira le maximum de dégâts. Dans le rayon extérieur, à la limite extrême, je vais infliger au
moins un dégât. Maintenant, je l'ai inscrite comme valeur de chute
endommagée. Cela détermine la rapidité dégâts
tomberont
du point central, points d'origine
aux bords. Vous pouvez jouer
avec ce chiffre pour des points d'origine
aux bords. Vous pouvez jouer
avec ce chiffre pour obtenir
une chute plus ou moins extrême. Et puis les autres
entrées sont toutes facultatives. Mais pour que le système fonctionne, cela suffit. Maintenant, en ce qui concerne mon plan de
personnage à la troisième personne, je mets les choses en place. Ainsi, mon
événement a été endommagé radialement, ce que vous pouvez à nouveau
obtenir en cliquant avec le bouton droit de la souris, en
tapant radialement endommagé, il y a cet événement dommage
radial. Une autre façon d'obtenir
cet événement est de passer par la section
remplacements de fonctions. Vous pouvez le
trouver ici si vous ne l'avez pas déjà ajouté
à votre graphique. Et je vous transmets ici
ce reçu endommagé. Je soustrais cela de
ma variable santé et définis comme ma
nouvelle valeur de santé. Maintenant, le
montant des dégâts transmis le long du mur
dépend
vraiment de la mesure dans laquelle mon personnage était au centre de ces
dégâts au moment où ils se sont produits. Maintenant, de retour ici, j'imprime
également cette valeur de santé à
l'écran afin voir combien de points de vie ont réellement été soustraits de mon niveau de
base 100. Alors ce que je fais aussi ici c'est un petit peu plus. Ce n'est pas vraiment nécessaire pour
que cela se produise. Mais ce que j'ai fait ici, c'est que je suis
en train de récupérer mon composant de capsule. J'ai juste ajouté une
référence à cela. Et j'ai fait un set de simulation de fonction
physique ici. Cochez cette case. C'est ce qui va
faire
voler mon personnage dans les airs. Et c'est ce qui va lui
faire voler dans les airs une impulsion
radiale, impulsion au point d'impact. Tout ce que je fais ici, c'est
transmettre l'origine, le point central de mes dégâts
radiaux, juste ici, je passe le long qui
déclenche, la position de la sphère
comme origine. Et c'est là que je dis que
j'envoie une impulsion,
imaginez-la comme une onde de pouls
invisible. Le rayon de cette impulsion
sera donc de 1 000. Et j'ai fixé la force avec laquelle
vous pouvez jouer avec ces valeurs à un
demi-million. Maintenant, de retour à notre niveau,
vous pouvez voir mon joueur de départ L'acteur va commencer
juste à l'extérieur de ce rayon. Donc, si je devais cliquer sur
Play et que mon
plan de personnage à la troisième personne est maintenant ouvert et que j'appuie sur cette touche E. Vous pouvez voir que je ne
subis aucun dommage radial parce que mon personnage
ne se trouve pas dans ce rayon. Cependant, une fois que je
suis à portée, notez
maintenant que je suis à
peine en train de mettre les
pieds dans ce rayon. Regardez en haut à gauche. Cela montrera
combien de points de santé soustraits de
ma valeur initiale de
100. Donc je vais, je
suppose que je vais me
retrouver avec une valeur de 89 ou quelque chose comme ça parce
que je suis à
peine là, donc je vais appuyer sur la touche E pour obtenir 87. Ainsi, près de 13 points de vie ont été soustraits en
marchant à peine . Et
essayons ça. Encore une fois. Ceci, je vais faire un pas
droit vers le milieu. Cela devrait donc faire
un maximum de dégâts. Et si nous
revenons à notre carte de test, vous pouvez voir que les dégâts
radiaux appliqués diminuent. Cela montre qu'à l'intérieur de
ce rayon intérieur de 200, je devrais
faire 100 dégâts. Voyons donc si c'
est bien le cas. Permettez-moi d'ouvrir mon plan de
personnage à la troisième personne. Encore une fois, appuyez
dessus et en haut à
gauche, il devrait afficher 0.0. Et c'est le cas. Vous pouvez donc voir, comme dit, simuler la physique
et le pouls radial de la tête. Tout est fait pour le plaisir et les jeux. Maintenant, une dernière
information à transmettre ici, tout comme les dégâts par points. Si vous avez
également des dégâts. vous infligez des dégâts radiaux , chaque
événement en déclenchera deux. Maintenant,
je devrais faire
quelques dégâts à mon personnage voir
ce texte Bonjour ici dès que j'appuie sur
la touche E à l'intérieur d'ici. Vous pouvez donc voir que Hello est
apparu et
qu' une partie de la santé a été soustraite. Très bien, les gars, il y
a eu des dégâts radiaux. Récapitulons rapidement les
différents dégâts. Tout dommage est donc bénéfique pour
l'environnement. Lorsque vous n'avez subi aucun dégât
à un endroit précis. C'est parfait pour
traverser le feu ou les gaz toxiques,
ce genre de choses. Les dégâts ponctuels sont
utiles pour spécifier un endroit donné où le
dommage s'est produit. Idéal pour les projectiles
qui touchent le joueur. Les dégâts radiaux conviennent aux
explosions et permettent de spécifier un point d'origine où les dégâts sont
maximaux. Et ce type de dommage peut s'atténuer au fur et à mesure qu'il s'
éloigne de son origine. Cela va clore tout cela. Nous vous verrons dans
la prochaine vidéo.
39. Événement détruit: Bienvenue à tous. événements détruits sont le sujet de cette vidéo et notre objectif
est de découvrir les causes de l'
incendie d'un acteur et comment nous pouvons utiliser
cela dans un script. Pour cette vidéo, je vais utiliser notre plan de niveaux ici. Vous pouvez le trouver ici,
ouvrez Level Blueprint. Et je vais également utiliser
nos plans de
personnages à la troisième personne. Vous pouvez le trouver ici
dans ce répertoire. J'ai également effectué quelques
travaux de configuration à l'avance. Si vous la suivez en même temps que
les vidéos précédentes sur les différents nœuds de type Apply
Damage, tout cela vous semblera
très familier. Cependant, si vous passez directement
à cette vidéo, laissez-moi vous montrer ce que j'ai
fait à l'avance pour
préparer la présentation
de l'événement détruit. Maintenant, pour commencer, j'ai placé une boîte de déclenchement dans mon
niveau et je n'
ai fait que dimensionner la boîte à
200 x 200 x 200, régler l'épaisseur de ma ligne sur dix. Et j'ai aussi fait en sorte que dans la section de rendu où se
trouve cette section de rendu, encore
une fois, elle est là. J'ai dit que
le jeu caché d'acteur ne devait pas être contrôlé. Puis, avec cette
case de déclenchement sélectionnée dans mon niveau, dans le
plan
de niveau, j'ai cliqué avec le bouton droit de la souris. J'ai créé une publicité sur Actor Begin Overlap pour cette
case de déclenchement extraite de l'autre acteur nous choisissons pour notre
personnage à la troisième personne afin de m'assurer que c'est bien le personnage à la troisième personne qui nous
chevauche. Et puis si c'est le cas, nous allons infliger des dégâts
à notre personnage à la troisième personne Je lui inflige 25 points
de dégâts ici. Ensuite, dans le
ThirdPersonCharacter Blueprint, cela devrait
également vous sembler
familier si vous le suivez dans
les vidéos précédentes. En cas d'événement, tous les dégâts
sont annulés. Et encore une fois, cela
s'appelle lorsque cette fonction endommagée
appliquée ici dans notre
plan de niveaux, se déclenche. Ça se déclenche alors. Tout ce que je fais ici, c'est prendre notre état de santé actuel
, qui commence à 100. Nous allons soustraire le
montant des dégâts infligés ici
même dans notre fonction de dégâts appliquée
dans le plan de niveau 25. Nous allons
soustraire cela de notre
état de santé en tant que nouvelle santé. Et si notre état de
santé inférieur ou égal à zéro, nous allons détruire l'acteur. Maintenant, c'est là
la fonction importante. Parce que lorsque cette fonction Destroy
Actor est appelée, Event Destroy se
déclenche également. Donc, si je devais
simplement jouer dès maintenant, c'est
ce que j'aurais. Je clique sur Play ici. Permettez-moi de définir mon personnage
comme objet de débogage, faire ressortir à nouveau ma
fenêtre de jeu. Ici, en haut à
gauche, vous allez voir que la
valeur de santé diminue. Rappel, mon système de santé
n'est pas du tout raccordé à mon
compteur ici. Nous pourrions changer cela plus tard. Peut-être que nous en aurons 75 ou 50. Vous voyez cet événement se
déclencher au-dessus et puis, boum,
notre personnage est détruit, notre personnage est détruit, mais nous
pouvons utiliser les événements détruits pour faire en sorte que
quelque chose d'autre se produise. Ajoutons donc l'événement détruit, et il existe plusieurs manières
d'ajouter celui-ci. Nous pourrions cliquer avec le bouton droit de la souris
et détruire un espace vide, les événements de
saisie. C'est un moyen. La deuxième méthode,
bien sûr, se trouve dans le panneau Mon plan,
sous la zone des fonctions, vous pouvez annuler les événements, détruire la cible qui sera un acteur. Et comme vous pouvez le voir,
notre Destroy Actor, la cible est inactive. Donc, dans ce cas, notre personnage à la troisième personne,
nous disons : «
Hé, détruis-nous ». n'y a donc aucune sortie ici. Nous sommes en train de nous détruire. Une fois que cela sera appelé, nous
passerons un appel à cet événement pour qu'il démarre. Très bien, faisons en sorte que
quelque chose se passe ici. Sortons d'
ici et saisissons l' émetteur de
spawn à l'emplacement. Encore une fois,
vous pourriez créer un système de reproduction à un endroit qui est le système de particules du
Niagara. Je vais juste utiliser l'explosion
de la vieille école. On y va. Et bien sûr, nous devons
fournir un emplacement pour cela. Il suffit donc de cliquer avec le bouton droit
de la souris sur un espace vide et de taper get actor location. La cible est notre
troisième personne, notre personnage est sa localisation. Et faisons autre chose,
c'est nous en débarrasser. Et faisons naître l'
acteur de sa classe. Faisons apparaître dans du feu, notre plan produit un effet de feu. Nous devons fournir
une transformation d'apparition. Je vais donc cliquer avec le bouton droit de la souris. Nous allons transformer
l'acteur. Encore une fois. La cible, c'est nous-mêmes. Tu es un personnage à la troisième personne. Et enfin,
faisons glisser la souris vers le bas et imprimons la chaîne. Et au lieu de la
chaîne, bonjour, disons quelque chose
comme un stéroïde D détruit, si je peux bien l'épeler. Très bien, si nous chevauchons
ce volume de déclenchement, nous allons infliger des
dégâts à notre
personnage à la troisième personne. Ces dommages
seront répercutés sur notre
valeur sanitaire ici même, une fois que notre santé sera inférieure ou égale à zéro, et c'est vrai. Nous allons
détruire cet acteur. Cela va provoquer le déclenchement de l'événement
détruit. Et puis il va faire tout
ça ici. C'est toujours une bonne
idée de compiler. Assurez-vous que votre script
est prêt à fonctionner. Gardons ça, et
allons-y et jouons. Et laisse-moi le déplacer vers haut pour que tu puisses voir ce tir. C'est parti. 12, que l'état de santé est en baisse. Trois maintenant, regardez juste
au-dessus de la fenêtre de jeu. Eh bien, pour que l'événement soit
détruit. Boum. Et voilà. Nous avons provoqué cette explosion, et nous avons également provoqué ce feu à effet de
plan. Maintenant, j'aimerais
continuer et vous montrer un autre exemple avant
de terminer cette vidéo. Et juste pour te montrer
ce que j'ai
fait ici , dans mon niveau, j'ai ajouté un cône juste
au-dessus des limites de
mon volume de déclenchement. Vous pouvez le trouver dans le panneau des acteurs de
votre place ici. Mais n'importe quel maillage statique
fera l'affaire si vous voulez jouer avec le gars sélectionné. Dans mon plan de
niveau, j'ai fait défiler l'écran vers la
droite, là où vous ne pouviez pas le voir sur
la droite auparavant. Je vais juste
étendre les fonctionnalités. Nous endommageons notre joueur. Ce que je veux faire ici,
c'est m'occuper de ça. Donc, en plus d'infliger
quelques dégâts à notre personnage, je vais attendre 3 s
la première fois que je
superpose cette case de déclenchement et je
vais détruire notre cône. J'ai obtenu une référence à mon cône ici parce qu'une fois cette option sélectionnée,
si je maintiens la touche Alt enfoncée,
je peux cliquer avec si je maintiens la touche Alt enfoncée, le bouton gauche de la souris et apporter
une référence à mon cône. Donc je dis, hey Cone, tu es l'acteur cible que
je veux détruire. Maintenant, en bas. ce cône est également sélectionné, vous pouvez cliquer avec le bouton droit de la souris sur
un espace vide et dire
« Hé, quand tu seras détruit ». Encore une fois, je vais vous montrer
comment j'ai obtenu ce OnDestroy. Voilà, j'ai sélectionné
ce cône. Je peux ajouter des événements et dans la section du jeu, vous
pouvez ajouter « détruit ». Et si je le sélectionne tout de
suite, je vais juste me
lancer et dire «
hé, je t'ai compris ». Alors ce que je fais, c'est
extraire des informations
de mon acteur détruit. Je fournis cet
acteur ici même. Je dis, hé, je
veux te transformer. Faisons apparaître un
exemple de prélèvement de BP, puis émettons un son. Cela se
produira donc la première fois que nous superposerons
cette boîte de déclenchement. Donc, si
l'on ne tient
pas compte de tous ces dégâts infligés au personnage à la troisième personne dans 3 s, certains vont
détruire notre cône, puis cet événement
détruit se déroulera et nous
aurons cette apparition. Allons-y, jouons-y. Compilons ça d'abord. Assurez-vous que ça a l'air bien. ce qui est de la planification, permettez-moi de configurer mon objet de débogage pour qu'il soit ma carte de test et de faire ressortir à nouveau
ma fenêtre de jeu. Maintenant, la première fois
que je le
superpose en 3 s, ce cône va se
transformer en micro. Et voilà. Donc, quelques utilisations de
l'événement détruit. Vous m'avez vu
en montrer quelques-unes maintenant. La première serait de
générer une particule ou un son sur un lieu
de destruction. Le deuxième serait de faire
apparaître et d'autres acteurs,
comme les toilettes tombent lorsque vous
tuez un ennemi. Très bien, les gars, ça
suffira pour celui-ci. Nous vous verrons lors de la prochaine.
40. Événements personnalisés: événements personnalisés sont le
sujet de cette vidéo, et il s'agit d'un
sujet très important car
les événements personnalisés font partie des événements les plus utilisés dans tous les scripts de plan directeur. Notre objectif dans cette vidéo
est donc de découvrir ce qu'ils sont, comment ils sont ajoutés et
pourquoi ils sont utiles. Désormais, un événement personnalisé est un
événement que vous pouvez nommer et appeler pour qu'il se déclenche
quand vous le souhaitez. D'accord, donc voir c'est croire, je vais utiliser principalement le plan du
personnage à la troisième dans cette vidéo, mais je vais essayer un
peu le plan de niveau. Alors allez-y, ouvrez-les. Je vais commencer par le
plan du personnage à la troisième personne. Et tout d'abord, nous devons ajouter
l'un de ces événements personnalisés. Eh bien, comment y parvenons-nous ? Cliquez avec le bouton droit de la souris et saisissez un
espace vide dans le mot personnalisé. Et dans la catégorie Ajouter
un événement, nous avons ajouté un événement personnalisé. Maintenant, dès que je fais
cela, cela va ajouter
des événements à mon graphique, mais cela va
m'inviter à lui donner un nom. ce que j'appellerai Add Health. Désormais, si à tout moment vous
souhaitez modifier le nom de votre événement personnalisé, vous pouvez le faire de deux
manières. Vous pouvez simplement
double-cliquer dessus
et cela vous donnera la
possibilité de le modifier ici. Ou avec cet événement, le nœud a ajouté ce fournisseur client et ajoutez-le dans le panneau
Détails. Vous pouvez également
en changer le nom ici. D'accord, donc en ajoutant de la santé.
Allons-y et faisons en sorte que
cet événement
ajoute réellement de la santé
chaque fois qu'il est organisé. Maintenant, pas maintenant. Nous n'avons rien qui puisse
réellement appeler cet événement. Nous nous occuperons de
cela dans un petit moment. Mais pour que
cela fonctionne réellement, ajoutons notre variable
santé. Je vais le chercher. Je veux faire glisser ce
type sur le bouton plus. Nous allons y ajouter
un certain montant. Ajoutons 010. Ça a l'air bien. Ensuite, je vais faire
glisser ma santé en plus de ce résultat afin que
nous puissions améliorer notre état de santé. Nous retrouvons donc notre santé, nous allons
y ajouter dix , puis nous
allons l'améliorer. Ça a l'air bien jusqu'à présent. Allons-y et
imprimons-le également à l'écran. Alors imprimez une chaîne. Si je prends cette sortie de mon site health
et que je la branche à la chaîne, je vais obtenir un petit nœud de
conversion pour convertir un
type de données en
un autre, un float en chaîne qui l'
imprimera sur mon écran. Et puis sortons également
d'ici et
saisissons l'
émetteur d'apparition à l'emplacement. Une fois de plus, vous pouvez créer
un système, le système de
particules du Niagara. Je vais juste utiliser
l'explosion de la vieille école parce que j'aime l'utiliser
pour à peu près tout. C'est très visuel, non ? Alors, où allons-nous apparaître
et exploser ? Eh bien, trouvons la localisation de nos
acteurs ici. Pourtant, facteur de localisation. La cible, c'est nous-mêmes, le personnage à la
troisième personne. Connectons-le ici. Et ensuite,
jouons un son également. Faites glisser quelques sons. 2D. Le son 2D est un son qui ne
se trouve pas dans une région donnée. C'est juste génial
pour les sons des menus. Au fait, je vais
compiler, compiler, réussir. L'un ou l'autre fera l'affaire, d'accord, compilez-le et sauvegardez-le. Ça a l'air d'être un bon script. Très bien, nous avons donc besoin de quelque
chose pour que
cet événement se produise. Ce sera donc un exemple
assez académique, mais pour faciliter
les choses,
je vais faire un clic droit
dans un espace vide. Vous pouvez saisir une seule touche. Et je dirais qu'en
appuyant sur une touche, nous allons nous arrêter là. Et maintenant, si je tape Ajouter une
santé, vérifiez ceci. J'ai un nœud que je peux ajouter, un nœud de fonction d'appel
appelé AddHealth. Donc, ce que je
vais essentiellement faire ici c'est que lorsque j'appuie sur une touche, je demande cet événement personnalisé appelé
AddHealth se déclenche. Il s'agit d'une connexion sans fil et c'est l'un des avantages de l'utilisation d'événements personnalisés et la confidentialité de ces connexions
sans fil. Maintenant, on pourrait très
facilement dire : « Hé, en appuyant sur une touche, fais tout ça ». Cependant, vous
avez parfois des scripts très compliqués et vous voulez que les
choses restent claires et simples. C'est un bon moyen de
créer un déclenchement sans
fil, un
appel sans fil pour cet événement. ce qu'on appelle ça, ce qui va faire en sorte que
tout ce script se produise. Allons-y,
compilons et sauvegardons. Allez-y, jouez ici. Et je vais essayer
de tout intégrer. Alors regarde. Une fois que j'ai appuyé sur une touche, tout
cela va se produire. Vous allez voir
cet émetteur se produire. Vous allez entendre
un son, et cetera. C'est parti. Et je peux continuer à le
faire encore
et encore et encore. Ces connexions sans fil
sont donc géniales, mais ce ne sont pas vraiment
les seuls avantages que vous pouvez
tirer des événements personnalisés. Avec les événements personnalisés,
vous pouvez également demander cet événement se produise à
partir d'un autre plan. Allons-y et organisons cet événement depuis notre plan
de niveaux. Donc, si vous avez oublié comment accéder
à votre
plan de niveau à partir de maintenant, vous
y êtes pour la 100e fois. Et je vais cliquer avec le bouton droit
de la souris sur un espace vide et je vais
juste ajouter la touche 7 ou
tout autre événement clavier. Ensuite, je vais cliquer avec le bouton droit de
la souris et laisser un espace vide. Nous allons trouver le personnage
du joueur. Nous allons nous attarder là-dessus. Nous en avons besoin pour passer à un personnage
à la troisième personne. Parce que nous devons
fournir un objet à notre casting
du personnage
à la troisième et cela suffit pour obtenir le personnage
du joueur. Ce faisant,
nous vérifions si le personnage notre joueur
est un personnage à
la troisième personne ? Et si c'est le cas, nous pouvons parler à notre personnage à la troisième personne d'
une manière ou d'une autre. Cela inclut l'organisation
d'un événement personnalisé. Donc, pour que cela fonctionne, vous devez vous
assurer d'avoir compilé votre plan de
personnage à la troisième personne. C'est très important ici. Une fois que vous l'aurez compilé, vous pourrez désormais trouver cet AddHealth dans
notre plan de niveaux. Revenons ici, sortons de votre
personnage à la troisième personne et
saisissons « Ajouter une santé ». Et écoutez, encore une fois, nous avons cette vocation de
fonction en matière de santé. C'est le même type de nœud que celui que nous avions dans notre
ThirdPersonCharacter. Ajouter un objectif de santé est un
personnage à la troisième personne. Dans notre plan de niveaux, la cible d'AddHealth est le
personnage à la troisième personne. Très bien, compilez ceci, sauvegardez, jouez
et secouez-le. Je peux appuyer sur une touche. Et la seule clé est encore une fois l'ajout. Certains appellent
cet événement personnalisé depuis le
ThirdPersonCharacter. Mais maintenant je vais
appuyer sur la touche 7. Et mon niveau est défini
comme option de débogage ici. Vous allez donc
voir ce feu s'éteindre. sommes à sept. On peut aussi l'appeler comme ça. L'un des principaux avantages d'
un événement personnalisé est donc une
fois que
vous avez obtenu une référence à ce plan,
en l'occurrence, à notre
ThirdPersonCharacter. Vous pouvez ensuite le récupérer
et trouver cet événement personnalisé. Vous pouvez passer un appel à
cet événement client. Bien, cela étant dit, passons à certaines nuances,
à
d' autres
choses que vous pouvez faire avec ces événements personnalisés. Je vais revenir à mon
plan de personnage à la troisième personne ici. Et ce que je vais faire, c'est
sortir de cette petite boîte
rouge. Qu'est-ce que c'est ? Il s'agit d'un délégué de sortie. Alors, à quoi puis-je m'en servir ? Eh bien, donnons un exemple. Je vais cliquer avec le bouton droit
de la souris sur un espace vide ici et taper des événements. Commencez à jouer. Cela était lié à ma création du
widget, à mes widgets HUD. Olivia le déconnecte en
maintenant la touche Alt enfoncée. En cliquant avec le bouton gauche de la souris, je
vais voler l'événement et commencer à jouer rapidement. Je vais vous en parler
ici
en ajoutant un événement
personnalisé sur la santé. Ensuite, je vais m'en
éloigner et saisir chronomètre
réglé par événement. Au début du jeu. C'est notre personnage à la troisième
personne qui apparaît dans le jeu. Nous pouvons déclencher un événement quel que soit
l'événement que nous y associons. Maintenant, cela fonctionne non
seulement pour un événement personnalisé, mais je le montre ici
avec un événement personnalisé. Cela pourrait également fonctionner pour
d'autres événements. Vous pouvez voir l'événement B se
dérouler et d'autres événements ont également ce type de
délégué. Donc je vais prendre ça, brancher ici, et je vais
régler mon temps à 5 s. Et je vais aussi
régler ça pour qu'il y ait une boucle. Voyons maintenant ce
que je veux dire ici avec
ces événements personnalisés. Je vais dire qu'un
étang commence à jouer. Nous allons appeler
cette fonction,
ce chronomètre réglé par
événement, pour qu'il se produise. Ce qui va se passer
ici, c'est que toutes les 5 s, cet événement
connecté à cette fonction de minuterie réglée par événement
va se déclencher. Et cela
se produira toutes les 5 s parce que cette case à cocher en
boucle est cochée. Alors jetez un œil à ça. Compilons donc ça et jouons. Aucun employé de l'événement B ne s'est donc
déjà produit. Toutes les 5 s. Peut attendre encore 5 s. Cet événement
commence
donc dès le début. Une fois que j'ai commencé mon jeu, mon personnage répond. À partir de là. Vous n'allez plus voir
ce feu s'éteindre, mais il continuera
à fonctionner toutes les 5 s,
bam, bam, bam, bam, bam, bam. Très bien, maintenant que
vous savez qu'une fois l'événement client créé
et ajouté à votre graphique, c'est à vous de vous
assurer appeler pour que cet
événement client se déclenche. Parfois, cela peut
être un peu ennuyeux lorsque vous
testez des choses, car les conditions que
vous avez configurées pour
appeler cet événement personnalisé
sont
peut-être un peu complexes. Y a-t-il quelque chose
que vous pouvez faire à des fins de test afin faciliter le déclenchement de
cet événement client ? Eh bien, avec
cet événement personnalisé sélectionné dans
le panneau Détails, vous avez une case à cocher pour l'
éditeur d'appels. Allez-y, vérifiez cela. C'est une
étape très importante ici, une fois que c'est coché, continuez et cliquez sur
cette option de compilation. Une fois que vous aurez fait cela,
remarquez que cette icône située juste à côté de votre événement personnalisé
va passer de cette icône en forme de flèche à cette sorte de petit
objet dans le losange. Ce que cela va faire maintenant, c'est si nous revenons à
notre éditeur de niveaux, une fois que j'aurai joué, nous verrons apparaître
notre personnage
à la troisième personne. Il sera présent
dans notre Outliner. Je pourrai ensuite
sélectionner cela. Et dans le panneau Détails. Il y aura dans
le bouton AddHealth sur lequel je pourrai continuer et cliquer pour déclencher manuellement
un événement personnalisé. Je fais en sorte que cela se produise. J'ai besoin d'une sorte de
fenêtre latérale un peu. Je vais cliquer sur Play. Très bien, voici ma fenêtre de
jeu ici. Maintenant, chez moi, mon rédacteur principal. va falloir le décoller
un peu, désolé pour ce manque de place. Il y a en jaune mon
personnage à la troisième personne, je vais sélectionner
celui qui y est apparu pour
que la
coloration jaune l'indique. Et ici, dans
le panneau Détails. Si je fais une recherche sur AddHealth, je peux maintenant trouver des boutons dans
AddHealth, donc je viens de le faire,
je viens de le configurer. Donc, ici, dans l'éditeur, je peux appeler manuellement
cet événement personnalisé. Notez donc qu'une fois que
j'ai cliqué
dessus, tous les scripts
suivants se produiront, ce qui créera
une explosion dans OneNote. Donc, si vous regardez
ici alors que je clique sur Ajouter de la santé, cela appelle cet événement personnalisé, bam, bam, bam, bam. Vous constatez également une amélioration de votre
santé. Mais bien sûr, ce n'
est pas tout à la caisse. Que pouvons-nous faire d'autre
avec un événement personnalisé avec cette option sélectionnée
dans le panneau Détails J'ai cette section de saisie. À quoi pouvons-nous l'utiliser ? Eh bien, permettez-moi de cliquer sur ce bouton
Plus ici et de vous montrer un exemple rapide. Nous pouvons créer une entrée. Remarquez comment cela vient d'
apparaître sur une nouvelle entrée de paramètre, et voici le nom de celui-ci. Alors allons-y et nommons-le. Appelons cela la santé pour ajouter. Et vous pouvez modifier le type. Remarquez que j'ai mis à jour le nom
et que je l'ai mis à jour ici. Je ne veux pas que ce
soit un booléen, donc je vais le changer
pour qu'il soit un flotteur. Et je vais simplement modifier
mon script comme suit. Permettez-moi d'y aller et de
faire en sorte que notre santé ajoute croisons pas
les fils, n'est-ce pas ? Nous allons appeler AddHealth. Lorsque nous appelons AddHealth, nous allons découvrir la
quantité de santé que nous voulons ajouter, l'
ajouter à notre santé
existante et la définir comme notre nouvelle santé. Maintenant, notez que
tout cela est un peu confus, du moins à ce stade car l'entrée est
ce que l'on appelle cela. Et c'est sur le côté
droit d'un nœud. Et comme je l'ai déjà mentionné, les
sorties se trouvent sur le côté
droit d'un nœud. Les entrées se trouvent sur le côté
gauche d'un nœud. Tout cela est un
peu trompeur ici, mais cela a du sens si vous
faites défiler la page vers le bas et que vous notez que cet appel AddHealth de cet événement personnalisé a ajouté une entrée ici,
la santé à ajouter. Ainsi, en ajoutant cette entrée
à notre événement personnalisé, vous l'avez ajoutée en tant qu'entrée sur
l'organisation de ces événements
personnalisés. Alors changeons cela
en, passons à 25. Et maintenant, si je continue,
compilez, sauvegardez, jouez. Notez que chaque fois que
j'appuie sur une touche, cet événement
personnalisé se déclenche. Chaque fois que je le
fais, je vais dire « ajouter 25 points de vie à notre santé actuelle et faire de
cela notre nouvelle santé ». Alors, on y va. Vous pouvez voir que cela augmente de
25 à chaque fois. Alors, pour récapituler rapidement, pourquoi utiliser des événements personnalisés ? Eh bien, tout d'abord, si
vous voulez organiser
un événement personnalisé dans le cadre du
plan que vous avez créé, cet événement personnalisé,
vous pouvez créer ces connexions sans fil qui permettent de garder les choses en
ordre, et propre. Mais le principal avantage d' un événement personnalisé réside dans le fait qu'il est
créé dans un seul plan. Tant que vous y référence, avec un
plan, comme nous le faisons ici dans notre plan de
niveau, vous pouvez appeler cet événement personnalisé,
qui est l'atout le plus
important
à ce sujet. Ou des gars qui
feront tout pour cette vidéo, on se revoit dans la prochaine.
41. Aperçu des variables: D'accord, avec
les événements qui se passent dans le rétroviseur, nous allons
porter notre attention sur le sujet des variables et notre objectif dans ces vidéos
spécifiques d'
apprendre et les variables est de programmer, ou dans notre cas,
des scripts de plans. D'accord,
alors qu'est-ce qu'une variable ? Eh bien, vous pouvez considérer
les variables comme des conteneurs contenant un type
spécifique d'informations. Et j'adore le fait
que dans l'irréel, ces contenants aient quelque sorte la forme d'une capsule. Si vous imaginez une
capsule
capable de contenir quelque chose, vous avez une idée de ce que sont les
variables. Ils contiennent quelque chose,
dans ce cas, contiennent certaines données et en fait des types de
données spécifiques en fonction de leur type. Maintenant, ces conteneurs,
ces variables existent dans un plan
spécifique. Donc, en ce moment, je suis dans
mon plan de niveau. Ces variables qui
sont créées dans mon panneau
Mon plan
n'existent que dans ce plan spécifique. Si je passe à
mon exemple de micro BP c'était un plan de
classe d'acteur. J'ai quelques variables ici,
le son de capture
étant l'une d'entre elles. J'ai également une
variable Delta Seconds. Ils n'existent qu'à l'intérieur
de mon exemple de pick-up BP. Jetons un coup d'œil à notre
personnage à la troisième personne. Certaines variables
existent juste à l'intérieur de mon
ThirdPersonCharacter. Maintenant, ces conteneurs, ces
variables peuvent être créés. Ces conteneurs, ces
variables peuvent avoir une valeur par défaut qui
leur est attribuée ou ils peuvent être vides. Et en regardant notre personnage à la troisième personne, j'ai cette
variable de santé qui
a actuellement une valeur par défaut de 100. Et le contenu de ces conteneurs peut être modifié au fil du temps. Leur contenu peut être varié. Comme nous pouvons le voir ici, un personnage à la troisième personne
commence avec une valeur de santé de 100. Mais vous avez vu dans les vidéos
précédentes modifier cette
variable de santé pour qu'elle change. Il n'est pas nécessaire qu'il reste à 100. Si je subis des dégâts, ils peuvent descendre à 75, 60, etc. Ou je peux me soigner à nouveau et
retrouver ma
pleine santé et 100 points de vie. Alors, où pouvez-vous créer
ces variables ? Eh bien, il existe différentes manières
de le
faire dans le panneau My
Blueprint. La première méthode consiste à
cliquer simplement sur ce
bouton Ajouter ici. Vous pouvez y créer une variable. Une autre méthode consiste à accéder
au panneau Mon plan, rechercher la section des variables et à cliquer sur ce
bouton plus ici. Il convient donc de noter que certains plans peuvent avoir
hérité de variables. C'
est-à-dire des variables fournies avec la classe parent dont votre plan actuel
hérite. Cependant, ils n'apparaissent pas par défaut ici dans
mon panneau de plans. Tu peux les exposer. Nous pourrions donc le faire en cliquant sur
cette icône en forme d'engrenage et vous obtiendrez ce petit menu volant, affichant les variables
héritées. Allez-y et cliquez
sur cette coche signifie que cette
catégorie est affichée. Et maintenant, vous voyez tout un tas
de catégories différentes apparaître dans votre section
des variables. Et vous pouvez les développer en cliquant simplement sur l'un
de ces triangles. Permettez-moi de développer
cette catégorie de pions ici. Et maintenant, vous pouvez voir toutes vos différentes variables dans le panneau Mon plan avec le curseur. C'est un peu ennuyeux de
cliquer dessus individuellement comme ceci pour voir quelle est leur valeur par défaut. Y a-t-il un moyen plus simple ? Bien sûr qu'il y en a. Si je clique sur le bouton des valeurs par défaut de
la classe tout en haut
de mon plan, je peux voir toutes les
différentes variables qui existent pour cette
classe parente est le caractère, cette spécificité de BP ,
personnage à la troisième personne. Notez que j'ai une
catégorie de variables. Et sur le
côté droit, il affiche toutes ces mêmes variables et toutes
leurs valeurs par défaut. C'est plutôt pratique. Bouton par défaut de cette classe. Notez également que les variables que nous avons créées
plus tôt dans le cours contiennent la
variable health et ainsi de suite. Ils appartiennent à une catégorie
appelée les valeurs par défaut. Et WPP HUD appartenait à
la catégorie par défaut. Donc, si nous revenons aux valeurs par défaut de notre
classe, encore une fois, nous pouvons voir que nous avons
une catégorie par défaut et que celles-ci existent
actuellement en dessous. Notez maintenant que les différentes classes
parentales ont
des quantités différentes de variables héritées. Mais si vous cliquez sur les valeurs par défaut de
cette classe, vous pouvez voir toutes les
variables que vous pouvez modifier à propos d'un plan donné, y compris celles que vous avez créées, et vous pouvez
tout voir leurs valeurs par
défaut également, très pratiques. Maintenant, il convient de
noter qu' une classe donnée peut être associée à tout
un tas de variables. Donc, pour faire des composants, donc si je devais passer en
revue et sélectionner composante
de mouvement de
mon personnage dans le panneau Composants. Vous pouvez voir que cette composante de
mouvement, cette composante de déplacement de personnage, est
associée à un grand nombre de variables. Ce sont toutes des variables car leur contenu peut être modifié. Notez maintenant qu'un jargon courant que
vous entendez souvent en
matière de variables est que vous pouvez obtenir la variable ou définir la variable. Maintenant, permettez-moi de passer rapidement
à mon Event Graph. Et je vais simplement
utiliser mon produit plus sain. Si je clique avec le bouton gauche de la souris et que je le
fais glisser vers l'extérieur dans le graphique, je fais simplement un
clic gauche et je le fais glisser. Et j'ai relâché. Cela va dire :
voulez-vous obtenir la valeur de
votre santé ou voulez-vous définir
votre valeur santé ? Explorons-les donc. En l'obtenant. Nous pouvons dire « Hey ». Il y en a combien ici ? Et mettons-le
dans un autre nœud. Dans ce cas, nous disons
quelle est la quantité de santé contenue dans cette capsule, n'est-ce pas ? À l'inverse, je peux cliquer avec le bouton gauche de la souris,
faire glisser et dire « Réglons la santé ». Maintenant, avec ce type
de nœud, un setter, vous pouvez
déterminer le niveau de santé auquel il va être modifié. Encore une fois, une variable
peut être modifiée. Nous obtenons ici
le contenu actuel. Ici, nous définissons
le contenu comme valeur de cette variable. Donc, si je voulais changer
la valeur de notre santé, je pourrais dire, vous
savez quelle santé, je veux que vous ayez 50 ans. Maintenant, je viens de le coder
en dur en tapant un chiffre. Mais il pourrait y avoir une autre
variable qui pourrait y être associée et qui déterminerait qu'il s'agit d'un nouveau montant de santé. Notez cependant qu'
avec un getter, vous
extrayez simplement ces données de cette variable. Avec un setter. Tu dois brancher
un câble d'exécution. Et Execution Wire
doit régler ça. Ainsi, un événement ou un autre nœud menant à cela
doit y être intégré. Et vous pouvez
également en tirer
quelque chose si vous voulez
continuer avec votre script, mais vous devez avoir
quelque chose dans cette épingle d'exécution
ici pour définir, c'
est-à-dire modifiez la
valeur de cette variable. Maintenant, quelques raccourcis
que vous pouvez utiliser lorsque vous essayez d'obtenir
ou de définir un nœud. Vous m'avez vu, il clique avec le bouton gauche de la souris
et vous obtenez ce petit menu
pour l'obtenir ou le configurer. Voici un raccourci :
si vous maintenez
la touche Ctrl enfoncée, cliquez avec le bouton gauche de la souris
et que vous la déposez ainsi, vous obtenez cette variable. Inversement, si vous maintenez
la touche Alt enfoncée, cliquez avec le bouton gauche de la
souris, glissez et déposez, vous obtenez un
setter pour cette variable. Il est donc très important
de comprendre un jargon, que
vous obtenez la
valeur d'une variable ou que
vous définissez cette variable
sur une nouvelle valeur. Enfin, une chose
très importante à retenir ici est que vous devez compiler un plan
afin de définir une valeur par défaut. Je vais donc passer à mon exemple de BP,
ici, c'est ce type. Et disons simplement que
je voulais ajouter une variable qui
indiquera le nombre de points de vie
nécessaires pour soigner notre
personnage une fois que nous l'aurons superposée. Je pourrais donc créer une variable en cliquant
sur ce bouton plus. Nous appellerons cela des quantités de guérison. Cependant, dans le panneau
Détails, il est indiqué que je ne
peux pas lui donner de
valeur par défaut à moins de la compiler. Donc, si je clique en haut gauche à côté de ce point d'
interrogation jaune, compiler signifie que c'est prêt. Je peux maintenant lui donner
une valeur par défaut. Je dirais 25. Génial. C'est également important
car si vous essayez d'
accéder à cette variable
depuis un autre plan, c'est une étape nécessaire. Et juste pour le démontrer, permettez-moi de vous montrer que j'ai une instance de ce plan, mon exemple de hausse
de la tension artérielle dans mon niveau, je vais passer mon plan de niveau,
ouvrir le niveau Plan. Je vais maintenir la touche
R enfoncée et cliquer avec le bouton gauche
de la souris pour créer une référence
à cet exemple de capture. Et maintenant, si je devais m'en sortir et taper ce que j'ai
appelé cela revient à guérir. Je pourrais maintenant obtenir la quantité
à soigner si j'avais besoin de la trouver et de l'imprimer à l'écran ou
quelque chose comme ça. Ou je pourrais m'en sortir
et taper la quantité pour soigner. Et oups, pas encore. Cela revient à guérir. Nous pourrions fixer ce montant. Donc, si je voulais remplacer la valeur par défaut ici
par une autre valeur, encore une fois, c'est ce que les variables vous
permettent de faire pour modifier le contenu
de ce conteneur. Je peux dire, tu sais quoi, je ne veux pas que tu guérisses 25 ans. Je veux que tu n'en guérisses
que cinq à la place. Je pourrais le faire aussi. Très bien, les gars, ça
va se terminer pour ce rapide aperçu
des variables. Nous vous verrons dans la prochaine vidéo.
42. Booléen: Bienvenue à tous. Dans cette vidéo, notre objectif est d' apprendre ce qu'est une
variable booléenne, comment
en créer une et comment utiliser lors de la rédaction de
scripts de plans. Alors tout d'abord, qu'est-ce qu'
une variable booléenne ? Eh bien, une variable booléenne
est une variable qui contient des informations vraies ou
fausses. Et nous en avons parlé
dans la dernière vidéo, les
variables sont
essentiellement des conteneurs qui contiennent des données. Une variable booléenne
est un conteneur qui contient
simplement des informations vraies ou
fausses. Imaginez donc une capsule et
à l'intérieur se trouve un morceau de papier. Et sur ce bout de papier
, il est écrit vrai ou faux. C'est tout ce que cela peut être, vrai
ou faux. Et en fonction de
son contenu, vous pouvez l'associer à
quelque chose comme un nœud de branche afin de créer un
chemin d'exécution ramifié. Si c'est vrai, fais-le. Si c'est faux, fais-le. Me voici donc dans
mon plan de personnage à la troisième personne, et nous allons en
montrer un exemple ici. Commençons par créer
une variable booléenne en sous
les variables du panneau My
Blueprint, ce petit bouton plus ici. Et nous allons créer une
variable appelée can jump. Et d'habitude, j'aime mettre
un point d'interrogation après. Je vais appuyer sur Entrée ici. Personnellement, et c'est
ma préférence personnelle. J'aime nommer mes
variables booléennes avec un point d'interrogation. Essentiellement, est-ce
vrai ou faux ? Maintenant, je peux changer le type de variable soit
en cliquant ici, et vous pouvez voir que c'est
booléen par défaut pour moi, je peux cliquer juste
là et la modifier,
ou est-ce que cette variable sélectionné dans
le panneau Détails ? Je peux également changer le
type de variable ici. Juste une anecdote amusante pour toi. Lorsque vous créez
une nouvelle variable, le type
de la variable sera défini comme étant
le dernier type de
variable que vous avez créé. Alors, qu'allons-nous
faire avec ça, Can Jump ? Eh bien, tout d'abord, nous devons lui
donner une valeur par défaut. Pour ce faire, nous devons
compiler le plan directeur. Alors allons-y
et compilons-le. Et une fois cela fait, nous
pouvons définir une valeur par défaut. Je vais dire oui, nous pouvons sauter par défaut, cochez cette case. Coché signifie vrai,
désélectionné signifie faux. Allons-y et
cochons cette case. Allons-y maintenant et utilisons
cette variable booléenne. Pour ce faire, je vais
créer un peu d'
espace entre notre action de saisie Jump, qui se déclenche lorsque
nous appuyons sur la barre d'espace, et notre
fonction de saut ici. Donc, avec notre variable de
saut vers le bas dans la section
Mon plan, cliquons avec le bouton gauche de la souris et
faisons glisser
la variable vers le bas dans notre graphique d'événements. Voulons-nous l'obtenir ou le configurer ? Dans ce cas, nous voulons en
connaître le contenu. Nous voulons savoir
si nous pouvons sauter. Ce que je vais faire
ensuite, c'est m'en éloigner et ajouter un nœud de branche, l'
un des nœuds les plus courants dans tous les scripts Blueprint. Vous pouvez voir que ce
nœud de branche peut prendre un type de variable rouge qui est
un type de variable booléen. C'est la condition qui nous permet d'
y
ajouter quelque chose
pour évaluer :
« Hé, quel est le contenu
de cette variable ? Maintenant, ce ne sont que des faits amusants. Si je clique avec le bouton gauche de la souris et que je
casse ce fil, nous pourrions difficilement définir cette
condition comme vraie ou fausse, vraie ou fausse. Mais je veux lire le
contenu de cette variable. Je définis donc ceci comme
entrée du nœud de branche. Maintenant, nous allons passer ça
entre les deux. Ici, je vais couper
ce fil en maintenant touche Alt enfoncée
et
en cliquant avec le bouton gauche de la souris. Et je vais configurer
mon script de telle sorte qu'une fois que j'aurai appuyé sur la barre d'espace, ce
qui
déclenchera cet événement, nous évaluerons si cette variable
est vraie ou fausse ? Si c'est vrai, nous sauterons. Si c'est faux, nous ne
ferons rien. Actuellement, elle est définie sur True. On peut donc s'attendre à
ce que nous sautions. Allons-y et compilons. Et jouons. Et si je définis
ici mon objet de débogage comme étant mon
ThirdPersonCharacter. Permettez-moi de poursuivre
et de poursuivre. Maintenant, vous allez voir ce script se
déclencher juste ici. Quand j'appuie sur la barre d'espace. Vous verrez que je peux en
fait sauter une fois que je l'aurai sorti. Au fait, ce stop
jump va se déclencher. Mais comme cela
s'avère vrai, je peux aller de l'avant et sauter. Maintenant, si je devais changer cela, je vais maintenir la touche Ctrl
enfoncée,
cliquer avec le bouton gauche de la souris et passer à False. Maintenant, nous allons voir, est-ce que Ken Jump
est réglé sur faux ? Eh bien, ce n'est pas le cas. Donc, si je devais
jouer, vous verrez maintenant que j'
appuie sur cette barre d'espace. Mais il ne
dépasse jamais ce nœud de branche qui meurt ici parce que le contenu de cette variable peut sauter. Les variables booléennes définies sur
true ne sont pas définies sur false, donc cela fait en sorte que notre
personnage ne puisse pas sauter. D'accord, certes, c'était
un exemple plutôt académique, mais passons à
quelque chose d'un
peu plus fidèle à la réalité. Allons-y avec ce
scénario dans lequel tes personnages viennent d'
entrer dans un bâtiment bondé. Et souvent, dans les jeux, vous constaterez que lorsque vous vous trouvez à l'intérieur d'un bâtiment bondé
, cela empêche votre
personnage de courir. Ils empêchent votre personnage
de dessiner une arme. Et dans notre cas,
nous allons dire que notre personnage ne peut pas sauter. Maintenant, mon ordinateur tombe en panne
entre les petites coupures. Assurez-vous donc d'avoir configuré votre
script sauté d'action de saisie comme suit. Nous voulons dire can jump, qui est défini sur true par défaut. Nous allons le rediriger
et nous assurer que si c'est vrai, nous allons dire
oui, vous pouvez sauter. Ce que nous allons faire ici c'est à l'intérieur de notre plan de
niveau, modifier le contenu
de cette variable. Ainsi, lorsque nous sommes à l'intérieur
d'un volume de déclenchement, nous empêchons notre
personnage de sauter. Et quand nous en sommes à l'extérieur, nous le retournons pour qu'il puisse sauter. Allons-y et faisons-le. Il faut maintenant
revenir à notre niveau. À l'intérieur d'ici. Nous allons
placer une boîte de déclenchement. Et encore une fois, tu peux
le faire en tombant. Ici. Apportez votre
panneau d'acteurs à votre assiette grâce à cet onglet de base, vous trouverez votre boîte de déclenchement. Placez-le
devant vos joueurs. Commencez acteur. Je vais rapidement le
dimensionner jusqu'à 100, 200, 200. Permettez-moi de régler l'épaisseur
de la ligne à environ dix. Quelque chose de beau et épais. Je ne vais pas trop
m'inquiéter pour le policier. Et ci-dessous, je
vais modifier
le rendu pour que le jeu Actor
Hidden End ne soit pas coché. Cela
nous permettra de voir ça. Maintenant, cette case de déclenchement est sélectionnée. Passons à notre plan de niveaux. Vous pouvez afficher votre plan de
niveau en vous rendant ici et ici, en cliquant avec le bouton droit de la souris. Et cette
case de déclenchement est sélectionnée dans nos niveaux. Nous pouvons y ajouter un événement. Ajoutons-en un pour commencer le chevauchement. Et nous allons également en
ajouter un pour le chevauchement des extrémités. Ce que nous voulons faire, c'est vérifier qui était l'
autre acteur. Nous voulons vérifier s'il
s'agit du personnage à la troisième personne. Je vais donc sortir d'ici, taper la troisième personne que nous pouvons attribuer à notre
personnage à la troisième personne. Comme ça. Si c'est le
personnage à la troisième personne qui nous chevauchait, devinez quoi ? Nous pouvons accéder à l'intérieur de notre
plan de personnage à la troisième personne. Et nous pouvons accéder aux variables
qui s'y trouvent, y
compris celles qui peuvent sauter une variable booléenne
que nous venons de créer. Donc, à vrai dire, je
vais régler mon saut de dix, je vais taper et je
peux sauter comme ça. Et voici ma variable. Je peux l'obtenir ou le configurer. Dans ce cas, je souhaite le configurer. Je dois donc dire que
lorsque notre personnage chevauche cette
case de déclenchement, nous ne pouvons pas sauter. Nous allons laisser
cela comme faux. Cliquez avec le bouton gauche de la souris pour
mettre en évidence ces deux nœuds, contrôlez C pour copier, contrôle V pour coller. Je vais connecter ça
comme ça et comme ça. Et nous allons
dire que lorsque nous aurons fini superposer cette boîte de déclenchement, nous dirons oui,
vous pourrez sauter à nouveau. Donc, à l'intérieur de la
boîte de déclenchement, nous allons dire : « Non, tu ne
peux pas en sortir ». Nous allons dire, oui, vous vous souvenez qu'ici, dans notre plan de
personnage à la troisième personne, nous vérifions le contenu de cette variable par défaut, lorsque nous
appuyons sur la barre d'espace, nous vérifions le contenu de cette variable par défaut. Mais dans notre plan de niveaux,
lorsque nous recouvrons cette case de déclenchement, nous la changeons en faux. Quand on y met fin, on
le redevient vrai. Allez-y,
compilez-le rapidement. Assurez-vous que notre script est beau. Sauvegardez-le. Allons-y, jouons
et formulons cette phrase. Laisse-moi juste avancer un peu plus
haut. ne peux pas vraiment, je ne peux pas
le déplacer pendant que nous jouons. Permettez-moi donc de le
noter ici. Joue encore une fois.
Très bien, on y va. Je suis en dehors de la barre d'espace de la boîte de
déclenchement. Oui, je peux sauter. Nous allons y placer mon
personnage. Vous voyez, il
change
maintenant cette variable pour qu'elle soit fausse, en passant la souris dessus. Je peux le constater également. Permettez-moi d'
appuyer sur la barre d'espace. Je ne peux pas sauter. Cependant, une fois
que je l'ai quittée, cette variable
redevient vraie et je peux sauter. Très bien, examinons
quelques cas d' utilisation booléens possibles que vous voyez courants dans les jeux. question qui se pose est la suivante : est-ce que la
porte est vraie ou fausse ? Avez-vous la carte-clé, par exemple, diriez-vous de tirer avec une arme ? Il te
reste un animal, vrai ou faux ? Et si vous pouviez
récupérer un article ? En êtes-vous assez
proche, vrai ou faux ? Et si vous pouviez
équiper un objet ? Êtes-vous suffisamment
haut, vrai ou faux ? Et si vous pouviez acheter un article ? Avez-vous assez d'
argent, vrai ou faux ? Tout cela est possible. Exemples de cas d'utilisation
d'une variable booléenne. Très bien, les gars, ça
suffira pour proposer celui-ci. À la prochaine.
43. Entièrement: Dans cette vidéo, notre objectif est de
découvrir ce qu'est une variable
entière et comment elle peut être utilisée
dans vos propres projets de jeu. Nous allons commencer par notre
plan de personnage
à la troisième personne. C'est donc là que
vous pouvez le trouver dans votre navigateur de contenu
ou votre tiroir de contenu. Double-cliquez dessus
pour l'ouvrir. Et avant même de créer une variable
entière ici, parlons de ce qu'est
un entier pair. Eh bien, c'est un conteneur. Ce type de variable
est un conteneur contenant informations sur les nombres entiers. C'est-à-dire des nombres sans
point décimal. Il peut s'agir de nombres positifs
ou négatifs. Maintenant, vous pouvez penser à quelques exemples
de cas
d'utilisation où des nombres
entiers sont utilisés. Des éléments tels que les valeurs de score sont souvent imprimés
en nombres entiers. L'argent valorise, la
quantité d'or ou d'argent, ce genre de choses
que vous possédez. Ou qu'en est-il du niveau d'un
personnage ? De niveau 1 à 100 ? Il s'agit généralement de nombres entiers. Désormais, les nombres entiers sont également souvent utilisés
pour orienter la logique. Par exemple, vous pouvez vérifier si la valeur
donnée d'un nombre entier de points d'expérience
gagnés a atteint un certain seuil. Et si c'est le cas, le
joueur passe au niveau , d'
accord, créons
une variable entière. Voici mon panneau de
plans. Cette fois, je vais en créer
un en cliquant juste ici sous le bouton Ajouter. Créons une variable. Et par défaut
,
le type sera identique à celui de votre dernière
variable créée. Cela commence donc par un booléen. Je vais appeler
cela le total d'expérience gagnée. Et vous pouvez changer le type de
variable
ici , ce que je vais faire. Nous voulons définir ce
nombre comme entier et non comme entier 64, mais nous parlerons de
ces différences un peu plus
tard dans cette vidéo. Vous pouvez donc le modifier ici
dans le type de variable ou dans le panneau Détails Vous pouvez également modifier le
type de variable ici. Nous parlerons de
ces différences plus tard dans le cours. Mais pour l'instant, sachez simplement que le type de
variable que vous souhaitez modifier se trouve dans ce menu
déroulant. Un peu plus de nuances pour
expliquer pendant que nous sommes ici, nous pouvons définir une plage de curseurs pour cette variable
ainsi qu'une plage de valeurs. Eh bien, qu'est-ce que cela signifie ? Eh bien, pour vraiment
comprendre ce point, compilons notre plan afin de pouvoir définir
une valeur par défaut. Et maintenant, si nous définissons une
plage de curseurs et essayons de zéro à 50 000. Comme ça. Et notre fourchette de valeurs est, disons 0 à 100 000. Nous avons essentiellement
fixé quelques limites
quant à la portée de cette valeur. Maintenant, la plage de curseurs apparaît lorsque vous
cliquez dessus avec le bouton gauche de la souris, voyez comment l'icône en forme de flèche est passée du curseur de ma souris aux flèches gauche et droite, je peux cliquer avec le bouton gauche de la souris. Et si je déplace ça vers la gauche, je ne peux pas descendre en dessous de zéro. Cependant, si je
le déplace vers la droite, je peux atteindre un plafond de 50 000, soit la plage du curseur. Cependant, si je
devais cliquer dessus et inscrire un chiffre
, j'essaierais 200 000. C'est difficile de le
saisir et appuyez sur Entrée. Cela va le plafonner
à ma fourchette de valeurs Ici, cela signifie que ma fourchette de valeurs est
comprise entre 0 et 100 000. C'est le maximum
que je puisse définir. La valeur du curseur détermine quantité si vous
cliquez avec le bouton gauche de la souris ici, quantité que vous obtiendrez si vous cliquez
simplement dessus avec le bouton gauche de la souris et que vous le faites glisser. Si vous cliquez dessus, la plage de valeurs est Quels sont les nombres maximum et
minimum ? Vous pouvez saisir des données en dur. Je vais le remettre à
zéro pour le moment. Passons maintenant à
notre graphique d'événements et créons un script simple pour utiliser
cette variable entière. Je vais cliquer avec le bouton droit de
la souris et laisser un espace vide. Je vais taper au clavier et je vais
rechercher l'événement clavier. N'importe lequel d'entre eux fera très bien l'affaire. Mais je vais chercher
x parce que nous allons
faire quelque chose qui vaut nos points
d'expérience ici. Alors, lorsque nous appuyons sur la touche X, que voulons-nous faire ? Eh bien, nous allons prendre
notre total d'expérience gagnée. Je vais maintenir la touche
Ctrl enfoncée, cliquer avec le bouton gauche et
faire glisser la souris pour obtenir cette variable, dont
le contenu est
actuellement nul. Et puis je vais m'
en tenir à ça. Si vous utilisez le
bouton Ajouter un opérateur plus, vous y arriverez. Nous allons en ajouter 100. Je vais juste m'y atteler. Ensuite, je vais définir
une nouvelle valeur d'XP gagnée. Je vais donc maintenir la touche
enfoncée, en fait, je vais juste
cliquer avec le bouton gauche de la souris
et faire glisser et déposer ceci ici. Je vais simplement maintenir la touche Alt
enfoncée,
cliquer avec le bouton gauche de la souris et faire glisser. Mais si je laisse tomber
cette variable
ici même sur cette sortie,
ils me donneront un setter. D'accord ? Eh bien, nous
allons faire à partir d' ici, c'est traîner. Imprimons cette chaîne. Imprimons la
quantité sur notre écran. Apporte une petite conversion, convertissant un type de données entier
en un type de chaîne de données. Je vais ensuite partir d'ici. Et nous allons rechercher
un nœud
supérieur ou égal à. Nous allons dire que
si notre total d'expérience gagnée est supérieur ou égal
à 500. Et je vais juste m'asseoir. Sur le nœud lui-même, je pourrais contenir ces
invariables eux-mêmes, mais passons simplement à
la valeur absolue de 500. Faites glisser le pointeur dessus,
insérez un nœud de branche. Nous allons connecter
ça comme ça. Et nous allons dire
que si c'est vrai, si le total de l'expérience
que nous avons gagnée est
supérieur ou égal à 500, nous allons nous contenter d'ici. Faites une autre impression, sérigraphiez, imprimez une sérigraphie, imprimez une chaîne. Et notre chaîne ici va
simplement se lire sur Gratz, votre niveau deux. Et changeons simplement la couleur du
texte ici pour qu'elle soit un peu nocive,
comme le rivage rose vif. Et
fais-le apparaître à l'écran pendant 5 s. Voici
donc nos
scripts ici. Nous pouvons cliquer avec le bouton gauche de la
souris et faire glisser le pointeur pour placer une zone de commentaire autour de ce clic gauche et faire glisser surligner ceux qui tapent tous sur le CQI. Et nous appellerons cela R en utilisant un entier pour augmenter le niveau du script. Je vais changer la zone de
commentaire ici dans le panneau Détails en noire. Très bien, compilez
ceci pour vous assurer que votre script est prêt à fonctionner. C'est ce qui
se passe ici. Allons-y,
jouons et voyons que nous utilisons
cette variable entière. OK, donc chaque fois que
j'appuie sur la touche X, permettez-moi de définir mes objets de débogage ici sur mon ThirdPersonCharacter. Chaque fois que j'appuie sur la touche X, tu vas
voir ça se déclencher. En haut à gauche. J'ai 100 XB. Nous partons de
zéro, puis nous avons ajouté 100. Notre nouveau total est de 100. Encore une fois,
200300400500 félicitations, vous êtes au niveau deux. C'est donc un exemple d'
utilisation d'une variable entière. Très bien, essayons un autre
exemple cette fois en accédant à cette variable à partir un autre plan,
notre plan de niveaux. Je vais revenir
à notre niveau ici. Faisons en sorte qu' une boîte de déclenchement soit placée
dans notre niveau. Tu m'as vu faire
ça plusieurs fois. Je vais placer une boîte de
déclenchement dans mon niveau. Je vais juste le
redimensionner un peu. Allons-y 200 x 200, changeons l'
épaisseur de la ligne à dix. Tu es
douée pour ça maintenant, je
vais passer à la section
Rendering. Assurez-vous que l'exactitude
du jeu caché n'est pas cochée. Avec cette option sélectionnée. Je vais passer
à notre plan de niveau. Dans n'importe quel espace vide, dans n'importe quel graphique de votre choix. Je vais cliquer avec le bouton droit de la souris. Nous allons ajouter un événement
pour cette boîte de déclenchement. Lorsque nous commençons à le superposer, nous allons sortir
de l'autre acteur, voir s'il s'agit du
personnage à la troisième personne. Et si c'est le cas, nous pouvons maintenant extraire certaines informations de notre
personnage à la troisième personne. C'est-à-dire que nous pouvons accéder à
toutes les variables qui se trouvent dans notre
ThirdPersonCharacter Blueprint. Encore une fois, une fois que vous
avez une référence quelconque à un objet donné, dans ce cas, notre personnage à la
troisième personne. Vous pouvez accéder aux variables appelées fonctions qu'il contient. C'est cetera. Je vais donc saisir le total
d'expérience gagnée. Allons chercher ce montant. Et partons d'ici. Fais la même chose. Nous
allons y ajouter 100. Ensuite, allons-y et réglons cette traînée variable à partir
d'ici, XB total. Nous pouvons le régler. Bien entendu, avec les centres, vous devez
acheminer et exécuter le fil d'exécution. Et définissons cela comme
le nouveau montant d'XP. Compilons donc cette sauvegarde. Et maintenant, chaque fois que nous les chevauchons, nous augmentons notre expérience
totale de cette manière. C'est parti. Donc,
en regardant en haut à gauche, je le superpose une fois, et je ne l'ai pas
imprimé à l'écran. Il serait donc probablement
utile de le faire. Faites glisser ce type
dans la chaîne d'impression. Je ne vais pas monter de
niveau et j'espère juste
montrer que cela
augmente réellement cette variable. Très bien, voici nos scripts,
compilez, sauvegardez, jouez. Lorsque nous superposons cette case de
déclenchement, 100, recouvrons à nouveau, 200, 300, etc. Imaginez que vous
puissiez
donner des points d'
expérience à votre personnage s'il atteint le sommet de la montagne,
ce genre de choses. Enfin, plus tôt dans cette vidéo, j'ai dit que je décrirais un peu la
différence entre
un entier et un entier de
64 variables. Permettez-moi donc de revenir
à mon
plan de personnage à la troisième personne. Je vais
créer temporairement une variable entière 64. Allons-y et faisons-le. De plus, je vais appeler ça int 64. Nous allons le
remplacer par une sauvegarde de compilation de type
variable de 64 entiers . La différence est la
plage des valeurs possibles. Ainsi, avec un entier 64, vous pouvez avoir une
plage de valeurs plus large. Encore une fois, c'est entre le
positif et le négatif . Cliquez avec le bouton gauche de la
souris et faites-le glisser complètement. Il se peut même qu'il apparaisse sur l'
écran. Ce n'est pas le cas. Vous pouvez rechercher cette plage en ligne
,
mais en gros, avec l'entier 64, vous obtenez une gamme beaucoup plus large
de nombres possibles. Ce n'est pas tout à fait infini. En 64, cela prend un
peu plus de mémoire, mais ce n'est pas
beaucoup dans la plupart des cas. Et à peu près tous les cas en
entier devraient convenir. Permettez-moi de revenir à
mon entier normal et de vous montrer la plage. Oups, je dois
enlever ma casquette ici, supprimer ma casquette, supprimer. Laisse-moi juste
régler ça sur aucun et ainsi de suite. Boom, c'est la limite d' un
nombre entier variable qui va dans le positif et le négatif
en 64, infiniment neuf. Et c'est la plage
pour l'int 64. Encore une fois, cela va dans le sens positif et négatif. Les gars, ça
suffira pour notre discussion sur la variable entière. Très utile, très pratique à savoir, cela suffira
pour proposer celui-ci. On se voit dans la prochaine.
44. Flotteur: Très bien,
bienvenue à tous. Dans cette vidéo, notre objectif est de
découvrir ce qu'est une variable flottante, comment en créer une
et comment utiliser lors de la rédaction de
scripts de plans. Alors tout d'abord, avant de
commencer ici, qu'est-ce qu'un char ? Un flottant est une variable qui
contient une valeur décimale. Encore une fois, cela peut être
positif ou négatif. Maintenant, dans Unreal, cette variable est souvent utilisée pour
contenir une valeur temporelle ou pour déterminer un pourcentage
tel que zéro à 100 %. Et cela est généralement
représenté par 0,0, ce qui signifie 0 %, et
1,0 équivaut à 100 %. Nous allons présenter ici quelques cas d'utilisation
différents. Je vais être dans
mon personnage à la troisième personne de BP. Et je vais m'appuyer
sur le script que j'ai utilisé dans la vidéo précédente lorsque nous
affichions un entier. Allons-y et
créons une variable. Je vais le faire
en cliquant ici. Et appelons cela un délai. Nous allons fixer
un délai avant afficher notre chaîne
à l'écran ici. Encore une fois, nous voulons en faire une variable
flottante afin que vous
puissiez la modifier ici. modifiant ici,
ou inversement, vous pouvez modifier le type de
variable en sélectionnant
cette
variable dans le panneau Détails. Maintenant, une fois que nous l'avons créé, nous pouvons compiler pour définir une valeur. Encore une fois, les flottants ont
une valeur décimale Essayons
donc 1,5. Ce sera le moment
de
retarder l' impression
de notre chaîne. Introduisons notre
variable de flux en maintenant la touche Contrôle enfoncée, en cliquant avec le bouton
gauche de la souris et en la faisant glisser, vous obtiendrez un getter
de cette variable. Et vous pouvez voir que les chars sont de
cette couleur vert citron. Ensuite, ajoutons simplement
un nœud de retard pour que je puisse cliquer
dessus avec le bouton droit de la souris. Un espace vide. Tapez le délai. Voici notre nœud de retard. Et laisse-moi juste
le mettre en douce ici. Comme ça. Donc, encore une fois, pour ce
nœud de fonction de retard, nous pourrions avoir du mal à définir nous pourrions avoir du mal à définir
un délai qui est
actuellement par défaut à 0,2 s. Ou nous pouvons à nouveau saisir
une valeur flottante, sur le côté gauche, cela
demande une entrée. Et l'entrée que
je recherche est un flotteur. Vous pouvez donc le coder en dur ou le
stocker dans une variable. Nous le stockons donc ici. Notre délai actuel
est fixé à 1,5 s. Ainsi, en appuyant sur la touche X, nous allons connaître le
total de nos points d'expérience gagnés. Nous allons en ajouter un. Et nous allons définir
cela comme nouvelle variable pour le total XB
gagné par cet entier. Une fois que ce chiffre est égal
ou supérieur à 500. Une fois que c'est vrai, nous allons
retarder de 1,5 s, puis imprimer le message
disant « Félicitations », vous êtes de niveau 2. Compilons notre script. Assurez-vous que c'est bon d'
aller le sauvegarder. C'est parti. Joue. Laissez-moi juste le mettre ici pour que vous puissiez voir tout cela fonctionner. OK, donc en appuyant sur cette touche X, nous n'avons pas encore dépassé
ce seuil. Vous pouvez voir ce
montant ici. Et nous affichons une valeur
étrange pour x p gagné parce que j'ai oublié de
remettre l'expérience gagnée à zéro
dans la dernière vidéo. Je dois donc arranger ça. Remettons ce chiffre à zéro.
Ça va tout gâcher. Compilez, sauvegardez, jouez encore
une fois. X J'ai obtenu 100, 200 300 400,500 XP en retard
, puis félicitations pour votre niveau 2. Maintenant, vous pouvez voir qu'une fois que
nous l'avons dépassé, ce
compte
à rebours est compté à rebours ici dans le script, ce qui est très pratique. Lorsque j'appuie à nouveau dessus,
parce que nous dépassons
ce seuil, vous pouvez constater parce que nous dépassons
ce seuil, vous que le compte à
rebours est très pratique. Ensuite, pourquoi ne pas revenir à ce petit script dans votre plan BP ThirdPersonCharacter
Blueprint, où nous étions en train de créer notre HUD et de l'
ajouter à la fenêtre d'affichage. Je l'ai détruit
il y a quelques vidéos. Donc, ce que je vais
faire ici, c'est me laisser activer mon évent, commencer à jouer. Ça va
me faire sauter un chemin jusqu'ici. Permettez-moi simplement de placer cet événement
B en jeu en position. Et si vous avez détruit ce
petit script, voici comment vous pouvez le récupérer. L'événement commence à jouer. Nous allons créer un widget. Il s'agit d'un nœud Create Widget. Vous pouvez redéfinir votre HUD WB P ici
afin de créer
ce Widget Blueprint. Ensuite, sur cette épingle, j'ai cliqué
dessus avec le bouton droit de la souris et je l'ai promue variable afin encapsuler
avec n'importe quelle variable. Ensuite, nous l'avons ajouté
à la fenêtre d'affichage. Une fois tout cela fait,
nous cliquons sur Play. Nous pouvons voir que ce compteur
de santé est réajouté à notre écran ici. Maintenant, tout cela est pertinent,
car nous
allons utiliser une variable flottante pour déterminer le nombre de points de vie affichés sur ce compteur de
santé. Donc. À l'intérieur de votre esprit Panneau de
plan de votre
personnage à la troisième personne. Il y a quelque temps, nous avons
créé une variable de santé. Si vous ne l'avez pas fait, vous pouvez
le faire. À présent. Actuellement, il est défini sur
une valeur par défaut de 100. Maintenant, j'ai mentionné que les valeurs
flottantes sont souvent utilisées pour
avoir une valeur comprise entre 0,0 et 1,0 afin de déterminer un pourcentage
de 0 % jusqu'à 100 %. Nous allons donc fixer
cette valeur flottante à 1,0, ce qui signifie une santé complète. Et puis en bas, j'ai
eu un script pour régler la visibilité de ce HUD. Allumez-le et éteignez-le. Je vais juste détruire
celui-ci à la place Quand
j'appuierai sur la touche 5, j'
augmenterai légèrement notre santé
pour que nous
puissions voir une baisse. Je vais donc maintenir la touche Contrôle enfoncée, cliquer avec le bouton gauche de la souris et faire glisser ceci vers l'intérieur. Ensuite, je vais
sortir d' ici et
je vais ajouter la touche moins,
la touche soustraire. Et je vais
juste dire qu'
il faut le diminuer de 0,1, soit 10 %. Ensuite, nous allons le faire
glisser et déposer sur la sortie
afin de régler l'état. OK, nous avons donc actuellement
ce bout de script cours dans notre
ThirdPersonCharacter. Nous pouvons le compiler et le sauvegarder. Maintenant, si j'appuie sur sa touche
cinq maintenant, vous verrez que
rien n'est arrivé
au compteur lui-même. Et juste pour le prouver, j'appuie sur F5
et il semblerait que, d'
accord, les indicateurs de santé
ne baissent pas. C'est parce que nous devons lier cette variable à ce compteur. Cela va donc nous
obliger à passer à l'actif WPP HUD, à y travailler. Nous pouvons donc localiser cette ressource en accédant à
ce nœud ici, en cliquant ici pour
parcourir cette ressource dans le navigateur de contenu. Ça y est. Et
allez-y, ouvrez-le. OK, à l'intérieur d'ici nous voulons cliquer sur
notre barre de progression. Nous pouvons le faire
ici même dans la mise en page visuelle
ou dans la hiérarchie. Vous pouvez sélectionner ce widget de barre de
progression. Ensuite, dans
le panneau Détails, sous la section de progression, vous pouvez voir que nous avons
cette valeur actuelle et qu'elle est actuellement de 1,0 %. Encore une fois, ce compteur
passe de 0,0 à 1,0. Donc, si je clique avec le bouton gauche, que je fais glisser
et que je déplace ceci vers la gauche, si je
regarde le compteur sur
le côté gauche, cette barre verte
baisse au fur et à mesure que je la décrémente de 1,0 à 0,0. Donc, c'est très bien. Mais comment associer
notre valeur de santé à notre personnage
de troisième personne, ce droit, cela,
comment l'
associons-nous ce widget
en particulier ? Eh bien, nous devons
créer une reliure ici. Et nous pouvons le faire en sélectionnant cette barre
de progression, juste là où se trouve cette valeur
actuelle. Vous avez cette
petite option de blocage. Allez-y et cliquez dessus. Nous voulons créer une reliure. Cela va nous faire passer de
notre onglet Designer
à notre onglet Graphe. Une fois que nous l'avons fait, allons-y. Créez une reliure. Et maintenant, ce que
nous avons fait, c'
est créer une fonction, un onglet graphique
appelé Obtenir le pourcentage. Nous pouvons le renommer. Je vais le faire maintenant. Et cela nous a donné
ces deux nœuds. Tout d'abord, renommons ceci. Je vais cliquer dessus, appuyer
sur F2, et je vais l'appeler
Get Player Health, comme ça. Et puis en maintenant la
touche Contrôle enfoncée, la souris tourne. Et zoomons un peu là-dessus. Ce que nous voulons faire, c'
est cliquer avec le bouton droit sur
un espace vide
dans Get Player Character. Nous pouvons le traîner et le
lancer en personnage à la troisième personne. Tu m'as vu faire
ça plusieurs fois. Voyons où se trouve cette entrée, alors
pourquoi la scène se passe ainsi ? Et une fois que nous l'avons fait, nous avons accès à toutes les
variables ou fonctions, ou nous pouvons appeler des événements personnalisés dans notre
ThirdPersonCharacter. Eh bien, nous voulons extraire
cette variable de santé. Alors sortons d'ici,
saisissons, retrouvons la santé. Il y a cette variable
de santé flottante. Et regardez, il s'agit
d'une entrée flottante. Nous pouvons enregistrer notre état de santé tel qu' extrait de notre
personnage à la troisième personne et le renvoyer. Nous pouvons donc le compiler et l'enregistrer. Tout ce que nous faisons maintenant, c'est associer
ThirdPersonCharacter est une variable de santé
à cet indicateur. Et cela va faire
grimper ce pourcentage. Je devrais peut-être changer la
couleur du vert citron. Fait quelque chose d'un
peu plus sombre. Passons au bleu foncé,
quelque chose comme ça. Rendez-le un peu plus
visuel ici et compilez la sauvegarde. Nous pouvons cliquer sur Play à partir d'ici. En fait, faisons-le à partir de
notre personnage à la troisième personne. Nous pouvons voir ce script fonctionner. Cliquez sur Jouer à partir d'ici. D'accord ? Et nous avons créé notre widget santé
dès le début du jeu. Et maintenant, si j'appuie sur la
touche 5 , la santé diminue
de
10 % à chaque fois que
cela se reflète également dans notre
compteur de santé ici. Alors, on y va. 555-55-5555 par cinq,
tout en bas. Et maintenant, jetez un œil à ça. Maintenant que nous avons une variable flottante
de santé associée à notre
ThirdPersonCharacter. Et maintenant
que cette variable est liée à ce compteur à l'intérieur
de notre HUD WPP. Nous pouvons revenir à la
toute première partie du cours où nous avons créé cet exemple de
micro BP et faire sorte que, lorsque
notre personnage le saisit, une partie de sa
santé est restauré. Donc, si vous avez oublié où se trouvait
ce plan, nous avions un aperçu des
scripts de contenu dans ce
répertoire
ici . Je vais double-cliquer
dessus pour l'ouvrir. À l'intérieur, nous allons
créer un petit espace entre notre nœud
ThirdPersonCharacter situé ici
et cette diffusion du son, afin que
vous puissiez le déplacer vers la droite. Eh bien, nous allons le faire ici. Essayons de
tout cadrer pour que vous puissiez le voir. Nous allons sortir de
notre personnage à la troisième personne. Nous allons retrouver sa santé. Cette variable flottante. Eh bien, nous allons alors ajouter quantité
de santé
que nous voulons soigner chaque fois que nous
chevauchons ce plan. Nous allons donc ajouter
une autre variable ici. Appelons cela santé pour ajouter. Il s'agira également
d'une variable flottante. Nous devons le
compiler afin de
lui donner une valeur par défaut. Examinons donc 20 % de la santé de notre personnage,
il ne faut pas oublier que notre santé se situe sur
une échelle associée à notre compteur
de santé allant de 0,0 à 1,0. Donc 0,2 équivaudrait à 20 % de santé. Nous allons le
glisser-déposer dans notre graphique. Nous
allons l'obtenir. Nous allons ajouter
ces deux chiffres ensemble, les faire glisser hors d'ici, taper le bouton plus pour créer
un nœud publicitaire, comme ceci. Ensuite, nous allons sortir
de notre personnage à la troisième personne et nous allons améliorer cette santé. Nous voici donc en train
de retrouver la santé. Nous ajoutons cette quantité de points de vie chaque fois que nous
recouvrons sa collection. Et nous allons définir cela
comme la nouvelle variable de santé. Encore une fois variables, vous pouvez
mettre à jour leurs valeurs. D'accord, donc ce
sera notre scénario, non ? Il existe un script mis à jour. Compilons ce
petit bonus ici que je veux
ajouter à notre santé en ajoutant, allez-y et sélectionnez
cette variable. Si vous cochez cette case
intitulée instance modifiable, cela fera
en sorte que dans notre éditeur de niveaux,
nous puissions réellement modifier
le niveau nous puissions réellement modifier de santé
que ce plan peut donner. Et nous pouvons le modifier pour
chaque instance. Compilons donc et
disons-le encore une fois. Et je vais
traîner les choses et j'en ai un exemple actuellement dans mon niveau. Permettez-moi de continuer et de maintenir la
touche Alt enfoncée, de cliquer avec le bouton gauche de la souris et de faire glisser. J'en ai donc deux. Et une fois la seconde sélectionnée dans le panneau Détails,
j'ai cette santé à ajouter
qui est exposée maintenant, une fois que
nous avons
coché j'ai cette santé à ajouter
qui est exposée maintenant, une fois que la case intitulée
Instance modifiable, je vais modifier l'état de santé
pour l'ajouter celui-ci un contre un. Nous allons dire
que c'est une question de santé complète. Je peux également modifier l'
échelle ici. Passons à 22,2,
juste pour qu'il soit
évident
que ce sera le guérisseur complet. D'accord, donc avec
ça, celui-ci sera le petit guérisseur. Cela va ajouter 20 % de santé. À celui-ci, nous ajouterons 100 % de santé. Allons-y, jouons-y. Et si tu te souviens, si j'appuie sur la touche 5, je peux diminuer ma santé. Ou je vais superposer
le premier ici. Nous allons retrouver
20 % de notre santé. Cinq clés, un peu plus le bas et se chevauchant,
et le gros joueur, et nous
retrouverons la pleine santé. Et voilà. flottantes contiennent des valeurs
décimales qui peuvent être positives
ou négatives. Et souvent, ils sont utilisés
pour contenir des valeurs temporelles ou pour contenir un pourcentage
compris entre 0,0 et 1,0. Les gars, ça suffira pour
proposer cette vidéo, on se revoit dans la prochaine.
45. Nom: Bienvenue à tous. Notre objectif dans celui-ci est d'
apprendre ce qu'est une variable nommée, comment en créer une
et comment elle peut être utilisée lors de la rédaction d'un script de
plan. Il y a donc souvent
beaucoup de confusion dans Unreal quant à savoir si un nom,
une chaîne ou une
variable de texte doivent être utilisés ou non . Au cours
des trois prochaines vidéos,
nous allons donc parler de certaines des différences subtiles
entre les trois. Donc, en commençant par
la variable
name, le nom est un texte utilisé pour identifier quelque chose
dans un jeu. Nous allons maintenant
utiliser quelques variables de nom dans
cette vidéo. Identifiez le niveau vers lequel vous souhaitez passer. Nous allons passer
de ce niveau à un autre. Nous allons également
utiliser un nom pour identifier socket auquel nous
voulons attacher un accessoire. Cela pourrait être
quelque chose comme une épée à portée de main, ce genre de chose. Maintenant, un nom, un
nom est une variable qui ne distingue pas les majuscules
et les
minuscules. Dans une variable nommée, on utilise
des caractères alphanumériques, c'
est-à-dire des lettres et des chiffres. Très bien, nous allons
commencer ici dans notre plan de niveaux. Donc, si ce n'est pas
déjà fait, vous pouvez venir ici et ouvrir
votre plan de niveau. Et créons quelques variables
de nom. Donc, dans le panneau My Blueprint, nous allons ajouter une variable. Je vais appeler le
premier niveau de soulignement 01. Je l'ai actuellement
comme variable de nom. Cependant, si vous
souhaitez le modifier, c' est
là
que vous pouvez le faire. Voilà le nom. Sinon,
en sélectionnant cette
option dans le panneau Détails, vous pouvez également modifier le type
ici même. Maintenant, je veux créer un doublon de cette variable et
l'appeler niveau deux. Donc,
je pourrais le faire de deux manières. Tout d'abord, je pourrais cliquer
dessus avec le bouton droit de la souris et le dupliquer de cette façon. Cependant, je pourrais aussi faire control plus D avec
cela surligné. Afin de créer
un niveau dupliqué, je veux le nommer
O2. Allons-y et
compilons afin de pouvoir leur donner quelques valeurs par défaut. En commençant par le premier niveau, je vais saisir mon
niveau un comme carte de départ. Et remarquez comment je l'
épelle en minuscules. Passez ensuite au niveau deux. Et avec cela, définissez
la valeur par défaut sur Minimum, soulignez la valeur par défaut. Et je le fais en majuscules. Vous devez vous assurer
que vous l'épelez correctement. Maintenant, si vous vous demandez pourquoi je les
saisis comme valeurs par défaut, c'est parce que
dans notre éditeur de niveaux,
dans dossier des cartes
du contenu de mon histoire, j'ai deux cartes qui se trouvent
à l' intérieur de cette étoile.
dossier de cartes de contenu. Une valeur appelée valeur par défaut minimale. Remarquez comment il est orthographié :
seuls le M et le D sont majuscule, puis
un niveau de carte de départ. Et remarquez que le S et le M chez le vétérinaire sont en majuscule. Je n'utilise donc intentionnellement pas exactement
le même boîtier
avec les variables de nom. Il n'est pas nécessaire d'avoir exactement
le même boîtier. Ils ne font pas la distinction majuscules/minuscules. Très bien, pour en revenir à
votre carte de test de niveau, compilez-la
et enregistrez-la. Et puis, dans le graphique
de votre choix, il peut s'agir du graphique d'événements
par défaut ou d'un autre graphique
que vous avez créé. Allons-y et
créons un script simple. Je vais cliquer avec le bouton droit de la souris
et taper
un espace vide le clavier pour
avoir un événement de clavier. Je vais utiliser la touche L
car cela serait
logique pour passer
à un autre niveau. Je suis très zoomé
ici en maintenant la touche
Contrôle enfoncée , la souris pointant vers le haut. Permettez-moi de zoomer sur
cet événement clé L. Ce que je vais faire,
c'est partir d'ici, apporter un nœud de branche. Et si cela est vrai, nous voulons ouvrir un niveau par son nom. Et je vais dupliquer
ce contrôle C, le contrôle V. Et s'il est faux,
nous voulons ouvrir un autre nom de niveau.
Quel est le nom du niveau ? Eh bien, regarde ça. Il cherche une entrée de nom. Maintenant, j'aurais pu le coder en dur
en saisissant simplement ceci. Cependant, je stocke
ces noms de niveaux dans ces variables. Je vais donc
glisser-déposer le niveau un ici et le niveau deux ici. Donc, si notre condition
s'avère vraie, nous passerons au niveau
de notre carte de départ. Et si notre condition
s'
avère fausse
en appuyant sur la touche L, nous passerons
au niveau deux. C'est le minimum par défaut. heure actuelle, notre situation
est difficile à redevenir vraie. Cependant, si je
devais cliquer avec le bouton droit sur un espace vide et
taper un bool aléatoire. Ce nœud pratique
produira simplement une balle aléatoire choisissant
au hasard
vrai ou faux chaque fois que nous appuyons sur la
touche L, ce qui est très pratique. C'est parti. Compilons ceci,
sauvegardons-le et jouons-le. Très bien, donc en appuyant sur
la touche L ici, nous devrions passer à l'un de ces deux
niveaux. C'est parti. Et je n'arrive pas à voyager. Et cela doit être
dû au fait que je
n'ai pas copié correctement
l'un des noms. Donc, niveau deux ici, vérifions la valeur par défaut minimale. Et si je reviens à mes valeurs minimales, les valeurs par défaut sont élevées. Nous devons l'
épeler correctement. Je l'ai mal orthographié. Alors laisse-moi y aller
et arranger ça. Il est bon d'apprendre
de nos erreurs. Défauts minimaux. Jambe. Compilez donc et dites, réessayons. Encore une fois, cela ne tient pas compte des majuscules. Peu importe que ces
lettres,
ces caractères soient en
majuscules ou non. Cependant, vous devez l'
avoir correctement orthographié ? En appuyant sur la touche L, nous avons choisi le niveau correspondant à cette heure. Nous avons donc un niveau étrange ici, nous allons sortir d'ici. Cela a donc été
attribué aux personnes choisies. Faisons en sorte que le niveau
1 fonctionne correctement. arrêtant de jouer à nouveau, en appuyant sur la touche L,
on en a choisi un, et le tour est joué. Ensuite, nous allons utiliser
une variable nommée pour
associer une invite à notre
ThirdPersonCharacter. Donc, si
votre
actif ThirdPersonCharacter n'est pas encore ouvert
, cliquez deux fois
dessus sous le contenu des plans à la
troisième personne pour l'ouvrir. Et à l'intérieur d'ici, trouvez votre composant maillé. Nous devons effectuer un petit travail
de configuration avant même
d'utiliser une variable de nom. Nous allons ajouter une douille
à notre maillage squelettique. Sélectionnez donc votre maillage et, dans le panneau Détails, passez
sous Skeletal Mesh. Cliquez ici pour accéder à cette ressource dans le navigateur de
contenu. Ensuite, vous allez
vouloir double-cliquer sur ce SK M Quinn, c'est simple. Et puis en haut à droite,
vous avez différents onglets. Cliquez sur cet onglet squelette
et nous voulons
ajouter une prise à la main de notre
personnage. Voici donc notre arbre à squelettes, tous les différents os du squelette de
notre personnage. Je vais
donc chercher une main. Et ajoutons une prise à la main droite de
nos personnages. Je vais cliquer avec le bouton droit de
la souris sur cette main. Et en cliquant avec le bouton droit de la souris
sur cet os de la main, nous pouvons ajouter une douille. Et nous venons d'ajouter un socket. C'est la petite icône, je vais cliquer
dessus et je
vais la renommer ici. Donc, le nom du socket
que je vais définir étant Hand Socket comme ça. Maintenant, le fait amusant
est que vous pouvez ajouter un accessoire de prévisualisation pour
voir à quoi cela ressemble. Quand quelque chose est attaché
à la prise ici, je vais cliquer avec
le bouton droit de la souris sur cette prise manuelle. Nous allons ajouter
un maillage d'aperçu. Et ajoutons une lampe,
prévisualisons le maillage comme
un plafonnier. De toute évidence, quelque chose
comme
une épée ou un poignard serait préférable ici, mais nous n'allons pas être
trop précis là-dessus. Je vais juste
cliquer avec le bouton droit de la souris ici, appuyer sur la barre d'espace. Vous pouvez voir comment cela
pourrait être positionné de
telle manière que vous pourriez le
déplacer ici comme ça. Je ne vais pas m'
inquiéter de faire très attention à ça. Vous pouvez le faire pivoter,
quelque chose comme ça. Et encore une fois, vous pourriez
passer beaucoup de temps à chercher où se trouve ce
socket. Nous compensons cela
par rapport à notre main ici. Vous pouvez donc saisir ici quelques
chiffres pour l'emplacement et la
rotation, etc. Ou vous pouvez également le modifier ici dans la fenêtre d'aperçu. Encore une fois, je ne vais pas être
très précis à ce sujet. Pour le moment. Allons-y et sauvegardons ça. Ensuite, revenons à notre ThirdPersonCharacter et créons quelques
variables. Pour en revenir à notre
ThirdPersonCharacter, nous allons créer une variable en cliquant sur ce bouton plus. Celui-ci s'
appellera Sockets Name. Je vais changer cela
pour en faire une variable de nom. Et je vais modifier
la valeur par défaut ici. Si je compile, comment avons-nous
appelé ces prises manuelles, je vais juste mettre toutes les
minuscules de vos prises manuelles. Et remarquez
que ce
ne sera pas exactement le même
boîtier que la façon dont nous l'avons
fait ici, dans notre squelette. Nous l'appelons prise manuelle
avec les majuscules H et S. De retour dans notre
personnage à la troisième personne, nous utilisons simplement des minuscules. Maintenant, je vais ajouter un
autre composant ici en
tant qu' accessoire à attacher à notre socket. Faisons comme si nous avions
une sorte de source. Je vais ajouter des composants de maillage
statique. Et nous l'appellerons notre épée, même si elle
ressemblera à une lampe. Et une fois les
composants de cette épée sélectionnés, ce composant de maillage
statique apparaît dans le panneau Détails. Utilisons-la comme un
treillis statique ou une lampe, un plafonnier. Je vais le
positionner très, très mal. Laisse-moi juste arrêter le mouvement, Snapping juste en haut. Et je ne vais pas y consacrer
beaucoup de temps. Nous allons juste faire
quelque chose de fou comme ça. Bien sûr. Comme ça. On dirait que le film est sorti
de Final Fantasy. Bien sûr. Ensuite, nous
allons passer à notre graphique d'événements bouton droit de la souris
et laisser un espace vide J'ai besoin d'une clé d'événement. Faisons les entrées R, ou en fait, faisons le clavier. Voyons ce que nous avons obtenu en ce qui concerne les événements de clavier
disponibles. Passons à la touche zéro. Bien sûr, ça va marcher. Nous allons en sortir
et attacher. Et ce que nous
recherchons, c'est attacher un composant à un autre. J'ai plusieurs options ici. Attachons un composant,
deux composants, une épée. L'épée. Oups. C'est un élément que
nous voulons attacher. Le parent est la chose à laquelle
nous voulons l'attacher. Dans ce cas, c'est notre maillage. Et n'oubliez pas que
le maillage est l'objet auquel est associé un
socket. Faisons donc glisser et déposez le nom de notre
socket ici. Il y a donc deux choses que nous devons corriger ici, ce sont nos règles de localisation
et de rotation. Nous voulons régler cela de manière à ce
qu'il soit ciblé, comme ça. Cela devrait donc être notre script. Nous voulons attacher notre
épée, c'est la cible. Nous voulons l'attacher
à notre maillage parent. Et où spécifiquement,
well at sont nommés socket et nous définissons le nom de notre
socket comme socket manuel. Alors compilez. Disons, jouons. Maintenant, regardez cette belle
épée sur le sac de mon personnage. Bien que cela ait l'air
nul, permettez-moi
d'appuyer sur la touche zéro et boum, il est maintenant attaché
à notre prise. Tout cela grâce à ce nom, à cette
variable, à ce nom de saccad. Résumons maintenant. Une variable de nom est un
texte utilisé pour identifier quelque chose
dans un jeu. Les variables de nom sont composées de caractères
alphanumériques, c'est-à-dire uniquement de lettres et de chiffres. Et ils ne tiennent pas compte des majuscules, ce qui signifie que les majuscules, les majuscules ou les minuscules n'ont pas d'importance. Les gars, ça
suffira pour cette vidéo, on se revoit dans la prochaine.
46. Chaîne: Très bien,
bienvenue à tous. Dans cette vidéo, notre objectif est de
découvrir ce qu'est une variable de chaîne, comment en créer une
et comment utiliser lors de la rédaction de
scripts de plans. Pour cette vidéo, nous allons travailler dans notre bp, un ThirdPersonCharacter, c'est le répertoire
où vous pouvez le trouver. Alors allons-y et
ouvrons-le tout de suite. Comme vous pouvez vous y attendre, vous pouvez créer cette
variable String ici dans le panneau
Mon plan en cliquant sur Ajouter une variable ou en
cliquant sur ce bouton plus dans
la section variable . Et je vais créer nos
deux premières variables de chaîne dès le départ ici. Ce premier nom, je vais l'
appeler par mon prénom. Et encore une fois, vous
pouvez modifier le type de la variable soit à partir de cette chaîne déroulante, c'est ce que
nous cherchons à faire ici, soit cette variable serait-elle sélectionnée dans le panneau Détails
sous Type de variable ? Et je vais le dupliquer
tout de suite. Je peux cliquer dessus avec le bouton droit
et le dupliquer. Ou avec cette option sélectionnée, je peux utiliser ce raccourci clavier, qui est control plus
D. Et je vais
remplacer celui-ci par LastName. Ensuite, je vais compiler
ceci afin que
nous puissions lui donner
des valeurs par défaut. Donc pour le prénom,
je vais aller dans
la section Détails
et taper mr. Avec un point. Ensuite, je vais ajouter un
espace blanc juste après. Nom de famille, je vais
ajouter une goutte. D'accord ? Parlons maintenant de ce qu'
est une variable de chaîne ? Eh bien, une variable de chaîne
est une variable qui peut contenir des lettres, des
chiffres ou des symboles. Ou les chaînes de caractères sont utiles pour manipuler
dynamiquement du texte lors de l'
exécution à l'aide de certaines fonctions
prêtes à l'emploi Nous en explorerons certaines plus loin dans cette vidéo. Les chaînes peuvent être recherchées, elles peuvent être modifiées et elles peuvent être
comparées à d'autres chaînes. Notez que pour cette raison, les
chaînes sont préférables aux variables de
nom si vous souhaitez manipuler du texte d'une manière ou d'une autre
pendant le jeu. Les chaînes de caractères sont donc un peu plus chères que les variables de nom. Mais je veux dire, si vous gérez un jeu plus petit ou
même un jeu plus important, je veux dire, le coût n'est pas
beaucoup plus élevé. OK, créons donc notre premier
script qui utilisera certaines
de ces variables de
chaîne. Voici donc un
espace vide dans un graphique d'événements. Je vais cliquer avec le bouton droit de la souris. Je vais apporter, essayons la touche sept. N'importe quel événement de clavier fera l'affaire. Laisse-moi zoomer dessus. Et vous m'avez vu utiliser
cette fonction à de nombreuses
reprises en faisant glisser la souris vers le
bas, imprimer une chaîne. Ce nœud peut donc accueillir
une variable de chaîne. Maintenant, de nombreuses
choses peuvent être converties en chaîne, mais cette épingle rose juste là, si vous passez la souris
dessus, indique qu'elle
cherche une variable de chaîne. Si je devais saisir le nom de
notre socket, il le convertirait en
chaîne. En fait, si je fais glisser
le pointeur ici et que je dis toString, je pourrais le convertir en
une variable de chaîne. De nombreuses autres variables peuvent également être converties en chaînes de caractères. Mais montrons nos deux variables de chaîne et comment nous pouvons les ajouter ensemble. C'est-à-dire attacher
l'un à l'autre. Je vais donc maintenir la touche Contrôle enfoncée, cliquer avec le bouton gauche de la souris et faire glisser mon prénom
tout
en Ctrl enfoncée. Et je vais aussi avoir
mon nom de famille. Autant de noms sont présentés. C'est le prénom
suivi du nom de famille. Donc, une façon de manipuler ces deux chaînes distinctes
est de les ajouter. Donc, si je clique avec le bouton droit de la souris dans un espace
vide, je passe sous
la
section des utilitaires tout
en bas
parce que tout est par ordre alphabétique. Utilitaires. Nous pouvons entrer dans la chaîne
Utilitaires. Et tout en haut, il y a une fonction appelée append qui consiste à concaténer deux chaînes
ensemble pour les combiner. Nous pouvons donc prendre notre prénom et y ajouter
le nom de famille. Et cela nous donnera
le résultat final. Comme ça. Si je compile ceci, assurez-vous que mon script est correct ici. Épargnez, allons-y et jouons. Maintenant, lorsque j'appuie sur la touche sept, vous devriez voir mon
prénom et mon nom de famille combinés ici. C'est parti. Sept, vous voyez M.
vagabonder tous ensemble. Maintenant, dans cette section de
chaînes d'utilitaires, de nombreuses fonctions peuvent être utilisées pour
manipuler des chaînes. Laisse-moi en trouver un
autre ici. Je vais effacer mon
nom de famille, comme ça. Et je vais
taper deux caractères en haut, encore une fois, on le trouvera dans la section des chaînes utilitaires. Je vais y aller comme ça, en l'
accrochant également à la section
B. Maintenant, si je devais compiler,
enregistrer et jouer, ce que vous remarquerez en
haut à gauche lorsque j' appuie sur cette
touche sept,
c'est de remarquer comment la chaîne complète du
nom de famille a été modifiée en majuscules. C'est donc un peu pratique aussi. De nombreuses façons de
manipuler les chaînes de caractères. L'un des principaux
avantages de transformer quelque chose
en chaîne réside dans
les différentes fonctions
permettant en chaîne réside de les manipuler. Je vais vous présenter
certaines des autres fonctions de
manipulation
du Level Blueprint, car j'en ai préparé quelques-unes avant
cette vidéo. Je vais donc sauter de
mon personnage à la troisième personne et accéder nouveau à mon
plan de niveau C'est ainsi
que vous pouvez le faire
en cliquant juste là, pour
ouvrir les plans de niveau. Ici, j'ai plusieurs fonctions
différentes. Il y en a bien d'autres que nous
allons explorer ici. Encore une fois, vous pouvez le trouver en
cliquant avec le bouton droit de la souris et en laissant un espace vide sous
la section
des chaînes d'utilitaires. Ici, toutes les
fonctions de manipulation de chaînes que vous avez vues s'ajouter. Donc, si c'était le cas, je ferais glisser et
déposer chacun d'entre eux dans ma
fonction prête à l'emploi ici, mon script de fonction de chaîne d'impression qui peut être déclenché
avec la touche S ici. Donc, si je devais essayer, vous verrez comment, en
appuyant sur la touche S, je peux ajouter ce montant en dollars
après les textos d'argent. Très pratique. Très bien, laisse-moi me débarrasser
de ce type et nous
passerons le temps de quelques secondes à une chaîne. C'en est
un autre que j'aime beaucoup. Ce que cela va faire, et je
prépare celui-ci à l'avance, c'est que j'ai modifié cette variable flottante
pour qu'elle ait une valeur de 500. Donc, si je devais changer
cela en secondes, combien de secondes est-ce ? Eh bien, cela fera
le travail pour vous. Donc, si j'appuie sur la touche S maintenant, vous pouvez voir comment
cela s'affiche sous une belle forme temporelle. Supprimons celui-ci. Essayons de diviser une chaîne. Donc, si c'est ma chaîne source
du 4 juillet avec une virgule 17, 76, et que je veux la
diviser
en STR, c'est un peu d'accord. Ici, à gauche,
j'aurai le 4 juillet. À droite de cela,
j'obtiendrais 17 76. Alors allons-y et
essayons-y rapidement. Diviser une chaîne. J'arrive juste à
gauche de cette virgule, en appuyant sur la touche S. Le 4 juillet. Et si je devais garder le
contrôle enfoncé et arriver
à droite, maintenant je comprendrais qu'
en fait, ce serait un espace blanc dans 17 76, mais vous ne pouvez pas voir
l'espace blanc, c'est juste montrer un 17 76. Maintenant, quelque chose de cool que vous
pourriez faire ici est de les convertir en variables que nous
pourrions modifier. Vous pourriez donc
cliquer dessus avec le bouton droit de la souris, la
promouvoir comme
variable et appeler cette date
d'indépendance État
indépendant des États-Unis de toute façon, ceux internationaux,
ce serait un autre rendez-vous, espérons-le,
pour votre indépendance, devriez-vous profiter de ce luxe ? Ainsi, en faisant cette compilation, vous pouvez voir comment nous avons
créé la variable de
cette manière en cliquant avec le bouton droit de la souris
et en la transformant en variable. Notez qu'il prend automatiquement informations
que
vous avez codées
en dur pour qu'elles fonctionnent
à cet endroit et
renseigne automatiquement
cette variable de chaîne. Alors j'ai juste pensé
que j'allais le jeter là aussi. Regardons-en une autre
ici, cette fonction de remplacement. Vous pouvez également le trouver dans la section des chaînes d'utilitaires
et dans le menu contextuel. Super pratique car vous pourriez
voir un scénario comme celui-ci. Et encore une fois, vous
avez une chaîne source qui
indique que la porte est verrouillée. Vous pouvez modifier certains
textes que vous spécifiez, dans ce cas verrouillés
jusqu'au texte ouvert. C'est donc un autre avantage
de ces fonctions de chaîne. Vous avez toutes ces
différentes manières de manipuler les textes. Alors, on y va. Cela devrait dire que la porte est verrouillée, je dis qu'elle a été changée
pour ouverte. Donc, en appuyant sur la touche S, la porte est ouverte. Et voilà. Une variable de chaîne est
une variable qui peut contenir des lettres, des
chiffres ou des symboles. Ils sont utiles
car ils peuvent être manipulés
dynamiquement
lors de l'exécution. Et encore une fois, pour trouver
toutes ces fonctions cliquez avec le bouton droit de la souris et vous voulez
accéder à Utilitaires. Tout en bas, il y a une chaîne d'
utilitaires et vous avez toute
une série de fonctions pour
manipuler ces chaînes. Eh bien, ça
suffira pour celui-ci, les gars, nous vous verrons dans le suivant.
47. Texte: Bienvenue à tous. Dans cette vidéo, nous allons
apprendre ce qu'est une variable de
texte, comment
en créer une et comment l'
utiliser lors de l'écriture de
plans. Il s'agit donc de la troisième variable de
cette catégorie, à savoir la variable nom, la variable chaîne
et la variable texte. Qu'est-ce que la variable de texte
et quand doit-elle être utilisée ? Eh bien, les variables de texte
doivent être utilisées pour tous les textes qu'un utilisateur peut
voir pendant une partie. Des textes que vous pouvez voir
sur un HUD intégré au jeu, ou peut-être des textes que
vous voyez dans les menus ou peut-être sur un
écran affichant les meilleurs scores, ce genre de choses. Utilisez ce type de texte que
vous souhaitez localiser. Donc, si vous cherchez à
traduire votre jeu et tout le texte qui l'
accompagne en allemand, français, espagnol, etc. Vous allez vouloir vous
assurer que ce texte
est du type variable de texte. Désormais, les variables de texte
distinguent les majuscules et minuscules, alors que les variables
nommées ne le sont pas. Ils n'ont pas fait la distinction majuscules/minuscules. Les variables fiscales distinguent les
majuscules et minuscules. Très bien, nous allons
travailler un peu dans notre WB P HUD. C'est donc là que
vous pouvez découvrir que nous avons créé ces vidéos il y a quelques vidéos. Nous allons également travailler
un peu notre
plan de
personnage à la troisième personne. Vous pouvez donc également le trouver dans le dossier
Blueprints à la troisième personne. Alors ouvrez ces deux gars. Je vais
commencer avec mon HUD W BP. Vous vous souvenez peut-être quand
nous l'avons fait il y a quelque temps. Nous n'avons fait que créer
une boîte horizontale. Et à l'intérieur de cette boîte
horizontale, nous avons ajouté un widget de texte
ainsi qu'une barre de progression. Maintenant, je suis en bonne
santé pour le moment, mais je vais changer cela
dans le panneau Détails. Est-ce que vous dites simplement
le nom du personnage ? Nom du personnage. Il s'agit d'une
variable de type texte. En fait, si je survole
ce drapeau ici, vous pouvez voir que certains textes peuvent
être localisés si cette case est cochée. Je vais également changer le nom de ce widget
en nom de personnage ou en
textes de caractères. Que diriez-vous de ça ? Nous parlons ici de
variables textuelles. Juste pour que cela soit un
peu plus clair. Donc, ce que nous allons
faire maintenant, c'est E à l'intérieur de notre
ThirdPersonCharacter, je suis prêt à
créer une variable de texte. Et je vais
lui donner le nom que je souhaite à notre
personnage à la troisième personne. Je vais donc monter là-bas. Nous allons créer une association ici
dans peu de temps. Mais passez à votre
personnage à la troisième personne. Et nous allons
créer une nouvelle variable. Et nous allons appeler cela les textes de
nos personnages, juste
pour que les choses soient encore plus claires. Et nous allons le remplacer
par un type de variable texte. Nous allons le compiler. Et je vais l'appeler mon super héros. Ça a l'air d'être un joli nom. Maintenant que cette
variable de texte est créée, je vais compiler
ici et enregistrer. Et maintenant, nous allons associer
cette variable à notre HUD W, B P afin de pouvoir réellement lire les textes de ces super-héros. Passez donc à votre HUD WPP. Sélectionnez l'endroit où le nom du
personnage est indiqué. Et dans le panneau Détails où le nom du
caractère est indiqué, nous devons créer une reliure. Je vais le faire en
cliquant sur la reliure. Créez une reliure. Et cela va nous
faire passer de l'onglet Designer
à l'onglet Graphe. C'est exactement ce qui s'est passé là-bas. L'onglet Designer vous ramène
à cette mise en page visuelle. L'onglet Graph est l'endroit où vous
pouvez créer un script. Et plus précisément,
cela nous a permis de créer une toute
nouvelle fonction. Donc, à l'heure actuelle, notre fonction
s'appelle obtenir des textes de caractères. Texts is zero, ce qui
est un nom horrible. Ce qui est fait, c'est qu'un tout nouvel onglet
s'est ouvert ici. Et voici le nom de la fonction que nous sommes
en train de créer. Je vais le renommer
en passant la souris dessus. Et nous allons le renommer. F2 mentira également pour le renommer, et j'appellerai ça
obtient des textes de caractères. Maintenant, ce que nous voulons
faire à partir d'ici c'est un peu comme nous l'avons fait pour
notre santé de Get Player. Je vais juste
passer
très rapidement à cette fonction en double-cliquant dessus. Nous recherchions notre
personnage de joueur et nous avons
sélectionné notre personnage à la troisième personne
afin d' obtenir ces informations variables. Je vais mettre en évidence
ces deux nœuds cliquant avec le bouton
gauche de la souris et en les faisant glisser. Je vais faire Control C.
Ensuite, je vais
double-cliquer sur la
fonction dont je viens de sortir. Je reçois des textos de personnages. Et puis ici,
je vais utiliser Control V pour coller ça. Je vais faire
passer ça comme ça. Et encore une fois, une fois que vous avez une référence à votre
ThirdPersonCharacter, vous pouvez en extraire certaines
informations, y compris les variables
qui s'y trouvent. J'ai donc créé cette variable
à l'intérieur de mon
personnage à la troisième personne , appelée textes de
caractères. Revenons donc à mon
HUD WB P, dans cette fonction, je vais faire glisser la souris ici
et je pourrai
rechercher les textes d'un personnage. Je veux l'obtenir et regarder la valeur de retour que recherche cette
fonction. J'ai mentionné que dans l'onglet Designer,
ce widget de texte
en particulier était lié à
certains textes réels. C'est le résultat que
nous recherchons ici dans notre onglet graphique. Il s'agit de rechercher la
valeur de retour d'une variable de texte. Nous allons donc
insérer ces textes
directement ici. Comme ça. Et si je compile et que je
sauvegarde et que je joue maintenant, vous remarquerez qu'
en haut à gauche, il est écrit superhéros, le nom de notre personnage tel que nous l'avons spécifié dans cette variable de texte de
caractère. OK, une autre chose que
je voulais montrer avec une variable
de texte est la façon dont vous pouvez formater certains textes,
car je pense que beaucoup d'entre vous trouveront
cela utile également. Maintenant, pour faire ce que
je veux montrer, nous allons revenir à
notre personnage à la troisième personne. Ensuite, nous reviendrons
ici dans notre WPP Hudson. Ne vous contentez pas de fermer
ça tout de suite. Revenons à notre
personnage à la troisième personne. Comme ça. Créons de
nouvelles variables de texte. Je vais passer sous
Variables, cliquez sur plus. Et je vais appeler cela
une étape de l'état de santé. Je vais donc modifier la valeur par défaut de l'état de santé pour qu'elle soit assez
intéressante. Nous allons donc compiler ici et regarder ce que je
vais taper ici. Permettez-moi de développer cela
un peu. Je dirais que tu l'as fait,
et ce sera un frère bouclé, désolé, crochet
bouclé, pas un crochet
droit qui maintient le shift enfoncé, crochet bouclé
gauche, santé. Crochet bouclé droit en maintenant la touche Shift
enfoncée et en appuyant sur le bouton du support,
HP restant. Maintenant, tandis que. Maintenant, je l'ai fait parce qu'avec notre variable de
texte ici, nous avons la possibilité de
formater nos textes et modifier ce contenu
ici pour le lire vous reste 100 HP, il te reste 50 PV, ce genre de choses. Maintenant, nous
pouvons le faire via
un nœud de format de texte. Je veux donc formater cela. Je vais faire quelques scripts
ici, puis cela le
reliera à notre HUD WPP. Voici donc
ThirdPersonCharacter Event Graph. Je vais cliquer avec le bouton droit de la souris
et essayer la touche 9. N'importe quelle touche de saisie fera l'affaire. Nike fonctionnera très
bien pour le moment. Et je vais m'
en aller d'ici. En fait, ne
partons pas d'ici pour l'instant. Je veux parler de
notre état de santé, traîner ça et nous
y arriverons. Ensuite, je vais sortir
d'ici et taper du texte au format. D'accord, les feuilles actuelles
n'ont qu'une seule épingle, mais nous allons en
ajouter une ici. Et actuellement, il est
étiqueté zéro. Cependant, si je sélectionne
ce nœud de format de texte, je peux modifier
ici l'argument qui sera cette épingle d'entrée. Souvent, cela doit être orthographié exactement comme écrit dans notre état de santé. J'ai donc H E majuscule, H E a L T H, santé. Juste comme ça. Avec votre format, les nœuds de
texte sélectionnés modifient l'argument
pour qu'il soit exactement le même, et cela
apparaîtra sous la forme d'une épingle de saisie sur ce nœud de format de texte. Ensuite, ce que je vais faire,
c'est prendre notre variable santé
ici, comme ça. Il s'agit actuellement d'un flotteur
et branchez-le ici. Maintenant, il est gris, ce qui signifie qu'il peut tout absorber. Je vais donc une variable flottante,
et elle indiquera :
OK, si vous voulez la
brancher à flot, ce sera maintenant une entrée flottante. Il le remplacera par le type d'entrées que vous y
introduirez ainsi. Et le résultat, que je vais promouvoir
cela en tant que variable. Cliquez avec le bouton droit sur Promouvoir Et il a créé cette nouvelle
variable de texte ici
appelée résultats. Je vais modifier cela
pour améliorer le résultat. Je pense que ce sera un
peu plus descriptif. Donc maintenant, ce que nous
faisons ici, c'est que lorsque nous
allons appuyer sur la touche 9, nous allons prendre notre état de santé
actuel ici, cette phrase, si vous
voulez, nous allons remplacer ce que
nous avons spécifié ici cette santé et
la raison pour laquelle nous avons cette santé exacte entre crochets sont
exactement les mêmes ici dans les arguments, c'
est pour qu'on puisse lire que c'est la texture que
nous essayons d'échanger. Et puis le résultat
sera le résultat de cette ligne, la santé étant échangée contre cette valeur flottante quelle que soit
cette valeur flottante. Je me rends compte maintenant que c'est
sous forme de virgule décimale. Nous allons donc obtenir
une valeur de 0 à 1. Et normalement, vous
devriez lire
à 100 %, ce
genre de choses. Mais ça va convenir à
des fins de démonstration. Je vais compiler ce
dernier élément que je dois
faire ici si je dois lier ces résultats de santé
du jour au lendemain, WB be HUD. Donc, pour ce faire, je vais
revenir ici. Permettez-moi de revenir à
mon onglet Designer. Je vais rapidement
glisser-déposer un widget de texte
quelque part là-bas. Cela n'est pas demandé pour
être très précis. Ça va
juste traîner ici. Je ne vais pas le montrer ou le cacher ou quoi que
ce soit de ce genre. Je vais simplement appeler
cela mon état de santé. Et actuellement, si je devais
jouer, cela nous
indiquerait simplement l'état de santé
à l'écran. Comme ça, état de santé. Cependant, je souhaite lier
cela à notre variable,
notre variable d'état de santé à l'intérieur de notre
ThirdPersonCharacter. Nous devons donc créer
cette liaison en allant ici, lier, créer une liaison. Et lorsque nous sommes passés
à l'onglet graphique, nous allons changer le
nom de cette fonction, appuyant sur F2 ici pour
obtenir l'état de santé suivant. Nous allons faire comme nous l'avons fait avec nos
autres fonctions ici, je vais double-cliquer
sur cette autre fonction. Nous allons saisir
ces deux nœuds, contrôler C. Revenons à notre
fonction d'état de santé sur laquelle nous
travaillons , control v. Like this. Et maintenant, nous pouvons
trouver l' intérieur de notre
ThirdPersonCharacter, assurez-vous de l'avoir compilé. Nous voulons saisir cette variable
de résultat de santé. Je ne devrais pas remplacer
cela par Help Desk, je vais appeler cela
de bons résultats pour la santé. Soyons un
peu plus précis. Ils sortent de
notre
type de personnage à la troisième personne en termes de santé. Nous voulons obtenir les résultats sur le
plan de la santé, et
non sur
l'état de santé. Il y en a deux qui portent le même nom. Et maintenant, si je devais compiler,
enregistrer, remarquer que notre
ThirdPersonCharacter, une fois que nous aurons appuyé sur la touche 9, c'est ce
que nous allons
mettre à jour notre résultat de santé ici. Je vais donc appuyer sur
le bouton Play. Et une fois que j'appuie sur la touche 9, il
te reste un HP. Eh bien, quelque part ici, dans
ce personnage à la troisième personne, j'étais en train de décrémenter notre santé. Eh bien, c'était pour les malades, les cinq clés, non ? Donc en remontant ici. Et j'appuie sur les cinq
touches pour réduire ma santé. Maintenant, si j'appuie sur la touche 9, cela devrait être mis à jour. Maintenant, j'ai 50 % de mes points de
vie, les cinq touches abaissant,
abaissant, diminuant. Je ne devrais pas avoir 20
% de santé. Je vais donc appuyer sur la touche F9. Encore une fois, vous avez également
20 % de santé. Et je pourrais le formater
pour qu'il soit plus logique, mais tu comprends. Enfin, j'ai
mentionné que tous les textes
destinés aux utilisateurs, ce
soit dans le HUD
ou dans les menus, ce genre de texte que vous
souhaitez faire localiser. Il doit se trouver dans une
variable de texte, ce type de texte. Il doit se trouver dans une
variable de texte si un
utilisateur veut le lire dans
différentes langues. Maintenant, comment procédez-vous
avec tout ce processus qui dépasse largement le
cadre de cette vidéo. Cependant, je vais vous
indiquer cette
documentation en particulier. Dans la documentation
officielle d'Unreal Engine 5, vous pouvez vous trouver sous Docs
point Unreal engine.com. Vous pouvez voir l'
adresse ici. Beaucoup d'informations
sur la façon de localiser des textes avec ces gars-là. Ça suffira pour celui-ci. Nous vous verrons lors de la prochaine.
48. vecteur: Bienvenue à tous. La variable vectorielle est
le sujet de cette vidéo. Apprenons donc à en
créer un et à en utiliser un dans certains scripts
Blueprints. Alors, tout d'abord, qu'est-ce qu'
une variable vectorielle ? Eh bien, une
variable vectorielle est une variable qui contient trois valeurs flottantes, c'
est-à-dire des nombres avec
un point décimal. Ils sont généralement
utilisés pour spécifier les données de coordonnées 3D x, y et z. Cependant, ils peuvent être
utilisés pour contenir des données de couleur R, G et B, c'est-à-dire des données de couleur rouge ,
verte et bleue. Très bien, pour vous montrer
quelques exemples, je voudrais utiliser
notre plan de niveau, mais avant même que vous n'y
alliez, assurons-nous que vous avez une place dans la boîte de déclenchement de
votre niveau, car nous sommes je vais m'en servir pour
montrer l'utilisation de variables
vectorielles. Donc, si vous ne l'avez pas
déjà fait
, rendez-vous ici,
sous
le panneau Place Actors L'onglet de base étant sélectionné, vous trouverez une boîte de déclenchement. Allez-y et placez l'un
d'entre eux dans votre niveau. Et puis tout ce que j'ai fait, c'est régler ma boîte pour qu'elle s'étende à 200,
200, 200, soit une épaisseur de ligne de dix. Et dans la section du rendu, j'ai simplement désactivé Actor Hidden
et Games pour pouvoir voir ce volume de déclenchement
lorsque je joue. Très bien, avec cette case de
déclenchement sélectionnée, passez à votre plan de
niveau. Tout de suite Ce que nous
allons faire, c'est cliquer avec le bouton droit. Tu m'as vu faire
ça un million de fois. À présent. Nous allons ajouter un
acteur qui commence un événement de chevauchement. Nous voulons que quelque chose se produise lorsque nous superposons cette case de déclenchement, et nous voulons que
cela se produise uniquement lorsque
le personnage à la troisième personne
est l'autre acteur. Cela nous chevauche pour
sortir de là tapant Cast to
ThirdPersonCharacter. La première chose que je veux
faire ici, c'est simplement me déplacer vers un autre endroit. Maintenant, afin de déterminer quel emplacement
nous voulons également travailler, nous pouvons le conserver dans
une variable vectorielle. Passons donc à
notre section sur les variables. Cliquez sur le bouton plus
et appelons cela notre distorsion, également locale. Et pour la transformer en variable
vectorielle,
vous pouvez à nouveau cliquer ici et la définir
comme variable vectorielle. Ou en sélectionnant cette
option dans le panneau Détails, vous pouvez également modifier le
type de variable en vecteur. Je vais compiler ici. Et nous pouvons voir qu'une fois que nous l'avons fait, la valeur par défaut est fixée à 00,0 et ce sont des valeurs
décimales. Il s'agit de trois valeurs flottantes. Et vous pouvez voir,
en surlignant ces coordonnées, qu' s'agit généralement de coordonnées x, y et z. Vous pouvez également cliquer sur cette
petite flèche vers le bas agrandir et afficher
le x, le y et le z. Ce que je vais faire
ici, c'est définir cette valeur
pour qu'elle soit supérieure, en l'air, au-dessus de
ma boîte de déclenchement. Donc, ce que je
cherche essentiellement ici, c'est que je
veux superposer cela. Je vais apparaître
ici. Je vais le
superposer, puis je
veux me diriger vers un endroit
juste au-dessus avec l'
idée de tomber quelque part à proximité. Ensuite, je pourrai
le répéter encore et encore. Je vais donc copier
l'emplacement de
cette boîte de déclenchement en la sélectionnant
dans
le panneau Détails.
Je vais cliquer avec dans
le panneau Détails le
bouton droit de la souris ici et copier ces coordonnées. Ensuite, je vais revenir
à ma carte de tests de
niveau, Level Blueprint,
passer en revue les paramètres régionaux. Et ici, je
vais cliquer avec le bouton droit de la souris et le coller pour coller
les mêmes valeurs. Cependant, je souhaite
définir ma valeur z pour qu'elle soit plus élevée afin de
ne pas me retrouver
dans la même case. Je vais donc définir ma
valeur z ici à 2000. Sachez que selon l'endroit où
vous placez votre boîte de déclenchement, vos valeurs ici
seront différentes. Vous devez juste
savoir que vos x et y peuvent avoir la même signification
que votre boîte de déclenchement. Le Z que vous allez vouloir
régler pour qu'il soit un
nombre plus grand afin que vous finissiez par vous déformer au-dessus
des limites de cette case. Maintenant, ce que nous voulons faire
ici, c'est que lorsque nous superposons cette case à un personnage à la
troisième personne, nous voulons le faire sortir de notre
personnage à la troisième personne et saisir l'emplacement de l'acteur. Il s'agit d'un nœud fonctionnel
qui peut déplacer votre cible. Dans ce cas, notre personnage
à
la troisième personne vers un nouvel emplacement. Et que
savez-vous que nous stockons cet emplacement dans
cette variable vectorielle ? Je peux donc cliquer avec le bouton gauche de la souris
et le faire glisser et déposer juste en haut de
notre nouvel emplacement. Et je vais le
compiler pour m'assurer que notre script est
beau et qu'il l'est Sauvegardons-le, et
allons-y et jouons. Donc, une fois que je l'
ai superposé, je devrais me diriger vers un endroit situé quelque
part au-dessus. C'est parti. On y va. Vous pouvez voir que je n'arrête pas de
tomber dedans encore et encore. Laisse-moi essayer de
m'éloigner de là. Boucle infinie. Mais tu as compris l'idée. Vous pouvez maintenant voir comment étendre ce script
ici même à un effet sonore,
peut-être à un effet de particules
plus petites à l'endroit
où nous chevauchons
cette boîte de déclenchement et à la distorsion vers les paramètres régionaux. Mais l'emplacement de
la boîte de déclenchement, c'est un exemple d'utilisation
d'une variable vectorielle. Utilisons maintenant à nouveau une variable vectorielle et
utilisons-la pour spécifier une couleur. Pour cela, je vais
cliquer avec le bouton gauche de la souris sur cette distorsion pour localiser
Control D pour la dupliquer. Cela dupliquera cette variable
et je vais simplement
appeler cette nouvelle couleur. Je vais simplement
ajouter une clé de saisie ici. Essayons la touche 9, je ne connais
pas , pour voir
si elle est disponible. Les neuf touches, Bien sûr, n'importe quel événement d'entrée suffira. Et je vais faire glisser ça
et taper la chaîne d'impression. Et il va
imprimer le texte Bonjour. Cependant, si je développe cela vers le bas, je peux spécifier une couleur de texte. Maintenant, si je passe la souris sur
cette épingle d'entrée, cela indique que ce type de variable est une structure de couleur linéaire. C'est le type de
variable qu'il recherche. Et nous pouvons en créer
une
en cliquant dessus avec le bouton droit de la souris et en
la transformant en variable. Mais l'idée ici
est de
montrer comment une variable vectorielle peut être utilisée pour
spécifier une couleur. Maintenant, si je sélectionne ma nouvelle variable de
couleur ici et que je compile pour
pouvoir ajouter une valeur ici. Il copie les données provenant
de ma
distorsion vers les paramètres régionaux. Permettez-moi donc de
le remettre à 00,0. Maintenant, si vous utilisez
une variable vectorielle pour spécifier une couleur RGB, vous devez savoir que
ces valeurs vont essentiellement de 0,0 à 1,0. Vous
spécifiez essentiellement le pourcentage de rouge ou de
vert que vous voulez et le pourcentage que
vous voulez de bleu. Je vais définir ma
nouvelle couleur ici à 1,0 pour la valeur r, le b et le g,
je vais laisser zéro. Donc, je
dis essentiellement de me donner 100 % de rouge, pas de vert et pas de bleu. Maintenant, si j'essaie de le
glisser-déposer au-dessus de la couleur de mon texte, c'est parce
qu'ils ne peuvent pas le faire. Cependant, si je le fais
glisser et déposez, je l'obtiens. Ensuite, je le fais glisser dans
la saisie de couleur du texte. Cela va
convertir mon vecteur en
un type de structure de couleur linéaire. Maintenant, en faisant cela,
je peux compiler, enregistrer,
m'assurer que mon script est prêt à fonctionner. Allons-y et jouons. Maintenant, lorsque j'appuie sur la touche 9, vous verrez que le texte Hello apparaît en
rouge et qu'il est piloté par ma variable vectorielle où je l'utilise
pour spécifier une valeur de couleur R, G et B. Et voilà. Les
variables vectorielles sont couramment utilisées comme points d'apparition
ou de réponse,
ou peut-être comme points de départ et d'arrivée d'une plateforme
mobile. Et nous y reviendrons
plus tard lorsque nous donnerons une leçon sur l'
utilisation des nœuds de chronologie
dans les scripts de plans. Les gars, ça
suffira pour celui-ci. On se revoit dans le prochain.
49. Rotateur: Bienvenue à tous. La variable rotateur est
la vedette de cette vidéo. Apprenons donc comment en créer
un et comment il peut être utilisé dans un script de
plan directeur. Tout d'abord, qu'est-ce qu'un rotateur ? Eh bien, le rotateur est une variable qui contient des informations
de rotation. Désormais, les objets peuvent être pivotés
autour de trois axes différents, le x, le y et le z. Et cela peut indiquer dans
quelle mesure nous voulons un objet donné fasse pivoter un objet donné, le
stockant dans ces variables de
rotateur. Maintenant, avant de passer à
tout cela, je voudrais juste
indiquer ici, avec
tous les objets sélectionnés
dans votre niveau comment la rotation tourne
autour d'un axe donné. Donc, à l'heure actuelle, vous
pouvez voir que
mon volume de déclenchement est sélectionné ici, ma boîte de déclenchement, et que je suis actuellement dans
mon mode de déplacement, actuellement dans
mon mode de déplacement,
indiqué par celui-ci
pour le widget fléché. Maintenant, si je devais passer
en mode rotation,
nous pouvons voir comment, si nous tournons autour de l'axe X
, la flèche rouge apparaît ici. Cela implique de bouger comme ça. Il se déplace autour de cet axe. De même, notez notre axe
Y pointé
dans cette direction. Si nous devions changer
cela en rotation, nous le déplacerions
autour de cet axe. De même, si
notre axe Z est pointé vers le haut et vers le bas, si nous tournons
autour de cet axe, nous le
déplaçons essentiellement comme ceci. Faites-le pivoter comme ça. Je dois être
grammaticalement correct. accord, avec cela, j'ai également apporté une
modification supplémentaire entre les vidéos en créant
un tout nouveau dossier ici et en cliquant simplement avec le bouton droit de la souris sur notre
dossier de scripts, créant un nouveau dossier
et en l'appelant acteur. Bp's. Ce que j'ai fait ici,
c'est que j'ai déplacé tous mes plans qui se trouvaient
dans mon dossier d'aperçu. Il suffit de les glisser-déposer, cliquer avec le bouton gauche de la souris et de
les faire glisser dans le dossier de
mon nouvel acteur BP. Parce que cela semblait être
un nom plus descriptif. Dossier de présentation. Il a en quelque sorte dépassé
sa durée de vie utile. Je vais donc créer
un nouveau plan ici, dans les dossiers de mes nouveaux
acteurs BP. En cliquant avec le bouton droit de la souris, nous allons créer
une nouvelle classe de plan. Ce seront des plans de
classe d'acteur. Alors choisissez un acteur. Et je vais donner un nom à cette porte rotative
BP Underscore. Nous allons créer
des variables de rotateur dans ce plan. Tout d'abord, allons-y et double-cliquez dessus
pour l'ouvrir. Et je ne veux pas ajouter
quelques composants. Donc, le premier composant
que je vais
ajouter en entrant dans ma section de
composants sera une
boîte, une boîte, une boîte. Laisse-moi juste faire une
recherche par case. Ça y est. Collision de boîtes. Et une fois cette option sélectionnée, j'ai quelques détails que
je souhaite définir à cet effet dans le panneau Détails. Je souhaite définir l'emplacement
sur moins 45 et l'emplacement z sur 110. Vous verrez pourquoi
dans peu de temps. Allons un peu en
l'air comme ça. De plus, je vais
modifier l'étendue de la boîte pour qu'elle soit de 170 dans le x, 60, dans le y, 110, dans le z. Elle est
donc un peu grande,
quelque chose comme ça. Très bien, une fois cela fait, nous allons ajouter un composant de maillage
statique. Je vais ajouter ceci. Nous recherchons un maillage statique. Et actuellement, ce
maillage statique est attaché à notre boîte. Nous allons régler ce problème
dans un petit moment. Je vais appeler
ça mon grillage de porte. Très bien, une fois cette option sélectionnée
dans le panneau Détails, je voudrais définir notre maillage
statique comme cliquez sur cette petite liste déroulante, porte de soulignement
S M. Il s'agit maintenant d'un actif qui se trouve dans le dossier Starter Content
Prompts. Honnêtement, vous pouvez utiliser n'importe quel
type de porte, comme une grille, mais celle-ci fonctionne bien. Alors allons-y et utilisons-la. Remarque : ce maillage ne présente aucune
collision. Je sais que vous pouvez simplement le
parcourir, mais ce
sera parfait pour
montrer la rotation d'un grillage de porte. Allons-y et plaçons ça. Maintenant, j'ai mentionné qu'
il est actuellement
attaché à notre boîte. Je vais juste le
glisser-déposer sur le dessus de notre boîte pour qu'
il ne soit pas attaché. Ça ne devrait pas être
trop grave, mais juste pour jouer
avec moi à la maison. D'accord ? La prochaine étape que nous allons faire
est de créer quelques variables. Donc, dans la section Mon plan, sous la section variable
et cliquez sur le bouton plus. Nous allons l'appeler en
premier, la rotation de départ localisée, non la rotation de
localisation. Nous allons changer le
type ici pour qu'il s'agisse d'un rotateur. Ensuite, je vais le
sélectionner à
nouveau et faire Ctrl
et D pour le dupliquer. Ce sera de l'
art et de la rotation. Donc, avec cela, nous
allons compiler
afin de pouvoir définir
certaines valeurs
ici, commencer la rotation,
assurez-vous de la sélectionner. Nous voulons que ce soit 0,0. Ensuite, allez-y et sélectionnez
votre fin de rotation. Nous voulons simplement que notre rotation et
le long de l'axe Z soient de 90. Donc, vous savez, si vous ouvrez
une porte à 90 degrés, vous
allez essentiellement commencer par celle-ci, comme si c'était une vue aérienne. Et puis la fin
sera un peu comme ça, non ? Il va juste l'
ouvrir. Faites-le pivoter d'ici comme ça avec ma souris. C'est sympa, M. Waldroup. Très bien, ensuite,
allons-y et
écrivons un peu de script
dans notre graphique d'événements. Nous avons donc certains
nœuds d'événements ici par défaut, nous pouvons cliquer avec le bouton gauche de la souris
pour les supprimer. Et maintenant, nous voulons que
quelque chose se produise lorsque nous commencerons à superposer cette case. Et puis quand nous avons fini de
superposer cette boîte, et c'est cette boîte
juste ici, j'ai sauté sur l'onglet de
ma fenêtre d'affichage. Revenons donc
à mon graphique d'événements. Je vais cliquer avec le bouton droit de
la souris sur le composant de ma boîte. Nous allons ajouter
un événement lorsque nous commencerons à le superposer. Ensuite, cliquons à nouveau dessus
avec le bouton droit de la souris
sur événement pour le chevauchement des extrémités. Nous voulons maintenant
préciser que c'est le personnage du joueur
qui nous chevauche. Maintenant, je pourrais choisir mon
personnage à la troisième personne. Cependant, il existe un autre moyen de
m'y prendre. J'aimerais donc vous présenter
différentes techniques. Je vais taper avec le bouton droit de la souris
dans Obtenir le personnage du joueur. Et ce que je vais faire
ici, c'est vérifier si l'autre acteur est égal. Je vais juste taper
le symbole égal. Si cela correspond à
mon personnage de joueur. S'ils sont égaux, je vais maintenir
la touche B enfoncée et apporter un nœud de branche comme ça. L'autre acteur est égal à
mon personnage de joueur. Ce que je veux faire,
c'est ouvrir la porte. Maintenant, pour
ce faire, nous allons utiliser un nœud de chronologie. Maintenant, j'ai une vidéo
complète qui sera
consacrée à ce sujet
plus tard dans le cours. Nous allons donc sauter un peu
le pas. Cette vidéo ne vise pas à
créer une chronologie. Donc, si vous ne
comprenez même pas parfaitement ce
qui se passe ici, soyez indulgent avec moi. Même si je
vais faire de mon mieux pour expliquer le plus
rapidement possible, cliquez avec le bouton droit de la souris sur un
espace vide et recherchez un nœud temporel. Une fois que vous avez
saisi le mot chronologie, il sera pesé en bas pour ajouter une chronologie. Et c'est un nœud très spécial. Et l'une des choses qui vous permettra de le
faire est de lui donner un nom. Je vais appeler cela
ma rotation de porte. Vous pouvez voir qu'il contient de
nombreuses épingles d'entrée, de nombreuses
épingles d'entrée d'exécution où nous pouvons le jouer. Nous pouvons nous arrêter à ce nœud, vous pouvez double-cliquer
dessus afin spécifier une animation s'il s'agit
d'une chronologie. Nous allons animer notre
porte selon une chronologie donnée. Si nous double-cliquons dessus, nous pouvons ajouter une chronologie
à notre fenêtre ici J'ai
donc simplement double-cliqué dessus. Nous avons notre
nœud chronologique de
rotation des portes juste en haut. Nous voulons ajouter une piste. Nous voulons ajouter spécifiquement
une piste flottante. Si je passe à la piste
ici, cliquez sur le bouton Plus. Nous voulons ajouter une piste flottante. Un Float Track nous permet de modifier une
variable flottante au fil du temps. Nous ajoutons donc un Float Track. Nous pouvons renommer cette piste et je vais appeler cette rotation. Maintenant, ce que je veux
faire, c'est
préciser certains points dans le temps. Je peux donc ajouter un point à ce graphique en cliquant avec le bouton droit de la souris
et en ajoutant une clé. C'est une façon de l'ajouter. Et avec ce premier point, ajouté cette première image-clé, comme on l'appelle, je vais
spécifier un temps nul. Une valeur de zéro. Appuyez sur Entrée. Et cela va me permettre
de me retrouver ici même. Ensuite, je vais cliquer à
nouveau avec le bouton droit sur une autre touche. C'est une façon de
procéder, ou je peux maintenir la touche Shift
enfoncée et cliquer avec le bouton gauche de la souris. C'est une autre façon d'ajouter une clé. Je vais sélectionner cette clé. Et je vais régler
l'heure à un, c'est-à-dire à 1 s, et
la valeur à un. Maintenant, il va
le sauter du haut de l'écran ici. Mais si vous cliquez sur ces flèches, vous pouvez l'encadrer comme ça. Maintenant, je souhaite également modifier
la durée de ma piste ici pour qu'elle soit actuellement de 1 s au
lieu de 5 s. Cela indique
essentiellement la longueur
que je
veux que cette piste dure. Je veux que ce soit
aussi long que ma dernière image-clé ici, je veux qu'elle soit de 1 s. Donc, ce que je
vais essentiellement faire ici, c'est que je
vais changer
la valeur d' une variable flottante nommée
rotation depuis zéro, une valeur de zéro
à 0 s à une valeur de un 1 s plus tard, cela
va se faire lentement,
progressivement, ce
0-1 en
1 s. Maintenant, cette variable
flottante de rotation, si je reviens à mon
événement graphique ici, notez que cela s'appelle rotation. Vous pouvez maintenant voir que ma
chronologie de rotation des portes a une sortie, et cette sortie
est une valeur flottante. Il va générer
cette valeur flottante. Et encore une fois, si je reviens dans cette chronologie en double-cliquant
dessus , en double-cliquant dessus. Je vais changer
la valeur de ce 0-1 progressivement en 1 s. Maintenant, c'est utile
car nous pouvons l'utiliser pour générer
ce que l'on
appelle une boucle. Donc, si je clique avec le bouton droit de la souris
et
que je place un espace vide, je peux rechercher
un nœud appelé rotateur. Cela va prêter
à confusion au début, mais je vais
décrire comment cela fonctionne. Le nœud d'alerte nous
permet de passer d'une valeur à une autre sur un laps de temps
donné. Et en fait, si nous faisons pivoter ou si nous passons
la souris sur le dessus de ce nœud, cela indique que nous allons interpoler
linéairement entre a et b en fonction de la
valeur Alpha que nous lui fournissons. Donc ça va fonctionner comme ça. Une rotation va aller de 0 à 1. C'est la valeur. Cela
va aller entre 0 et 1 en 1 s. Lorsque Alpha vaut zéro, la valeur de ce nœud commence à tourner. Notez que notre
rotation de départ est essentiellement de 00,0. Maintenant, comme notre
valeur de rotation passe de 0 à 1, nous
allons progressivement passer de notre valeur a à notre valeur b. Donc, si
notre rotation se déroule comme suit, 0-1 en 1 s, elle s'
éloignera continuellement de a à B pendant 1 s,
cela va nous déplacer de a à b. Notre rotation finale va
donc précisez notre rotation finale. Nous commençons par cette rotation. Nous terminons avec cette rotation. Maintenant, tout va bien, mais la valeur de retour
ici doit être connectée à la fonction de
rotation relative définie. Ou nous allons faire ici
en disant : « Hé, le maillage de la porte », c'est le composant
que nous voulons faire pivoter, glisser-déposer sur notre graphique. Ensuite, faites glisser le pointeur vers l'extérieur. Nous voulons définir votre rotation
relative. Cela modifie votre rotation par rapport à votre
point de départ. Notre configuration finale
ressemblera donc à ceci. Parcourons cela pour le comprendre un
peu plus en profondeur. Maintenant, en superposant
ce volume de déclenchement, nous allons découvrir si c'est le personnage du joueur qui
a joué le rôle principal, l'autre acteur
qui nous a superposés. Si c'est vrai, nous allons
jouer, jouer cette chronologie. Elle va passer de 0 à 1,
une valeur de rotation si la valeur flottante est supérieure à 1 s. Et ce faisant, en modifiant la valeur de
cette variable de 0 à 1, nous allons passer de notre rotation de départ à notre rotation finale
en 1 s. C'est ce
que cela fait. Et le retour de ce mouvement d'un
point a à un point B
indiquera à notre grillage de porte de
tourner pendant cette seconde. Allons-y et
donne-nous une tribu. Nous n'allons même pas nous inquiéter de
notre chevauchement final pour le moment. Mais pour
ce faire, nous devons glisser-déposer
dans notre niveau. Glissons-le et
déposons dans notre niveau. Je vais le placer juste ici. Nous allons continuer
et cliquer sur Jouer. Et tu sais quoi ? Pour ce faire, je dois m'assurer que nous le
faisons dans une nouvelle fenêtre d'
éditeur comme celle-ci. Et aussi, je vais le
faire à partir de
notre plan ici afin que vous
puissiez voir le script à l'œuvre. Alors laisse-moi juste rentrer ici. Nous allons cliquer sur Play ici. Notre configuration de débogage repose
sur une porte rotative. Apportez-le sur notre fenêtre de
jeu ici. Et si je le superpose, vous pouvez voir qu'il l'a pivoté
de 90 degrés. Maintenant, comme vous pouvez le voir, une fois que
je m'éloigne de ce volume de
déclenchement, il ne le baisse pas
ou quoi que ce soit d'autre. Et il a déjà réglé la
rotation pour qu'elle soit ouverte. C'est donc ouvert. Maintenant, je veux en finir avec ça. Nous avons juste besoin d' utiliser une configuration similaire à celle que
nous avons ici. Donc, ce que je vais faire, c'est en traîner un ici. Tapez le signe égal. Une fois de plus, nous
allons découvrir si un autre acteur est
à la hauteur du personnage de notre joueur. Une fois de plus, nous allons
copier notre branche
C, la commande V. Et s'il est vrai que l'autre
acteur a mis fin à notre chevauchement, si c'est vrai, nous allons
inverser cette chronologie. Nous allons inverser la rotation de
cette porte. Compilons donc ceci. Enregistrez en cours de jeu. Je vais l'
emporter ici pour que vous
puissiez voir le script démarrer. Très bien, donc la chronologie est jouée. Alors mettons fin à notre chevauchement. Surveillez le lancement du
script. Ouvrez Sesame. Des bas,
juste comme ça. Et voilà. Dans cette vidéo, nous utilisons
la variable rotator pour spécifier un
emplacement de départ pour notre grillage de porte, ainsi qu'une
rotation finale pour notre grillage de porte. C'est aussi simple
que cela, les gars qui
feront tout pour cette vidéo. On se voit dans la prochaine.
50. Transformer: Bienvenue à tous. La variable de transformation est celle que nous
traitons dans cette vidéo Nous allons montrer comment en
créer une et comment elle peut être utilisée lors de la rédaction de
scripts de plans. Maintenant, une excellente utilisation de la variable de transformation
consiste spécifier un point dans un niveau auquel vous
souhaitez peut-être répondre. Désormais, la variable de transformation est une variable qui
contient des données de position, de
rotation et d'échelle. En fait, si vous regardez
dans le panneau de droite,
dans le panneau Détails de n'importe quel acteur que vous avez sélectionné
dans votre niveau, vous pouvez voir des
informations de transformation le concernant. En fait, si je sélectionne mon
joueur principal ici, vous pouvez voir le
lieu indiqué, sa
rotation et l'échelle. Il s'agit donc essentiellement
d'une variable composée de neuf valeurs flottantes, trois pour chaque position, la rotation et l'échelle 9 au total. Maintenant, pour gagner du temps, j'ai mis en place un tas de choses
avant de tourner cette vidéo. Alors laissez-moi vous montrer ce que
j'ai fait et je vais vous
guider
étape par étape. Pour commencer, mon
acteur de départ se trouve juste là. Comme pour de nombreuses autres vidéos, j'ai
ajouté une boîte de déclenchement à mon niveau. Et tant que vous
avez votre joueur,
votre place, le
panel d'acteurs disponible, que vous pouvez intégrer
sur place. Vous pouvez vous procurer une
boîte de déclenchement juste là. Et puis j'ai aussi trois acteurs
cibles, 12.3. Et vous pouvez trouver ces
gars si vous recherchez dans le panneau des acteurs du lieu et
que vous recherchez simplement une cible, vous trouverez un acteur
cible. Ils sont essentiellement excellents pour spécifier un point dans l'espace. Ces icônes n'
apparaîtront pas pendant que vous jouez. Toutefois, lorsque vous les sélectionnez, vous pouvez voir leur emplacement. Utilisez également leurs données de localisation ou de
rotation. Et j'aime les utiliser à ces
fins. Maintenant, pour passer à
notre plan de niveaux, permettez-moi de vous montrer le script
que j'ai créé ici. Examinons donc
notre plan de niveau, commençant par définir des points
d'apparition aléatoires. Donc, pendant toute cette vidéo, nous allons utiliser
une variable transformée. Donc, ce que vous voulez
faire ici, c'est dans le panneau Mon plan sous
la section des variables, cliquez sur le bouton plus et
créez une toute nouvelle variable. Il devrait être de la
variété Transform, et je l'appelle point de réponse. Maintenant, si vous le compilez, vous constaterez
que vos valeurs par défaut sont des zéros, des zéros, zéros et que l'échelle est 111, essentiellement les vraies valeurs
par défaut. Maintenant, ce que nous allons faire ici, c'est qu'au début de la
partie, partie, vous pouvez le trouver
en cliquant avec le bouton droit de la souris et
en recherchant
Event Begin Play. Nous voulons définir notre point de
réponse, c'
est-à-dire le renseigner
avec certaines données car nous ne voulons pas garder la position et la rotation, tout ce genre de choses
entre zéro, zéro et zéro. Alors, qu'allons-nous redéfinir
cette valeur ?
Les variables, leur contenu peuvent être modifiés, ils peuvent être définis. Ce que j'ai fait ici, j'ai trouvé une référence aux
trois points cibles. Maintenant, je nomme ces points cibles, cible 0,0, la cible 0,1
et le point cible. Et puis ce que vous pouvez
apporter en référence
à ces références , c'est revenir à votre niveau. Vous pouvez le sélectionner, puis
un par un avec l'option sélectionnée, vous pouvez maintenir la touche R enfoncée
et cliquer avec le bouton gauche de la souris, comme ceci. est plus amusant. Si je devais sélectionner ces trois points
cibles là-bas,
ils sont tous sélectionnés, puis
appuyer sur RT et cliquer avec le bouton gauche de la souris, je pourrais immédiatement faire apparaître des références aux trois. Joli truc. J'aime
beaucoup celui-ci. Ensuite, j' ai traîné
sur chacun d'eux. Et j'ai dit, donne-moi
que les acteurs se transforment. Je dis, donnez-moi, donnez-moi ces données
ici pour chacun de ces points cibles donnés. Ensuite, je suis sortie d'ici en voiture et j'ai tapé make array. Donc, en gros, je crée une liste de différentes transformations, différentes
données de transformation à partir de la cible 0.0, point
cible et de la cible 0.2. J'ai donc une liste de trois transformations
possibles. Ce que j'ai ensuite fait, c'est sortir de la
drogue d'ici, j' tapé des informations et je
voulais avoir une référence, ce type juste là. Et puis je fais glisser le curseur vers l'arrière et j'ai tapé un
entier aléatoire dans la plage, je dis de me donner une de ces transformations dans cette
liste et de la porter à 0-2. Vous devrez peut-être ajuster
ces chiffres en fonction nombre de points cibles différents que vous avez connectés
à cette matrice. Donc je dis de
me donner 01 ou deux, c'est ma fourchette, de zéro à deux. Et
je vais définir le résultat comme
point de réponse. Cela va donc changer au début
du jeu. Nous allons mettre à jour
nos points de réponse à un emplacement donné. L'un de ces trois sera choisi au hasard. Maintenant, il
s'agit simplement de définir ces points de réponse,
cette variable de transformation, mais nous n'avons pas réellement
obtenu et utilisé cette transformation
de points de réponse. Donc, ci-dessous, j'ai
un script supplémentaire. Et cela devrait être comme suit. Ce que j'ai fait ici, c'est en commençant par superposer cette
boîte de déclenchement et encore une fois, avec cette boîte de déclenchement
résélectionnée dans votre plan de niveau, vous pouvez cliquer avec le bouton droit sur
un événement pour cela et faire chez un
acteur commencent à se chevaucher. Nous pouvons traîner ici et ensuite faire un casting pour notre
personnage à la troisième personne. Nous voulons faire quelque chose lorsque notre personnage à la troisième personne
chevauche cette case de déclenchement. Et ce que nous faisons ici c'est faire
plusieurs choses, et c'est là
qu'
intervient un nœud de séquence , où ils ont
séquencé l'autre. Nous pouvons dire « fais ceci »,
puis « fais ceci ». Et nous pouvons en fait
ajouter des éléments supplémentaires si nous cliquons sur ce
bouton plus en bas. Mais c'est essentiellement une bonne façon de dire « faites ceci, puis ceci, puis tout ce
qui vient après ». Donc, la première chose que
nous voulons faire après que notre personnage à la troisième personne se
chevauche, c'est détruire notre personnage de joueur actuel,
notre personnage à la
troisième personne actuel. Nous voulions le détruire. Ensuite, ce que nous allons
faire immédiatement après, c'est créer
un acteur issu de la classe. Maintenant, notez qu'il s'agit d'un acteur d'
apparition provenant du nœud de classe. Cependant, une fois que vous aurez renseigné la classe avec notre
ThirdPersonCharacter, le nom sera mis à jour ici,
mais
il s'agit d'un
acteur de spawn issu du nœud de classe. Maintenant, ce que vous devez
faire ici, c'est
spécifier une transformation d'apparition. Et c'est là que
nous utilisons
notre variable de transformation que nous avons créée et que nous la remplissons, nous revenons ici
lorsque nous commençons à jouer. Sans ça. Si vous compilez, cela
générera une erreur et
me laissera le faire. Je vais le décomposer en maintenant la touche Alt
enfoncée et en cliquant avec le bouton gauche de la souris. Donc, si je devais
compiler, je dirais : « Hé, vous devez avoir
une transformation de spawn branchée pour que nous puissions la brancher. Et puis ce que nous
faisons à partir de là, c'est cliquer avec le bouton droit de la souris
dans un espace
vide dans get player controller. Et hors de ça, et ça doit être hors de ça. Si vous faites glisser la souris hors de cette zone parce que la cible
est un contrôleur, vous pouvez rechercher
ce nœud propriétaire. En le possédant, en le faisant glisser hors de là et
en saisissant un nœud de possession, vous pouvez choisir un
pion à posséder. Nous allons créer ici un nouveau
personnage à la troisième personne. Ici, nous disons : « Hé, nous voulons apparaître ou
nous voulons posséder
ce personnage à la troisième personne
avec notre manette de jeu ». Nous parlerons plus en détail
des manettes de plus tard dans le cours. Allons-y et compilons ici. Et voici notre
script pour détruire le joueur, puis répondre un autre, terminer par le posséder. Tout cela est donc encadré ici. Si vous voulez mettre
la vidéo en pause ici et y
jeter un coup d'œil,
c'est parti. OK, allons-y
et jouons à nouveau. Et voyons cela en action. Ça va être un
peu petit ici. Mais j'espère que vous pourrez voir certains
de ces fils se déclencher. Allons-y et jouons. Et nous avons déjà
défini un point de réponse. Permettez-moi de commencer et de régler mon objet de
débogage à mon niveau. Maintenant, une fois
que j'aurai superposé cette boîte de déclenchement, vous allez nous voir
détruire l'acteur. Et puis immédiatement
après avoir créé
un nouveau personnage à la troisième personne et l'
avoir possédé. C'est parti. Et cela montre ce point
au-delà du niveau. Et il est en train de choisir à nouveau le même,
car
ce n'est qu'au début de
la partie que nous réglons
notre variable de transformation sur notre variable de transformation l'un de ces trois points
cibles. Cependant, si vous deviez
faire quelque chose comme
ça, sortez d'ici revenez ici. Chaque fois que je superpose cette case de
déclenchement et que
je la réinitialise, je choisis au hasard l'un de ces trois
points cibles que je souhaite définir comme variable de réponse. Essayons donc ça. Tellement superposés. Je réapparais derrière. Redécouvrons-le à nouveau. Sur la gauche,
cette fois en arrière. Encore une fois, il s'agit de le
choisir au hasard. Il y a autre chose
que je voudrais mettre en valeur ici. La variable
de transformation permet
d'extraire ces données uniques de localisation, de rotation et d'échelle. Désormais, cette variable de transformation
contient toutes ces données. Mais si vous ne vouliez extraire qu'une partie de
ces données, vous pourriez le faire. Et pour ce
faire, vous pouvez faire glisser le pointeur
hors de cette épingle
et taper par points. Laisse-moi juste casser
ce fil. suffit de cliquer dessus avec le bouton droit de la souris pour diviser l'épingle Struct. Désolée pour ça. Nous pouvons ici décomposer les points de réponse
transformés en données
de localisation, de rotation et
d'échelle. Et comme vous pouvez le constater, une
variable transformée
se compose essentiellement de données vectorielles, de données rotateur et de données vectorielles. De même, à partir de
cette transformation d'apparition ici dans notre
acteur d'apparition à partir du nœud de classe, je pourrais cliquer
dessus avec le bouton droit de la souris et diviser cette épingle
entre les données de localisation, de
rotation et d'échelle. Si vous n'aimez pas ce
niveau de granularité, vous pouvez cliquer avec le bouton droit sur
ces épingles et
les recombiner en une seule transformation
unique. C'est ce qu'on appelle une épingle recombinée et frappée. Alors j'ai juste pensé
que j'allais le jeter là aussi. Alors voilà. Une transformation, une note
variable pour quelque chose comme la spécification
d'un point de réponse. Ça suffira pour offrir
celui-ci, les
gars, à la suivante.
51. Acteur (objet): Bienvenue. Dans cette vidéo, notre objectif est de
découvrir ce qu'est
un acteur, une variable, comment en créer un
et comment utiliser lors de la rédaction de
plans. Maintenant, divulgation complète, cette vidéo sera en grande partie
une revue de
notre vidéo de
référence aux objets d'exécution de classe BP que nous
avons réalisée plus tôt dans le cours. Maintenant, si je joue ici, cela me servira de
petit rappel. Lorsque nous appuyons sur la touche
fléchée, c'est
ce que nous avons écrit dans cette vidéo. Lorsque nous appuyons sur la touche zéro, nous envoyions une trace de ligne dans le monde comme ça. Et lorsqu'il y a un objet caché
en haut à gauche, le nom de l'objet sur lequel nous sommes en train de toucher
est affiché. Et une fois que nous avons défini une variable à cet
acteur, nous pouvons appuyer sur la
touche 9 pour la faire disparaître. Ce faisant, pendant que
nous étions en train de le faire, nous définissons une variable acteur chaque fois que notre trace de
ligne détectait un succès. Revenons maintenant à notre BP ThirdPersonCharacter
situé dans notre dossier
Blueprints à la troisième personne et voyons les scripts que nous y avons
assemblés. Donc, ce que nous faisons ici, c'est qu'en
appuyant sur une touche de saisie, j'utilisais la touche fléchée. Nous envoyions une trace
linéaire commençant à emplacement de
notre acteur et se terminant au point de terminaison de notre
trace de ligne, variable que nous avions créée dans la section
des composants ici. C'est dans notre fenêtre d'affichage
juste ici. Il s'agit d'un composant d'erreur
qui est également répertorié en tant que variable sous le point de terminaison du traçage linéaire de votre
composant. C'est ainsi que nous avons appelé
ce composant en forme de flèche. Vous commencez donc une
trace en ligne chez nos acteurs. Nous nous arrêtons à cette flèche. Et nous envoyons ça,
cette ligne tracée dans le monde entier le long du canal
Visibility. Nous avons également défini la durée de ce
type Draw Debug sur quatre. Nous pouvons donc voir la trace de cette ligne. Et si nous détectons
que nous touchons quelque chose, si cela a effectivement
touché quelque chose, cette valeur de retour
s'avère vraie. Nous allons jouer un son. Et puis nous allons également
détailler les succès ici. C'est ce que tout cela fait. Nous sommes sortis d'ici et
nous sommes en train de réussir. Et nous étions
en train de découvrir ce que nous avions touché. Et nous définissons cela dans un type
de variable acteur. Maintenant, nous pouvons le créer en cliquant avec le bouton droit de la ici et en choisissant promeut deux variables dans ce menu
contextuel. Ou la façon dont vous pouvez créer une variable acteur est terminée
dans la section variable, vous pouvez cliquer sur le bouton plus et simplement taper actor var. Et puis voilà, il s'agit de le régler immédiatement sur
acteur parce que c'est
la dernière variable que j'ai dite. Mais tu pourrais faire une
recherche d'acteur. Et dans les
types d'objets, vous souhaiterez
choisir la référence de l'objet acteur. Parlons maintenant de ce que
sont les références d'objets valides. Eh bien, par exemple, les objets
peuvent inclure des lumières, des
mailles statiques, des caméras, des signaux
sonores ou d'autres acteurs de
plan. Ici, nous détectons simplement ce que nous touchons et le définissons comme acteur. Peu importe qu'il s'agisse d'une chaise en maille statique ou
autre. Quel que soit ce maillage, cela
n'a pas vraiment d'importance. Quelle que soit la collision avec
laquelle notre tracé linéaire entre en collision. Il va définir cela
comme notre variable d'acteur. Ensuite, nous
imprimons simplement le nom de celui-ci à l'écran. Maintenant, si nous
stockions cela dans variable acteur, c'est parce qu'
une fois que notre trace de ligne touche
quelque chose et que cela nous fixe, nous voulons qu'il soit
capable de le détruire. Et c'est ce que
faisait ce script ici. En appuyant sur la touche 9, nous avons découvert
quel est le contenu de cette variable Hit Actor, de cette variable d'acteur ? Si c'est valide, cela signifie
qu'il y a quelque chose dedans. Si c'est vrai, nous
voulons le détruire. Le contenu de ce
Hit Actor pourrait donc changer. Permettez-moi simplement de vous montrer que je clique sur Play ici. Et encore une fois, je vais
appuyer sur le bouton, laissez-moi simplement définir mon objet de débogage. Voici mon B, mon
personnage à la troisième personne. Révélez mon personnage
une fois de plus. Je vais donc envoyer
cette trace de ligne dans le monde en
appuyant sur la touche V zéro. Et puis en haut à
gauche, vous verrez le nom de l'objet sur lequel
je tape. Clé zéro. Je ne suis pas assez proche. Je dois me rapprocher un peu. On y va. Stat, preview, mesh,
peu importe ce que c'est. Donc, si je choisis la Nike, disparaîtra
évidemment. Mais si je disais de rejouer ce scénario et de
faire la même chose, je commencerais par appuyer sur
la touche zéro pour le régler. Cependant, je peux
réinitialiser le contenu rendant sur cette
chaise en appuyant sur la touche zéro. Alors maintenant, si c'est ce qui est
considéré comme mon acteur à succès ici. Donc maintenant, si j'appuie sur la Nike, cela ne détruira pas ça. Ça va détruire
ma chaise parce
que c' est le dernier
set de Hit Actor. Voici la Nike, Boom By Chair. Maintenant, juste pour montrer que cette variable acteur n'a
pas besoin d'être un maillage statique. Cela pourrait être quelque chose
comme une lumière. Je vais définir cela à
partir d'un autre plan. Et aussi juste pour
montrer que vous pouvez le définir à partir d'
un autre Blueprint. Je vais donc revenir
à mon niveau ici, et je vais placer
une lumière dans mon niveau. Vous pourriez placer une fois à
votre place, un panel d'acteurs. C'est ici que vous pouvez
trouver les lumières. Ou bien,
tu peux venir ici et les lumières fleurissent. Vous pouvez ajouter une lumière de cette façon,
une lumière ponctuelle fera l'affaire. Il suffit de glisser-déposer
l'un d'entre eux dans notre niveau. Je vais juste
faire cette somme de couleurs
nocives comme le rose. Ensuite, ce que je vais faire,
c'est accéder à
mon plan de niveau,
ouvrir le plan de niveau. Et nous
dirons cela lorsque j'
appuierai sur une touche à l'intérieur d'ici, et nous verrons quels types de touches
sont disponibles ici. Je n'ai utilisé que la touche la plus proche, alors utilisons les deux touches, non ? Je suis dans mon
graphique d'événements juste ici, nous allons
taper les deux touches avec le bouton droit de la souris. Allons faire une
recherche par clavier. C'est ainsi que vous pouvez trouver très facilement
ces événements de clavier. Appuyez sur les deux touches. Et
ce faisant, nous allons cliquer avec le bouton droit sur le bouton droit pour
obtenir le personnage du joueur. Ensuite, si nous sortons de là, nous pouvons passer à notre
personnage à la troisième personne. Encore une fois. Une fois que vous avez accès à
votre personnage à la troisième personne. Et oui, je me rends compte que j'ai une référence de personnage stockée
ici, sur la gauche. Je pourrais utiliser ça aussi. Mais une fois que je l'ai, je peux sortir d'ici et trouver ces variables Hit Actor
tant qu'elles ont
été créées et que je les ai compilées. Encore une fois, nous essayons d'
extraire cet acteur ou une variable et de le définir à partir de
notre plan de niveaux. Sortons d'ici,
saisissons Hits Actor. Nous allons installer
le Hit Actor. Et que voulons-nous faire pour
The Hit Actor ? Eh bien, si je maintiens la touche
R enfoncée et que je clique avec le bouton gauche de la souris, je peux définir ce point comme
mon point lumineux. Comprenons ce qui
se passe ici. Permettez-moi de le compiler rapidement, assurer que les
scripts sont prêts à être utilisés. Donc, à partir du plan de niveau, je passe au plan de
mon personnage chaque fois que
j'appuie sur les deux touches, et je vais définir
la variable acteur à l'intérieur de mon personnage
à la troisième personne pour qu'elle soit le point lumière. Et puis, dans mon plan de
personnage à la troisième personne, je vais appuyer sur
la touche 9 afin détruire le contenu de
cette variable Hit Actor, laquelle elle serait
remplie dans ce cas avec
laquelle elle serait
remplie dans ce cas ce point lumineux. Alors allons-y
et jouons-nous une pièce. Je n'ai pas vraiment de bons
moyens de mettre en valeur les deux, en fait, je peux les
montrer tous les deux. Peu importe. Je vais jouer ici. Nous commençons donc par notre carte
de test de niveau ici. Je vais configurer mon
option de débogage pour qu'elle soit la carte de test. OK, alors découvrons la lumière. Vous ne pouvez pas voir l'icône lumineuse, mais vous pouvez voir cette lumière sur le sol pour
savoir qu'elle est là. Je vais appuyer sur les deux touches. Cela va donc renseigner
cette variable d' acteur
avec la lumière ponctuelle. Très bien, c'est maintenant réglé. Passons maintenant à mon
personnage à la troisième personne. Et encore une fois, je dois
rouvrir cette fenêtre. Oups, tu vois, on y va. Alors maintenant, quand j'appuie sur
la touche 9, regardez cette lumière disparaître,
et voilà. Dans cette vidéo,
vous avez donc appris à
créer une variable d'acteur et définir et à la
manipuler d'une manière ou d'une autre. Et nous avons même fait de la communication
inter-Blueprint . À quoi pourrait servir
quelque chose comme ça ? Eh bien, imaginez
un système de fabrication dans un jeu où vous
devrez peut-être interagir avec des objets
récoltables dans votre monde. Et votre objet, votre objet récoltable
peut être ce que
votre personnage se
rapproche le plus d'une fleur, d'
un morceau de bois,
ce genre d'objet votre personnage se
rapproche le plus d'une fleur, d'
un morceau de bois, peut toujours être
désigné comme acteur récoltable avec laquelle vous essayez d'interagir. Très bien les gars, ça
suffira pour cette vidéo, on se revoit dans la prochaine.
52. Choses à savoir variables (partie #1): Très bien, bon retour. Dans cette vidéo, notre
objectif est d'apprendre certaines
choses importantes à savoir lorsque vous travaillez avec des
variables dans Unreal. Maintenant, ce ne sont pas vraiment
des trucs et astuces en soi. s'agit plutôt d'une explication de certains concepts clés des options de
variables .
Vous devez savoir comment initialiser
une variable,
comment définir une variable
comme publique ou privée, et même cela signifie. Et comment exposer
la variable à des cinématiques ou lorsqu'elle est générée. Tout d'abord, nous allons
parler de l'
initialisation des variables. Et pour le démontrer, je vais travailler sur les
plans de mes personnages à la troisième personne. Si tu as oublié où se trouve ce type, j'
y accède dans notre dossier
Blueprints à la troisième personne, où se trouve ton BP, personnage à la
troisième personne. Alors, qu'est-ce que cela signifie d'
initialiser une variable ? Eh bien, cela signifie lui donner une valeur initiale
d'une manière ou d'une autre. Maintenant, nous
donnons souvent une valeur par défaut à
une variable lorsque nous créons la variable,
mais pas toujours, nous pouvons initialiser et vider la variable lorsqu'
un événement se produit, cela peut être un événement de chevauchement, il peut s'agir d'un événement d'entrée, quelque chose de cette nature. Considérez cet exemple
que j'ai configuré avant cette vidéo dans
mon ThirdPersonCharacter. Tout d'abord, j'ai créé dans le panneau My Blueprint une
variable appelée warp to locale. Et elle est du type variable
vectorielle. Maintenant, ce que je fais ici, c'est
que j'ai joué à Event Begin. N'oubliez pas
que vous ne pouvez
commencer qu'un seul événement sur un graphique ici. ce que j'ai ajouté. Et ce que je fais, c'est
que dès
que nous commençons à jouer, ce personnage
apparaît dans mon niveau, dans départ
de
mon joueur. Quand il apparaît,
nous obtenons simplement la localisation de
nos acteurs. Dans ce cas, notre
personnage à la troisième personne. Et nous définissons
cet emplacement comme coordonnées à l'intérieur
de cette variable vectorielle. Donc, par défaut ici, mes valeurs pour cette variable de distorsion vers les
paramètres régionaux sont 00,0. Cependant, une fois que je commence à jouer, le contenu de
celui-ci est initialisé. Ils sont échangés vers l'emplacement de
mon acteur où mon personnage
à la troisième personne. Ensuite, j'
ajoute simplement un peu de script pour
utiliser cette variable maintenant initialisée,
cette variable renseignée. Une fois que j'ai appuyé sur la
touche numérique de mon clavier, je vais définir la position de
mon acteur. C'est ce plan, c'est l'acteur cible lui-même
à cet endroit donné, la distorsion par rapport à la localisation locale. Alors
revoyez cela sur ma carte ici. J'ai placé cette chaise juste à
côté de l'endroit où je suis en train de pondre. Parce que n'oubliez pas que
nous sommes
un personnage apparu juste
à cet endroit. Au début d'une pièce où
notre personnage répond, nous allons définir la position de notre
acteur comme l'endroit où nous voulons le déplacer vers le nouvel acteur ou,
eh bien, notre
personnage à la troisième personne se trouve dans une position précise. Donc, essentiellement,
qu'est-ce qui est en jeu ici. Maintenant, cette variable a
déjà été initialisée avant
même que je définisse mon objet de
débogage ici, donc cela s'est déjà produit. Et maintenant, une fois que je l'aurai
remis en place, vous verrez, je
vais m'éloigner de ce point. Mais cette distorsion des paramètres régionaux a été définie à l'endroit où
je suis apparu. Ainsi, chaque fois que j'
appuie sur
la touche numérique, la touche plus de
mon clavier, le symbole plus. Il va revenir directement
à cet endroit parce
que c'est l'emplacement d'initialisation. bouton Plus,
peu importe. Bouton Plus C'est une habitude qui consiste à initialiser une variable pour
lui attribuer une valeur initiale. Ensuite,
parlons des variables publiques par rapport aux variables
privées et de
ce que cela signifie. Et pour cet exemple, je vais utiliser mon exemple de micro
BP. L'un d'entre eux place
mon niveau, puis j'ai double-cliqué dessus pour l'
ouvrir, ici. Donc, si vous vous souvenez
d'une vidéo précédente, nous avons créé une santé pour
ajouter une variable float. Et sur le
côté droit, ici, où nous avons
ce globe oculaire rapproché pour certaines de ces autres variables
à ajouter à la santé, il suffit de cliquer dessus pour
afficher l'icône du globe oculaire. Et ce faisant, ce
champ modifiable de
cette instance a cette case à cocher. Cette case à cocher équivaut donc à un globe oculaire
non exposé ici. Donc, peu importe si
je clique dessus pour fermer. La case à
cocher modifiable de cette
instance va être définie sur False. Et si je clique
dessus, cela va être activé. Peu importe laquelle
de ces options vous choisissez, vous changez
la même propriété. Maintenant, avec ça allumé. Et vous pouvez voir
dans l'info-bulle ici
qu'il est indiqué qu'il s'agit d'une variable modifiable
publiquement. Qu'est-ce que cela signifie ? Donc, une fois que vous avez défini cela, vous le compilez, vous
revenez à votre éditeur de niveaux. Quoi qu'il en soit,
c'est-à-dire pour n'importe quelle copie de celui-ci, ce plan a ajouté
à votre niveau. Cette variable que vous avez définie pour être modifiable publiquement est désormais accessible une fois que vous
avez
sélectionné cet objet dans votre panneau de
détails, vérifiez-le. Cette variable d'ajout saine
peut désormais être modifiée pour chaque instance
de ce plan. Si je devais maintenir la touche Alt enfoncée, cliquer avec le bouton gauche et faire glisser le pointeur, j'ai maintenant une deuxième instance de ce
plan, le niveau MI. Donc, pour cette instance
du plan, je pourrais modifier mon état de santé
pour le porter à 0,5. En ce qui concerne cette instance
du plan directeur, je pourrais fixer ce chiffre à
20
%, ce taux de guérison à 50 %. C'est ainsi que nous avons eu cette configuration. Il s'agit donc d'une variable publique. Il est égal au champ
modifiable de cette instance ici. Maintenant, un peu plus loin de cette instance, le champ modifiable
est cette option privée. Si nous cochons cette case
pour une variable donnée, nous avons fait en sorte
que cette variable ne puisse pas être modifiée à partir de plans
externes. Donc, ce que je vais faire ici, c'est
compiler ça. Je vais enregistrer,
puis je vais accéder à mon plan de niveau ici. Remarquez que j'ai mon exemple de pick-up
BP, l'un d'entre eux est sélectionné, c'est bon. L'un ou
l'autre fera l'affaire. J'ai sélectionné le numéro
deux ici, mais l'un ou l'autre fera l'affaire. Je vais passer à
mon plan de niveau. Je vais maintenir la
touche R enfoncée et cliquer avec le bouton gauche de la souris pour faire référence à cet
exemple, puis le récupérer. Et maintenant, je vais
faire une recherche pour cette variable appelée
Health à ajouter. Et on y va. Je vais sortir de là
et taper santé pour ajouter. Et vous voyez, je ne le trouve
même pas ici. Elle n'apparaît pas car
elle est définie sur privée, ce qui signifie que je ne peux pas
modifier ou accéder à cette variable à partir d'un plan externe
tel que le Level Blueprint. Cependant, si je devais revenir à mon exemple de pick-up BP ici, je vais décocher cette case. Je vais compiler, enregistrer et revenir à
mon plan de niveau. Je vais sortir
d'ici et taper
santé pour l' ajouter et là,
je peux l'obtenir ou le définir. Ce qui
est étrange, c'
est que vous pouvez avoir une variable définie pour être publique. C'est-à-dire que vous pouvez accéder et
modifier depuis l'éditeur. Vous pouvez également le
définir comme privé. Ce n'est ni l'un ni l'autre. Vous pouvez le régler sur les deux. Cela embrouille beaucoup de monde, mais il peut être
défini pour être public, ce qui signifie que vous pouvez
le modifier depuis l'éditeur. Et il peut également être
défini sur Privé, ce qui signifie qu'une fois qu'il est défini
sur Privé, vous avez essayé faire sortir de l'enregistrement enregistré
à partir d'un autre plan. Vous ne pouvez pas trouver cette variable ni
y accéder. Pourquoi voudriez-vous faire ça ? Eh bien, cela pourrait être une solution de
sécurité intégrée pour vous assurer ne pas modifier quelque chose
que vous n'aviez pas l'intention de modifier. Ensuite, explorons
cette option exposée lors de l'
apparition que vous trouvez sur les variables. Qu'est-ce que ça fait ? Pour ça ? Je vais utiliser
notre porte rotative BP. Nous avons créé ce plan de
classe d'acteurs lorsque nous avons exploré le type de variable
rotateur. Et si vous avez oublié où c'est,
il un dossier BPS dans le dossier BPS de nos
acteurs. Nous avons tout déplacé. Nous avons
transféré tous ces plans d'
après-cours de
notre dossier de présentation
vers le dossier de notre acteur BP. À l'intérieur d'ici,
allez-y et sélectionnez variable de
votre
rotateur de fin de rotation. Et dans le panneau Détails, nous voulons définir ce paramètre pour
qu'il soit affiché lors de l'apparition. Maintenant, quand tu
compileras
ça, ça va te crier dessus. Et quand ce sera le cas, on
dira « hé, c'est génial ». Vous l'avez marqué comme
exposé lors de l'apparition. Mais pour cela, nous devons également le marquer comme étant modifiable par instance. Alors vas-y et fais-le également. Les deux doivent
être cochés pour être affichés
. Ils sont exposés lors de la fonction d'
apparition ici. Donc, une fois que les deux sont
vérifiés, compilez-le à nouveau. Ensuite, ce que nous
allons faire, c'est passer à notre plan de
niveau. Donc, si vous ne l'
avez pas déjà ouvert, venez ici, ouvrez Level Blueprint. Et nous allons mettre en
place un script simple. Je vais cliquer avec le bouton droit de
la souris dans un espace vide. N'importe quel événement d'entrée fera l'affaire. Je vais juste ajouter F h parce que cela semble être
une bonne contribution de ma part. Nous allons nous
éloigner d'ici et faire apparaître un acteur de la classe. Maintenant, n'oubliez pas qu'avec
ces nœuds, vous devez leur fournir une transformation d'
apparition. Je vais donc juste
saisir la transformation. Reprenons la transformation de nos joueurs, commençons à agir ici, j'
ai sélectionné celui que j'ai sélectionné dans mon niveau. Donc, avec cette option sélectionnée
, revenez à mon
plan de niveau en maintenant le clic gauche enfoncé pour obtenir
une référence à celui-ci. Sorti de cette transformation
encore en acteur. Nous allons le brancher. Et que voulons-nous voir
apparaître à cet endroit ? Eh bien, nous allons faire apparaître l'
une de nos Doris qui fait tourner la pression artérielle. Je vais faire défiler la
page vers le bas. Où se trouve cette porte
rotative ? C' est la porte rotative BP. Maintenant, dès que je l'ai fait, j'ai défini
cette classe comme étant la classe dans laquelle je voulais apparaître. Vérifie ça. Ma
variable de fin de rotation a été exposée lors de cette fonction d'
apparition. Nous pouvons donc définir ici une rotation autre
que la valeur par défaut. Maintenant, j'avais fait en sorte que la
porte s'ouvre à 90 degrés. Cela signifie qu'il s'ouvrirait. Normalement, une porte s'ouvre, mais je peux l'ouvrir
encore plus ici. Alors allons-y et essayons ça. Et je vais régler ce chiffre à 135. Maintenant, si je devais
continuer et jouer à ça, je
vais cliquer sur Jouer ici. Et je ne vais même pas définir mon option de débogage ici pour montrer que
ce script démarre, mais croyez-le
bien, je vais
quitter cette
étoile de joueur ici. Donc, en retirant cela, je vais appuyer sur F8. Boum, cette liaison Doris, même si elle est un peu
plus haute que si elle est
parfaitement posée au
sol, c'est parfaitement normal qu'elle
flotte dans les airs. Je vais superposer
ce volume de déclenchement. N'oubliez pas qu'il y a un
volume de déclenchement qui détecte lorsque mes personnages se chevauchent
et que lorsque je le superpose, il s'ouvre à plus de 90 degrés, il s'ouvre à 135 degrés.
Alors voilà. Exposez lors de l'apparition, vous
devez cocher cette case et cocher l'instance modifiable pour qu'elle apparaisse. Quand tu fais apparaître un acteur de la classe.
53. Choses à savoir variables (partie #2): Enfin, je voulais
montrer cette case à cocher exposée à la
cinématique que l'on trouve sur certaines variables,
pas sur toutes. Et je vous expliquerai
lesquels vous pouvez et ne pas les
trouver plus
tard dans cette vidéo. Donc, pour cet exemple, je suis de nouveau à l'intérieur de
mon pick-up BP. Dans le panneau Mon plan, j'ai créé une nouvelle variable
vectorielle. Je l'ai appelé échelle. Et après avoir compilé, j'ai fixé mon échelle à 11,1. Allons-y et
cochons également cette case Exposé aux cinématiques. Alors allez-y et compilez. Maintenant, pour montrer ce que nous
voulons montrer, vous
exposez cette variable
à une cinématique. Nous devons ajouter une
cinématique à notre niveau. Pour ne pas faire ça, nous
allons revenir à notre niveau juste en haut de la barre d'outils, vous avez cette petite icône de
presse-papiers. Allez-y, cliquez dessus, et nous voulons ajouter une séquence de niveaux qui soit une cinématique.
Allons-y et faisons-le. Et une fois que nous
aurons cliqué dessus, il sera demandé où souhaiterions-nous
enregistrer cet actif ? Mettons-le dans
un nouveau dossier. J'ai
sélectionné un script ici. Je vais cliquer avec le bouton droit de la souris. Je vais créer un nouveau
dossier, appelez-le séquence. En fait, je vais appeler ça des
cinématiques, comme ça. Et je vais le laisser dans une
nouvelle séquence de niveaux, je m'appellerai Shore. Et une fois que j'ai fait cela,
je clique sur Enregistrer. J'ai maintenant ajouté un nouvel
acteur à mon niveau. C'est ce qu'on appelle une nouvelle séquence de niveaux. Il est du type d'acteur de séquences de
niveaux. Et à côté de mon navigateur de
contenu, j'ai également exposé une nouvelle fenêtre
appelée Sequencer. Maintenant, ce que cette fenêtre entière vous
permet de faire, c'est de modifier quelque chose au fil du temps pour
créer une sorte de cinématique. Pour ce faire,
nous devons donc ajouter une piste. Donc, si je clique sur le bouton du
morceau en bas, je veux ajouter un acteur
à mon séquenceur. Ici,
dans le petit menu
fleuri, je peux choisir un
acteur de mon niveau. Remarquez que tous les
acteurs ici existent également dans mon plan et, tout en haut à droite, je voudrais ajouter mon exemple de micro
BP. Je l'ai réduit à
un seul dans mon niveau actuellement. Je vais donc ajouter cela. Et maintenant, je peux cliquer sur ce
bouton Plus ici pour approfondir l'intérieur de mon exemple de pick-up BP
et regarder en bas. J'ai une propriété d'échelle qui a maintenant été exposée
à une cinématique. Ce séquenceur est une cinématique. Maintenant, sur cette petite mouche, je vois qu'il s'agit d'un vecteur
et je peux le modifier. Je peux choisir x, y ou z. Peu importe
lequel vous choisissez. Je vais choisir x ici. Il va maintenant exposer variable à cette
chronologie, à cette cinématique. Et si je clique sur cette
petite liste déroulante, vous pouvez voir que je peux
maintenant modifier le x, y ou z de cette
variable vectorielle au fil du temps. Maintenant, cette échelle s'
affiche actuellement en images par seconde. C'est ce que signifie ce 30 FPS. Nous pouvons le modifier soit par cadres, soit ce que j'aime
faire, c'est cliquer dessus. Et j'aime bien changer
cette heure à la place. Donc Showtime en secondes, comme ça. Et maintenant, pour moi, c'est un
peu plus logique. Je peux changer les choses de 0 s actuellement à 5 s. Je
peux aussi étendre cela, mais nous n'allons pas en
créer un. C'est assez long. D'accord, alors qu'est-ce que
je veux faire ici ? Je souhaite modifier l'une de ces propriétés d'
échelle en 5 s. Je vais
donc modifier
uniquement l'échelle z. Je pourrais tous les modifier, mais je vais
ajouter une image-clé à 0.0 s ici en cliquant sur
ce bouton plus. Nous disons donc que je veux
que
la valeur d'échelle de cette variable vectorielle soit
un dans le z à 0 s. Ensuite, je vais déplacer le
curseur de ma chronologie jusqu'à 5 s. Ensuite, je vais
cliquer à nouveau sur le bouton plus. Mais cette fois, je vais
dire qu'à ce stade
de la chronologie, j'ai ajouté une autre image-clé. C'est ce que signifie ce point rouge. Je vais dire qu'à ce stade, je veux que l'échelle Z soit de
cinq, donc nous allons de 1 à 5. Et si je déplace ce curseur, remarque que la valeur de l'échelle
Z change avec le temps. Tout cela est très bien
sauf que nous n'utilisons pas vraiment cette variable dans notre exemple de capteur de
pression artérielle, nous l'avons exposée, nous avons exposé variable vectorielle d'
échelle
à notre cinématique ici. Et nous allons
l'ajuster par rapport à cette cinématique ici. Mais nous n'avons pas encore de script qui puisse réellement en
tirer parti. Alors faisons-le ensuite. Pour cela, nous allons
ajouter une boîte de déclenchement à notre niveau. Et je vais le faire
assez rapidement ici. Je vais l'
augmenter en taille, je vais à nouveau
modifier l'étendue de la boîte
à 200, 200 dans le panneau Détails. Je vais à
nouveau changer l'épaisseur de la
ligne à dix , comme ça. Ce séquenceur de niveaux,
acteur , acteur juste là, peu
importe où vous le
placez dans le
niveau, d'ailleurs. Ensuite, je vais faire
ça pour que nous puissions le voir. L'acteur qui rend le jeu
caché à faux. Et puis, une fois cet
acteur sélectionné, je vais passer à mon plan de niveau,
en cliquant avec le bouton droit de la souris. Je ferai quelque chose
quand nous commencerons à les superposer. La première chose que
nous allons faire, c'est de faire sortir le casting d' ici à une troisième personne. Nous allons faire quelque chose avec nos
chevauchements de personnages à la troisième personne à. Ce que nous voulons faire, c'est trouver une référence à notre séquence de
niveaux ici. Alors allez-y et cliquez à nouveau dessus dans votre plan de
niveau. En maintenant la touche R enfoncée, cliquez avec le bouton gauche de la
souris pour y faire référence. Ensuite, je vais
sortir de là et taper le jeu de mots. Nous voulons jouer avec notre lecteur de
séquences. C'est l'option que
nous recherchons. Nous disons essentiellement : « Hé, joue cette cinématique, donc elle
devrait être branchée comme ça ». Ça diffusera la cinématique. Cela
modifiera donc réellement cette propriété. Mais cela va modifier cette propriété d'
échelle en 5 s. Mais nous ne sommes pas encore en train de créer de script
montrant réellement cette croissance. Donc, pour que
cela se produise, il s'agit d'une configuration très
alambiquée. Je vais cliquer avec le bouton droit de
la souris, cocher un événement. Chaque cadre. ce que nous voulons. Sélectionnez votre exemple,
reprenez-le dans le niveau. en revenir à notre plan de niveau, nous allons maintenir le
clic gauche sur l'arché
enfoncé pour y faire référence. Nous allons sortir d'ici. Nous allons fixer une échelle mondiale trois D pour la collision de la
sphère. Parce que notre sphère entre en collision, tout y est lié. Et déplace-le comme ça. Ensuite, nous allons
également sortir de notre exemple de capteur et trouver cette variable d'échelle. Je dois faire défiler l'écran vers
le bas pour obtenir notre échelle. Comme ça. Notez donc que notre
échelle est par défaut de 11,1. Donc, à chaque image, ça
va être lu. Cela va provoquer la collision de notre
sphère ici, qui est l'élément
le plus
fondamental de tout ce qui est
attaché à ce 2111. Cependant, une fois
que j'aurai superposé cette case de déclenchement, nous
indiquerons à cette séquence ou à cette partie qui servira chronologie pour modifier la
valeur de cette variable, 1 à 5 en 5 s. de chronologie pour modifier la
valeur de cette variable,
1 à 5 en 5 s.
est notre cinématique. Donc tu peux mettre la vidéo en pause ici, regarder ça si tu
veux jouer à la maison, je vais la compiler. Allons-y, jouons-y. Déplacez-le un
peu sur le côté. Vous pouvez donc voir notre exemple de
pick-up à l'arrière. L'échelle reste constante. Permettez-moi de placer mon
objet de débogage juste là
pour que vous puissiez voir Event Tick
se déclencher à chaque image. Mets-le à nouveau sur ma
fenêtre de jeu. Donc, une fois que je me suis superposé,
c'est plus de 5 s, vous devriez le voir augmenter
en taille. C'est parti. C'est plutôt mignon. Et c'est effectivement ce qui s'est produit. C'est donc une très longue
façon de montrer ce que fait
exactement cette option exposée
au cinéma. Donc, juste pour rétablir
cette case à cocher exposée à la
cinématique, vous pouvez la trouver sur des variables
booléennes, entières, flottantes, chaînes, transformations vectorielles, et variables
d'acteur. Vous ne le trouverez pas pour les noms, textes ou les variables rotateurs. Très bien les gars, ça
suffira pour proposer cette vidéo, on se revoit dans la prochaine.
54. Conseils et astuces variables: Bienvenue. Dans cette vidéo, nous allons passer revue les
conseils et astuces essentiels que vous devez
absolument
connaître pour travailler avec les variables de la manière la plus
efficace possible. Nous allons
parler des différentes manières d'obtenir et de
définir des variables. Nous allons voir comment
promouvoir une variable. Nous allons parler de la façon de
catégoriser les variables
et de leur donner des infobulles. Enfin, nous allons parler
de la façon de modifier
les types de variables. Commençons par notre plan de
personnage à la troisième personne BP pour faciliter cette discussion. Donc, si vous ne l'avez pas ouvert, vous pouvez le trouver dans des plans à la
troisième personne. C'est là que vous pouvez trouver
le personnage à la troisième personne. Et une fois à l'intérieur,
explorons comment obtenir et définir des variables de trois manières différentes dont nous allons parler ici. Tout d'abord, explorons
les trois manières différentes d'
obtenir une variable, c'est-à-dire de découvrir quel contenu
existe à l'intérieur de cette variable. Et pour cela, nous
allons nous débarrasser de cette gamme GET de santé ici parce que nous
allons l'explorer. La première méthode consiste donc
à cliquer avec le bouton gauche de la souris et à faire glisser. Et puis, dans notre petite
boîte de dialogue ici, lorsque nous relâchons notre clic gauche, nous pourrions obtenir la santé. C'est le moyen numéro un. Deuxième méthode, je peux maintenir la touche
Ctrl
enfoncée, cliquer avec le bouton gauche de la
souris, faire glisser, relâcher, cliquer de la souris, pour obtenir une réponse. Et la troisième méthode, moins courante mais
très efficace, consiste simplement à cliquer avec le bouton gauche de la souris et à la
faire glisser sur une épingle de saisie
pour un nœud donné. Donc, une fois que nous l'avons glissée et déposée
dessus, le contenu de cette variable sera très pratique. Très bien, parlons de la
définition d'une variable. Donc, juste ici, nous
avons un centre en place. Je vais le laisser là
pour le moment. Mais ce que nous allons faire
ici, c'est cliquer avec le bouton gauche de la souris alors que la première consiste à choisir Définir la santé dans ce
menu. Si vous cliquez avec le bouton gauche, faites glisser,
relâchez, cliquez avec le bouton gauche de la souris. La deuxième méthode consiste à
maintenir la touche Alt enfoncée. Cliquez avec le bouton gauche, faites glisser,
relâchez, cliquez avec le bouton gauche de la souris. C'est la deuxième façon
d'en trouver le centre. Et la troisième façon de définir
le contenu d'une variable. Je vais donc juste supprimer ce type pour le moment,
en faisant simplement glisser et déposer
sur la broche de sortie d'un nœud donné, et cela fera
également apparaître un centre. Ainsi, le réglage à nouveau vous
permet de modifier le
contenu de cette variable. Ensuite,
parlons de la promotion vers une variable dont vous savez
déjà que vous pouvez créer des variables en
cliquant ici, ajoutant une variable,
ou en passant sous cette variable et
en cliquant sur le bouton plus. Cependant, la promotion d'une variable est la troisième façon de
créer une variable et elle est très pratique pour
plusieurs raisons. Premièrement, il peut vous donner le type de variable dont vous
avez besoin dès le départ. Donc, en utilisant ce nœud
comme exemple ici. Supposons donc que nous ayons notre variable
de santé et que
nous souhaitions
y ajouter un certain montant. Eh bien, nous pouvons simplement
cliquer avec le bouton droit sur cette épingle et cela nous donnera le type
de variable dont nous avons déjà besoin, dans ce cas, un flottant
pour qu'il puisse cliquer avec le bouton droit, promouvoir et je clique, je peux
appelez cela santé pour ajouter. Le deuxième avantage
de la promotion vers une variable est que si
nous la compilons, nous pouvons voir qu'elle
saisit automatiquement la valeur qui se trouvait
à l'intérieur de ce nœud. Si vous
y avez déjà
placé une valeur et
que vous l' avez promue en variable, puis que vous la
compilez, la variable sera automatiquement
renseignée avec la valeur qu'
elle contenait . C'est donc très pratique. Il convient de
souligner ici que vous pouvez promouvoir une variable sur n'importe quel nœud, non seulement du côté entrée, mais également du côté
sortie. Donc, côté sortie de
ce centre de santé, je pourrais cliquer dessus avec le bouton droit de la souris, promouvoir en variable, et l'appeler à nouveau variable ma
santé. Je ne sais pas pourquoi vous
voudriez définir votre ou définir une nouvelle variable par la suite, mais peut-être voudriez-vous
faire quelque chose comme ça. Donc, promouvoir une variable est un moyen
très pratique obtenir le type de variable que vous recherchez
réellement, ainsi que de
le définir avec le contenu qui y était
déjà défini. Maintenant, ce que j'aime vraiment dans
la promotion vers une variable, permettez-moi de passer à
mon exemple de capteur BP, c'est que
nous avons parlé de certains types de variables très
courants ici, mais il en existe également d'autres plus
obscurs également. Par exemple, j'ai ce nœud 2D
Play Sound,
voici un exemple de micro IBP. Et j'ai ce que l'
on appelle les paramètres de concurrence. Vous vous demandez peut-être, je
ne sais même pas ce que c'est, mais je voudrais m'y attarder et voir ce que je peux changer. Eh bien, vous pouvez
cliquer avec le bouton droit sur cette épingle. Vous pouvez le promouvoir en
tant que variable, le compiler. Ensuite, dans le
panneau Détails, vous pouvez voir les éléments
que vous pouvez définir à propos de cette
variable. Et il se peut que vous ne
puissiez rien voir, que cela n'ait aucun sens pour vous. Mais c'est un excellent
moyen de savoir quels ces différents types de
broches,
quelles sont ces différentes
variables
du côté entrée d'un nœud ou
du côté sortie de la broche. C'est un excellent moyen d'apprendre ces choses. Très bien, ensuite,
parlons de la création catégories dans lesquelles vos
variables pourront être intégrées. Maintenant, au fur et à mesure que vos scripts se
compliquent, il se peut que
vous ayez de
plus en plus de variables sur le côté gauche
et que vous souhaitiez un moyen de les classer. Eh bien, vous pouvez créer
des catégories dans lesquelles ils pourront vivre. Laissez-moi simplement sélectionner par état
de santé pour ajouter ici. Et dans le panneau Détails, nous avons une catégorie.
Actuellement, toutes ces catégories se trouvent dans ma catégorie par défaut, du son capté aux
paramètres de concurrence. Je pourrais en créer un en sélectionnant simplement ce champ de
catégorie ici. Au-delà de cela, je vais
appeler cela ma catégorie de santé. Très bien, maintenant que vous voyez
dans le panneau Mon plan, j'ai créé une catégorie de
santé et mon état de santé à ajouter
existe à l'intérieur de cette catégorie. Je peux maintenant ajouter d'autres
variables à cette catégorie. Je pourrais dire : « Hey, scale », je veux que tu vives
dans cette catégorie également en la sélectionnant simplement. Et maintenant, si je clique sur cette
liste déroulante, je vais pouvoir trouver la santé dans cette liste déroulante. Vous pouvez donc créer une
nouvelle catégorie en la
remplaçant simplement et
en saisissant un nouveau nom de catégorie. Cependant, une fois que vous avez
créé une catégorie, vous pouvez choisir de définir une variable à l'intérieur de cette catégorie en
choisissant cette option ici. Ou je peux simplement faire glisser une variable vers
le haut dans cette catégorie. Donc, cinq, c'est essayer de faire
glisser ce
son captant et de le placer juste
ici, en haut de la gamme. Regardez ce qui va se passer ici. Il va être réorganisé pour
le
placer automatiquement dans
cette catégorie de santé. Maintenant, cela est également utile pour
créer ces catégories. Parce que nous allons vérifier
ça ici. Ma santé, à ajouter. Ce petit
globe oculaire est vérifié, ce
qui rend cette instance modifiable. Toute variable définie pour
être modifiable par instance. Encore une fois, en compilant ceci ici juste pour
être sûr de l'avoir, revenez à ma carte de test. J'ai l'un de ces
exemples de micros BP ici, dans mon niveau supérieur, dans le
panneau Détails. Avec celui sélectionné, je peux voir mes
différentes catégories que je peux modifier à ce sujet. Maintenant, l'une des catégories
que je peux modifier est mon état de santé pour l'ajouter
et la vérifier. Il n'est plus répertorié dans une catégorie
appelée par défaut. Il est désormais répertorié dans une catégorie
appelée Santé à ajouter. Allons-y et essayons de
créer une catégorie supplémentaire ici dans notre exemple de pick-up
BP. Laisse-moi changer d'échelle. Je veux dire, cela n'a pas vraiment de
sens d'avoir cela dans une catégorie de santé en soi. Deuxièmement, changeons-la en
une catégorie appelée échelle. Et je vais configurer cela pour qu'
il soit modifiable par instance. Nous devons compiler après avoir défini cette variable pour qu'elle soit
modifiable par instance afin de pouvoir ensuite trouver cette variable
exposée dans notre éditeur. Donc, avec cette option sélectionnée, j'ai maintenant une catégorie de santé à ajouter à l'intérieur. Et une catégorie d'échelle avec une variable d'
échelle à l'intérieur. Maintenant, pour quoi voudriez-vous
créer ces catégories ? Eh bien, dans quelque chose comme votre personnage
BP ThirdPersonCharacter, vous pouvez avoir certaines
variables qui sont toutes liées au nom
de votre personnage, prénom,
nom de famille, deuxième prénom. Il se peut qu'il s'agisse de certains
attributs de personnage que vous
souhaitez tous catégoriser. Ce serait une chose courante. Cela peut être lié
à la santé ou à des dommages. Vous pourriez créer une catégorie de santé
et de dégâts, ce genre de choses. Voyons maintenant comment ajouter des
infobulles, deux variables. Ensuite, je vais revenir
à mon exemple de pick-up BP. Donc, pour n'importe laquelle de mes variables, je peux ajouter une
description, une infobulle. Remarquez que lorsque je passe la souris
sur mes variables actuellement, cela indique que mon état de santé
est simplement un flottement en captant un son qui indique que l'échelle de description de base indique
simplement qu'il s'agit
d'une variable vectorielle, mais vous pouvez en modifier
le contenu, les textes de l'infobulle si vous voulez. Avec mon état de santé à
ajouter sélectionnez dans le panneau Détails,
mon champ de description. Je peux changer cela pour qu'il s'agisse la quantité de points de vie
à ajouter Enter. Et maintenant, si je passe la souris sur cette
santé pour ajouter une variable, cela ne dit
plus flotteur
double précision ou quoi que ce soit d'autre, habitude de dire
double précision flottante. Il dit maintenant que c'est la
quantité de santé nécessaire pour ajouter les textes que j'ai mis
juste là-bas. Enfin, je
voulais juste souligner que si vous voulez vraiment
changer de type de variable, vous pouvez, et vous savez, vous pouvez changer le type de variable soit ici
en cliquant dessus, choisissant un nouveau dans
la fenêtre contextuelle ici, ou dans le panneau Détails, vous pouvez également
le modifier ici. Cependant, si vous le faites, il y a certaines choses que
vous devez savoir. Donc, compte tenu de mon état de santé à ajouter une variable
flottante
sélectionnée dans le panneau
My Blueprint,
je vais changer le type de variable
pour qu'il soit un entier. Maintenant, une fois que vous aurez fait cela, vous allez avoir une petite boîte
contextuelle disant : «
Hé, vous pourriez rompre
certaines connexions ici. Es-tu vraiment sûre
de vouloir le faire ? Allons-y et
changeons ce type de variable. Mais vous remarquerez
que lorsque vous le ferez, vous aurez ce dicton : «
OK, nous l'avons trouvé
ici même sur le graphique ». Votre exemple de prélèvement de tension artérielle
ajoute votre santé à ajouter. Il était là. Maintenant je vais
sortir d'ici. Et vous allez voir
ça ici en disant : «
Eh bien, c'était un nombre flottant, c'est maintenant un entier. Alors, que faites-vous ici ? Eh bien, vous pouvez résoudre ce problème
en cliquant avec le bouton droit de la souris sur ce
nœud pour l'actualiser. Il reconnaît maintenant que, hé, vous le remplacez par un entier. Mais maintenant tu as
du travail à faire ici. Nous avons rompu ce lien et je pourrais également le
connecter ici. Et dans ce cas, cela
va apporter un, il va juste
le convertir très bien. Mais d'autres cas ne
fonctionneront pas très bien. Vous devez donc vraiment faire
attention à ne pas rompre vos connexions chaque fois que
vous modifiez vos variables. Maintenant, nous n'avons ajouté qu'une seule instance de cette
variable ici. Cependant, si vous vouliez trouver tous les endroits où
cela pourrait exister, corrigez toutes ces références
de cette variable. Vous pouvez cliquer dessus avec le
bouton droit de la souris pour trouver des références. Ce faisant, vous pouvez
trouver où se trouve cette variable n'
importe où dans ce graphique. Et même
au-delà de ce graphique, si vous utilisiez cette variable, vous l'appelez
à partir d'un autre Blueprint. Vous pouvez cliquer sur
ce petit bouton ici pour trouver où cette variable a été obtenue ou
définie dans n'importe quel autre Blueprint. C'est donc très pratique de
savoir comment cliquer avec le bouton droit de la souris
pour trouver des références. Vous allez faire apparaître
cette petite fenêtre contextuelle. Vous pouvez double-cliquer dessus
pour y accéder directement. Et puis, si vous
voulez savoir où cette variable fait référence à
d'autres plans, vous pouvez cliquer ici
pour le faire. Très bien, les gars. Cela va clore
le tout pour cette vidéo. Ça va
tout faire pour les variables. Nous vous verrons lors de la prochaine.
55. Aperçu des fonctions: Très bien, bon
retour à tous. Dans cette section du cours, nous allons
officiellement
nous concentrer sur le
thème des fonctions. Et même si vous m'avez vu
utiliser un tas de fonctions dans nos discussions sur d'autres sujets liés aux scripts Blueprint. C'est ici que nous les décomposons dans
leur intégralité, parlant de toutes les
nuances des fonctions. Notre objectif dans cette vidéo est donc de découvrir rapidement
quelles sont les fonctions. Donnez quelques exemples de la façon dont
ils sont utilisés dans Unreal. Enfin, expliquez
où vous pouvez les trouver. Tout d'abord,
qu'est-ce qu'une fonction ? Eh bien, pour faciliter
cette discussion, je suis dans mon
Level Blueprint et j'ai placé
quelques nœuds de fonctions. Une fonction est un nœud de plan qui fait simplement quelque chose, effectue une opération
spécifique. Alors, quel genre de choses
ai-je placées avant que vous n'entendiez, eh bien, vous pourriez apparaître et devenir acteur. C'est pour faire apparaître un objet dans votre jeu qui pourrait vous
être utile. Vous pouvez créer un effet de particules. Il s'agit de l'ancien système VFX,
du système d'
effets visuels en cascade
ou d'un système de particules
plus récent connu sous le nom de Niagara. Vous pouvez créer un widget destiné à afficher un plan de
widget, qui est souvent utilisé
dans le HUD ou les menus de fin de partie. Tu peux émettre un son. Vous pouvez changer le lieu d'un
acteur, toutes sortes de choses qui
peuvent être faites avec des fonctions. Les fonctions peuvent désormais prendre
des entrées et renvoyer celles d'Albert. Pour rappel, les
entrées se trouvent sur le côté
gauche d'un nœud. Les sorties se trouvent sur le côté
droit du nœud. Unreal est déjà livré avec toute une
série de fonctions, si je devais cliquer avec le bouton droit et un espace vide et
explorer l'
une de
ces catégories, vous verrez tous ces S Here
sophistiqués. Ils sont
en bleu ou en vert. Ce sont toutes sortes de nœuds de fonctions
prêts à l'emploi
auxquels vous avez accès. Vous pouvez désormais créer
vos propres fonctions dans un plan et
les appeler quand vous le souhaitez. Nous en parlerons dans
quelques vidéos ici. Dans
cette
présentation générale des fonctions
, il convient de noter cette
présentation générale des fonctions
, il convient de que lorsque vous travaillez
avec des fonctions dans Unreal, vous remarquerez qu'elles se déclinent
en deux versions différentes. Vous avez du bleu, que l'on
appelle des fonctions impures, et elles ont cet en-tête
bleu. Et si je vais
à droite, vous avez des fonctions vertes , appelées fonctions
pures. Maintenant, la principale différence entre celles-ci est que ces fonctions
vertes et pures n'ont pas de broches
d'exécution côté entrée ou sortie, alors que les fonctions
impures bleues en ont. Nous avons maintenant une
vidéo complète dédiée
aux fonctions impures par rapport aux fonctions pures. Nous en reparlerons
donc plus tard, mais je voulais simplement le souligner
pendant que nous sommes ici. Une autre différence que
je voulais souligner entre les différents nœuds de
fonction est que parfois leur en-tête est un peu plus
descriptif que les autres. Et bien, qu'est-ce que
je veux dire par là ? Si nous regardons certains de
nos nœuds de fonction ici, car ce sont des
systèmes de génération à cet emplacement, c'
est tout ce
que ce nœud de
fonction dit à propos du système de génération à l'emplacement. Maintenant, comparez cela avec ce nœud juste ici, définissez l'emplacement de l'
acteur. Et juste en dessous, il est
écrit que la cible est l'acteur. Celui-ci
demande une cible dont nous voulons modifier l'emplacement. Celui-ci ne contient
aucun sous-descripteur de sous-titres en dessous. Maintenant, remarquez que celui-ci définit aussi bien la cible matérielle
est un composant primitif. Je peux fournir un maillage dont nous voulons changer
le matériau. Si je passe à mon
ThirdPersonCharacter Blueprint, je place également quelques
nœuds de fonction ici. Ils disent tous que la cible
est un personnage, cible est un personnage,
que la cible est un personnage, etc. Ainsi, différentes fonctions
ont des cibles différentes. Dans ce cas, tous
ces nœuds de fonction sont spécifiques à une classe de caractères. Alors que dans notre carte de test de niveau, certains de ces
nœuds de fonctions ne sont spécifiques à aucune classe ou
à un composant donné. Les fonctions peuvent avoir
des cibles différentes. Il peut avoir une cible
composante, d'acteur,
une cible de personnage, des
choses de cette nature. Et nous y reviendrons
plus en détail dans un moment. Enfin, je voulais vous
parler de l'endroit où vous pouvez trouver des fonctions dans un graphique. Eh bien, vous pourriez le faire de différentes
manières. méthode la plus courante consiste à cliquer avec le bouton droit sur un espace vide. Ici. Si je clique sur le menu déroulant de mon
acteur,
voici où vous pouvez trouver de
nombreuses fonctions différentes. Encore une fois, ils se présentent sous la forme de fonctions impures de
saveur bleue, ou de saveur verte, c'
est-à-dire de fonctions pures. Et ceux-ci sont disponibles
dans n'importe quelle catégorie. Vous en
trouverez une tonne qui
sont déjà
préfabriqués pour vous. Maintenant, vous pouvez également rechercher une fonction
donnée. Encore une fois, l'acteur de la
classe est courant. Donc, si vous savez ce que
vous recherchez, vous pouvez simplement le taper dedans, apparaître un acteur de la classe. Une autre chose
que je tiens à souligner ici est que les fonctions peuvent être sensibles au contexte ou
non. Et c'est cette
case à cocher juste ici. Elle est cochée par défaut. Et laissez-moi simplement vous montrer comment cela peut modifier
les résultats ici. J'ai donc cet
acteur de génération de Class Blueprint, et j'ai déjà placé un
exemple de micro BP dans
la classe ici. Si je devais m'en sortir, regardez
maintenant que ma case à cocher
contextuelle est cochée et que le meilleur
acteur se trouve ma catégorie la plus populaire. C'est avec la
fonction contextuelle cochée. Un acteur est la catégorie
la plus importante. Passons maintenant
à cette
fonction de création de widget juste ici. Laisse-moi sortir d'ici. Notez que l'option contextuelle
est cochée. Cependant, je ne
vois même pas cette catégorie
d'acteurs en haut de la
liste parce que ceux-ci vont
renvoyer deux
types de choses différents. Celui-ci va
renvoyer un objet widget. Celui-ci va retourner mon exemple de micro BP parce que c'est le cours
que j'ai inscrit ici. Maintenant, si vous êtes dans ce menu
contextuel, passez la souris sur cette case
contextuelle ici. Et vous cliquez sur ce
petit menu volant. Vous pouvez décider dans
quels contextes il va trouver en fonction des fonctions
disponibles. Ce plan, sous forme d'
info-bulle, indique qu'il va
inclure des fonctions et des variables qui appartiennent à ce plan. Si la case components est cochée, elle inclura des
fonctions appartenant à des
composants de ce
plan et/ou d'autres classes cibles. Et puis des bibliothèques
qui doivent inclure
toutes les autres fonctions
accessibles dans le monde entier. Et encore une fois, nous avons une vidéo
complète dédiée aux bibliothèques de
fonctions dans
un court laps de temps. Maintenant, si vous avez des fonctionnalités
spécifiques que vous souhaitez créer,
vous pouvez créer vos
propres fonctions dans le panneau Mon plan, dans
la catégorie des fonctions, vous pouvez créer vos propres
fonctions juste ici. Tu peux les appeler comme tu veux. Vous pouvez créer la
fonctionnalité qui se trouve
à l'intérieur de
ce nœud de fonction. Ensuite, il suffit
de glisser-déposer ce nœud de fonction de votre onglet Mes
plans dans votre graphique. Mais nous en reparlerons également plus tard. Très bien les gars, il
y a un aperçu des fonctions dans les plans
Unreal Engine. Nous vous verrons dans
la prochaine vidéo.
56. Fonctions d'acteur: Bienvenue. Dans cette vidéo, notre objectif est d' apprendre ce que sont les fonctions des acteurs, d'
explorer comment les trouver et d'en démontrer quelques-unes. Nous avons terminé dans la
dernière vidéo de présenter
un aperçu général des fonctions de
notre Level Blueprint. Et je parlais de la
façon dont certaines fonctions avaient ce sous-titre en
dessous, y compris celui-ci pour localisation de l'acteur qui
dit que la cible est l'acteur. C'est donc ce dont nous
parlons dans cette vidéo. Nous parlons de la fonction d'
acteur. Alors, qu'est-ce que la fonction d'un acteur ? Eh bien, c'est simplement une
fonction qui cible, c'
est-à-dire qui affecte un
acteur spécifique que vous lui fournissez. Maintenant, la cible peut être elle-même, mais dans le cas d'
un Level Blueprint, soi n'est pas très utile. Nous devons vraiment dire : « Hé, quelle est la chose que
nous essayons de faire ? Et dans ce cas,
quel nouvel emplacement allons-nous essayer de lui donner ? Maintenant, je vais revenir
à mon niveau ici, et j'ai ajouté un maillage
statique à mon niveau. Si tu veux jouer
le jeu à la maison. Cela se trouve dans mon dossier d'invites de
contenu lancé par le contenu. Je place l'un de ces
gars à mon niveau. Cela étant fait, j'ai également modifié la mobilité
ici pour qu'elle soit mobile. Et cela va être important
pour la fonction que nous
allons essayer de définir. Une fois cela fait, assurez-vous que vous avez sélectionné
ces acteurs de Static Mesh dans votre niveau. Et je vais accéder à mon Level Blueprint,
déjà ouvert ici. Mais encore une fois, c'est ainsi que vous pouvez accéder à votre Level Blueprint. Maintenant, peu
importe le graphique dans lequel vous vous trouvez. J'ai deux graphiques ici, mon graphique des types de nœuds
et mon graphe d'événements. Mon Event Graph est un
peu plus propre, donc je vais y aller. J'ai déjà une référence
à cela dans mon graphique. Maintenant, pour y faire référence, il suffit de maintenir la touche R enfoncée et de cliquer avec
le bouton gauche de la souris ou
dans le menu contextuel. Si vous l'avez sélectionnée, vous devriez être en mesure de la rechercher
et de créer une référence en cliquant avec le bouton droit de la souris
et en choisissant directement
à cet endroit. L'une ou l'autre option suffira pour vous. C'est donc l'acteur
que nous voulons cibler. Donc, si nous sortons d'
ici et que nous
relâchons, nous avons
coché la case contextuelle ici, ce qui signifie que si nous explorons l'une de ces catégories, nous pouvons trouver des fonctions spécifiques fonctionnera
pour cet acteur donné, y compris quelque chose
comme Destroy Actor. Notez que cela dit que la cible est un acteur. Je pourrais faire entrer un événement d'entrée
et en appuyant sur
cet événement d'entrée, nous pourrions détruire l'
acteur qui est notre cible. Nous parlons de fonctions d'acteur. Essayons-en donc quelques-uns ici. Nous avons vu cet
acteur Destroy une fois de nombreuses fois. Alors, apportons-en un peu plus. Je vais donc m'
éloigner d'ici. Et je vais saisir le lieu
de tournage de l'acteur. Et je peux voir que c'est dans la catégorie de la transformation. C'est ainsi que vous
pouvez voir où il se trouve. Maintenant, c'est la
raison pour laquelle nous avons dû régler notre maillage
ici pour qu'il soit mobile. Parce que si on ne le
définit pas pour qu'il soit mobile, on va
avoir des plaintes. Lorsque nous compilons. Je vais définir mon nouvel emplacement. Au lieu de brancher
une variable, je vais juste la définir
ici sur, disons, 1 000. Et ça va juste le déplacer
quelque part dans les airs. Continuons encore une fois, nous pouvons faire plusieurs choses. Je vais faire de la rotation des
acteurs de plateau, c'est aussi dans la catégorie
transformation. OK ? Nous allons donc
procéder ainsi et noter que nous
utilisons la même référence comme cible pour
les fonctions de plusieurs
acteurs ce qui est tout à fait
acceptable. Je vais m'en sortir
et faire un set d'acteurs à l'échelle 3D. Cela fait également partie de la catégorie
de transformation. Enfin, je
vais m'en sortir encore une fois et
nous allons fixer la durée de vie. C'est dans la catégorie des acteurs, donc différentes fonctions
peuvent se retrouver dans différentes catégories, mais si vous en connaissez le nom, vous pouvez
simplement le taper ci-dessus. Maintenant, je n'
ai aucune entrée ici pour le moment,
alors cliquons avec le bouton droit de la souris,
zoomons, laissons un espace vide. Faisons la touche que je n'
ai pas encore utilisée, la touche 7. Faisons la touche 7. Bien sûr, ça ira très bien. Donc, lorsque nous appuyons sur la touche sept, nous allons
vouloir définir la
position de nos acteurs quelque part dans les airs. Le site 001000
dans le monde. Ensuite, nous allons maintenir
le flux d'exécution et définir la rotation de nos
acteurs. Je n'ai pas défini de rotation ici, donc définissons-la à 45,45
juste pour l'incliner
légèrement afin que nous puissions voir quelque chose de
différent de ce qu'il est actuellement. Ensuite, nous allons maintenir le flux d'exécution
ici. Nous voulons lui donner une
nouvelle échelle. Faisons 44.4,
quelque chose d'assez gros. Et ensuite, puisons ici
sur la durée de vie. C'est donc le temps qu'
il va vivre
avant d' être détruit,
moins que ne l'est notre durée de vie. Allons-y 5 s. D'accord, alors remarquez que toutes
ces fonctions prennent en compte, chez un acteur cible. Nous pouvons utiliser la même
référence et l' intégrer à la
note d'entrée cible de toutes ces informations. Je vais donc compiler ici, en déplaçant cela
vers la gauche. Nous allons jouer, laissez-moi définir mon objet de débogage pour
qu'il soit ma carte de test. Et voici mon acteur. Dès que j'
appuierai sur la touche 7, vous verrez
bang, bang, bang, bang. On y va. Sept. Quelque part dans les airs. Il est pivoté, il est grand. Et après 5 secondes de boom, ça fait un adieu. Vous pouvez donc voir qu'il a joué cette fonction sur
cet acteur donné. Et toutes ces
choses ont
changé l'emplacement, la rotation,
l'échelle et la durée de vie. Alors, vous l'
avez. Fonctions de l'acteur. Vous pouvez les trouver
en faisant glisser la souris sur un acteur donné, en le recherchant
ou en faisant simplement
une recherche ici pour voir quels types de
fonctions sont à votre disposition. Très bien, ça va tout faire
pour celui-ci, les gars, on se voit dans le prochain.
57. Fonctions de cours: Très bien, bon retour. Dans cette vidéo, notre objectif est d' apprendre ce que sont les fonctions de classe, d'
explorer comment les trouver, puis d'en démontrer quelques-unes. Alors, tout d'abord, qu'est-ce qu'
une fonction de classe ? Eh bien, c'est simplement une fonction
qui ne peut être utilisée que par un type spécifique qui
est une classe spécifique. Maintenant, de quoi
parle-t-on ici ? Eh bien, si nous revenons
à notre navigateur de contenu et qu'il m'a vu cliquer avec le
bouton droit de
la souris plus tôt dans le cours dans un
espace vide de mon navigateur de contenu, si je viens dans la classe Blueprint, ce sont les différentes classes
dont nous parlons, les différentes classes de blueprint. Maintenant, nous avons
des fonctions spécifiques à chaque classe. Et cela
sera très évident à démontrer lorsque vous
parlerez de notre classe de personnages, car à peu près tous les
jeux que vous allez
créer auront allez
créer auront un personnage ou peut-être
même classe, mais démontrons
un personnage. Alors allez-y et ouvrez votre
BP ThirdPersonCharacter. C'est là que j'ai commencé
cette vidéo avec lui. Et remarquez dans mon graphique que j'ai plusieurs nœuds de fonction. Et remarquez que juste en
dessous de l'en-tête ici, le sous-en-tête indique que la
cible est un personnage, la fonction de saut
cible est un caractère, la fonction du caractère de lancement, cible est un caractère, l'accroupissement
dans et fonctions accroupies. La cible est le personnage. Ces fonctions sont spécifiques à cette classe, à cette classe de
caractères. Et je peux les trouver
en cliquant avec le bouton droit de la souris
dans un espace vide. Et puis si je cherche le nom de
cette classe mère, nous cherchons le
personnage juste ici. Faisons défiler la page vers le bas. Et si on trouve un personnage en C et H il est
là, juste ici. Vous pouvez retrouver ces événements. Nous sommes accroupis,
nous avons sauté le personnage de
lancement sur
accroupi, et cetera. Ils sont donc très spécifiques à cette classe donnée de Blueprint. Maintenant, nous allons les démontrer. Et je tiens à souligner ici : avant de le faire, si vous souhaitez rechercher et utiliser ces fonctions accroupi et
accroupissement, vous devez sélectionner composante de mouvement de
votre personnage et la sélectionner dans le Le panneau de détails
situé dans la catégorie des mouvements de navigation permet de
vérifier que vous pouvez vous accroupir. Elle n'est pas cochée par défaut. Très bien, alors
allons-y et essayons-les. Je vais cliquer sur Jouer ici,
pour définir mon objet de débogage pour il s'agisse d'un personnage
à la troisième personne. Et je vais les minimiser
un peu comme ça. Vous pouvez voir évidemment que si
j'appuie sur ma barre d'espace, cela fera sauter mon
personnage en relâchant, cela lui fera arrêter de sauter. Si j'appuie sur la touche L, j'ai cette fonction de
personnage de lancement
qui définit la
vitesse de lancement sur 2000 et Z, ce qui ressemble un peu à un
super saut, si vous voulez. Cependant, vous pouvez toujours le
faire lorsque vous êtes en vol. Donc c'est plutôt amusant. Et puis j'ai réglé
l'entrée C pour accroupir et s'accroupir
lorsque j'ai sorti le CQI. Maintenant, quand je le ferai, tu
remarqueras quelque chose. J'appuie sur la touche C et
oups, laisse-moi faire ça. Encore une fois. J'appuie sur la touche C
et la caméra descend et remonte. Lorsque je m'accroupis, mon personnage n'entre pas dans une animation
accroupie. J'aurais besoin de faire un peu plus de
travail pour que ça fonctionne. Mais nous n'allons pas
entrer dans les déclarations, le fromage et la modification de
nos animations, tout ce genre de choses. Mais vous remarquerez que c'
est en fait sous le capot, accroupissant mon personnage, ce
qui signifie que cela baisse ma caméra, ralentit la vitesse de déplacement de mes
joueurs. Puis quand je me suis accroupi, je suis revenu à hauteur
normale de la caméra, à la vitesse de déplacement
normale. Maintenant, quelques points méritent d'être soulignés ici pour
toutes ces fonctions, la cible est le personnage, et nous n'avons rien
branché sur cette cible. La cible est
simplement définie sur self, qui est valide dans cette
situation car c'est-à-dire notre moi est une classe de personnages nous n'avons
donc rien à y
brancher. Soi est une
chose parfaitement valable à dire ici. La cible est nous-mêmes, qui est un ThirdPersonCharacter. Maintenant, il convient également de
souligner que vous pouvez trouver l'accès utiliser ces fonctions
dans un autre Blueprint. Permettez-moi donc de le démontrer
rapidement en accédant à mon Level Blueprint. Vous remarquerez qu'il
y a un espace vide. Si je clique simplement avec le bouton droit de la souris et que
je fais une recherche pour lancer, nous avions cette
fonction de lancement dans notre
ThirdPersonCharacter. Je ne le trouve pas. Je peux trouver d'autres fonctions
avec le mot launch it, mais pas mon personnage de lancement. La sensibilité au contexte est cochée ici. ne s'agit pas d'un modèle
de classe de caractères. Tu ne le trouveras pas.
Maintenant, si je désactive cette option, je peux voir que nous ne faisons pas recherche en fonction de la sensibilité au
contexte. Et maintenant, sous notre personnage, nous pouvons trouver notre fonction de lancement de
personnage. Cela appartient à la classe de
caractères des fonctions. Allons-y et ajoutons
cela à notre graphique. Et ça dit, d'
accord, tu veux appeler cette fonction. C'est génial. La cible est une cellule, alors fournissez-moi une cible. Maintenant, si je devais simplement avoir un cube existant dans mon niveau, comme je l'ai placé
à l'avance ici. Notez que cette option est sélectionnée. Permettez-moi d'y faire
référence en maintenant le clic gauche
archéen enfoncé. Si j'essaie de
l'intégrer comme cible, ça va dire, non,
ce n'est pas une cible valide. Tu ne peux pas le faire.
La cible que nous recherchons est un personnage. Nous pourrions donc obtenir une référence à notre
ThirdPersonCharacter et l'y intégrer. Et alors cela fonctionnerait. Maintenant, pour ce faire, nous devons obtenir une référence
à notre personnage. J'ai cette
variable de référence aux
caractères que j'ai créée
plus tôt dans le cours. Mais si je clique dessus avec le
bouton droit de la souris et
que je trouve des références, j'ai dû détruire le
contenu de cette variable, donc elle n'est actuellement
définie sur rien. OK ? Nous pouvons toujours obtenir une référence à notre personnage
à la troisième personne par un autre moyen. Et tu m'as déjà vu
faire ça. Cliquez avec le bouton droit sur le
personnage Nous avons cette
fonction pure qui permet renvoyer le personnage d'un joueur. Mais il ne sait pas
quel personnage nous voulons
rechercher ici. Faisons donc un
ThirdPersonCharacter Cast to ThirdPersonCharacter. Je vais dire, d'accord,
votre personnage de joueur, que
c'est un
personnage à la troisième personne ? Et si c'est le cas, nous pouvons appeler certaines fonctions
liées à ce personnage. Et le ThirdPersonCharacter
peut
utiliser cette fonction de lancement de
personnage car le
personnage à la troisième personne est une classe de caractères qui
constitue une cible valide. J'ai juste besoin de
fournir une entrée ici, cliquez avec le bouton droit de la souris pour
rechercher la huitième touche. Je ne pense pas que nous utilisions la huitième touche et l'une ou
l'autre de nos herbes uniquement
dans notre graphique des événements ici. OK, allons-y
et branchons-le. Compilez, sauvegardons. Et maintenant, si je devais jouer, définissons notre objet de débogage comme tel afin que nous puissions
voir ce feu s'éteindre. Et maintenant, si j'appuie sur la touche
, oups, elle
essaie vraiment de l'appeler, mais je n'ai pas défini
la vitesse de lancement, donc ce serait un problème. C'est ça ou la
vitesse de lancement doit être de 2000. Oui, c'est un détail assez
important. Et en appuyant sur la touche Alt, nous pouvons maintenant appeler cette fonction de
lancement. Donc, encore une fois,
tant que vous avez une référence à cette classe donnée, vous pouvez appeler
des fonctions spécifiques à cette classe. Très bien les gars, ça va tout
faire pour cette vidéo, on se voit dans la prochaine.
58. Fonctions de composants: Très bien, donc dans les deux
dernières vidéos, nous avons exploré les
fonctions des acteurs et des fonctions de classe. Dans cette vidéo, nous allons explorer
les fonctions des
composants. Nous allons explorer
comment les trouver et en démontrer quelques-unes. Maintenant, cela soulève la
question suivante : qu'est-ce qu'une fonction
constitutive ? Eh bien, il s'agit simplement d'une fonction
qui cible doit
affecter un composant
spécifique d'un plan. Maintenant, pour le montrer,
nous allons utiliser notre bp ThirdPersonCharacter
Blueprint. C'est là que vous pouvez le trouver. Double-cliquez dessus
pour l'ouvrir. Avant de tourner cette vidéo, je suis allée de l'avant et j'ai créé
quelques scripts juste pour la rendre un peu
plus brève dans le temps. Et sur le graphique des événements, ce que j'ai mis en place,
c'est que j'ai placé les trois
composants différents dans mon graphique. Maintenant, ce sont respectivement mon composant d'
épée entre guillemets, c'
est-à-dire un composant de maillage statique. Le prochain composant avec lequel
nous allons travailler ici est
notre composant maillé. Et c'est revenir
à la fenêtre d'affichage ici. Ce maillage squelettique qui
représente notre personnage, cette
femme mannequin, si vous voulez. Et puis le dernier composant
que nous avons est notre caméra de suivi. Et il suffit de revenir à la fenêtre d'affichage ou de suivre la caméra trouver ce composant juste
là, cette caméra. Alors, comment
les ajouter à notre graphique ? Eh bien, comme vous le savez
grâce aux variables, vous pouvez simplement glisser-déposer pour les ajouter à votre graphique. Ensuite, vous obtenez une référence
à ce composant donné. Et si vous faites glisser la souris hors de ces éléments, vous pouvez trouver des
fonctions spécifiques à ce composant
qui sont
sensibles au contexte et fonctionnent
avec ce composant. Donc, ce que j'ai ici
est sorti de mon épée, je me suis simplement débarrassé de la drogue et j'ai fait une
recherche de maillage statique fixe. Mais si vous vous demandez
où cela existe, si vous allez définir un maillage statique, vous pouvez voir qu'il se trouve dans la catégorie des
images statiques des composants. Et je le liste juste au-dessus maillage statique de
vos composants. Donc, si nous devions simplement le
sortir passer sous les composants et
tomber sous un maillage statique. Vous pouvez voir que nous avons cette
fonction que nous pouvons ajouter ou que nous pouvons ajouter la
fonction pure pour obtenir des limites locales. Mais celui-ci est
beaucoup plus visuel. Maintenant, en bas, pour
ces composants de maillage, j'ai simplement fait une recherche
dans la catégorie des composants, des composants, des composants du maillage
skinné. Vous pouvez voir que nous avons ici de nombreuses fonctions
différentes pour cela. Mais pour celui-ci, je
voulais simplement changer le maillage squelettique qui y est
associé. Et par là, ce
dont je parle ici c'est qu'avec nos
composants de maillage sélectionnés, nous allons remplacer le maillage squelettique qui y est
associé. C'est très visuel. Vous
pouvez donc voir que la cible ici est un composant de maillage skinné qui
en parle ici. Enfin, nous avons
la caméra suivante. Nous avons donc certaines
fonctions
spécifiques à un composant de caméra. Et vous pouvez les trouver dans le menu contextuel de
la catégorie Appareil photo. Donc, il y a aussi beaucoup de fonctions ici pour jouer. Celui-ci est très visuel, le cadre, le champ de vision. Donc, encore une fois, le
sous-titre indiqué indique quel
composant spécifique peut être ciblé. Très bien, donc en jouant à
ce super visuel ici, définissons notre option de débogage pour que vous puissiez le voir se déclencher. Donc, quand j'appuie sur la touche F, nous allons remplacer notre épée par cette balle. C'est le nouveau maillage
que j'ai inséré quand j'appuie sur la touche G, notre maillage ici, cette
femme mannequin plutôt qu'Aaron
va aussi être échangée. C'est vrai, juste un cube. Et ce
cube squelettique se trouve dans le contenu du moteur,
c'est un cube squelettique. Enfin, remarquez
le champ de vision ici
lorsque j'appuie sur l'âge, il va
changer un peu. Très bien, alors
voilà, appuyez et la touche H permet de
zoomer un peu comme ça. Et voilà, vous l'avez. Vous pouvez ajouter toutes sortes de composants ici, dans
le panneau Composants. Il y en a des tonnes. Il suffit donc de noter que pour tout
composant que vous pouvez ajouter, il peut y avoir des
fonctions
associées à ce composant en particulier, spécifiques à ce composant. Découvrez-les, jouez
avec, apprenez par
la pratique , d'accord, ça va tout faire
pour cette vidéo, on se voit dans la prochaine.
59. Créer des fonctions: Très bien, bon retour à tous. Au cours des dernières
vidéos, nous avons montré comment trouver les différentes fonctions qui existent
déjà dans Unreal. Dans cette vidéo, notre objectif
est de montrer
comment créer
nos propres fonctions. Maintenant, il s'agit d'un concept extrêmement
puissant au sein du blueprint scripting. Il vous permet essentiellement de créer toutes les fonctionnalités
que vous souhaitez. Maintenant, pour la majeure partie de cette vidéo, nous allons travailler sur
notre personnage à la troisième personne de BP. Je suggère donc que vous
ouvriez ce type. J'ai également ouvert mon Level Blueprint en haut. Tout d'abord, il est important de
noter que les fonctions peuvent être créées dans un
plan de classe ou un plan de niveau. Donc, juste pour le mettre en
valeur, en commençant par mon plan de niveau ou dans le panneau Mon plan. Vous avez une section pour les fonctions. Les fonctions peuvent donc être créées ici à l'intérieur
d'un Level Blueprint. De plus, dans
un plan de classe comme
notre ThirdPersonCharacter, vous trouverez la même
section de fonctions , vous pouvez donc en créer
une ici également. Bien,
parlons maintenant des différentes manières créer des fonctions. Eh bien, nous avons ce
bouton Ajouter juste ici. Vous pouvez cliquer dessus, créer une fonction de cette façon. Une autre méthode consiste à utiliser l'en-tête de la
fonction ici, vous pouvez cliquer sur
ce bouton pour créer une fonction. Et la troisième méthode, la
moins évidente consiste à utiliser n'importe lequel de ces en-têtes,
graphiques, fonctions,
macros, variables, etc. Vous pouvez simplement cliquer avec le bouton droit de la souris,
et laissez-moi simplement cliquer avec
le bouton droit sur cet en-tête de graphique ici. Et cela fera
apparaître le même menu que celui que vous avez obtenu lorsque vous
cliquez ici. Vous pouvez donc ajouter une fonction ici. Et si je crée quand de cette façon, cela va l'ajouter à
ma catégorie de fonctions. Je vais tout de suite lui donner un
nom et l'appeler modifier la santé parce que je
vais créer une fonction qui modifie la santé de nos joueurs. Et notez que lorsque nous avons cliqué pour ajouter une fonction,
que ce soit ici , ici ou ici ,
nous avons également ouvert un nouvel onglet tout en haut. Donc, ce que vous avez devant vous
n'est qu'un nœud d'entrée, en nœud d'entrée de votre fonction. Et ici, dans le
reste du graphique, vous pouvez créer les
fonctionnalités que vous voulez cette fonction ait à la toute fin,
vous devez ajouter
un retour, vous devez ajouter
un retour notes, je vais cliquer avec le
bouton droit de la souris et quelques espace vide et ajoutez un nœud de
retour immédiatement, en cliquant avec le bouton droit de la souris
et en saisissant en retour tout en bas, vous pouvez ajouter un nœud de retour. Encore une fois, voici où
nous allons déterminer ce que fait réellement ce
nœud de fonction. Mais pendant que je suis en train de le construire, je pense qu'il serait utile
que, dans le graphe d'événements, je fasse simplement glisser et déposer ce
nœud de fonction dans mon graphe. Nous y voilà, en le glissant
et en le déposant. Maintenant, il est bleu. Voir la cible est un personnage à la
troisième personne parce que nous le construisons ici à l'intérieur de notre
ThirdPersonCharacter. Ce sera donc
la cible par défaut. Et notez que tout ce que nous avons
ici, c'est une exécution au stylo et une exécution hors
épingle et une cible. Mais nous pouvons ajouter plus de broches, plus de broches de données
côté entrée ou côté sortie. Et nous allons vous
le montrer un peu ici dans cette vidéo. Voici donc à quoi ressemble actuellement le
nœud de fonction. Et tout au long de cette
vidéo, nous allons la
modifier un peu. Revenons à
notre fonction de modification de la santé et développons certaines
fonctionnalités. Donc, la première chose
que je veux ajouter à cette fonction
est une entrée. Je veux être en mesure de saisir
la quantité de santé ou de dégâts que notre personnage
va recevoir. Pour ce faire, je dois sélectionner mon
nœud d'entrée ici, mon état de modification, et dans le
panneau Détails où il est indiqué les entrées, cliquez sur ce
bouton plus pour ajouter une entrée. Maintenant, cela va
nous permettre de le nommer tout de suite. Par défaut, il doit s'
afficher sous forme de booléen. Vous pouvez toutefois
modifier le type. Cela m'a été présenté sous forme
de flotteur parce que je
faisais un travail de préparation
avant cette vidéo. Alors changez-le en flotteur. Et encore une fois, vous pouvez
le faire en cliquant ici. Et changeons le
nom de cette entrée pour qu'il montant
des soins ou des dégâts. Maintenant, notez que si je
reviens à mon graphique d'événements ici, où nous plaçons notre fonction de
modification de la santé, je vois maintenant en entrée de notre fonction la possibilité de
saisir une variable flottante, un soin de santé ou montant des dommages. C'est donc un peu
trompeur lorsque vous développez vos
fonctions ici. Vous sélectionnez ce nœud d'entrée ici, puis vous ajoutez une entrée. Et la raison pour laquelle c'est un peu
trompeur, c'est que vous pensez que entrées se situent sur le côté
gauche d'un non-non. Mais ici, sur cette note d'entrée, elle est affichée sur le côté
droit du nœud. Donc, la première fois que j'ai
appris tout cela, je me suis senti assez confus. Toutefois, dans la fonction
finale que nous pouvons voir dans
notre graphe d'événements, lorsque vous glissez et déposez cette fonction dans
le graphe lui-même, elle apparaît sous forme d'entrée
sur le côté gauche d'un nœud. Vous pouvez donc saisir une valeur flottante de santé ou
de dégâts qui seront reçus. Très bien, continuons. Ce que je veux faire, c'est réduire notre santé ou les dommages que
nous allons subir. Je vais apporter un signe
supérieur à. Nous voulons faire quelque chose si notre santé ou notre montant de dégâts
est supérieur à zéro, ou si nous voulons nous
éloigner d'ici, introduire un nœud de branche. Nous devons maintenir ce flux d'
exécution ici. Nous allons donc évaluer la
montagne soignée ou endommagée
est supérieure à zéro. Et si c'est le cas, nous allons
sortir d'ici et émettre
du son sur D. En fait, je vais
appuyer sur Control C et
Control V pour copier ceci parce que
nous voulons émettre un son, ce
soit vrai ou faux. Maintenant, si c'est vrai, le
son que je veux jouer s'appellera
le laser push. Si c'est faux, le
son que je veux émettre s'appelle laser poll. Maintenant, en
survolant simplement ce pôle laser, vous pouvez voir que le
chemin à suivre se trouve dans les dossiers de contenu du moteur. Donc, si vous jouez
le jeu à la maison, vous ne voyez pas le laser pousser un pool
laser. Juste ici. Vous avez cette icône en forme d'engrenage. Assurez-vous que le contenu
du moteur d'affichage est coché, puis vous aurez
accès à ces deux éléments. Très bien, alors sondage laser pour ça. Donc, selon la quantité entrante
est supérieure à zéro, nous allons émettre un son. S'il n'est pas supérieur à zéro, nous allons émettre
un autre son. Ce sont des effets de
type plus positifs ou négatifs. OK, alors ce que nous
voulons également faire ici est prélevé
sur le montant que
nous allons saisir. Et je vais appuyer sur
le symbole Plus. Nous allons y ajouter
quelque chose. Nous voulons ajouter à
cela que ce sera notre santé ici même. Nous allons donc faire glisser et déposer notre santé juste en plus de cela. Cela nous donnera une
meilleure idée tout de suite. Nous allons donc
ajouter cela, la quantité entre dans notre santé. Ensuite, nous allons régler
cela de telle sorte que nous puissions simplement
glisser-déposer notre santé sur la
sortie pour placer un centre. Maintenant, ce que je
veux faire, c'est amener par ici pour pouvoir le porter
comme ça. Et comme ceci, lorsque je dis
essentiellement ici, c'est que peu importe, le montant entrant
soit supérieur à zéro ou non, je veux ajouter cela à
mon état de santé actuel. Je vais émettre un
son, qu'il soit supérieur à zéro ou non, qu'il soit positif ou négatif, puis nous allons le définir
comme notre nouvelle valeur de santé. Ensuite, je vais intégrer
cela à notre retour. Enfin et surtout, je peux le glisser-déposer sur
le nœud renvoyé pour ajouter
une épingle à notre retour. Pour noter qu'une fois que je l'ai fait, suffit de le glisser-déposer dessus. Il va ajouter une
sortie juste ici. Mais nous voulons probablement nous donner un meilleur nom que celui que l'on obtient
simplement en sortie. Je vais donc nommer
cette santé actuelle. Comme ça. Maintenant, quelque chose d'autre que
je veux faire ici ,
c'est être en
mesure de renforcer cette santé parce
que disons simplement que nous sommes déjà pleine santé et que la quantité
entrante ajoutera
à notre santé que
nous pourrait techniquement avoir plus de 1,0 point de vie. Nous pouvons avoir une santé
de plus de 100 %. Donc, la façon dont vous pouvez vous assurer
que cela est limité à une valeur donnée pour
introduire un nœud de serrage. Pour que je puisse sortir d'ici. Tapez dans la pince. Nous voulons serrer notre flotteur et nous
assurer qu'il est de 0 à 1. C'est plutôt sympa. Je vais donc simplement l'
intégrer comme ça pour m'assurer que même si nous
recevons une
quantité saine, cela améliorera notre santé
et la portera au-dessus de 1,0. Que peu importe ce
qu'il va rester à 1.0, ne peut pas dépasser cela, alors assurez-vous de le faire également. Maintenant, jette un coup d'œil. C'est notre, c'est notre fonction ici même. C'est une fonctionnalité
que nous ajoutons à notre graphique de ventilation avec sa fonction de modification de
la santé
ajoutée à notre graphique, nous avons cette quantité de dégâts de
guérisseur en entrée, et du côté de la sortie, nous peut produire notre
état de santé actuel. Maintenant, quelques détails importants
avant de terminer cette vidéo dans le panneau Détails
avec vos fonctions sélectionnées, jetez un œil à nos entrées ici. On a ce talon
ou on les a abîmés. Et nous avons cette
petite flèche déroulante. Si vous cliquez dessus, vous pouvez définir une
valeur par défaut pour cela. Donc, actuellement, c'est 0.0, ce que vous pouvez voir reflété
sur le nœud de la fonction lui-même. Si je devais le changer à 0,5, vous verrez qu'
une fois que j'ai appuyé sur Entrée, ce sera trop difficile. Mets ça dedans. OK. Je ne le
veux pas vraiment pour l'instant, mais j'ai juste pensé à
souligner que vous pouvez y définir une valeur par défaut. Laissez-moi le remettre à zéro. Et vous avez également cette option de
passe par référence. Qu'est-ce que ça veut dire ? Eh bien, il est passé par une option ref ou
transmis par référence vous
permet de dire à la
fonction que quelle que soit la
variable que vous y
insérez, c' est la variable
que
vous souhaitez modifier. Cela
vous permet essentiellement d'obtenir et définir une variable en même temps. Nous allons maintenant aborder
ce sujet un peu plus
en détail dans la vidéo suivante. Mais je tiens simplement à
souligner que si je
devais cocher cette case, notez que cette épingle va également
changer à partir de cette sorte de
forme circulaire. Un peu plus de
cette forme de diamant. Très bien, je vais le
décocher pour l'instant. Et encore une fois, nous allons vous le
montrer un
peu plus dans la vidéo suivante. Une autre chose que vous
devez savoir ici est que si je devais double-cliquer sur cette fonction, notez que je suis
dans mon graphe d'événements. Regardez ce qui se passe. Double-cliquez. Je suis passé de mon graphe d'événements à
mon graphe de fonctions. Donc, voici un moyen
rapide et facile de voir ce que fait cette
fonction. Et vous serez redirigé directement
vers votre graphe de fonctions. Conseil très pratique. Quelques autres remarques concernant les
fonctions que vous créez. Vous ne pouvez pas avoir de nœuds
latents tels qu'un nœud de retard ou une chronologie
au sein de votre fonction. C'est une limitation
des fonctions. Et autre chose à
noter à propos des fonctions. Avec les fonctions, vous n'obtenez qu'
une seule épingle d'exécution
entrante et une seule exécution de sortie, c'est-à-dire une exécution
entrante, une exécution sortante. Si vous en avez besoin
de plus, les macros sont la solution.
À l'avenir, nous ajouterons des vidéos
sur les macros. Mais les gars, cela va
offrir un suivi dans la prochaine vidéo
où nous
parlerons des fonctions d'appel. voit là-bas.
60. Fonctions d'appel: Très bien, dans la dernière vidéo, nous avons fini de créer une fonction dans notre bp
ThirdPersonCharacter. C'est ainsi que nous en avons fait la
cible, quel que soit l'endroit où vous créerez votre fonction,
qui sera la cible. Dans cette vidéo, nous
allons apprendre comment appeler cette fonction à appeler cette fonction fois à
partir d'un plan de classe situé ici dans notre
ThirdPersonCharacter, et d'un plan de niveau. Revenez donc directement dans votre
plan ThirdPersonCharacter. Et si vous avez oublié
où c'était, vous avez vécu quelque part
sous un rocher. Voici le chemin à suivre pour double-cliquer sur
ce type pour l'ouvrir. Maintenant, je l'ai ajouté à mon
graphique dans la dernière vidéo. Permettez-moi de le supprimer et de le rafraîchir ici savoir comment l'ajouter
à notre graphique ici, je vais cliquer avec le bouton droit de la souris
et un espace vide. Donc, à la recherche d'un nœud d'événement, car nous voulons
commencer par un événement F3. F3, je ne sais pas parce que je
me suis dit qu'il n'était pas utilisé. Maintenant,
nous pouvons
ajouter cette fonction
à notre graphique de plusieurs manières . Un moyen est de cliquer
avec le bouton droit sur un espace
vide
ici et de le rechercher. Modifier la santé, c'est
une façon de l'ajouter. Dans l'autre sens, laissez-moi
simplement
le supprimer en le glissant et en le déposant depuis notre section des fonctions ici. Faites glisser. Et si vous le déposez dans le volet
d'exécution juste ici, il va le connecter
tout de suite. Ensuite, nous allons simplement
en
sortir et ajouter un nœud de chaîne d'impression. Hein ? Et associons cela à notre état de santé
actuel à la chaîne juste pour vous rafraîchir, si vous double-cliquez sur votre nœud de
fonction ici. Eh bien, ce que nous faisons,
c'est encaisser une quantité de points de vie ou de dégâts. Nous allons ajouter cela
à notre état de santé actuel. Nous allons le
situer entre ces deux chiffres
et nous allons définir comme
notre nouvelle valeur de santé. Ensuite, nous allons
transmettre cela à
l' autre volet de
notre fonction ici. Dans ce cas, nous allons le
transmettre à partir de ce nœud. Remarquez l'état actuel, c'est-à-dire la broche de sortie de
notre fonction ici. Et nous allons simplement l'
imprimer à l'écran. De plus, nous devons coder
en dur le montant des soins ou des dégâts. Donc, nous allons
commencer par quel niveau de santé ? Eh bien, dans
notre état de santé modifié, ici, notre variable de santé. C'est ce que nous
allons commencer avec 1.0 points de vie. C'est la même chose que
ce que nous voyons dans le panneau My Blueprint avec cette variable de santé
sélectionnée 1.0. Alors, avec quoi
voulons-nous modifier cela ? Encore une fois, nous pouvons guérir ou endommager. Donc ce que je vais faire, c'est régler
ce montant à un montant dérisoire. Alors allons-y à 0,5. Et parce que nous voulons que
cela fasse des dégâts, faisons moins 0,5. Les chiffres négatifs vont donc faire des dégâts. Dans ce cas,
les chiffres positifs vont guérir. Très bien, compilons,
assurons-nous que notre script est bon. Jouez. Permettez-moi de définir mon débogage sur mon
ThirdPersonCharacter ici. Si j'appuie sur F3 ici, vous pouvez voir que cela réduit
notre santé de moitié. Et vous avez également vu 0,5 dans le coin
supérieur gauche ici. N'oubliez pas que notre variable santé est également
liée à notre
compteur de santé ici. Donc, si j'appuie
dessus encore une fois, vous verrez 0,0 et
maintenant nos compteurs de santé auront disparu. Maintenant, si j'appuie à nouveau sur F3, santé continuera
à afficher 0,0. Et c'est parce que dans ou si nous
modifions la fonction de santé, nous
plaçons cette modification de notre santé entre ces valeurs. Très bien, maintenant, juste
pour montrer que cette fonction peut soigner
et infliger des dégâts, modifions notre santé
d'origine. Modifiez la valeur de
santé d'origine pour qu'elle soit, nous allons dire des points. Nous allons donc
commencer avec seulement 20 % de santé. Ensuite, dans notre
graphique des événements, nous allons
modifier nos soins ou infliger des dégâts à MT. Disons qu'à chaque
fois que nous appelons cela, nous allons guérir de 10 %, 0,1. Très bien, donc ça
peut fonctionner dans les deux sens. De la façon dont nous avons cette configuration,
vous cliquez sur Jouer. Nous pouvons donc voir que nous
commençons avec 20 % de santé. J'appuie sur F 3.3, 40%,
50%, 6070809100. Et bien sûr, si j'
essayais de passer en revue cela, je ne peux pas, car en double-cliquant sur notre
fonction de modification de la santé ici, je passerai à ce graphique. Nous fixons notre valeur
de santé de 0 à 1. Très bien, nous avons donc prouvé
que vous pouvez appeler cette fonction depuis
le plan dans lequel elle
a été créée. Mais pouvez-vous l'appeler à
partir d'un autre plan ? Et bien sûr,
la réponse est oui, vous pouvez. Tant que vous avez
une référence à votre ThirdPersonCharacter
dans un autre plan, vous pouvez appeler cette fonction. Et pour le prouver,
nous allons
utiliser notre Level Blueprint. Vous êtes revenu à votre niveau ici. Et j'ai une petite configuration que vous pouvez
essayer de reproduire. Encore une fois, j'ai une
boîte de déclenchement placée dans mon niveau. Et comme vous l'avez vu
dans d'autres vidéos, j'ai défini l'étendue de la boîte à 200, 200, 200, l'
épaisseur du trait à dix. Et j'ai simplement caché l'
acteur et j'ai éteint le jeu. Dans la
section de rendu pour que je puisse voir ce volume de déclenchement. Ensuite, je
place simplement une particule de feu. Cela se trouve dans mon
contenu de départ, dans mon contexte de démarrage. Où se trouve le
dossier de particules, juste là. Un endroit qui se trouve au
milieu juste pour donner à toute
cette zone un aspect dangereux ? Et puis je l'ai simplement
redimensionnée dix fois. Ce
sera donc ma zone de danger. Et l'idée ici est
que lorsque mon personnage chevauche cela, ils sont endommagés. Alors allons-y, sélectionnez votre case de déclenchement et accédez
à votre plan de niveau. Donc, la première chose que
nous voulons faire, c'est que quelque chose se produise lorsque
nous nous recoupons. Nous allons donc cliquer avec le bouton droit sur Ajouter un
événement lorsque nous le chevauchons Et bien sûr, nous avons besoin d' une référence à notre personnage à la
troisième personne. Si vous cliquez avec le bouton droit de la souris
et que vous créez
un personnage, que vous essayez de le faire glisser
hors d'ici et trouver cette fonction de modification
de la santé. Tu vas te dire : «
Pourquoi je ne peux pas le trouver ? Si vous décochez la case
contextuelle, vous serez comme si c'était le cas. Dans la classe BP,
ThirdPersonCharacter. Oh, ça y est. Mais le problème est que vous
ne pouvez pas simplement vous connecter, faire entrer le personnage du joueur ici. C'est donc un problème. La façon dont vous pouvez obtenir
cette fonction de modification de la santé, laissez-moi la supprimer d'
ici, est par le biais du casting. Ou si notre
variable de référence de personnage se trouve ici. Si cela était réellement rempli, si nous avions des initialisations avec notre
personnage à la troisième personne à l'intérieur, nous pourrions trouver la fonction
Modifier la santé faisant glisser hors
de là également. Cependant, nous allons utiliser
le concept de casting ici. C'est une façon de
vérifier si, dans ce cas est
l'autre acteur c'est
l'autre acteur qui
chevauchait cette boîte de déclenchement. Alors sortons un personnage à la troisième personne ici et incrusté. Et si nous faisons cela, si nous vérifions
si l'autre acteur était l'objet qui
chevauchait la boîte de déclenchement, alors nous pouvons sortir
d'ici et trouver cette modification de la fonction de santé. Et si vous cochez la case contextuelle
comme je l'ai fait, et que tout à coup elle disparaît, effacez
simplement la
recherche traînée, tapez Modifier la santé, et vous la trouverez. Encore une fois. Une fois que vous avez une référence à
votre ThirdPersonCharacter, vous pouvez appeler toutes les fonctions
qui s'y trouvent. Vous pouvez référencer toutes les variables qui s'y trouvent, les
obtenir ou les définir. Vous pouvez même modifier n'importe lequel des composants de
l'une de leurs propriétés qui se trouvent
à l' intérieur de ce
ThirdPersonCharacter. Donc, obtenir une référence
à quelque chose est énorme. Très bien, dans ce cas,
voulons-nous soigner ou endommager notre personnage ? Je dirais qu'ils ont été endommagés. Passons donc à moins 0,1. Et cela devrait
suffire , car
nous allons voir notre compteur de santé diminuer. Compilons ceci. Permettez-moi de revenir dans mon
ThirdPersonCharacter. Assurez-vous de remettre
mon état de santé à une valeur de 11,0, 100 %. Et jouons. Je vais définir mon
objet de débogage ici pour qu'il s'agisse de la carte. Je fais revivre mon personnage. Nous
partons donc à 100 % de notre santé. Je recoupe le fait qu'il s'agit d'un volume de
déclenchement ici, d'un peu de son là aussi. À chaque fois. Encore une chose
avant de terminer cette vidéo. Dans la dernière vidéo, nous avons
parlé d'une option de transfert par référence au
sein de notre fonction. Et il faut que j'y revienne. Donc, pour
revenir à notre fonction, me
voici dans mon Level Blueprint. Je peux revenir à cette fonction
en double-cliquant dessus. Et remarquez qu'une fois que
je l'aurai fait, je passerai
à notre Level Blueprint. Double-cliquez sur notre plan
ThirdPersonCharacter où se trouve cette
fonction de modification de la santé. Et cela nous a ouvert l'onglet Modifier la
fonction de santé. Allez-y et sélectionnez votre fonction de modification de la santé
sur le côté gauche, ou vous pouvez également cliquer sur le nœud Modifier l'entrée de
santé. Et dans le
panneau Détails, vous pouvez voir que nous avons ajouté un talon ou endommagé l'entrée MT. Et cela équivaut à cette entrée que vous voyez sur
le nœud de fonction lui-même, vous êtes et mon
Event Graph qui
reviennent à l'onglet de fonction lui-même. Maintenant, cette passe par
référence dont nous avons commencé
à parler dans la dernière vidéo, quoi diable sert-elle ? Eh bien, visuellement parlant,
ce que vous allez voir se produire ici, c'est qu'une fois que
j'ai coché
cette case, cette
épingle de forme circulaire sera
maintenant remplacée par une épingle en forme de
diamant. Alors on y va. C'est maintenant
une épingle en forme de diamant. De plus, la
valeur par défaut est passée au revoir. Maintenant, si je compile ce Blueprint, vous remarquerez également que
quelque chose d'autre se compile, nous obtenons une erreur et il
va dire que
ce n'est pas valide, que nous devrions y avoir une
entrée connectée. Alors, de quoi parle-t-on ici ? Permettez-moi de revenir
à mon Event Graph parle de cette
zone ici en disant,
hé, vous avez besoin de quelque
chose de connecté là-dedans. Maintenant, si j'étais dans ma modification, comment fonctionne je suis comme pourquoi je n'
ai aucune idée de quoi
il s'agit. Il s'agit d'un lien. Vous pouvez
simplement cliquer dessus. Et cela vous permettra d'y accéder directement. Donc ça dit : « Hé, branchez
une variable dedans. Donc, pour le montrer, ce qui
passe par référence. Est-ce que j'ai besoin de modifier un
peu
notre fonction de modification de la santé. Et ce faisant, je vais changer notre valeur. Au lieu de passer à une échelle de 0 à 1, je vais temporairement casser notre compteur de santé, si vous voulez. Je dirais que nous
allons commencer avec une santé de dix. Imaginons que nous
ayons une échelle de santé allant de 0,02 à 100,0. D'accord, alors ce que je vais faire c'est
ajouter un peu de santé. Et encore une fois, je
vais utiliser une échelle de zéro à 100 au lieu de 01. Disons simplement que notre
santé s'ajoute, que
nous allons changer pour être, ajoutons une santé. Très bien, laisse-moi y aller
et brancher ça ici. Maintenant je vais voler. Je suis en quelque sorte en train
de suivre notre fonction d'aide modifiée. Permettez-moi de double-cliquer dessus. Encore une fois, nous disons
essentiellement : «
Hé, nous en branchons
un ici. Ensuite, nous allons ajouter cela
à notre santé actuelle, qui est de dix, et applaudissant entre zéro
et nous allons le fixer à 100. Nous pourrions alors en avoir 11. Et si nous appuyons à nouveau sur F3, nous nous attendrons à ce qu'il
passe à 12, et cetera. Mais nous allons
modifier encore une chose dans
notre fonction de
modification de la santé. Ce que
nous allons faire, c'est ajouter un nœud
par incréments à cela, faire glisser hors d'ici et
saisir des incréments. Nous allons
augmenter ce flotteur. Et je vais
reconfigurer les choses un
peu ici, en maintenant la touche Ctrl
enfoncée, cliquant avec le bouton gauche de la souris et en
faisant glisser les choses comme ça. Nous allons prendre
le résultat
et l' intégrer à cela. Et branchez-le là-dedans. Oups, je l'ai raté
, comme un portable. Et maintenant, notre fonction
ressemble à ceci. Donc, si je compile ici, qu'est-ce qu'il se passe ? Eh bien, essentiellement, ce que nous
avons en train
de faire, c'est ajouter une santé. Cela est
intégré à notre fonction. En ajoutant une santé, nous incrémentons
ce nombre ici. Et si nous le survolons, il indique qu'il va en ajouter
un à la valeur spécifiée, puis il va le définir. Donc, au lieu que la prochaine fois qu'AS
augmente notre santé, qu'
elle soit
une, elle en sera deux. Et puis la prochaine fois
, ce sera trois, et ainsi de suite. Pour en revenir à notre graphique des événements, nous devrions voir cela se refléter
dans notre chaîne d'impression. Encore une fois, ce
compteur ne servira à rien. Alors allons-y et jouons un rôle en disant que nous avons cet air également dans notre plan de
niveau. Allez-y et cliquez sur
cette carte de test de niveau. Si vous cliquez dessus, c'est
parce que nous n'avons
rien branché ici, je vais le
désactiver temporairement. Oui. Partout où vous l'avez, il vous criera
dessus et vous dira : «
Hé, vous avez besoin de quelque chose
branché sur cette entrée. Très bien, jouons à ça. Donc, en appuyant sur la touche F3, nous avons maintenant 12 points de
santé, 15 , santé, 19, santé, 24, santé. Et vous pouvez voir qu'il continue d'en ajouter un à la quantité qu'
il ajoute à chaque fois. Maintenant que ça
a commencé à 12 heures, laisse-moi jouer encore
une fois. Encore une fois. Nous commençons à dix points de vie plutôt
que d'en ajouter un ou nous pensons en ajouter un
sauf que nous allons 10 à 12. Et la raison en
est que, ici
même, nous prenons cette valeur nous prenons cette valeur et nous l'
incrémentons immédiatement. Et ce faisant, il s'agit d'
une référence directe, comme
il s'agit d'
une référence directe,
nous incrémentons également
cette variable. Rappelez-vous que dans la
dernière vidéo que j'ai dite en faisant cette passe
par référence, partout où vous vous êtes
connecté à cette passe par référence. Et vous n'
obtenez pas seulement cette valeur, vous la définissez également
immédiatement. Donc, même si cela
commence comme un, chaque fois que vous
passez par ici, il en incrémente un. Donc 234, et cetera, et cetera. Une petite
nuance sur laquelle j'ai passé trop de temps. Très bien,
vous y êtes, les gars. C'est appeler des fonctions. Vous pouvez les appeler depuis le plan dans lequel vous les avez
créés ou
depuis d'autres plans. Tant que vous avez une référence au plan dans
lequel ils ont été créés. Les gars, je vais vous proposer celui-ci. Rendez-vous dans la prochaine.
61. Effondrer à la fonction: Très bien, bon retour à tous. Dans cette vidéo, nous allons apprendre
à transformer un réseau de nœuds existant à l'intérieur d'un plan
en fonction. C'est ce que l'on appelle
la réduction à une fonction. Maintenant, c'est une astuce super pratique. Chaque fois que vous dupliquez une sélection de nœuds dans différentes
parties de votre graphe. Donc, au lieu de faire
cela, nous pourrions simplement transformer ces notes en
fonction, puis appeler cette fonction quand
et où vous le souhaitez. Donc, actuellement, je suis à l'intérieur
de mon exemple de pick-up BP. Et disons par exemple que je vais cliquer dessus avec le bouton gauche de la souris
et le faire glisser. Nous dupliquons ce
bout de script encore
et encore dans différentes parties de notre graphique pour quelque raison que ce soit. Au lieu de
copier-coller ces nœuds, nous pouvons tous les mettre en évidence
comme je l'ai fait ici. Ensuite, vous pouvez cliquer avec le bouton droit
sur l'un de vos nœuds surlignés, puis cliquer avec le bouton droit sur le menu, vous pouvez le réduire pour fonctionner. C'est le sujet de cette
vidéo. Je vais vous le démontrer
brièvement ici, même si ce n'est pas là que j'ai intention de suivre
avec cette vidéo. Je vais donc réduire
cela à une fonction. Notez que lorsque je le fais,
j'ai regroupé tous ces nœuds en
une seule fonction. Sur le
côté droit, il est écrit : comment voulez-vous
nommer cette fonction ? Je vais juste le laisser
comme tel temporairement. Je vais donc appuyer sur Entrée ici. Et si je plonge dans
cette fonction, il y a tous les nœuds qui ont créé une fonction à partir
de tous ces nœuds. Et l'avantage
est que nous pouvons simplement le
glisser-déposer dans d'autres parties de notre
graphe et l'utiliser
comme nous le ferions si nous copiions et
collions tous ces nœuds. C'est donc l'avantage de cela. Encore une fois,
ce n'est pas exactement là que j'avais l'intention de le faire. Alors laissez-moi contrôler
Z ici plusieurs fois et le remettre
à son état d'origine. Je vais compiler et le
dire encore une fois. Et passons à la création d' une toute nouvelle
classe Blueprint ici. Pour le démontrer, je
vais cliquer avec le bouton droit de la souris et ajouter de l'espace vide à l'intérieur
d'un dossier Blueprints. Je renomme ce dossier
entre les vidéos de l'acteur BP en plans parce
que ce ne sera pas
un plan d'acteur. avec le bouton droit sur la classe
Blueprint. Et la classe Blueprint que nous
allons créer ici est une recherche de tremblement de caméra dans la
section Toutes les classes sous Camera Shake. Et nous recherchons une base
Camera Shake. Ensuite, nous allons
cliquer sur Sélectionner en bas pour créer ceci.
Donnons-lui un nom. Je vais appeler cela BP
underscore, camera shake. Très bien, alors double-cliquez
dessus pour l'ouvrir. Bref, ce que cette classe
parent de base de Camera Shake nous permet de
faire , c'est de
spécifier certains paramètres de
tremblement de caméra. Je me rends compte qu'il y a un graphique de mon
plan ici. Il existe un graphique
des événements et tout ce type de jazz est conforme aux
autres plans. Mais le cœur d'une classe mère de tremblement de
caméra est que vous pouvez spécifier certains paramètres de tremblement de
caméra, puis nous pouvons lire ces paramètres de tremblement de
caméra. Donc, ce que nous allons
faire ici, dans le panneau Détails, c'est
sous root, shake, param, cliquez sur ce petit menu déroulant, et nous voulons le définir sur le schéma de tremblement de caméra de l'
oscillateur d'ondes . Une fois que nous l'avons fait, nous pouvons cliquer dessus
sous forme de liste déroulante. Et j'ai
défini certains paramètres à l'avance pour
des raisons de temps. Entrez en dessous de ces paramètres de
champ de vision F0 v. Ouvre-le plusieurs fois. Nous voulons régler notre amplitude à cinq et notre fréquence à cinq. Et le type de
décalage initial sera défini sur aléatoire. Plus tard, vous pourrez jouer
avec ces paramètres, mais
je vous suggère de jouer ou de jouer le jeu à la maison. Vous pouvez donc voir à
quel point cela fait. Et plus tard,
vous pourrez revenir en arrière jouer avec elle et voir à quel point des
valeurs différentes bouleversent les choses. Dans la catégorie de chronométrage, nous allons définir une durée
de 0,5 demi-seconde. Aaron est le temps
d'entrée et la fin du mélange. Nous allons définir une valeur de
0,2, 5,0, 0,25. Génial. Allez-y, gardez ça, et nous allons
passer à notre personnage à la troisième personne. Revenons donc
à notre navigateur de contenu. Plans de personnages à la troisième personne. Double-cliquez sur votre
ThirdPersonCharacter pour l'ouvrir. Nous allons maintenant
passer à notre graphique des événements. Nous n'avons donc plus besoin de cette fonction
de modification de la santé. Et dans notre événement, les graphlets
trouvent de l'espace vide. Nous avons besoin d'une contribution à l'événement ici. Donc un événement d'entrée, allons-y F. Eh bien, bien sûr, F2 semble être un
bon événement d'entrée aléatoire. Et pour proposer cela, nous allons
faire glisser et saisir
un nœud de fonction appelé
Play World Camera Shake. Ici, avec ce
nœud de fonction, regardez ça. C'est un bleu, il est noté que c'
est un nœud de fonction. Nous pouvons spécifier une classe. Et c'est là qu'intervient
notre tremblement de caméra B P, car si nous cliquons sur ce menu déroulant. Nous pouvons intégrer les paramètres de
tremblement de l'appareil photo que nous venons de configurer dans notre plan de
tremblement de caméra, ce qui est très pratique. Nous devons maintenant
spécifier un épicentre. C'est-à-dire, sur quoi voulons-nous
baser ce
tremblement de caméra, par exemple, quel est l'épicentre ? Tu sais à quel point les tremblements de terre
ont un épicentre ? Eh bien, les tremblements de caméra ont également besoin d'un épicentre défini
pour eux. Pour cela, nous allons
dire : « Hey, basons-nous
sur les composants de la capsule. C'est-à-dire que les
composants de cette capsule entourent
notre personnage. Basons-le autour
de ça, non ? Nous avons donc les composants d'une
capsule. Faisons-le glisser et déposez-le dans le graphique, pour obtenir
une référence à eux. Sortons de cela en
tapant encore la localisation du monde. Cela renverra les valeurs de coordonnées x, y et z. Nous allons donc dire que
c'est notre épicentre essentiellement en plein milieu
de notre composante capital. Maintenant, nous devons spécifier
un rayon extérieur ici, essentiellement à partir de l'épicentre, jusqu'où se situe le tremblement de sa
caméra ? Asseyons-nous. 500 est notre rayon extérieur. Tant que notre caméra
se trouve à l'intérieur
de ce rayon,
ce qui devrait être le cas si vous avez laissé les paramètres de
votre caméra par défaut. Mais tu peux jouer
avec ça, tu peux étendre si tu veux
aller un peu plus loin. Alors, ce qu'on va
faire, c'est s'en sortir. Et je vais introduire un nœud appelé spawn sound attach. Maintenant, nous
pouvons simplement générer un son ici, mais juste pour montrer certaines fonctionnalités
différentes, nous allons générer un
son et ensuite l'attacher. attacher où ? Eh bien, nous allons
l'attacher à notre composant capsule ici. Encore une fois, je sais que nous
n'avons pas à le faire. Nous pourrions simplement émettre un son, mais allons-y, faire
apparaître et attacher ce son. Quel son voulons-nous ici ? Allons-y par une explosion, tapez explosion a
à l'explosion Q. Bien que chacune d'
entre elles fonctionne très bien. Et en faisant
un petit zoom arrière ici. Allons-en et créons un émetteur de
spawn à l'emplacement. C'est l'ancien système de particules. Si vous souhaitez utiliser un système de particules
Niagara, vous pouvez créer un
système d'apparition sur place. Si je
fais Spawn Emitter, c'est parce que je sais que j'ai l'
effet de particules d'explosion juste ici. Mais encore une fois, vous pouvez également l'utiliser dans système de particules
Niagara. Et en fait, je ne
voulais pas faire d'
émetteur de spawn à l'endroit où je suis de ma faute, faisons un
émetteur de spawn attaché. Encore une fois, juste pour
montrer le milieu de génération ou l'attacher, nous pouvons utiliser
différents nœuds de fonction ici. Enfoncez-vous dans cette explosion. Ça y est. Où voulons-nous
attacher cette explosion ? Eh bien, je peux étendre cela à partir de mon composant capsule comme ça. Double-cliquez sur ce fil
pour faire apparaître un nœud de reroutage. Et cela devrait
à peu près suffire. Maintenant, ces trois
nœuds de fonction sont quelque chose que je transformerais en
sa propre fonction. Je les réduirais
en une fonction. Oui, vous pouvez faire en sorte que
des fonctions en constituent une autre. Et la raison pour laquelle je
dirais que ces trois éléments
sont valables pour
remplir leur propre fonction. Parce qu'il y a un tas
d'effets juste là. Essentiellement,
un peu comme les effets de dégâts d'un joueur. Tu vas jouer
un camera shake. Vous allez avoir
un son d'explosion et vous allez jouer des effets de particules d'
explosion. Ils vont donc tous ensemble. Il est logique de les regrouper
dans un seul nœud. Maintenant, quand nous nous
réduirons à une fonction, je vais laisser de côté ces deux éléments et vous verrez pourquoi
dans un petit moment ici. Je vais donc cliquer avec le bouton gauche de la
souris pour surligner uniquement
ces trois nœuds. Ensuite, je vais cliquer avec le bouton droit
sur l'un d'entre eux et je vais m'effondrer
pour fonctionner. Cela va donc introduire
un nœud de fonction comme
celui-ci en tant que nouvelle fonction. Et donnons-lui un nouveau nom. Donc, dans la zone des fonctions où cela a été créé pour nous, appuyons sur F2 là-dessus, et j'appellerai cela
simplement les dégâts du joueur. Joueur endommagé f x. Cela semble plutôt bon. Vous pouvez maintenant voir sur
le côté droit que nos entrées sont déjà créées
pour ce nœud de fonction, mais nous en avons
quelques-unes qui sont redondantes. Je peux donc simplifier un peu
cela. Permettez-moi donc de développer un peu
mon panneau de détails
ici. Je me suis attaché au composant et j'ai attaché un composant aussi. Mais ils se fixent
aux mêmes composants. Je peux donc
éliminer l'un d'entre eux. Ça fera très bien l'affaire. Maintenant, tu vas avoir ce
fil rouge et ça va
avoir l'air hideux. Il suffit donc de cliquer dessus avec le bouton droit la souris, d'
actualiser le nœud,
il s'en débarrassera. On peut se débarrasser de
ce type ici. Si vous le souhaitez, vous pouvez
renommer vos entrées mais épicentre et attachées
au composant ou très bien, je pourrais le supprimer, vous savez, simplifier un peu plus, faire en sorte que cela ressemble un
peu plus
nettoyeur. Quelque chose comme ça. Si je plonge dans ce
nœud de fonction, remarquez ce qui se passe. J'ai les composants de ma capsule. L'emplacement mondial de la composante
catholique et son intégration dans la partie
saisie de ma fonction. Dans le cadre de mon bureau. Ils sont
transmis comme l'épicentre et les deux composants attachés à ce son et à l'émetteur. Maintenant, il s'en débarrassé parce que j'ai supprimé
cette entrée inférieure, les deux composants attachés en fait besoin de
câbler cette sauvegarde. Mais encore une fois, le même élément
attaché au composant fonctionne
pour les deux. Vous pouvez donc ajouter des nœuds de
reroutage ici pour nettoyer tout cela, comme ça. Et en fait, je
vais faire comme ça, maintenir la touche Alt
enfoncée, cliquer avec le bouton gauche de la souris. Il s'agit d'une configuration valide comme celle-ci. Très bien, compilez et sauvegardez ceci. Pour en revenir à mon graphique d'événements, qui est beau et net.
Allons-y, jouons
et voyons à quoi cela ressemble. Je peux donc
courir ici. En fait, laissez-moi définir
mon option de débogage mon personnage pour que vous
puissiez le voir se déclencher. D'accord, donc en appuyant sur F2, boum, vous avez vu l'appareil photo trembler un
tout petit
peu, un petit effet de zoom. Je peux donc me déplacer
et appuyer sur F2. Et maintenant, si vous
le souhaitez,
vous pouvez
revenir à la fonction que vous venez de créer ici. Tu pourrais changer ton son, tu pourrais changer
ton explosion. Allons-y avec Flamme
pour le moment, non ? Flamme, lance-flammes. En fait, pas un lance-flammes. Je veux allumer des feux. Celui que je veux faire
avec quelque chose comme un feu au lieu d'une explosion
en cliquant sur Play here. Lorsque vous appuyez sur F2. La raison pour laquelle j'ai choisi les feux, parce que souvenez-vous de ce
que
nous faisions avec ce nœud de
fonction particulier, c'est que nous répondions à cet émetteur
et que nous le connections. C'est donc la
différence entre
simplement générer un son et générer
un son et l'attacher. Je voulais le
montrer juste pour montrer un petit plus. Très bien, revenons à notre graphique des
événements, ce que vous pourriez faire si
vous ne vouliez pas et
ne vouliez pas que tout cela reste
réduit à une fonction. Vous pouvez cliquer dessus avec le bouton droit de la souris et étendre
le nœud de cette manière. Et ensuite, ça te ramènera
là où tu avais des choses. Tu voulais voir ce qu'
il y avait à l'intérieur. Je vais juste appuyer sur
Control Z pour l'annuler
parce que j'aime que tout soit
réduit à une fonction. Maintenant, juste quelques
points que je voulais
mentionner avant de terminer cette vidéo, permettez-moi de revenir à la fonction endommagée de
mon lecteur ici. Je vais sélectionner ces nœuds, contrôle C et le contrôle V. Vous ne pouvez pas, vous ne pouvez pas avoir de nœud latent dans un
effondrement de la fonction. Ce qui va se passer est
irréel, je vais te crier dessus. Donc, si c'est le cas, j'apporte
un nœud de retard, en
maintenant le clic gauche enfoncé. Disons que je
voulais
les regrouper tous les quatre
en une fonction. Je vais
les surligner avec le bouton droit de la souris, Réduire pour fonctionner. Il va me crier dessus
et me dire : « Nous ne pouvons pas le faire ». Afficher le journal des messages. Montrons le message en
long et il dit : « Hé, délai ne peut pas être placé
dans le graphe des fonctions ». De même, si je
supprime le délai, introduisons un nœud d'événement. Faisons un Fight. Bien sûr. Essayez d'introduire un
événement d'entrée ou tout autre événement dans votre fonction, comme ceci, cliquez avec le bouton droit sur
Collapse to function. Vous allez également recevoir
un autre message disant : «
Hé, vous ne pouvez pas non plus y avoir de nœud d'
événement ». Donc, juste pour votre information, lorsque vous
essayez de vous effondrer pour fonctionner. Alors les gars, vous y êtes. Réduire à la fonction, vivement recommandé s'il s'
agit d'un ensemble de nœuds qui se rejoignent et qu'il s'agit simplement d'un
script que vous répétez encore et encore dans différentes parties de votre graphique car cela
suffira pour vous proposer celui-ci, nous vous verrons dans le prochain.
62. Fonctions pures et impures: Bonjour et bon retour. Dans cette vidéo, notre objectif
est de repérer et de comprendre les différences entre les fonctions pures
et impures. Nous montrerons également comment vous
pouvez désigner cela pour rendre une fonction
pure ou impure. Maintenant, pour faciliter
cette discussion, je vais travailler à l'intérieur
de mon personnage à la troisième personne. Donc, si vous voulez
jouer le jeu à la maison, je suggère que vous l'ayez fait. Et encore une fois, vous
pouvez accéder à votre personnage ThirdPersonCharacter
en
passant sous ce répertoire et en double-cliquant sur votre personnage à la
troisième personne. Très bien, parlons de
quelques différences entre nos fonctions pures et
impures. Eh bien, pour commencer,
parlons des fonctions pures. Ce sont les fonctions de
couleur verte et voici quelques
exemples juste ici. Elles sont généralement utilisées comme des fonctions
getter qui
ne font que générer des données. C'est donc l'une des clés
aux fonctions pures. Ils n'ont aucune épingle
d'exécution à l'entrée ou à la sortie. Donc, si vous remarquez notre
dette multipliée par les secondes, nous allons simplement afficher
notre temps en secondes pour obtenir l'emplacement réel, nous
allons simplement générer la somme des coordonnées x, y et z. Il n'est pas nécessaire d'exécuter des
pins d'entrée ou de sortie pour obtenir la valeur, dans ce cas, de notre
position ou de notre heure réelles en secondes. Maintenant, quand fonctionnent-ils ? Puisque nous n'avons pas de
broches d'exécution qui
les traversent du côté de l'entrée
ou du côté de la sortie. Quand courent-ils ? Eh bien, ils s'exécutent lorsque la valeur de
retour est utilisée. Donc, juste pour le démontrer, j'ai un événement
qui va enlever chaque image. Nous l'avons connecté à un nœud de
fonction impure d'une chaîne d'impression. Branchons-le ici. Une valeur flottante dans une chaîne. Il va convertir
ce float en chaîne. Et ce qui se passera
ici,
c'est que chaque image se déclenchera jusqu'à
ce que cette chaîne d'impression imprime
quelque chose à l'écran. Quand ce sera le cas, il
reviendra par ici pour obtenir
notre temps en quelques secondes. Cela s'exécute, il s'exécute lorsque sa valeur de retour est appelée. Alors
laisse-moi jouer ici. Vous pouvez voir comment cela nous permet de
gagner du temps de jeu en quelques secondes et cela compte
à partir du moment où nous avons commencé à jouer. Une autre chose à noter à propos fonctions
pures est qu'
elles promettent de ne pas
modifier l'état ou les membres d'une classe cible de quelque manière que ce soit. Dans notre exemple, voici notre emplacement pour trouver un acteur. La cible ici est un acteur. Et parce que nous sommes à l'intérieur de notre plan de
personnage à la troisième personne, la cible ici étant soi, serait notre
ThirdPersonCharacter. Ce que vous remarquerez avec ce nœud de fonction pure, c'est qu'il ne changera pas du tout
l'état de cet acteur. Il va simplement renvoyer l'emplacement de notre
ThirdPersonCharacter. Comparez cela avec notre fonction
impure de localisation de l'acteur de scène. Non, celui-ci bleu. Celui-ci peut changer l'
état de notre cible, de
notre acteur ou de notre
personnage à la troisième personne ici. Et il peut changer l'état
en changeant son emplacement. C'est donc aussi l'une
des principales différences. Donc, avec une fonction pure, vous posez une question, quel est le lieu de travail d'un acteur, par exemple et vous obtenez une réponse et une position
XYZ dans ce cas. Maintenant, juste pour montrer certaines de ces fonctions pures en produisant certaines données demandées. Vous avez déjà vu les
utilisateurs gagner du temps en quelques secondes. Laissez-moi simplement le
brancher, obtenir l'emplacement réel. Encore une fois, cela va
déclencher chaque image. Et comme je vais
me déplacer, vous allez
voir cette mise à jour. Obtenir la localisation de mon acteur,
le ThirdPersonCharacter. Ce sont les coordonnées où se trouve le ThirdPersonCharacter actuellement
le ThirdPersonCharacter
dans le monde. Ensuite, je pourrais simplement sortir le nom d'affichage
de notre manette de lecteur. Comme ça. Encore une fois, notre
manette de jeu est un peu comme les cordes de marionnettes qui contrôlent
notre mannequin ici même. La manette du lecteur
, à titre de rappel ici, est configurée dans les paramètres de votre
projet. C'est un peu une
tangente sous les cartes et les modes. Donc, la manette de jeu que nous
avons configurée dans nos cartes et
modes et dans les paramètres
du projet est cette manette de lecteur BP. Il s'agissait donc simplement de
sortir ce nom. Encore une fois, avec une pure fonction, vous posez une question. Ce qu'est un acteur,
c'est le lieu, par exemple, et vous obtenez une réponse. Et maintenant, nous tournons notre attention
vers les fonctions impures, c'est-à-dire les fonctions de
couleur bleue. Une chose que vous remarquerez
à leur sujet, c'est qu'ils ont une exécution en épingles et en épingles. Et cela signifie que comme ils
ont une exécution en broche, vous devez l'exécuter explicitement en y
connectant un fil. Que vous ayez
quelque chose qui sort de
l'autre côté ou non , c'est
totalement facultatif. Mais
pour que cela fonctionne, faut qu'un
fil y passe. Une autre différence entre
une fonction impure et une fonction pure. Et je viens de le découvrir il y a un
instant, savoir qu'une
fonction impure peut mais n' pas à modifier
l'état d'une classe. Donc, dans le cas de l'emplacement de notre acteur de
plateau ici, cela pourrait modifier l'état. Parmi notre cible, nous
sommes ThirdPersonCharacter, et cela modifierait notre état en lui donnant un nouvel emplacement. Encore une fois, cette fonction
est impure car elle modifie l'état qui est
l'emplacement de la classe. Dans ce cas, notre personnage à la
troisième personne dans le monde. Maintenant, la question qui se
pose est la comment les rendre
pures ou impures ? Comment désignez-vous cela ? Eh bien, avec la fonction, sélectionnez-la ici et
je vais sélectionner notre fonction Player Damage FX. Si vous la sélectionnez
dans le panneau Détails, vous avez une case
à cocher
indiquant s'il s'agit d' une fonction impure ou d'
une fonction pure par défaut Si je fais glisser et déposez cette fonction, vous pouvez la voir comme de couleur bleue. C'est une fonction impure. Cependant, si je
devais cocher cette case, je pourrais en faire
une pure fonction. C'est donc la version impure. Permettez-moi de le dupliquer rapidement que je fasse un clic droit
sur ce lecteur. Les dommages affectent la fonction. Je vais le dupliquer. Control D est le
raccourci clavier pour cela. Et je vais appeler
ce joueur un effet endommagé. Et je vais
mettre un espace ici et dire que c'est pur. D'accord, et vous pouvez voir qu'il a
ouvert un tout nouvel onglet ici. Ce que je vais faire, c'est qu'avec
cette fonction sélectionnée, je vais sélectionner l'
option pure juste ici. OK ? apparaît donc maintenant que rien ne s' est passé ici, dans notre graphe de
fonctions lui-même. pourrais terminer, mais je vais revenir
à notre graphique des événements ici et glisser-déposer ce type
dans le graphique. Encore une fois, les fonctions pures sont vertes alors que nos
fonctions impures sont bleues. Notez que celle-ci n'a pas broches
d'exécution de chaque côté, contrairement à la
fonction impure. Maintenant, cette fonction
ici ne nous est d'aucune utilité telle que nous l'avons
conçue parce que nous n'avons aucun moyen de l'appeler. Et il ne produit
aucun type de données. Ce n'est donc pas une bonne fonction à transformer en une fonction pure. On ne sert
à rien dans ce forum. Je vais donc le supprimer. En fait, je vais supprimer cette fonction, je n'en ai pas besoin. Et je vais
essayer de donner un exemple où cela
pourrait avoir du sens. Pour que cela soit
démontré, je vais dupliquer
notre
fonction de modification de la santé ici même. Si nous allons
modifier notre fonction de santé ici, c'est parce que vous vous
souvenez qu'à l'intérieur d'ici, laissez-moi simplement
double-cliquer dessus. Nous rendions une valeur. Il pourrait donc s'agir d'un
candidat pour lequel nous
voudrions peut-être en faire une pure fonction. Mais je ne vais pas
détruire celui-ci. Je vais simplement
cliquer dessus avec le bouton droit de la souris. Et nous allons le dupliquer
et je l'appellerai « Modifier la santé » moins. Et ce que je vais faire ici est terminé dans
le panneau Détails, cochez cette case pour que tout soit pur. Je vais également modifier quelques
éléments à ce sujet. Maintenant, j'ai cette configuration pour la transmettre par référence
dans la vidéo précédente. Je vais décocher cela
et je vais juste
simplifier un peu ce graphique
ici. Je vais donc me débarrasser de ce nœud
d'incrémentation comme ça. Je vais le brancher
à notre agence. Nous allons prendre notre
talon ou une montagne endommagée, branchez-la ici. Tout ça a l'air bien. Juste ici. Nous allons le
brancher ici et nous allons en
quelque
sorte nous remettre en arrière par rapport à ce que nous avions à l'origine. Ce sera donc
notre pure fonction. air bien compilé à ça. Revenons à
notre graphique des événements. Et allons-y, j'ai ma clé F2 juste ici. Je vais juste voler
ce nœud d'événement juste ici. Ce que je vais faire, c'est
intégrer notre fonction pure, pure et pure de modification de la santé, comme ça. Et remarquez qu'il
n'y a pas de broches d'entrée, de broches
d'exécution ou de sortie. Et je vais imprimer une chaîne. Je vais donc voler
ce nœud de chaîne d'impression. Il est déjà là. Lorsque j'appuie sur F2, je vais imprimer quelque chose à l'écran. Je vais le brancher, vais convertir ma santé
actuelle en une chaîne. Et cela va
modifier certains états de santé. Je dois lui donner une certaine quantité de
santé ou de dégâts que
nous voulons modifier. Allons donc vous aider à ajouter. Ce paramètre est actuellement défini sur un. Quel est notre état de santé actuel ? Il est dix heures. Donc c'est très bien.
Laisse-moi ajouter ma santé. Je vais l'
intégrer à leur compilation. Oups, c'est pas ce que je
voulais faire. Allons-y et jouons ici. Et je ne transporte
pas du tout le compteur ce moment, ça ne m'intéresse pas vraiment
. Je
m'occupe donc de l'impression que nous allons voir
à l'écran. Donc, en appuyant sur F2, regardez
exactement où se trouve
le curseur de ma souris, 11121314. Encore une fois, cela est configuré pour simplement afficher notre état de santé
actuel. Nous n'avons pas besoin d'effectuer des virements en cours
d'exécution à l'intérieur ou à l'extérieur. Cela simplifie donc quelque peu
notre graphique. Et en fait, c'est
l'une des raisons pour
lesquelles vous voudriez
utiliser une fonction pure. Cela rend simplement un graphique
plus facile et plus clair à lire. Vous avez moins de
fils d'exécution à raccorder. De plus, ils renvoient toujours les mêmes résultats prévisibles
tant que toutes les entrées, dans ce cas, notre santé à ajouter, sont les mêmes, vous obtiendrez le même résultat prévisible. Mais c'est la principale raison
d'utiliser une fonction pure plutôt qu'une impureté. La principale raison pour laquelle
vous voudriez en
convertir une en une fonction
pure est avantages du
compilateur,
qui garantissent un code
plus optimisé en arrière-plan. Je ne vais pas vous ennuyer
avec les détails, mais vous pouvez les consulter
en ligne si vous voulez des détails juteux et ennuyeux. Très bien les gars, ça va
suffire pour offrir celui-ci, la différence est entre les fonctions
pures et impures. Rendez-vous dans la vidéo suivante.
63. Bibliothèque de fonctions: Bonjour et bienvenue à tous. Eh bien, jusqu'à présent, dans
notre discussion sur les fonctions, nous avons appris à créer certaines fonctions à l'intérieur
d'un plan. Et c'est très bien
si vous avez une référence au plan dans lequel
la fonction a été créée. Cependant, que faire
si vous souhaitez créer une fonction et la rendre accessible dans tous
vos plans ? Que pouvez-vous faire alors ? Vous ne souhaitez pas avoir de référence
spécifique
à un plan. Vous voulez juste en
faire une
fonction d'utilisation générale disponible n'importe où. Eh bien, dans ce cas,
vous voulez créer ce que l'on appelle
une bibliothèque de fonctions. Notre objectif dans celui-ci est
d'apprendre à le faire dans ce qu'est une
bibliothèque de fonctions. La bibliothèque de fonctions permet
de stocker des fonctions qui peuvent être accessibles
à partir de n'importe quel autre plan. Très bien, de retour ici dans
notre navigateur de contenu, allons-y et créons
notre bibliothèque de fonctions. Et je pense qu'un dossier
Blueprints dans
la catégorie des scripts
aurait du sens pour nous. Nous allons donc cliquer
dessus avec le bouton droit sur un espace vide. Dans la catégorie des plans, nous avons cette entrée
volante, dans le menu déroulant. Il dit bibliothèque de
fonctions de plan. C'est celle que nous voulons
poursuivre et cliquer dessus. Donnons-lui un nom. Je vais appeler cela mes fonctions de
soulignement et je vais le mettre en
majuscules juste pour rendre très odieux. Ensuite, je vais double-cliquer
dessus pour l'ouvrir. Maintenant, une fois que nous aurons fait
cela, il nous sera demandé de
créer une fonction immédiatement. Et il y a un onglet avec ce nom
correspondant tout de suite. Pour nous, je vais appeler
cette fonction que nous sommes sur le point de
créer un matériau maillé modifié. Et cette fonction fonctionnera
exactement comme son nom l'indique. Maintenant, je vais ajouter quelques
entrées à notre nœud d'entrée ici afin que nous puissions le sélectionner ou sélectionner la fonction elle-même vous
permettra de les faire. Donc, la première entrée
que je vais
ajouter sera appelée acteur. Et nous allons changer
le type d'entrée ici pour devenir simplement un acteur. Donc, sous les types d'objets, j'ai simplement fait une
recherche sur un acteur. Sous Types d'objets, acteur, nous voulons une référence d'
objet acteur. Ensuite, notre deuxième
contribution que nous voulons ici, créer une
autre, sera appelée matière. Et nous allons
modifier ce type pour qu'il s' agisse simplement d'un type de matériau. Et sous le
matériau des types d'objets dans le menu déroulant, nous allons le remplacer par une référence
d'objet. D'accord, donc ce
seront nos deux entrées. Nous allons avoir
une sortie ici. Je vais donc cliquer sur
ce bouton plus. Ce faisant, nous ajoutons immédiatement un nœud de
retour. Appelons cette sortie un point d'interrogation sur le changement
réussi. Ensuite, nous allons lui donner un
type de booléen. Nous allons donc indiquer à
l' autre extrémité de ce nœud de
fonction si
nous avons réussi ou non à modifier
le matériau de notre maillage. Donc, créez un
peu d'espace ici nous allons ajouter
des nœuds entre les deux. La première chose que
nous allons faire est de
casser ce fil ici. Je vais maintenir la touche Alt
enfoncée et cliquer avec le bouton gauche. Nous allons nous éloigner de notre contribution d'acteur
et nous allons
découvrir si notre acteur est
un acteur à maillage statique. Nous allons donc choisir l'acteur
de Static Mesh. Donc, en
posant essentiellement la question, hé acteur que nous
connectons à ce nœud de fonction, êtes-vous un acteur de maillage statique ? Et si c'est le cas, nous voulons faire
quelque chose et sinon, nous voulons faire autre chose. Maintenant, la chose
que nous voulons faire, tout d'abord, c'est changer
une variable pour savoir si
elle sera vraie ou
fausse en fonction de l'
échec de cette distribution ou de la véracité du fait qu'il s' agit d'un acteur de maillage statique. Nous devons donc créer
une variable ici. Nous avons une section
appelée variables locales. Maintenant, nous allons parler
davantage de ce qu' est
une variable locale dans la vidéo suivante, beaucoup plus dans la vidéo suivante. Alors jouez le jeu dès
maintenant et nous verrons ensuite les différences entre
les variables
locales et les variables de classe. Dans la vidéo suivante, nous allons
créer une variable ici, une variable locale. C'est ce que l'on
appellera le succès. Complet, changez de point d'interrogation. Et j'ai appuyé sur la mauvaise touche. Alors laisse-moi essayer à nouveau. Succès. Je vais juste appeler ça un point d'
interrogation sur le changement de réussite ,
c'est suffisant. Et je vais glisser-déposer ça en plus de cela, je vais mettre une épingle d'exécution, glisser-déposer sur
le casting qui a échoué. Nous le voulons deux fois. Donc, s'il s'agit en fait d'un acteur à maillage statique, il tournera à partir de ce fil d'exécution de l'
exposition. Et nous allons
dire que oui, le succès, nous l'avons changé avec succès. Et s'il a échoué,
nous allons dire non,
nous n' avons pas réussi à
le changer. Donc ça va être réglé sur faux. Ensuite, nous allons simplement
sortir d'ici et taper Play Sound 2D. Nous allons émettre un effet sonore
de confirmation sonore
ou un effet sonore d'échec. Car là-haut, s'il
réussit à changer, nous appellerons la compilation de
sons un succès. C'est celle que nous recherchons. Celui-ci se trouve dans les dossiers
du moteur. Donc, si vous ne voyez pas que
vous jouez le jeu, vous pouvez cliquer sur ce
petit équipement activer le contenu de votre moteur. Nous allons donc émettre ce son
en appuyant sur Control C, Control V pour
le coller ici. Si ce casting échoue, nous allons
échouer, la compilation échouera. L'un ou l'autre
fera très bien l'affaire. Ensuite, nous devons faire un
peu de travail ici. Donc, ce que nous voulons faire
ici, c'est utiliser notre acteur Static Mesh
et rechercher les composants
du maillage statique. Les acteurs Static Mesh sont donc constitués d'un composant de
maillage statique. C'est ce qui fait de
lui un maillage statique. Et à partir de cela, nous
allons faire glisser et
taper du matériel de montage. Il y a un nœud que
nous recherchons. Et le matériau que nous voulons
utiliser pour le modifier sera celui que nous saisirons
dans cette fonction. Nous allons donc faire
glisser le pointeur ici, je vais le brancher ici, mais je vais double-cliquer
sur ce fil pour faire
entrer un nœud de routage. Ok, on a presque fini
ici, on a presque fini. Donc, ce que nous allons faire ici ensuite, c'est
prendre cette sortie. Nous allons intégrer cela à notre matériel de décor, car si nous
avons déterminé qu'il s'
agit d'un acteur de maillage statique, nous voulons le jouer et
même changer le matériau. Nous allons brancher cette
sauvegarde ici en cas de panne du casting. Il ne s'agit pas d'un acteur de maillage statique. Nous allons
passer par ici et nous allons juste revenir directement
au nœud renvoyé. Nous ne voulons pas modifier
le matériau dans ce cas. Maintenant, pour cette variable booléenne de
modification réussie, eh bien, nous pouvons simplement
intégrer le résultat de cette modification. Nous le réglons ici
ou ici. Le résultat,
nous pouvons l'obtenir et simplement le brancher dedans. Ce
sera donc notre fonction,
notre fonction de prêt qui
va exister et qui constituera ma bibliothèque de fonctions. Permettez-moi de compiler
ceci et de l'enregistrer tout de suite. Passons maintenant à notre ThirdPersonCharacter
Blueprint, car nous
avons du travail à faire à
l'intérieur
pour mettre en valeur cette fonction. Donc, si vous avez oublié où cela se trouve, le contenu des plans à la troisième personne
double-cliquez dessus pour l'
ouvrir à l'intérieur de notre
ThirdPersonCharacter. Une fois que vous êtes arrivé
au graphe des événements, cliquez avec le bouton droit de la souris sur un espace
vide et
tapez simplement mes fonctions. Et vous pouvez voir que lorsque nous
commençons à le taper, il affiche notre bibliothèque de fonctions dans la
section des classes. Donc, sous la classe, mes fonctions, la bibliothèque de fonctions, nous avons maintenant accès à cette
fonction que nous avons créée. Il est disponible dans
ce plan et dans tout autre plan. Fossa, cliquez dessus, nous pouvons voir quoi ressemble notre fonction
actuellement. Il prend un fil
d'exécution côté entrée,
il peut en sortir un. Cela peut prendre un acteur, cela peut prendre un matériau, et il peut indiquer si nous réussissons ou
non à changer le matériau sur un acteur d'entrée L'acteur y
reviendra
dans un petit moment. Mais pour l'instant, supprimez-le. Nous allons
passer à notre onglet de fenêtre d'affichage, et nous allons ajouter un
nouveau composant ici. Alors allons-y et sélectionnons
notre composant capsule. Et en dessous, nous
allons ajouter un composant. Et nous allons ajouter
un collisionneur de sphères, collision de
sphères. Maintenant, cela va
agir comme une sorte de main invisible, si vous voulez. Je vais donc lui donner un nom
et l'appeler main simulée. Et je vais le
mettre un peu devant notre personnage. Je vais donc
changer l'emplacement x pour qu'il soit, disons 60. Et je vais changer l'
échelle de manière universelle en X, Y et Z 2,5, quelque chose d'un peu plus petit parce qu'elle est attachée à
notre composante catholique. Lorsque nous faisons pivoter notre
personnage, celui-ci
tournera également. Ce que nous allons faire,
c'est vérifier si
cela chevauche quelque chose, puis
nous allons changer tout ce qui se chevauche, ce
qui sera, s'il se chevauche, un chaise, nous allons transformer ce maillage
statique en une action en or. Nous allons changer le
matériau de ce maillage statique. Une autre propriété que
je souhaite configurer
ici se trouve dans la section de
rendu, je veux décocher la case Caché
dans les jeux afin que nous puissions voir où cela
se trouve dans le monde. D'accord, donc une
fois tout cela configuré, nous pouvons le sauvegarder
, revenir à votre niveau ici. Nous allons placer des maillages
statiques dans notre niveau. Maintenant, j'en ai quelques
unes en
tête dans le dossier de contenu de l'
agitateur. Vraiment, toutes
les mesures statiques suffiront. Mais sous le dossier Props, je vais placer
une chaise un peu autour. Je vais placer l'un de ces gars qui roule
un peu et je vais placer, diriez-vous d'un cylindre de
base C. Nous pouvons en trouver un en dessous, ou l'onglet Place des acteurs, mais je suis va venir
juste en dessous de ces formes. Faisons un cylindre. Et je vais juste l'
augmenter un peu comme ça. Une fois les trois sélectionnés, je vais maintenir la touche Ctrl
enfoncée et cliquer avec le bouton gauche de la souris. donc tous
les trois sélectionnés. Je veux définir
quelque chose dans chacun d' eux, c'est-à-dire m'assurer qu' ils génèrent des événements de chevauchement afin que nous puissions
détecter que nous les
chevauchons avec notre
main simulée entre guillemets. Donc, avec tous ceux sélectionnés, je peux simplement taper dans
la barre de recherche ici. jute Ce que je cherche, c'est
générer des événements qui se chevauchent. Alors allez-y et
vérifiez cela à nouveau, assurez-vous que vous avez sélectionné
les trois. Ensuite, ce que nous
allons faire, c'est
entrer dans notre plan de
personnage à la troisième personne. Alors, retournez là-bas. Personnage à la troisième personne, rendez-vous
sur le graphique des événements. Et nous voulons faire quelque chose, mais notre
main simulée se chevauche, alors trouvez un espace vide. Une fois votre main simulée sélectionnée ici, vous pouvez
cliquer dessus avec le bouton droit de la souris. Nous allons ajouter
un événement lorsque nous
commencerons à superposer
ce composant. Je vais regarder notre graphique plus bas parce qu'il le
veut, c'est très bien. Donc, ce que nous allons faire, c'est
sortir de notre autre acteur, nous allons
traîner et changer le matériau du maillage. Et je peux simplement saisir le changement ou commencer à
taper le changement. Et il est assez intelligent
pour savoir que, hé, essayez-vous de
trouver cette fonction de
matériau maillé qui se trouve dans votre bibliothèque de fonctions. Oui, c'est le cas. Maintenant, notez que cela peut sortir, cette
main simulée était quelque chose qui
chevauchait ce qu'elle peut
produire et un autre acteur. Et dans ce cas
, il va générer une référence d'objet acteur. Cette entrée d'acteur sur le matériau du maillage de
changement
cherche à prendre en compte une référence d'objet
acteur. N'est-ce pas pratique ? Nous allons donc
détecter s'il chevauche un autre acteur. Ensuite, nous allons
changer le matériau. Je vais changer le
matériau pour qu'il soit simplement en or. L'or vit dans le contenu des étoiles R. Et ce que nous allons faire ici, c'est
ajouter un nœud de branche. Je vais saisir une branche. Sinon, si vous le supprimez et
que vous le faites glisser hors d'ici, il
s'agit d'une sortie booléenne. Si je tape une branche ici, elle connectera les deux fils en même temps. C'est très pratique. Ensuite, nous allons simplement imprimer une chaîne. Je vais ajouter quelques-uns de
ces Control C, Control V. Et ce seront
nos scripts. Donc, là-haut, si cela
fonctionne, nous allons
imprimer à froid. Ici. Nous allons
saisir aucun changement. Très bien, allez-y,
compilez et sauvegardez ça. Donnons-lui un
dramaturge. Donc, en cliquant sur le bouton R plus, je définirai
notre objet de
débogage comme étant notre ThirdPersonCharacter
qui est apparu et
je l'étendrai légèrement. D'accord, si je regarde
devant mon personnage, il y a cette sphère rouge, c'est ma main simulée. Vous pouvez le voir pivoter,
tourner en même temps que mon personnage. Donc, quand je superpose la chaise, vous voyez que cela a changé
la matière très gentiment. J'ai changé le matériau là-bas, et notre cylindre
l'y change également. C'est une bonne
fonction globale, si vous voulez. Nous pouvons l'utiliser dans notre
ThirdPersonCharacter ici. Mais montrons également
comment vous pouvez l'utiliser dans votre Level Blueprint. Car après tout, quel est
l'intérêt de créer une bibliothèque de fonctions
si vous ne pouvez pas accéder
aux fonctions qu'elle
contient de n'importe où. Revenez à notre onglet de carte
des tests de niveau juste ici. Ouvrons le
Level Blueprint et je vais juste
introduire une touche de saisie. N'importe quelle touche de saisie le fera. Je fais un clic droit sur
un espace vide. Essayons la touche 7. Et il pensera que j'
utilise la touche sept pour autre
chose, je le sais ? Au fait, si vous cliquez sous votre pelouse ici et que vous l'
étendez vers l'extérieur, cela vous montrera quels sont les différents
événements que vous avez à faire. Donc, pour la clé à sept, je vais sortir d'ici, rechercher
un matériau de maillage de rechange. Et encore une fois, parce que
cette fonction existe dans notre bibliothèque de
fonctions créée et que nous pouvons la trouver dans le
Level Blueprint. Bien sûr. Et je dois fournir
un acteur ici. Choisissons donc l'
un de nos acteurs. Je vais m'
assurer que
mon cylindre est sélectionné ici. Revenir dans
mon plan de niveau, maintenant le clic gauche enfoncé. Branchons-le là. Et je vais changer
le matériau ici. Allons à Cobblestone. Quelque chose de pavé. Bien, compilez, enregistrez. Jouons. Réglez notre objet de débogage
à notre niveau. Ramenez notre carte. Et bien sûr, je peux les
toucher. Ils vont quand même
changer l'or. Maintenant, si je touche le
cylindre ici, il deviendra doré
parce que c'est tout ce qui est configuré dans mon plan de
personnage. Mais si j'appuie sur la touche
7 ici, nous pouvons voir que nous allons le
transformer en pavés. C'est donc une excellente fonction globale
que nous y avons créée. Très bien, terminons cette vidéo en
parlant des avantages et des
inconvénients des fonctions d'
une bibliothèque de fonctions. Eh bien, les avantages
incluent
que vous pouvez accéder à cette fonction
depuis n'importe quel plan. C'est un excellent gain de temps. Si c'est une fonction que vous pouvez
utiliser à de nombreux endroits, vous savez, vous n'avez pas à
écrire le même script à plusieurs endroits, plusieurs fois,
ce genre de choses. Maintenant, les inconvénients incluent le fait
d'avoir plus de mal à référencer des données spécifiques au
plan, par exemple mon plan de
personnage à la troisième personne. Si j'ajoute une fonction, par exemple peut-être une
fonction de santé de modification qui dépendait beaucoup de certaines variables et vivait à l'intérieur d'ici. Eh bien, ce type de
fonction sera mieux loti dans ce plan
spécifique. Ou si j'avais une
fonction qui
dépendait beaucoup de certains
composants d'un plan donné. Cette fonction
serait mieux lotie dans une classe Blueprint elle-même plutôt
que dans une bibliothèque de
fonctions. Très bien les gars, cela
va tout faire pour celui-ci dans
cette discussion sur les bibliothèques
de fonctions. bientôt dans la vidéo suivante.
64. Variables locales: Bienvenue. Dans cette vidéo, notre
objectif est de
vous familiariser avec le concept
de variables locales. Maintenant, dans cette vidéo, nous allons expliquer ce que sont les variables
locales, elles diffèrent des variables de
classe, comment les créer et les utiliser, et quels types de choses
vous devez savoir
concernant leur accessibilité
dans les plans. Maintenant, dans la dernière vidéo, nous
utilisons une variable locale, appelée Success change, une variable locale booléenne. Et j'ai mentionné que
nous y
reviendrions dans une prochaine vidéo, c'est-à-dire cette future vidéo. Maintenant, notez quelque chose
à propos des variables locales. Nous ne pouvons créer des variables
locales ici qu'
à l'intérieur des fonctions, à l'intérieur de la bibliothèque de fonctions, la bibliothèque de fonctions du plan. Nous ne pouvons pas créer
de variables de classe. Nous n'avons qu'une section de
variables locales. Alors, de quoi
parlons-nous ici ? Variables de classe ou variables
locales ? Eh bien, pour faciliter
cette discussion, j'ai ouvert mon ThirdPersonCharacter
Blueprint. Sautez jusqu'ici. Et si nous regardons dans
notre panneau ThirdPersonCharacter
Blueprint,
nous avons une section sur notre panneau ThirdPersonCharacter
Blueprint, les variables. Ce sont des variables qui
appartiennent à notre classe de caractères, nous pouvons
donc appeler ces variables de
classe. Mais vous remarquerez quelque chose ici dans le panneau Mon plan. Nous ne voyons pas variables
locales ici dans
la bibliothèque de fonctions, nous voyons une catégorie
appelée variables locales. Où se trouve-t-il dans un plan de
classe, nous ne voyons qu'une section variable. Eh bien, pour
voir les variables locales, vous devez
sélectionner une fonction ou votre script de
construction également. Donc, si je sélectionne ma fonction Modifier
la santé
ici, double-cliquez dessus
pour l'ouvrir. Vous avez peut-être remarqué que
dès que je l'ai fait, j'ai maintenant accès à une section de variables locales
juste ici. Si je saute dessus, reviens à mon Event Graph. Notez que les
variables locales vont disparaître. Il n'y est plus. Très bien, revenons donc à
notre fonction de modification de la santé. Très bien, parlons maintenant de
certaines des différences
entre les variables de classe
et les variables locales. Eh bien, pour commencer,
lorsque vous créez une variable ici même dans
le panneau My Blueprint, vous créez
une variable de classe,
une variable qui appartient à
cette classe parente. Désormais, toute variable que vous
souhaitez obtenir ou définir à partir d' un autre plan doit
être une variable de classe. Maintenant, pour donner
un exemple,
disons que dans votre plan de
niveau,
vous avez fait référence à
votre vous avez fait référence à ThirdPersonCharacter
et que vous vouliez
modifier la variable de santé de votre
personnage à la troisième personne. Peut-être qu'il y a une zone
dans le niveau qui inflige dégâts ou soigne le
ThirdPersonCharacter. Eh bien, dans ce cas,
pour accéder à notre
ThirdPersonCharacter il y a une variable de santé depuis l'intérieur
du Level Blueprint. Vous devez vous assurer
que cette variable de santé existe en tant que variable de classe. Désormais, les variables locales peuvent être créées à l'intérieur
d'un graphe de fonctions. Les variables locales ne sont visibles que par la fonction
dans
laquelle elles ont été créées et non par les autres
fonctions ou par le graphe d'événements. Maintenant,
créons-en une ici à l'intérieur de notre fonction de modification
d'une santé. Maintenant, je pourrais en créer un
en cliquant sur ce bouton
plus juste ici, dans la catégorie
des variables locales. Cependant, je vais en créer un en
cliquant avec le bouton droit sur une épingle. Tant que vous
essayez de passer à une variable
à l'intérieur
d'une fonction, vous avez la possibilité de
passer à une variable locale. Je vais donc cliquer avec le bouton
droit de la souris juste ici sous mon flotteur de serrage Tmax. Et en cliquant avec le bouton droit de la souris, nous
allons passer à une variable locale qui une variable locale qui créera cette
variable juste ici. Appelons cela
ma santé maximale. Et ce que vous
remarquerez maintenant, c'est que cette variable locale n' existe dans aucun autre graphe de
fonctions ici, si je vais dans la fonction fx
endommagée de mon lecteur, en double-cliquant sur cette locale
La variable est
introuvable. De même, si je devais cliquer avec le bouton
droit sur la fonction
endommagée de ce joueur et que je
recherchais la santé maximale. Il n'est pas disponible ici. Si je consulte mon
graphique d'événements et que je le cherche, je ne vois aucune variable locale ici et
soit je clique avec
le bouton droit de la souris, max, la santé n'est pas là aussi. En fait, si je désactive l'
option
contextuelle, elle ne s'affiche pas. Cette
variable de santé maximale au sein de la fonction Maya modify health est
locale uniquement pour cette fonction. Et si vous ne la
voyez plus ici, vous pouvez cliquer sur cette
petite flèche déroulante et elle
vous indiquera où elle se trouve. Encore une fois. À ce stade, vous vous demandez
peut-être quel est l'intérêt des variables
locales. Pourquoi en ai-je même besoin ? Pourquoi puis-je créer toutes les variables de
classe et utiliser ces variables locales aider à réduire l'encombrement
pour les éléments qui
ne sont pertinents que dans le
contexte d'une fonction. Vous ne voulez pas
remplir une longue liste de variables
de classe ici alors certaines ne sont en fait nécessaires que
dans une fonction donnée. C'est pourquoi, pour des raisons
d'organisation, il est judicieux de simplement
créer une variable locale pour garder
les choses propres et nettes. Deuxièmement, cela permet également de se prémunir
contre vos propres erreurs. J'ai deux variables ici. J'ai une santé et une
santé maximale très similaires. Maintenant, je veux peut-être m'
assurer que, hé, je ne pourrai jamais modifier
ma santé maximale. Il ne sera accessible que depuis
cette fonction. Eh bien, c'est un bon
candidat pour la transformer en variable locale
afin de m'assurer que je ne
modifie pas accidentellement cette variable depuis un autre plan. Très bien, montrons cela un peu plus loin en créant une toute nouvelle fonction
pour commencer ici dans notre
ThirdPersonCharacter. Donc, dans la catégorie des fonctions, nous allons ajouter
une nouvelle fonction. Je vais appeler cela Turbo Run, qui fera exactement ce que vous
pensez qu'il va faire. Maintenant, à l'intérieur,
nous allons faire référence à notre composante de mouvement des
personnages. Dans notre composant de
mouvement des personnages, nous avons accès à un paramètre
appelé vitesse de marche maximale. Nous voulons faire quelque chose
avec notre vitesse de marche maximale. Il s'
assèche donc ici et cela fait référence
à notre vitesse de marche
maximale. Nous allons obtenir cette valeur, qui par défaut commence
ici à 500. Ensuite, ce que
nous allons faire, c'est faire glisser un ici, appuyer sur le bouton plus, nous allons y ajouter
quelque chose. Ensuite, nous allons définir
notre vitesse de marche maximale. Donc, en vous éloignant une fois de plus du mouvement de votre
personnage, définissez la vitesse de marche maximale. Nous allons y aller comme
ça et comme ça. Maintenant, nous voulons ajouter une variable
locale
afin de déterminer le gain
de vitesse
que nous voulons donner à notre personnage
lors d'une course terrible. Voilà ce que je vais faire. Je vais ajouter de la valeur
ici, dans les années 2000. Ensuite, je vais
cliquer avec le bouton droit sur cette épingle. Nous allons
en faire une variable locale, donc nous allons la promouvoir. Et nous allons voir
cela peuplé ici. Donnons-lui un nom
appelé turbo speed boost. Et maintenant, vous pouvez voir que, parce que nous l'avons promu avec cette valeur
déjà définie,
il va également définir cette valeur
directement ici. C'est donc une petite
astuce pratique que j'aime beaucoup. Très bien, compilons ça. Assurez-vous que tout cela
ressemble à Skippy. Passons ensuite à
notre graphique des événements. Et je vais trouver
un espace vide ici. Et nous allons introduire
un événement d'entrée. Voyons ce que nous
avons à disposition ici. Maintenant, nous avons accès à
beaucoup de choses différentes. Je vais cliquer avec le bouton droit.
Nous allons utiliser les deux clés. Bien sûr. Faisons la saisie
ou saisissons le clavier juste là. J'apporte deux clés. dehors de cela, nous allons
glisser-déposer notre exécution du terminal. Et si nous relâchons la clé, ce que
nous voulons faire, c'est intégrer notre
composante de mouvement des personnages de cette manière. Ensuite, nous allons partir
d'ici, faire un autre set, maximum, vitesse de marche. N'oubliez pas que la
valeur par défaut était 500, donc redéfinissons-la à 500 dès que nous
relâcherons les deux touches. Ce sera donc
notre script Turbo Run. Remarquez donc qu'il y a une fonction d'
exécution terrible ici. Il contient cette
variable locale. On peut double-cliquer
dessus accéder à cette fonction. Nous avons obtenu cette vitesse turbo, ce
boost, cette variable locale. Très bien, maintenant allons-y
et jouons à ça. Je vais compiler ici,
enregistrer et jouer, configurer notre débogage. Objectez à notre
ThirdPersonCharacter. Nous pouvons
très bien courir partout en beauté. Cependant, lorsque j'
appuie sur les deux touches, nous zoomons très bien. Nous sommes nuls en train
de courir, je le
relâche et je ralentis. Pour résumer ici, vous pouvez rechercher et trouver des
variables locales à partir
du graphique où elles ont été
créées. C'est terrible. Ici nous pourrions rechercher et
trouver cette variable locale. Vous ne pouvez pas rechercher et
trouver de variables locales dans le graphe d'événements
du plan dans lequel elles
ont été créées. Donc, dans le
graphe des événements ici, nous ne pouvons pas trouver cette variable
locale. Vous ne pouvez pas non plus
rechercher et trouver cette variable locale qui est la variable locale turbo
run ici. Vous ne pouvez pas trouver que si vous le
recherchez dans
une autre boucle, un autre plan, même si
vous avez une référence à notre ThirdPersonCharacter
ici, vous
ne pouvez pas trouver de référence à cela. Maintenant, une dernière remarque
sur les variables de classe. Il convient de noter que
si vous cliquez sur le bouton des
valeurs par défaut de cette classe à l'intérieur
de n'importe quel Blueprint. Vous avez accès à n'importe quelle classe Blueprint, désolé, pas aux
paramètres de classe, classe par défaut. Vous avez accès à toutes
vos différentes variables de classe. Les voici juste
à côté du panneau Mon plan. santé peut bondir, etc. Dans notre panneau de détails, nous pouvons également les trouver tous
ici. Notez que si vous deviez le
modifier ici, disons que nous devions changer
notre état de santé de dix à 100, disons, Entrez. Et maintenant, je devais sélectionner
ma variable de santé ici. Il va mettre à jour
cette valeur par défaut. Peu importe
où vous le modifiez. Vous pouvez modifier
les valeurs de vos variables à partir d'ici ou dans la section
des valeurs par défaut de la classe je voudrais le
souligner également, n'est-ce pas ? Ça suffira
pour cette vidéo. Rendez-vous dans la prochaine.
65. Fonctions Choses à savoir: Bon retour. Dans cette vidéo, notre objectif est de vous présenter de très
bonnes choses à savoir sur l'utilisation
des fonctions. Ce sont des
choses qui ne justifiaient pas nécessairement
une vidéo complète, mais qui devraient certainement
être abordées
lors de la discussion sur le
sujet des fonctions. Pour cette vidéo, je
vais
ouvrir une variété de plans, des plans de niveau
ThirdPersonCharacter, etc. Je vais donc commencer par mon contenu ThirdPersonCharacter
Blueprint, plans à la
troisième personne. La première chose que nous
allons aborder ici est de savoir comment déboguer une fonction. Maintenant, ce sera
quelque chose auquel
je consacrerai un module entier plus tard
dans le cours ,
mais cela mérite également d'être mentionné ici. J'ai donc ici un script
très simple. Quand j'appuie sur les deux touches, je vais faire mal tourner mon
personnage. Et quand je
le relâcherai, je
retrouverai ma vitesse de déplacement
normale. Vous pouvez maintenant voir que j'ai ajouté
un commentaire sur ce nœud
en cliquant avec le bouton droit de la souris et en
ajoutant un commentaire
sur le nœud Si j'appuie sur
F9, F9 agit comme une bascule ici et vous pouvez voir comment
cela modifie cette infobulle. Je peux ajouter ce que l'on appelle un
point d'arrêt qui
permettra au code de s'arrêter
ici même à ce stade, dès que nous aurons atteint ce
point de la chaîne d'exécution. Vous pouvez donc imaginer que si vous aviez tout
un tas de
nœuds connectés ensemble, cela bloquerait le jeu
dès que vous atteindrez ce point. Maintenant, pourquoi
voudrais-tu faire ça ? Eh bien, parfois, vous pouvez
avoir des conséquences inattendues dans vos scripts. Il se passe quelque chose
que tu n'avais pas intention de
faire, peu importe. Et vous devez geler le jeu, parcourir le code, parcourir votre script pour
découvrir ce qui se passe. C'est l'utilisation d'un point d'arrêt. Et je vais juste vous
montrer brièvement comment cela peut
geler votre jeu. Je vais donc appuyer sur
le bouton de lecture ici. Remarquez que j'ai mes
points de rupture ici. Vous pouvez également cliquer avec le bouton droit
et supprimer un point d'arrêt, désactiver un point ou activer ou désactiver ce point d'arrêt, l'
activer ou le désactiver. On y va. Planète. Je vais définir mon objet de
débogage comme étant mon ThirdPersonCharacter
et
les ramener sur ma fenêtre de jeu. Donc dès que j'
appuierai sur les deux touches, je
passerai immédiatement à ce script et je bloquerai
le jeu ici. À partir de là, avec ce nœud sélectionné et vous pouvez voir cette flèche rouge
géante qui ressemble à «
oui, c'est le gars que
nous essayons de sélectionner ». Vous avez ici une série de
boutons qui vous
permettent de décider de
ce que vous souhaitez faire. À partir de là, vous pouvez localiser le nœud actuellement actif,
ce qu'il est actuellement. On peut entrer dans ce nœud
et ça va me
faire entrer dans
la fonction elle-même. Revenons-en
à mon graphique d'événements. Je pourrais me déplacer, ce qui signifie que si j'avais
plus de nœuds ici, cela pourrait m'empêcher de
passer au suivant. Et puis celui-ci doit
sortir de ce nœud pour être exécuté
dans le graphe parent. Encore une fois, j'ai
toute une section de vidéos à venir dont
nous parlerons, mais les points d'arrêt, vous pouvez les
ajouter à n'importe quel nœud. Je vais arrêter cette
année en cliquant simplement sur le nœud et en activant et en désactivant avec la touche F9. Bien, ensuite, pour
toutes les fonctions que vous avez créées
dans le panneau Détails, vous pouvez
ajouter des mots clés. Et ce que cela
vous permet de faire, c'est
que lorsque vous cliquez avec le bouton droit sur un espace vide ici, si vous recherchez l'un
de vos mots clés ici, il trouvera la fonction
que vous recherchez. Nous pourrions donc faire
quelque chose de loufoque ici. Je vais ajouter des mots clés
ici tels que le violet. Et je vais les
séparer avec un lave-vaisselle à virgule. Et si tu comprends cette blague
et d'où elle vient, je te retire mon chapeau. Compiler et enregistrer Et maintenant, si vous faites une
recherche en cliquant avec le bouton droit sur le violet, il trouve une fonction terrible. Monkey, trouve cette fonction
ainsi que le lave-vaisselle. Je tape juste un plat
et il le trouve déjà. Maintenant, notez que cela
fonctionne non seulement dans le plan dans
lequel cette fonction a été créée, mais si je passe à mon niveau de
test du plan au niveau de la carte, tant que vous avez une référence à ce plan ici, Je peux parler à mon
ThirdPersonCharacter Blueprint. Je peux sortir d'ici. Tapez en violet, trouve cette
fonction singe ou lave-vaisselle. Alors, tu y vas. Mots clés. C'est
ainsi que vous pouvez trouver une fonction à l'aide du
ou des mots clés de votre choix. Ensuite, explorons ce champ de titre de nœud
compact que vous avez à votre
disposition pour toutes les fonctions
que vous avez créées. Cela vous permet de
simplifier un peu votre Node. Je ne l'utilise pas beaucoup, mais peut-être que certains d'entre vous
aimeront travailler de cette façon. Je vais donc changer le titre de
mon nœud ici pour qu'
il ne s'agisse pas d'effets endommagés par les
joueurs. Je vais le simplifier et
simplement ajouter les effets du lecteur. Et dès que j'aurai appuyé sur Entrée, ce titre sera
terminé, ainsi que toutes
ces épinglettes. Nous y voilà, en appuyant sur Entrée. Vous pouvez voir maintenant que j'ai réduit
ce nœud dans une version
simplifiée. Player Effects est désormais le
titre compact du nœud. Et toutes ces
étiquettes à épingles ont disparu. Maintenant, vous pouvez toujours voir
quels types de données ces épingles recherchent en passant simplement la souris dessus. Il s'agira de
rechercher respectivement
un objet, un vecteur et un
élément récepteur. Certains d'entre vous
préféreront peut-être travailler de cette façon. Je ne le sais pas, mais je pensais qu'il le
jetterait de toute façon. Ensuite, je voudrais parler de ce que
fait
ce champ de spécificateur d'accès pour une fonction
que nous avons créée. Cependant, pour ce faire, je dois créer
une classe enfant de notre ThirdPersonCharacter ici
afin de vraiment rendre justice à cette justice. Maintenant, l'héritage de classe
est un sujet que j' aborderai
plus tard dans le cours. Cependant, encore une fois, pour
montrer ce spécificateur d'accès, je dois le faire maintenant. Donc, de retour dans mon navigateur de
contenu, je vais cliquer avec le bouton droit sur mon ThirdPersonCharacter et je
vais créer une classe
Child Blueprint. Et je vais laisser ce nom
en appuyant simplement sur Entrée. Et ce que je vais ensuite
faire, c'est retourner dans mon ThirdPersonCharacter et
parler de ce spécificateur d'accès. Nous avons donc trois paramètres
différents ici :
public, protégé et privé. Cela permet donc de déterminer
quels plans peuvent accéder à une fonction. Dans ce cas, notre fonction de santé
modifiée,
publique, est le paramètre par défaut. N'importe quel autre objet peut appeler cette fonction tant que
nous y faisons référence, ce qui signifie que je peux utiliser cette fonction de
modification de la santé ici dans ce plan
que nous avons créé avec lui. Je pourrais également y accéder à nouveau depuis
notre Level Blueprint, tant que vous avez une référence à votre ThirdPersonCharacter, je peux trouver mon Dieu, si phi health est là. Revenir à mon
ThirdPersonCharacter. Changeons maintenant r, modifions la santé d'un
public trop protégé. Cela signifie que la fonction
ne peut être appelée que par le plan
actuel, c'est-à-dire notre
ThirdPersonCharacter Blueprint, ainsi que par tous les plans dérivés du plan
actuel. Alors je peux le trouver ici ? Oui, je peux glisser-déposer. Je peux y accéder. Utilisez-le là-bas. Si je passe à mon enfant
ThirdPersonCharacter, que je saute sur
le graphique des événements, que je clique avec le bouton droit de la souris et que je fais
une recherche pour modifier la santé. Il y a cette fonction. Je peux le trouver ici aussi. Cela montre que notre classe
mère ici est notre bp ThirdPersonCharacter. Donc oui, vous pouvez l'utiliser dans le plan d'origine
que vous avez créé. Vous l'avez créé dans
ou dans la classe pour enfants. Enfin, revenons à
notre bp ThirdPersonCharacter. Sélectionnez notre option Modifier la santé. Et changeons cela de
protégé à privé. Cela signifie que la
fonction ne peut être appelée que depuis le plan
actuel. Donc oui, je pourrais le
glisser-déposer ici. Je pourrais appeler cette fonction. Cependant, si je devais accéder à ma carte de test de niveau,
traînée hors d'ici, faire une recherche sur
MOD if phi health, je ne trouverais
que cette fonction pure. Parce que si je regarde en arrière dans
mon ThirdPersonCharacter, souvenez-vous que j'ai actuellement deux versions de la fonction
Modify health. Le fichier Modify Health
Pure est actuellement configuré pour accéder au spécificateur public, ce qui signifie que je peux le trouver
dans le Level Blueprint. Cependant, modifier la santé est
actuellement étiqueté comme privé, ce qui signifie que je
ne le trouve pas ici. Modifier la santé ? Nan. Maintenant, si je passe au plan de mon
enfant, vous pouvez voir qu'il est toujours
disponible et c' est
parce qu'il était toujours
là avant que je change ce
spécificateur d'accès en privé. Cependant, si je devais
retourner dans mon enfant,
supprimez-le, cliquez avec le bouton droit de la souris, faites une recherche pour modifier la santé. Je ne le trouve plus. Donc, juste un petit bout de
table là aussi. Donc, le spécificateur d'accès, vous avez le public, le
protégé et le privé. Maintenant, je
vais vous montrer
ce que fait cette case à cocher Call in
editor. Mais pour ce faire,
je vais créer une toute nouvelle fonction ici. Je vais cliquer sur
ce bouton Plus. Et je vais appeler
ça mon Super Jump. À l'intérieur de cette fonction
que je suis en train de créer. Je vais juste faire glisser le caractère de
type In Launch. Et la seule chose que je
vais faire ici est de changer notre vitesse Z pour qu'elle soit de 2000. Vous remarquerez maintenant que notre
fonction ici est identique à cette fonction de
personnage de lancement elle-même. Mais pour montrer cet
appel dans la case à cocher de l'éditeur, je voulais faire
quelque chose de super simple. Donc, une fois cette fonction créée, sélectionnez-la
et cliquez sur cette case à cocher Appel dans l'éditeur, ce que cela nous permet de faire, Compiler et enregistrer ici également. Revenons à
notre éditeur de niveaux. Je vais m'en assurer avec
mes trois points sélectionnés ici. Je vais jouer dans une fenêtre
sélectionnée. Je vais cliquer sur Play. Maintenant, je joue dans la fenêtre d'affichage que
j'ai sélectionnée. Je vais sélectionner mon
ThirdPersonCharacter. Et je pourrais faire une
recherche pour Super Jump. Et nous pouvons voir que dans
la catégorie par défaut, j'ai ce super bouton de saut. Si je clique dessus, il appellera
simplement cette fonction. Vous remarquerez maintenant que dans le BP ThirdPersonCharacter
lui-même, je n'ai créé que cette fonction. Je n'ai pas de touche de
saisie pour appeler cette fonction, mais c'est un excellent
moyen de simplement tester la fonctionnalité
sans aucune touche de saisie
ou quoi que ce soit de ce genre. Vous pouvez simplement le tester pour voir immédiatement
ce qu'il fait. Maintenant, il y a un
petit problème que vous devez
connaître, et c'est-à-dire. Notez que mon Super Jump, laisse-moi arrêter de jouer ici. Notez que ma fonction
ici n'a pas d' entrées
ou de sorties. Si je devais sélectionner quelque chose
comme les effets endommagés du joueur, vous pouvez voir que j'
ai quelques entrées ici. Je n'ai aucune
sortie sur celui-ci, mais je pourrais retourner quelque chose. Cliquons dessus
et revenons. Et nous pourrions renvoyer l'émetteur de
spawn attaché. Nous allons le
glisser-déposer là comme ça. Maintenant, si je devais prendre la fonction d'effet des
dégâts de mon joueur, je vais cliquer
sur cet appel, l'
éditeur, la case à cocher, la compilation, la sauvegarde. Retournons ici et jouons. Pour sélectionner mon
ThirdPersonCharacter, faites défiler l'écran vers le bas. Je vais retrouver ces boutons
, et c'est parti. Dans la catégorie par défaut, je peux trouver mon bouton Super Jump
Call Editor. Cependant, je ne trouve
pas le même bouton pour les effets de dégâts du joueur même si
cette case est cochée. Maintenant, pourquoi ça ? Eh bien, je ne connais pas la
réponse exacte à cela, mais je suppose
qu'il serait assez difficile
d'appeler manuellement une fonction qui dépend de
certaines données qui doivent être entrées dans la fonction lui-même
afin de fonctionner correctement. Maintenant, je tiens à
souligner que pour toutes les fonctions que vous avez créées dans
le panneau Mon plan, si vous cliquez dessus avec le bouton droit de la souris, vous avez la possibilité de
convertir la fonction en événement. Qu'est-ce que
ça veut dire au juste ? Eh bien, plongeons-nous dans notre terrible course,
une fonction ici. Et je peux le faire en
double-cliquant dessus. Cela ouvrira ce graphe
de fonctions. Et remarquez que cette
fonction
prend simplement la vitesse de marche
maximale de mes personnages, c'est à quelle vitesse ils se déplacent. Il va y ajouter un petit booster et
l'ajouter pour créer
notre nouvelle vitesse de marche,
notre nouvelle vitesse de déplacement. Alors remarquez cette configuration ici. Je vais revenir
à mon graphique d'événements. Et ce que je vais
faire, c'est
cliquer avec le bouton droit sur mon
terminal, exécuter une fonction. Nous allons convertir
cela en événement. Et quand je le ferai, il
va essentiellement sortir tout code
qui se trouvait à l'intérieur de cette fonction qui a
modifié mes caractères, max, marche, vitesse, et
partout dans le graphe des
événements lui-même. Maintenant, remarquez que notre terrible fonction d'
exécution n'
existe plus ici, dans notre zone de
fonctions. Au lieu de cela, nous voyons un événement personnalisé appelé turbo run,
du même nom. Il faut maintenant l'appeler pour que ce script puisse s'exécuter. Donc, quelque chose à souligner ici, vous ne pouvez pas le faire si la
fonction possède des sorties. Et par là, je veux dire que nous
allons double-cliquer sur notre
fonction de modification de la santé ici. Cette fonction
possède une sortie. Donc, si j'essaie de
cliquer dessus avec le bouton droit de la souris, en convertissant cette
fonction en événement, vous recevrez un avertissement
disant que vous ne pouvez pas le faire. J'ai donc pensé que je pourrais
le souligner pendant que nous sommes ici également. Maintenant, pourquoi
ferais-tu quelque chose comme ça ? Pourquoi convertir l' une de vos fonctions
en événement ? Eh bien, il est peut-être
plus facile pour vous de lire votre script
de cette manière éclatée. Ou peut-être avez-vous décidé qu'il était
préférable de le faire sous la forme d'un script unique plutôt que d'une fonction que
vous pourriez vous imaginer vouloir utiliser à plusieurs endroits. Maintenant, encore quelques
choses ici. terminer cette vidéo. N'oubliez pas
que vous devez compiler, c'est-à-dire appuyer sur ce
bouton juste ici. Vous devez compiler pour
accéder à de nouvelles fonctions
à partir d'autres plans. Si vous avez ajouté une nouvelle
fonction ici, vous en avez créé une nouvelle
et vous vouliez y
accéder depuis, par exemple,
votre Level Blueprint. Vous devez d'abord compiler
avant de pouvoir le faire. Une autre chose qui
mérite d'être mentionnée ici est que vous pouvez avoir fonctions à l'intérieur d'autres
fonctions que vous créez. Je l'ai donc montré ici en ayant une fonction
que j'ai créée appelée Super jump et en ayant cette fonction à l'intérieur
de cette fonction. Enfin et
surtout, pour les fonctions, vous ne pouvez pas avoir de
nœuds latents à l'intérieur. Et par là, je veux dire, je
parle de nœuds de retard qui cliquent avec le
bouton droit de la souris. Et je vais juste faire
une recherche sur le retard ici. Je n'arrive même pas à l'ajouter ici. Toutefois, dans le graphe d'événements,
vous cliquez avec le bouton droit sur delay. Vous pouvez trouver un délai ou un délai
récupérable. Vous ne pouvez pas non plus ajouter de nœud
connu sous le nom de nœud de chronologie. Des choses tellement importantes à
retenir pour les fonctions, n' est-ce pas les gars, ça va tout
faire pour cette vidéo. De bonnes choses à savoir. Nous vous
verrons dans la prochaine.
66. Aperçu des macros: Très bien, au cours
des prochaines vidéos, nous allons porter notre attention sur
le sujet des macros. Et plus précisément, dans cette vidéo, nos objectifs sont d'apprendre
ce que sont les macros expliquer en quoi elles sont similaires
ou différentes des fonctions. Nous allons également
explorer quelques macros préexistantes
courantes
et la façon dont elles sont construites. Enfin, nous allons
parler des endroits où
trouver des macros dans les plans. Tout d'abord,
qu'est-ce qu'une macro ? Eh bien, une macro est
essentiellement une collection de nœuds qui font quelque chose de similaire à une fonction
à cet égard. Et j'ai quelques macros
juste devant moi,
dans mon Level Blueprint. Maintenant, Unreal est livré
avec toute une série de macros prêtes à l'emploi
que vous pouvez utiliser. À partir des macros standard présentes
dans le contenu du moteur, que je vais vous montrer ci-dessous, vous pouvez créer vos propres macros à l'intérieur d'une classe Blueprint, un plan de niveau ou d'une macro de
plan
bibliothèque. Et encore une fois, dans les
prochaines vidéos, nous vous montrerons comment faire tout cela. Alors, tout d'abord,
explorons quelques macros courantes. Et comme vous l'avez vu précédemment, vous
avez quelques nœuds de macros. L'une est la macro flottante de comparaison, l'autre est
dedans, est une macro valide. y a tout juste un instant, j'ai mentionné qu'une macro est
essentiellement une collection de nœuds qui font quelque chose de
similaire à une fonction. Et nous pouvons le voir en
double-cliquant sur l'une de nos macros ici. Et je vais simplement double-cliquer
sur comparer float ici. Ce faisant, je
vais
ouvrir un nouvel onglet appelé Macros
standard. Il s'agit d'une bibliothèque
de macros composée d' un ensemble de macros qui
existent déjà ici dans Unreal. Et notez que nous avons également ouvert un onglet de comparaison Float dans
cette bibliothèque de macros. Et cela montre tous les
nœuds connectés ensemble pour créer cette macro de comparaison flottante. Sur le côté droit, nous pouvons voir que si nous
sélectionnons notre entrée ici, nous pouvons voir que ce flottant de comparaison de
macros appartient à la catégorie des nombres
flottants mathématiques. Donc, si je devais explorer notre collection de macros,
math float, nous pouvons voir qu'il
y a notre macro flottante de comparaison. Vous pouvez maintenant les développer tous pour voir toutes
les différentes macros qui existent dans cette bibliothèque de macros. Maintenant, si je fais remarquer cela, c'est parce que
si je devais revenir à mon plan de niveau
ou à tout autre plan ici. Et il suffit de cliquer avec le bouton droit et de laisser
un espace vide et je vais maintenant faire une recherche pour comparer float. Nous pouvons voir que c'est la catégorie dans laquelle se trouve cette macro
particulière, la catégorie mathématique flottante
telle que spécifiée ici. Chariot mathématique. Passons maintenant rapidement à
quelques similitudes et différences entre les macros
et les
fonctions . Donc, en commençant par
les similitudes, les deux macros des fonctions gagner du temps car elles peuvent stocker
des séquences de
nœuds couramment utilisées avec des
entrées et des sorties pour l'exécution
et le transfert de données. Ainsi, au lieu de placer cette séquence de nœuds à plusieurs
endroits de votre graphe, vous pouvez simplement créer
une seule macro ou une fonction peut faire de même. Et cela
vous fera gagner du temps car vous condensez ces nœuds en
similitudes les uns avec les autres. Vous pouvez modifier la
fonctionnalité d' une macro ou d'une fonction à un endroit
central, un graphique. Ici, nous avons notre
propre graphique de comparaison. Vous pouvez modifier la fonctionnalité
ici et les modifications seront
répercutées sur n'importe quelle
autre macro que vous avez placée dans un
autre plan. Une autre similitude est
qu'ils sont réutilisables. Vous pouvez réutiliser cette macro dans de
nombreux autres plans. Vous pouvez l'avoir dans
plusieurs plans. Vous pouvez utiliser la même macro
dans le même plan. De plus, les macros et les
fonctions autorisent les variables
locales et nous avons une vidéo complète
sur les variables locales. Mais essentiellement, une
variable locale est une variable qui est simplement référencée et utilisée par
cette fonction individuelle, ou dans ce cas une macro. Maintenant, la différence
est que les macros peuvent avoir plusieurs pins d'exécution en entrée et en
sortie. Et nous pouvons le voir ici dans
notre macro flottante de comparaison. Si je sélectionne ce nœud d'entrée
ici, vérifiez-le. Nous avons une entrée d'exécution, mais nous avons trois broches de sortie
d'exécution. Et si cela ne ressort pas assez clairement de nos entrées et sorties,
revenons sur
le nœud final,
dans notre Level
Blueprint,
jetez-y revenons sur
le nœud final, un coup d'œil. Nous avons une
entrée d'exécution et trois sorties. Maintenant, vous pouvez
les nommer d'ailleurs. Donc, si je reviens à nos macros
standard ici, vous pouvez saisir le nom qui n'a pas à être exact. Vous pouvez le mettre sous forme de symbole, symboles et de lettres, tout ce que
vous voulez y mettre. Une autre différence,
et c'est la clé, c'est que les macros
qi peuvent contenir des nœuds
latents
alors que les fonctions ne le peuvent pas. Donc, quand je
parle d'ici, encore une fois
, pour revenir à mon plan de
niveau, laissez-moi simplement faire défiler la page
vers la droite. Je suis juste dans mon graphe d'événements, donc je ne suis pas dans un graphe de macros
ou de fonctions en lui-même. Ces types de nœuds se trouvent ici, nœuds
latents, ceux avec
cette petite icône d'horloge. Si je passe la souris sur ce nœud, cette fonction de retard,
il est même indiqué dans l'info-bulle tout en
haut qu'il s'agit d'un nœud latent. C'est ce que signifie cette icône d'
horloge. Il s'agit d'un nœud sensible au facteur temps. N'importe quel nœud tardif comme celui-ci, ou un nœud de chronologie. ce qui concerne le temps, vous ne pouvez pas
les placer dans des fonctions. Cependant, les macros, ça va. Enfin, les macros ne peuvent pas être
appelées à partir d'autres plans. Comme une fonction peut le faire. Juste pour le
démontrer rapidement. Si je devais entrer dans mon personnage à la
troisième personne ici, je vais simplement créer
une macro temporaire rapide. Je vais appeler ça mon intérimaire. Je vais l'appeler macro temp. Que diriez-vous de cette température macro ? Je vais compiler ceci. Et puis, dans mon Level Blueprint, si je trouve que j'ai mes quatre touches, si je devais traîner hors
de cela et que je fais une recherche de macro maintenant, je ne la trouve pas. Je ne le trouve pas, alors que
je pourrais trouver quelque chose comme ma fonction de super saut. Super saut. Ça y est. Vous ne pouvez donc pas appeler
des macros qui se trouvent dans un autre plan à
partir d'un autre plan. Bien, alors où pouvez-vous tous
trouver des macros dans Unreal ? Eh bien, il existe une bibliothèque de
macros ici. Nous avons nos macros standard. Eh bien, où est-ce que cela existe
dans notre navigateur de contenu ? Si je reviens à
notre onglet de niveau ici, vous devez vous
assurer que contenu de
votre moteur d'émission est vérifié ici. Et je viens de passer sous
Paramètres Afficher le contenu du moteur. Et voici le chemin vers le dossier de du plan de
l'
éditeur de contenu ressources du plan de
l'
éditeur de contenu intégral de l'éditeur de contenu. Et voici vos macros
standard. Et vous pouvez voir
dans l'
infobulle que le type de plan
est une bibliothèque de macros. En double-cliquant dessus, il va simplement
revenir dans cet onglet. Voici toute une série de macros
différentes qui sont
disponibles à partir de n'importe quel plan. Où pouvez-vous
trouver d'autres macros ? Eh bien, j'en ai quelques-uns disponibles
ici dans mon Level Blueprint. Si je saute sur le
graphique
de mes types de nœuds dans les yeux, zoome sur mes nœuds de contrôle de
flux ici. Ce sont tous des nœuds
de contrôle de flux. Nous allons consacrer
toute
une section du cours
aux prêts de contrôle des flux, mais ce sont toutes des macros. Vous remarquerez donc que
les macros ont cet en-tête gris. C'est un moyen simple
d'identifier une macro. Il a cet en-tête gris. Et juste pour prouver que ce
sont des macros, si je double-clique
sur l'une d'entre elles, permettez-moi de double-cliquer
sur ma porte ici. Qu'est-ce que tu sais ? Cela me ramène à
mes macros standard. Il s'agit en effet d'une macro. Que pouvons-nous trouver d'autre pour les macros ? Eh bien, vous pouvez créer
vos propres macros, et je peux le montrer
ici dans notre
ThirdPersonCharacter. Nous avons créé une macro temporaire. Bien sûr, il est
vide pour le moment, mais il contient une section pour les
macros Level Blueprint. Il contient une section pour les macros afin que vous puissiez les créer ici. N'importe quel autre plan,
vous pouvez créer des macros dans lesquelles nous allons
faire la vidéo suivante. Alors les gars, cela va tout
faire pour celui-ci sur notre
aperçu des macros, nous vous verrons dans la prochaine vidéo.
67. Création de macros: Bienvenue. Notre objectif dans cette vidéo
est d'apprendre où et comment créer une macro et mieux
faire ressortir les différences entre
les
fonctions et les macros. Nous allons
créer notre macro de manière à ce qu'il
soit impossible dupliquer une fonction, car nous
allons inclure certains
nœuds tardifs à l'intérieur de notre macro, en plus d'avoir plusieurs
des broches de sortie d'exécution, ce qui, encore une fois
, ne peut pas faire. Nous allons travailler ici dans notre bp ThirdPersonCharacter. Voici donc le
chemin pour le trouver, ainsi que notre Level Blueprint. Ayez donc ces deux à portée de main. Nous allons commencer dans
notre ThirdPersonCharacter. Maintenant, à l'intérieur,
il vous suffit de descendre le panneau Mon plan et, dans la section macro, de
cliquer sur le bouton Plus. Et nous allons créer
une macro appelée on fire. Quel nom génial
qui va
vous enthousiasmer pour ce qui est à venir. Bien, sélectionnez maintenant
votre nœud d'entrée ici. Créez un petit espace
entre les deux ici. Et si l'un ou l'autre est sélectionné, je vais ajouter quelques
entrées à cela dans le panneau Détails
en cliquant sur le bouton plus. Je vais maintenant ajouter
une série d'épingles. La première, je
vais simplement
appeler et appuyer sur Entrée. Nous pouvons maintenant définir le type de broche
que nous voulons pour une entrée. Si nous cliquons ici, nous avons un tas de variables parmi
lesquelles nous pouvons choisir, ainsi qu'un stylo d'exécution. Vous n'aviez pas cette option
dans une fonction. Nous allons en ajouter
quelques autres ici. Cliquez donc à nouveau sur ce bouton plus. Nous allons appeler cela
un effet, un retard. Et ça va être un char. Et en cliquant à nouveau sur
ce bouton
plus, cela aura pour
effet de retarder. Et puis à nouveau le bouton plus, et nous allons appeler
cet effet trois délais. Ce seront des chars. Ensuite, nous allons
ajouter quelques sorties ici. Nous allons en ajouter
trois. Le premier
sera appelé spawn effect one, et il s'
agira d'une sortie d'exécution hors pin. Enfin, nous en
avons pris deux autres. Ils vont tous les deux être
exécutés maintenant aussi. Et ils
s'appelleront aussi Control C, Control V, spawn effect. Et effet d'apparition 3. Hein ? Maintenant
que cela est fait,
mettons les nœuds qui
vont se trouver entre les deux,
nous n' avons vraiment pas besoin de beaucoup
d'espace. Donc, hors de notre épingle, nous allons faire glisser et
introduire un nœud de séquence. Ce nœud va sortir de ces broches
de manière séquentielle. Nous pouvons ajouter plusieurs
épingles ici. J'ai juste besoin d'en ajouter un troisième. Donc, dès que nous en arriverons là, nous allons tirer le
premier, le deuxième et le troisième dans
une succession si rapide que cela va
sembler instantané. Nous allons également
ajouter trois nœuds de retard. Ainsi, si vous maintenez la touche
D enfoncée et que vous cliquez avec le bouton gauche, vous pouvez retarder les
nœuds en maintenant la touche d enfoncée
et en cliquant avec le bouton gauche Et nous allons
les connecter comme ceci, 12.3. Et l'ampleur du
retard vient
de l'extérieur de notre macroéconomie. Tout ce qui sera
branché sur notre délai ou nous
pouvons le configurer directement dans le nœud lui-même. Donc on
va y aller comme ça. Et puis, à partir de
ces complétions, nous allons les brancher
sur nos sorties comme ceci. Donc, une macro très simple, nous allons la prendre
en quelques minutes. Nous allons ensuite passer à
12,3 de ces délais de
manière séquentielle , puis nous allons sortir. Donc, juste pour montrer à quoi cette macro particulière ressemblera
cette macro particulière
dans le graphe des événements. Nous allons placer l'un d'entre
eux ici, glisser-déposer notre macro. C'est le look final. Donc, cela se
traduit ici par un nœud macro, un nœud à tête grise
qui ressemble à ceci. Nous avons nos trois broches de sortie. Sont pour les broches de saisie trois flotteurs
en une exécution au stylo. Maintenant, il convient de
souligner ici que, comme
notre macro contient des
nœuds de latence,
il s'agit de nos nœuds de retard. Nous voyons cette petite icône d'horloge, cette icône latente juste
ici, sur la macro elle-même. J'ai pensé que je devais le souligner. Très bien,
développons notre script ici, en utilisant notre macro. Je vais donc
commencer par un événement personnalisé. Cliquez donc avec le bouton Nous
allons créer un événement personnalisé pour
rechercher des événements personnalisés, ajouter un événement personnalisé Je
vais nommer ce joueur, prendre feu à des points d'exclamation. Et je vais l'
intégrer directement à notre macro on Fire. Et maintenant, je pourrais y ajouter des variables
flottantes. J'ai apprécié la flexibilité de
cette macro à cet égard. Toutefois, pour
gagner du temps, je vais simplement
saisir quelques chiffres. Je vais le coder en dur
si vous voulez. Donc 0,2 sera
notre effet de retard. Notre prochain effet
sera de 4 s. Dans notre prochain, il sera
de 6 s. Donc, je
cliquais juste sur la tabulation pour
vous faire passer au champ suivant. Ensuite, ce que nous allons
faire, c'est à partir de chacun d' eux que nous allons
apparaître et produire des effets. Alors traînez dessus et tapez
spawn actor from class. Nous allons maintenant
utiliser trois de ces nœuds. Permettez-moi donc de
tout ramener ici un petit peu. Créez donc un acteur à partir des nœuds de
classe
Control C, Control V et Control V. Pour vous présenter tout cela ici. Et le premier acteur dans lequel nous
allons apparaître sera de la fumée. C'est de la fumée à effet de plan. Nous pouvons le trouver dans le pack de contenu de
démarrage. Encore une fois, vous pouvez utiliser
ce que vous voulez ici, mais je vais d'abord fumer. Le second, je
vais ajouter des étincelles, qui se trouvent également dans ce pack de contenu de
démarrage. Et le dernier
sera le feu. Donc oui, de la fumée, des étincelles
puis du feu. Nous devons maintenant saisir
une transformation de spawn. Je vais donc prendre
notre composant capsule et simplement passer à
notre fenêtre d'affichage ici Notre composant capsule est quelque chose qui entoure
notre personnage, donc il va l'apparaître en
plein milieu ici. Revenons donc
à notre graphique des événements. Je vais faire
référence à l' art Capsule Component
Drag à partir de cela. Nous voulons transformer le
monde. Et nous pouvons intégrer cela trois
acteurs d'apparition
à partir de notes de cours. Très bien, nous allons en
avoir un peu le fil, mais j'espère que
cela ne vous gâtera pas trop. Maintenant, cela ne suffit pas
parce que nous les créons, mais nous voulons
les associer à quelque chose. Je vais donc m'éloigner de
notre acteur de la classe. Notez ici la
valeur de retour et je vais dire attacher À l'acteur, désolé, attaché deux composants. Celui que je cherche ici,
attaché à des composants. Très bien. Maintenant, le parent sera notre composant de capsule. Je vais donc essayer de choisir
une configuration comme celle-ci. Je vais
faire glisser la souris par ici, mais je vais double-cliquer sur ce fil pour faire comme ça. règles sont maintenant là. Je veux les configurer pour qu'ils
atteignent des cibles comme ça, comme ça et comme ça. Très bien, et je vais passer à
Control C et Control V, ces trois nœuds comme celui-ci. Alors pourquoi ce type et ce
gars-là sont-ils là, oups ? C'est dans la cible, les parents dans la cible. Ça va là-bas, ça va là-bas. Et on peut prendre ça, le composant de la capsule, et l'y glisser en
douce. Donc, essentiellement, ce script
entier est censé faire sur ceux-ci donnés lors du déclenchement de cet événement
personnalisé. Nous allons entrer
ici et nous allons à nouveau retarder de ces montants en double-cliquant sur cette macro. Nous allons faire chacune de
ces opérations lorsqu'il s'agit de retarder
les appels pour que nous puissions ensuite générer
l'effet donné. Nous allons donc apparaître dans la fumée plutôt que dans les
étincelles, que dans le feu, et nous allons
finalement l'attacher à notre personnage. Compilons ceci et enregistrons. D'accord, c'est la
majeure partie du travail, mais il nous reste encore un
peu de travail à faire. Revenons donc
à notre niveau ici. Et nous allons placer
quelques éléments pour
que cela
ressemble à une zone dangereuse. Je vais donc placer
des déclencheurs sphériques. J'ai donc mon
panel d'acteurs. Vous pouvez le trouver en cliquant
juste en dessous, plaçant le panneau des acteurs afin de
pouvoir placer ce panneau. Et notre idée ici dans
la catégorie de base. Je vais placer une
sphère de déclenchement dans mon niveau. Comme ça. Je vais définir le rayon de la
sphère dans
mon panneau de détails sur 200, comme ça, quelque chose d'un peu grand. Et puis, dans le
dossier de contenu de démarrage , je vais
aborder les particules. Et je vais
juste glisser et déposer mon feu P juste au-dessus de
la peur des déclencheurs ici dans mon outliner pour qu'
il soit attaché à, eh bien, il ne
va pas l'attacher là, mais Je peux le glisser-déposer ici. Ensuite, je peux le
glisser-déposer au-dessus de mes déclencheurs, peur
de l'attacher. Et la raison pour laquelle il est bon de l' attacher. Ce n'est qu'un renseignement. Si je déplace la sphère, le feu vient avec elle, mais je peux déplacer le feu indépendamment pour qu'il
se trouve juste au-dessus. Je
cherche juste quelque chose qui semble un peu dangereux ici. Faisons en sorte que l'ampleur de notre
feu soit, je ne sais pas, trois fois plus grande. Cinq fois cette baie. Oui. Quelque chose d'un peu
dangereux. C'est bon. Revenez en arrière et sélectionnez
votre sphère de déclenchement car nous allons
l'utiliser dans
notre plan de niveau. J'ai mon onglet Level
Blueprint juste ici. Je vais cliquer avec le bouton droit sur cette sphère lorsque le déclencheur est sélectionné. Nous allons faire quelque chose lorsque nous commencerons à les chevaucher. Tu m'as vu faire
ça plusieurs fois. Donc, ce que nous
allons faire, c'est nous éloigner
de l'autre acteur. Nous allons
découvrir qui c'est. Nous allons donc
sortir de cette scène, faire Cast to ThirdPersonCharacter. En gros, nous posons
la question ici. Quand quelque chose chevauche
cette sphère de déclenchement, nous allons dire : « Hé,
découvrons quel est l'
autre acteur. S'il s'agit d'un ThirdPersonCharacter, alors faisons quelque chose. Eh bien, ce que nous voulons
faire ici c'est appeler. Nous voulons appeler cet
événement personnalisé que le joueur prend feu. Maintenant, la raison pour laquelle nous
avons cette configuration, c'est parce que nous ne pouvons pas appeler cette macro depuis
notre Level Blueprint, même si elle est
compilée et que
notre macro vit ici à l'intérieur
de notre personnage à la troisième personne. Je ne peux pas simplement appeler au feu. Il recherche le
joueur qui prend feu. Il s'agit de nos événements personnalisés, mais nous ne pouvons pas appeler cette macro directement
depuis un autre Blueprint. C'est donc l'une des
différences entre les macros et les fonctions. Voici donc notre appel
pour ces événements personnalisés. Je vais compiler ceci. Ça a l'air bien. Donc, cela va le dire dans
notre ThirdPersonCharacter, ceci pour démarrer. Très bien, jouons
un rôle, un moment de vérité. Cliquez sur Play. Je vais juste
essayer de minimiser cela un peu pour que vous puissiez voir ces scripts se lancer ici. Nous allons
simplement faire apparaître notre ThirdPersonCharacter, et ce sera notre objet de
débogage là-bas. Une fois que nous nous retrouvons,
cela coupe la fumée, elle est attachée à nous. Nous sommes en train de faire des étincelles la zone d'entrejambe et
maintenant nous sommes en feu. Donc, en effet, ce
travail est conçu. Il convient donc de souligner
ici que nous avons créé une macro. Nous ne pouvions pas appeler cela macro ou directement à partir de notre plan de
niveau. Dans cette macro, cependant, nous avons pu
utiliser le nœud delay, certains nœuds latents
, que vous pouvez
utiliser dans une macro. De plus, ce qui a rendu cette macro différente et spéciale
d'une fonction, c'est que nous pouvions avoir plusieurs broches de sortie
d'exécution. Vous pouvez également avoir plusieurs
exécutions dans des stylos. Dans ce cas, nous avions juste
plusieurs pins de sortie d'exécution, mais vous pouvez les avoir à
chaque extrémité de la macro. Très bien les gars,
c'est tout pour créer une macro, je vous verrai
tous dans la prochaine vidéo.
68. Collapse à la macro: Bon retour. Dans cette vidéo, notre objectif est d'
apprendre à améliorer
nos vies en regroupant un ensemble
de nœuds
en un seul nœud macro. Maintenant, c'est l'une de ces actions de qualité de vie
que vous pouvez effectuer pour créer une
certaine partie du
script en utilisant un seul nœud. Pas beaucoup. Maintenant, montrons-le. Nous avons déjà créé script destiné à
simuler un lancer de pièces, ce qui signifie que nous aurons deux
résultats possibles, tête ou queue. Ensuite, nous allons
réduire cette fonctionnalité
dans une macro qui dans une macro qui peut être utilisée n'importe où dans
notre ThirdPersonCharacter ? Oui, encore une fois, je suis dans mon
ThirdPersonCharacter Blueprint. J'ai préparé un
script à l'avance, et voici mon script de citation, unquote coin flips. Essentiellement, ce que je
fais, c'est lancer mon personnage pour
simuler un lancer de pièces. Nous allons lancer
notre personnage en l'air comme si nous allions
lancer une pièce en l'air. Nous les lançons simplement
850 dans la direction Z. Ensuite, nous allons
émettre un son juste pour coïncider avec le
lancement de notre personnage. Cet effet sonore se
trouve dans le contenu de votre moteur. D'ailleurs, si vous
ne savez pas comment
activer le contenu de votre moteur, mettez ces dossiers à votre
disposition. De retour dans le navigateur de contenu la
section Paramètres, vous pouvez simplement vous assurer que l'affichage du contenu du moteur est activé. Tu devrais être capable de
trouver cet effet sonore. Ensuite, nous allons retarder de 2 s. Ce sera la durée
de notre lancer de pièces ici. Ensuite, nous avons introduit
un nœud de branche. Et ce que nous faisons ici,
c'est définir une condition, ou une condition est que nous aurons un entier aléatoire, un
ou deux,
c'est notre plage. Et si c'est égal à un, alors cela sera égal à vrai. Et nous allons
jouer le son du succès si ça finit par être un deux. Et encore une fois, cela
ne peut être qu'un ou deux, alors ceux-ci ne sont pas égaux parce que deux ne seraient pas égaux à un, alors ce serait faux. Et nous jouions le son raté de
compilation, qui serait notre S of x raté. Et ces deux
effets sonores se trouvent dans les mêmes dossiers de contenu. Très bien, nous voulons donc
convertir cela en macro, le réduire en macro. Maintenant, une chose que vous devez savoir, c'
est que lorsque vous essayez de le faire, nous voulons uniquement placer ces nœuds ici, afin que
vous puissiez cliquer avec le bouton gauche et faire glisser votre souris si vous essayez accidentellement d'introduire vos événements d'entrée, comme
j'ai raison Ici, laissez-moi juste
vous montrer ce qui se passe. Cliquez avec le bouton gauche et faites glisser Et maintenant, si je clique avec le bouton droit sur de mes nœuds sélectionnés ici, nous avons la possibilité
de réduire en macro. Donc, en essayant de faire cette largeur, cette clé d'événement ici, nous allons recevoir un
avertissement disant que Collapse to Macro échoue, alors que si nous
affichons le journal des messages, cela indiquera que vous ne pouvez pas placer ce cinq entrez ici, donc nous allons nous en
débarrasser cette fois. Nous allons cliquer avec le bouton gauche de la souris
et faire glisser le pointeur autour de ces nœuds, laissant les cinq
entrées de côté. Clic droit. Nous allons nous
réduire à une macroéconomie. Et nous pouvons le voir
dans la section macro, nous avons maintenant la possibilité de
donner un nom à cette macro. Je vais donc retourner ma
page et nous allons
appeler ce coin flip. Oui, en suivant
mes notes, Coin Flip. Vous pouvez voir que
c'est lié, mais nous devons faire un
peu de travail à l'intérieur de notre macro pour pouvoir double-cliquer
dessus ici. Et à quoi ressemble notre macro
actuellement. Mais nous voulons travailler un
peu plus sur ce point. Nous avons donc simplifié
un peu notre vie en
condensant ces nœuds en un seul nœud
dans notre graphe d'événements ici. Mais je veux quand même
modifier certaines choses. Donc, tout d'abord, je vais
sélectionner mon nœud d'entrée ici. Et je veux définir mon nom
d'entrée ici au lieu d'exécuter pour qu'
il soit simplement n. Ensuite, moi ,
mon nœud de sortie, je vais
ajouter quelques sorties. De plus, je vais
l'appeler des têtes. Et nous allons faire en sorte que ce
soit une épingle d'exécution. Ensuite, nous allons cliquer sur le bouton
Plus une fois de plus. Nous allons l'appeler
queues. Et ce sera
également dans l'exécution du PIM. Et encore une fois, si cela
aboutit à un vrai, ce seront essentiellement nos têtes. Nous allons donc connecter
cela à nos têtes. Et si cela finit par être faux, on obtient deux ici,
ce n'est pas égal à un. Ce sera notre queue. Donc, si nous revenons à
notre graphique des événements maintenant, nous pouvons voir que notre macro Coin
Flip a été mise à jour. Notez que nous avons une exécution
en pin et deux en out. Également. Nous avons cette icône latente ici pour indiquer qu'elle se
trouve à l'intérieur de cette macro. Et encore une fois, vous
pouvez double-cliquer dessus pour ouvrir votre macro. Nous avons un nœud latent
à l'intérieur, oui, nœuds
LinkedIn tels que des retards peuvent exister à l'intérieur d'une macro. Ils ne peuvent pas exister
à l'intérieur d'une fonction. Très bien, revenons
à notre onglet Event Graph ici. Et je veux étendre notre script à partir de chacune
de ces épingles ici. Nous allons dire que
si notre jeu de
pièces finit par se transformer en têtes, nous allons faire santé de
notre personnage soit pleine. Avant le tournage de cette vidéo, j'ai pris notre variable de santé
ici et je me souviens elle
est connectée à notre
hotte ou à notre compteur de santé. Et je l'ai réglé à 0,1,
ce qui signifie que nous allons
commencer avec 10 % de santé. Je vais maintenir
la touche Alt enfoncée,
cliquer avec le bouton gauche et faire glisser
la souris pour faire apparaître un setter. Et je vais le
mettre à 1.0. Nous serons en pleine santé
si nous obtenons des résultats. Et ce que nous allons
faire de bout en bout, nous allons tuer son personnage parce
que ça a l'air amusant. Nous allons donc
introduire notre maillage, une référence à notre maillage. Alors, prenez votre
composant de maillage ici. dehors de cela, nous
allons nous attarder, nous avons une option appelée
set simuler la physique. La cible pour cela sera notre composant primitif, c'est-à-dire notre maillage juste ici. Et tout ce que nous avons à faire
ici, c'est de le confirmer. Et je vais vous laisser en suspens
quant à ce que cela va faire. Très bien, allez-y,
compilez ici et enregistrez. Et nous allons y
donner une pièce de théâtre. Donc, en jouant, laissez-moi définir mon objet de débogage pour
qu'il soit notre personnage
, pour le remettre en marche. Vous pouvez donc voir que je commence
avec 10 % de santé. Si j'appuie sur la
touche cinq, une fois de plus, cela va entrer dans notre
macro et déterminer si nous obtenons des résultats en tête ou
en queue. Alors, on y va, cinq
clés. Je suis en pleine santé. Cela m'a fait sauter tout de suite, puis m'a envoyé en pleine santé. Parce que le saut, si vous voulez, le lancement de notre personnage, c'
est-à-dire notre pièce, retournez
le début de celui-ci. Laisse-moi essayer à nouveau. Cinq touches, sautez tout de suite. Quelques
secondes plus tard, nous avons retrouvé
toute notre santé, continuons jusqu'à ce que nous
obtenions le résultat de la queue ici. Alors sautez 2 s plus tard, nous allons découvrir le
résultat et simuler la physique. Il a traversé le sol, laissant son épée derrière lui. Et voilà, vous l'avez. Si vous avez une collection
de nœuds que vous souhaitez condenser
en un seul nœud. Et peut-être qu'il n'y a pas de note
tardive. Ou vous devez disposer de plusieurs
broches
d'entrée ou de sortie d'exécution. Envisagez de la convertir
en
macro ou de la réduire en macro. Vous devrez peut-être
faire un petit travail de réparation, comme
nous l'avons fait ici avec notre nom d'entrée et en ajoutant
quelques sorties ici. Mais c'est un moyen très pratique
de simplifier vos graphiques, les gars, qui fera
tout pour cette vidéo. Rendez-vous dans la prochaine.
69. Bibliothèque de macro: Bonjour. Dans cette vidéo, notre
objectif est de montrer comment créer et ajouter des macros dans notre propre
bibliothèque de macros. Alors, qu'est-ce qu'une bibliothèque de macros ? Eh bien, c'est similaire à une bibliothèque de fonctions que nous avons créée dans la dernière
section des vidéos, en ce sens qu'il s'agit d'un endroit
centralisé pour stocker les macros créées
que nous créons. Mais quelles sont les grandes
différences
entre une bibliothèque de fonctions et
une bibliothèque de macros, entre une bibliothèque de fonctions et
une bibliothèque ces
dernières
ne sont accessibles qu'à partir de
plans qui partagent la même classe parente,
une bibliothèque de macros. Maintenant, cela semble un
peu confus ici. Restez avec moi pendant que nous
créons notre bibliothèque de macros. Très bien, je suis donc dans
mon dossier de scripts Blueprints sur mon navigateur de contenu. Je vais créer ma bibliothèque de
macros ici. Alors allons-y
et cliquez avec le bouton droit. Et nous allons
trouver des plans dans,
dans le petit menu des flyers. Nous avons la bibliothèque de
macros Blueprint. Donc on va commencer
et choisir ça. Et maintenant, nous allons voir
s'il va nous demander choisir une classe pour parents. Nous allons donc choisir une
classe de parents de personnages qui
sera similaire à notre personnage à la
troisième personne. Notre ThirdPersonCharacter
appartient à la classe des personnages. Très bien, nous allons
donc cliquer dessus. Et il va nous demander de le
nommer et je l'
appellerai mon caractère de soulignement. Je vais faire toutes les casquettes. Pourquoi ne pas utiliser des macros pour
souligner les caractères ? Ensuite, allons-y et double-cliquez dessus
pour l'ouvrir. Et maintenant, vous
remarquerez que
dans notre
bibliothèque de macros, encore une fois, notre classe parente est le caractère. Nous avons la possibilité d'accéder
à toutes les variables
natives de cette classe et de les utiliser.
Elles
sont natives de cette classe et toutes répertoriées ci-dessous. Donc, sous le personnage,
nous avons obtenu un maillage ,
un mouvement de
personnage, etc., de nombreuses catégories différentes. Comparons maintenant cela avec
notre personnage à la troisième personne, qui est la classe de
personnage mère dans le panneau
Mon plan. S'il s'agit de variables, assurez-vous que si vous
cliquez sur cette
icône d'engrenage , vous avez affiché les variables
héritées. Jetez un œil à cela. Dans la
catégorie des personnages, vous trouverez le maillage, le mouvement des
personnages, etc. Ce sont toutes les mêmes
variables qui sont natives de cette classe,
la classe de caractères. Vous pouvez donc les trouver ici dans notre ThirdPersonCharacter et ici dans notre bibliothèque de macros, notre bibliothèque de macros de caractères, nous y avons également accès. OK, allons-y et
créons notre macro ici dans notre bibliothèque de
macros de caractères. Maintenant, une fois que nous avons ouvert
cette bibliothèque de macros, une macro
a été créée pour nous ici. Vous pouvez voir l'onglet
juste ici. Allons-y et
donnons-lui un nouveau nom. Donc, je vais juste
cliquer dessus, appuyer sur F2, et je vais appeler
cela le changement de vitesse maximale. Et c'est exactement ce que
cette macro va faire, c'est modifier la vitesse de déplacement maximale de
nos personnages. Je vais donc créer un
petit espace ici entre notre nœud d'entrée et notre nœud
de sortie ici. Alors allons-y et créons quelques entrées et sorties
pour cette macro Je vais créer
une entrée ici, en cliquant sur ce
bouton plus juste en bas. Et le premier
va simplement être appelé. Ce sera
une exécution au stylo. Ensuite, je vais en
créer un de plus. Et celui-ci s'appellera
new speed. Nous allons lui donner
une nouvelle valeur de vitesse, et celle-ci
sera un flotteur. Et pour ce qui est de nos résultats, j'en ai quelques-uns en tête. Nous allons cliquer dessus une fois, et nous allons l'
appeler marche. Ce sera
en cours d'exécution. Ensuite, nous allons
créer deux autres plus, plus. Le prochain
sera en cours d'exécution, et le suivant
s'appellera sprint. Et ce sont toutes des épingles
d'exécution. Très bien, ce que nous
allons faire ici, c'est à nouveau glisser notre composant de
mouvement de personnage L'un des avantages
de créer,
dans ce cas, une bibliothèque de
macros de personnages est que nous avons accès à toutes les variables de
caractère natives, y compris notre composant de
mouvement des personnages. Nous allons le
faire glisser dans notre graphique. que nous allons obtenir. Maintenant, vous remarquerez quelque chose ici quand je le ferai
glisser ici. Et je viens de le publier, nous ne pouvons obtenir que des variables ici dans notre bibliothèque de
macros. Et cela vaut pour chacun d'entre eux. Si je devais le faire, je sauterais
et j'essaierais de le faire entrer. Nous ne pouvons pas définir de variables ici dans notre bibliothèque de
macros. Il est important de noter qu'
avec une bibliothèque de macros, vous ne pouvez obtenir que
ces variables, vous ne pouvez pas les définir. Mais ça va. Eh bien, nous allons
faire ici pour atteindre l' intérieur de notre composante de
mouvement des personnages. Et nous allons taper
set max, walk, speed. Maintenant, cette variable se
trouve à l'intérieur de notre composant de
mouvement des personnages. Et juste pour le ramener un peu à la
maison, j'ai mon ThirdPersonCharacter
juste ici. Si je sélectionne la composante de
mouvement de mon personnage, j'ai une
variable de vitesse de marche maximale qui se trouve à l'intérieur de cette composante de
mouvement du personnage. OK, donc nous allons lui
donner une nouvelle vitesse. Comme ça. Ensuite, je
vais faire glisser et introduire un nœud de branche. Ensuite, je vais
m'éloigner d'ici. Et j'ai plusieurs nœuds de
comparaison que
je souhaite intégrer. Donc, je vais faire un nombre
inférieur ou égal à un. Je vais encore
traîner un ici, et je vais faire un plus grand
que, juste plus que. Ensuite, je vais faire
glisser une fois de plus et je vais faire
des petites boucles inférieures ou égales à ou juste moins égales à ce que l'on appelle ça. Pour les valeurs de
celles-ci, je vais
en brancher 200 pour ce n'est pas un plugin, je vais juste le coder en dur. 200 pour ça. Nous allons faire
plus de 200 pour cela et 1 200 pour cela. Et nous allons lire, je vais vous
lire tout cela dans un instant. Comment allons-nous
interpréter tout cela. Dans un instant. Je
vais faire apparaître un autre nœud de branche en maintenant la touche B
enfoncée en cliquant avec le bouton gauche de la souris. Et je vais intégrer cela
à notre marche, au faux que je vais traîner
et pour que vous entendiez le terme, je vais
les traîner ici et le faux je vais
entraîner ici. Et encore une fois, je vais interpréter tout
cela pour vous dans un instant. Et je vais le faire glisser ici, l'introduire
et le nœud, ce sera un booléen AND. Et du booléen juste là. Brancher ça ici. Nous branchons ça
ici et ça ici. Très bien, M. Laundry, vous êtes passé par là assez rapidement. En quoi tout cela
se traduit-il ? Très bien, alors voici
comment ça va fonctionner. Nous allons donner une nouvelle
vitesse à cette macro. Nous pouvons donc modifier régler la vitesse de déplacement
maximale de nos personnages. Si c'est inférieur
ou égal à 200, si c'est vrai, nous allons produire de la marche. Nous allons donc continuer
à nous étendre au-delà de notre macroéconomie et à faire quelque chose lorsque nous détecterons que
nous marchons. Maintenant, si nous détectons que nous
allons à une vitesse
supérieure à 200 et
inférieure ou égale à cette
valeur, ici, 1 200. Si c'est vrai,
alors nous
serons considérés comme des coureurs. Cependant, si cela s'
avère faux, alors nous serons
considérés comme du sprint, ce qui signifie que nous allons atteindre une
vitesse supérieure à 1 200. Maintenant, allons-y et
utilisons cette macro dans notre
ThirdPersonCharacter Blueprint. Une petite note ici, il
n'est pas nécessaire de compiler ici. Vous n'avez pas besoin de compiler
dans une bibliothèque de macros. En fait, c'est grisé, mais nous pouvons continuer et le sauvegarder. Et dans notre bp
ThirdPersonCharacter, nous pouvons continuer et
cliquer dessus avec le bouton droit de la souris. Et nous pouvons faire une recherche
pour changer la vitesse maximale. Et ça y est. Voici notre macro
que nous venons de créer dans notre bibliothèque de macros. Et créons nos scripts
pour en tirer parti. Nous allons donc ajouter une touche de saisie
tout en début de page. J'ai utilisé la
touche cinq et je l'
ai supprimée entre les vidéos. Il semble que je ne l'ai nulle part dans mon graphique pour le moment, faisons les cinq entrées
Kishore Five. Donc, ce que nous allons faire ici, c'est appuyant sur la touche 5, nous allons modifier le maximum, le
mouvement et la vitesse de
nos personnages . En quoi voulons-nous le changer ? Eh bien, cliquons avec le
bouton droit sur un espace vide
et je vais faire un flottement
aléatoire dans la plage. Nous pouvons donc adapter ce type
à notre nouvelle vitesse. Ainsi, chaque fois que nous
appuyons sur la touche 5, nous pouvons choisir une valeur, et je vais choisir
une valeur, 1 à 2 000. Donc, chaque fois que vous appuyez sur la touche
5, cela nous donnera une valeur dans cette plage. Lorsque nous relâcherons cette touche, nous allons vouloir
remettre la vitesse de déplacement de notre
personnage à ce qu'elle est normalement. Donc, si nous glissons et déposons notre composante de
mouvement de personnage dans notre graphique et que nous voyons la
vitesse de marche maximale de nos personnages en ce moment, elle est de 500. Donc, si on traîne ici, on peut régler la vitesse maximale de marche. Donc, lorsque nous
lancerons ceci, nous allons remettre notre vitesse de
marche maximale à 500. Donc, presser
va le régler à cette nouvelle valeur et le libérer,
cela va le remettre en arrière. Et tout ce que nous allons
faire avec chacun de ces éléments, nous pourrions faire quelque chose de plus. Je veux dire, je pourrais jouer un effet de
particules ou autre. Je vais juste imprimer une
chaîne à l'écran. Nous allons donc
faire plusieurs tirages. Strings,
c'est tout d'abord dire marcher et appuyer sur
Control C, Control V. Control V. Control V. Vous pouvez deviner ce que
je vais
brancher dans chacun de ces champs. Cela va dire courir. Et celui-ci va
dire sprint. Sprint, sprint, ring. Ce n'est pas si important
que ça. Compilons ceci. Sauvegardons, et jouons à ce
réglage, à notre objet de débogage, personnage
énorme ou à la troisième personne, afin de voir ce script s'exécuter sur le
côté gauche. D'accord, donc je ne fais que
marcher, marcher, marcher. Lorsque j'appuie sur la touche 5, regardez en haut à gauche, en
dessous du mot Superhero. Donc cinq, en courant. Je le renvoie à cinq. Courir ne semble
pas beaucoup plus rapide. Cinq, au sprint. Cinq sprints. Maintenant, la course à pied a la
plus grande portée, 200-1200. Je voulais le faire marcher, alors ils sprintent, appuient à nouveau sur
F5 et courent. Encore une fois. La course à pied peut être
assez proche du sprint. Au sprint, fais de la course maintenant, il faut
à peine plus de 200. Courir, courir. Allons nous promener ici. Je vais continuer
jusqu'à ce que je commence à marcher. Nous y allons à pied. Nous pouvons donc voir que cette
macro fonctionne bien. Bien, maintenant, il est
important de noter ici que nous avons pu trouver et utiliser
cette macro ici à l'intérieur de notre personnage à la troisième personne,
car les deux sont ThirdPersonCharacter et
notre bibliothèque de macros partage la même classe parentale. Si vous allez évidemment sur
notre Level Blueprint. Ouvrons notre plan de
niveau ici. Et même si j'
ai une référence à
notre personnage ici,
organisons un événement et
commençons à jouer à coup sûr. Commencez même à jouer. Et nous devions donner
du caractère au joueur. Et puis, tu sais, Cast to ThirdPersonCharacter,
quelque chose comme ça. Et nous devions essayer de
découvrir que le changement vitesse
maximale traînait hors
d'ici, avait changé Max. Vous ne pouvez pas trouver cette macro ici dans votre
Level Blueprint. Vous ne pouvez pas simplement cliquer avec le bouton droit sur espace vide et trouver la vitesse
maximale de modification parce que cela n'a pas
de classe parente, parce que c'est un plan de
niveau, mais même à l'intérieur
d'une autre classe, mais un plan comme
notre exemple de pick-up, contient la
classe d'acteurs parents. Donc, si je devais
cliquer avec le bouton droit ici et modifier la vitesse maximale, je ne la trouverais pas non plus
à l'intérieur. C'est donc une
chose importante à noter car cette macro a été créée dans une bibliothèque
de macros avec la classe de caractère
parent. Nous ne pouvons le trouver et l'utiliser que dans tous les autres plans qui
partagent la même classe parent. Donc, étant donné cette nuance qui
sous-tend une bibliothèque de
macros, la nécessité de définir
une classe parente, quels seraient les avantages
d'utiliser une bibliothèque de macros ? Eh bien, imaginez que vous avez peut-être un jeu de combat et que vous avez toute
une série de
personnages que vous pouvez incarner, comme vous
voudriez peut-être avoir des macros que tous les personnages
pourraient partager et utiliser. Quelque chose comme choisir
entre une tante au hasard ou peut-être un changement de tenue,
ce genre de choses. Je veux dire, ici,
tout ce que je fais c'est choisir un flotteur
aléatoire à portée, et ensuite je décide si je
marche, si je cours ou si je sprinte . Peut-être pourrions-nous lui donner
un entier aléatoire en fonction de
l'entier sélectionné. Nous pourrions jouer une
chose de cette nature enseignée au hasard. Maintenant, si vous voulez contourner cette limitation de
la bibliothèque de macros, il y a une petite astuce que vous pouvez
faire pour vous assurer que vos
macros sont disponibles n'importe où. Et cela afin de
vous assurer que la classe parent de votre bibliothèque de macros appartient à
la classe d'objets. Maintenant, pour revenir à ce point, laissez-moi simplement cliquer
dessus avec le bouton droit de la souris sur un espace
vide et je vais introduire, disons, un nœud de porte. Et si je
fais cela, c'est pour pouvoir double-cliquer dessus et accéder rapidement à notre bibliothèque de macros
standard. accédant, nous pouvons trouver où cela se trouve
dans notre navigateur de contenu. Il se trouve dans le dossier des
ressources du plan de l'éditeur de
contenu du moteur . Encore une fois, pour voir cela, vous pouvez vous assurer que l'affichage du contenu du moteur est activé. Et si nous accédons à notre bibliothèque de macros
standard, nous pouvons voir que notre
classe parent est object. Maintenant, pour en revenir à notre navigateur de
contenu, si je devais cliquer
dessus avec le bouton droit sur des espaces vides, si nous devions créer
une nouvelle bibliothèque de macros, plans, une bibliothèque de
macros de plans. Découvrez-le
ici dans la section Tous les cours. Vous pouvez voir que toutes les autres
classes héritent de l'objet. Donc, si vous deviez créer une bibliothèque
de macros
standard contenant la
classe d'objet parent, n'importe quelle autre classe pourra l'utiliser. Par conséquent, pourquoi vous pouvez
trouver des nœuds tels que des nœuds porte dans n'importe quel
autre plan. Très bien les gars, je vais tout
faire pour celui-ci. Nous vous verrons dans
la prochaine vidéo.
70. Tableau: Bienvenue à tous. Dans cette section du cours, nous allons
revenir au sujet des variables, car jusqu'à
présent, nous n'avons parlé que d'un
seul conteneur de variables. Et en particulier, ce dont
nous parlons ici, c'est avec un type de variable sélectionné, vous avez sur le
côté droit la possibilité de choisir
le type de conteneur. Nous n'avons créé que des variables
uniques. Nous n'avons pas parlé de
tableaux, d'ensembles ou de cartes. C'est donc l'objet
de cette section du cours, qui traite de ces différents types de conteneurs
variables. En particulier, pour ce cours, nous allons apprendre
ce qu'est un tableau. Nous allons montrer comment en
créer quelques-unes, puis donner
un exemple de la façon dont
elles peuvent être utilisées. Alors, tout d'abord, qu'est-ce qu'un tableau ? Un tableau est un
conteneur de variables qui peut stocker une collection de valeurs
d'un certain type de données. Maintenant, des termes plus pratiques dans tableau sont une liste de choses
similaires. Il peut s'agir d'un tableau
de valeurs flottantes, d'un tableau de textes, de sons, d'objets, etc. Maintenant, chaque
entrée de la liste a un index entier associé ou ce que l'on appelle une
clé associé à celui-ci. Cela signifie que nous pouvons rechercher une entrée donnée dans la liste
si nous le voulons ou si nous en avons besoin. Très bien, me voici à l'intérieur de mon
plan ThirdPersonCharacter. Créons donc notre
tout premier tableau. Et nous allons commencer par accéder au panneau
Mon plan. Nous allons créer
une nouvelle variable, en cliquant sur ce bouton plus, je vais appeler
celui-ci des phrases d'accroche. Et le type ici sera une variable de texte. Ensuite, dans
le panneau Détails, nous pouvons
définir le type de conteneur, sur le panneau Détails, nous pouvons
définir le type de conteneur, lequel je vais
cliquer sur ce menu déroulant et choisir un tableau. Maintenant, je dois compiler
mon plan. Et quand je le ferai, cela me permettra d'ajouter X
éléments à ma liste. N'oubliez pas qu'un tableau est
essentiellement une liste et que vous pouvez déterminer le nombre d'
éléments qui existent dans cette liste. Je vais cliquer sur
ce bouton Plus juste en bas, trois fois 12.3. Et mon premier slogan
sera « hé, hé ». Mon deuxième sera High Diddley Bow. Et mon prochain film
va être relâché. Notez maintenant que les variables de tableau ou types de
conteneurs
sont plutôt désignés par ces grilles colorées
trois par trois indiquent qu'il ne s'agit pas de variables uniques standard. Et vous pouvez le voir, représenté
non seulement ici, mais aussi en
bas de votre panneau My Blueprint sous la section des variables, vous voyez cette icône gaufrée
trois par trois qui indique que cette
variable est un tableau, un tableau de variables de texte. Maintenant, quelque chose qui mérite d'
être mentionné ici est que vous pouvez réorganiser vos valeurs dans ce tableau
en cliquant à peu près
ici et en faisant glisser une valeur au-dessus, ou en faisant glisser la souris vers le bas, comme suit. Sur le
côté droit, vous
pouvez également cliquer sur
cette petite flèche déroulante pour
insérer, supprimer ou
dupliquer une entrée. Je vais donc
insérer juste pour
le montrer et ensuite le supprimer
rapidement. Très bien, maintenant allons-y
et utilisons ce tableau. Je vais donc apporter
une clé d'événement ici. Clic droit. Je vais utiliser les cinq touches. Ensuite, ce que je vais
faire, c'est ajouter mes phrases d'accroche. Je veux donc y aller, donc
je vais maintenir la touche Ctrl enfoncée ,
cliquer avec
le bouton gauche et faire glisser. Ça me donnera une meilleure idée. Ensuite,
je veux faire glisser ici et taper gets, je veux obtenir une référence ici. Désolée, mais je
voudrais en obtenir une copie. Et qu'est-ce que je
veux en tirer ? Eh bien, je peux choisir quelle entrée de ce
tableau, 01 ou deux. Et encore une fois, il s'agit
d'une liste à base zéro. vais commencer par
compter à zéro
laquelle de ces entrées je
souhaite renvoyer. Donc, quel que soit le numéro que je
tape ici, il
correspondra à l'entrée
que je souhaite renvoyer. Et je vais choisir
quelque chose au hasard ici. Je vais donc faire glisser la souris vers l'arrière
et taper un entier
aléatoire dans une plage. Et je dirais 0-2, parce que c'est ma fourchette, 0-2. Si nous devions aller plus haut
pour dire que nous le plaçons dans une plage de 0 à 3 et que nous
renvoyons le chiffre trois, nous obtiendrions simplement un résultat nul et aucune flèche ne serait lancée. Nous obtenons simplement un résultat nul. Je vais faire glisser le texte
ici, taper du texte à imprimer. Et nous allons le
brancher ici. Alors, jouons-y rapidement
. Laisse-moi compiler ça, pour m'
assurer que tout va bien. Et je clique sur mes options de
jeu ici. Je ne veux pas simuler, je suis dans un avion et une
nouvelle fenêtre d'édition. Je vais le définir comme objet de débogage afin que nous puissions voir ce script se lancer. Et pas à OBS. On y va. Quand j'appuie sur la touche 5. Bonjour Diddly. Bonjour. Salut Diddly Hill, ça sonne vraiment. Vous pouvez voir que je
spamme la touche cinq, je reçois l'une de ces
différentes options au hasard. Maintenant, jetez un œil à cela. Nous avons actuellement trois
phrases d'accroche dans notre gamme. Cependant, encore une fois, il
s'agit d'une variable. Nous n'avons pas à conserver ces
trois éléments ici. On pourrait les échanger. Essayons quelque chose comme ça. Je vais apporter une clé
à quatre. Pour les entrées. Nous le faisons pour le clavier, voici mes quatre touches. Ce que je vais faire
, c'est définir mon slogan. Je vais maintenir la
touche Alt enfoncée, cliquer avec le bouton gauche et faire glisser. Nous allons le mettre sur
cette épingle pour faire venir un setter. Et ce que je vais faire à
partir de cela, c'est de le faire glisser vers l'arrière et
de taper make array. Donc, ce nœud, je vais
ajouter trois pins. Ce que je vais faire, c'est
définir clairement quels seront les trois éléments
de cette course ? Je vais y mettre de la pâte. Et dans ma deuxième entrée ici je vais le mettre dans Smithers. Et le troisième
sera celui des mois de Nelson. Haha. Alors découvrez ce que nous
avons à faire ici. Laisse-moi juste
le réduire un peu , le mettre ici. En cliquant sur le paramètre de lecture, il se peut
que cela soit déjà mon objet de débogage. Tout cela est très
bien. Donc, si je commence par appuyer sur la touche 5
et que je vais juste le spammer, vous verrez les
entrées d'origine dans mon tableau. Maintenant, je vais appuyer sur
la touche F4 et cela
va remplacer
ces entrées. Je vais donc
appuyer dessus une seule fois. Regardez ce feu s'éteindre, boum. Ça s'est déclenché. Alors maintenant, quand j'appuie sur
la touche cinq, les entrées, les éléments ce tableau ont
été modifiés. Il lira
donc ainsi les nouvelles entrées que
je viens de mettre ici, je les ai échangées, je change le
contenu de ce tableau. Très bien, essayons de créer
quelques autres tableaux. Créons-en un de plus ici dans le panneau Mon plan,
sous les variables, en cliquant sur ce bouton plus, je l'appellerai mon tableau de sons. Maintenant, je vais changer
le type de variable ici pour qu'il soit des fichiers d'ondes
sonores, des ondes sonores. Ainsi, sous
les types d'objets « onde sonore », nous voulons choisir la référence de
l'objet. Il fait déjà partie des types de conteneurs de
variables matricielles. Donc, c'est très bien. Et je vais créer
une autre variable ici, en cliquant sur le bouton plus. Et celui-ci va
devenir mon groupe d'acteurs. Et je vais changer
le type ici pour qu'il soit de variété
des acteurs
sous les types d'objets, acteur de la référence de l'objet. OK, maintenant je vais
compiler les deux. Et pour ma gamme de sons, je vais saisir
trois d'entre elles, donc 12.3. Et ici, je peux insérer
quelques sons. J'opterai pour trois d'entre eux. J'ai une double fenêtre ferme toutes les trois, nous
ferons tout cela, par exemple saké. Var underscore
assez proche pour mon troisième, je vais simplement
passer à l'interface utilisateur flottante. Vous pouvez donc imaginer, disons que j'ai eu toute
une série de bruits de klaxon de voiture. Si vous voulez une
touche géniale sur votre clavier, cela
fera sonner le klaxon de votre voiture. Il peut s'agir de trois
variations différentes de ce son. Peut-être que tu veux juste en
choisir un au hasard. OK, donc tout cela est bien suffisant pour
ma gamme actuelle. Je vais faire 12.3. Cependant, je vais
les laisser vides pour l'instant. Je vais compiler ceci
et enregistrer encore une chose. J'ai oublié de
cocher cette instance de case modifiable, alors assurez-vous de
la cocher également. Allez-y, compilez
et gagnez encore un temps. Ce que je vais faire, c'est
qu'une fois
que j'aurai joué à ce jeu, je définirai quels objets feront
partie de ce tableau d'acteurs. Notez donc que ce tableau
actuellement cette liste est vide. Donc, ce que je vais faire, c'est
revenir à mon niveau ici. Je vais ajouter trois objets.
Ça n'a pas vraiment d'importance. Je vais juste faire un cube, une sphère et un cylindre. Comme ça. OK, j'ai installé ces
trois-là. Revenons à notre personnage à la
troisième personne. Je vais juste échanger
nos tableaux ici, juste modifier un peu nos
scripts ici. Donc, ici, sous les phrases d'accroche, nous allons nous débarrasser de
ces quatre ou cinq clés. Je vais faire apparaître mon tableau de
sons en maintenant la touche
Ctrl enfoncée, en cliquant avec le bouton gauche et en faisant glisser. Nous allons faire glisser
un type ici, obtenir,
nous voulons en obtenir une
copie, les brancher. Donc, en fait, je ne
veux pas imprimer de texte ici. Je veux émettre un son. Faites jouer du son. Désolée,
sortons d'ici et
tapons Play Sound 2D, comme ça. Et quand j'appuie sur mes quatre touches, les
supprime ici, je vais attraper mon acteur, lever une touche
Ctrl enfoncée. Cliquez avec le bouton gauche pour apporter une
référence à cette fin, je vais faire glisser la souris hors
de ce type dans gets, nous allons obtenir une référence. Copiez, et non pas une référence. Je les fais toujours foirer. Je vais faire un entier aléatoire
dans une plage pour cela. Donc Control C, control V. Maintenant, ce que je vais faire ici, c'est que
nous allons faire
traîner ça et nous allons juste détruire un acteur. Donc, quand j'appuie sur la touche quatre, je vais à nouveau détruire l'
une d'entre elles, c'est actuellement
un tableau vide. Nous allons donc compiler ceci. Ce script va
être beau ici. Je vais aller de l'avant
et passer à mon niveau. Nous n'allons pas voir
ces scripts démarrer. Mais si vous avez besoin de revenir
ici et de les référencer, c'est très bien. Ok, on y va. Bien, maintenant que mon
personnage est dans mon niveau, je peux le voir peuplé
ici dans l'Outliner. Je vais
sélectionner mon ThirdPersonCharacter. Maintenant, je dois définir les trois éléments
de ma gamme d'acteurs. Je vais donc le
rechercher ici avec mon ThirdPersonCharacter
sélectionné. Faites une recherche sur un tableau d'acteurs. Et notez que je n'ai encore
rien trouvé ici. Je vais donc cliquer sur
ces flèches déroulantes, et je vais
les définir pour qu'elles soient
respectivement le cube, le
cylindre et la sphère. Donc un cylindre cubique
pour le suivant. La sphère est quelque part là-dedans. Il y a une sphère. OK ? Et laissez-moi faire apparaître ma fenêtre de
jeu une fois de plus. Très bien, en appuyant d'abord sur
cette touche 5, nous allons entendre des sons. Tout va bien. Très bien, et maintenant mes
quatre montres clés disparaissent lorsqu'
elles sont sélectionnées. Les carrés ont-ils disparu ? J'appuie à nouveau sur la touche F4, rien ne disparaît non plus, j'ai dû sélectionner à nouveau cet élément. sphère a disparu, et
enfin, le carré a disparu. Vous pouvez donc voir ces
différents tableaux fonctionner. Maintenant, si je
reçois cette erreur, c'est parce qu'elle essayait de
détruire quelques acteurs. Voilà, j'appuyais sur
mes quatre touches. Il essayait de choisir un entier et une plage
aléatoires, il essayait juste de choisir
l'un de ces trois. Maintenant, le premier qui est
détruit est le cylindre,
qui, je crois, était
également constitué d'éléments . Je peux me tromper là-dessus. Une fois qu'il sera détruit et
qu'il aura choisi à nouveau le même numéro, il va
générer cette erreur quand j'ai arrêté de jouer en
disant : « Hé, j'essaie de te détruire acteur, mais tu as déjà
a été détruit. Mais encore une fois, tout cela est à des
fins académiques. Très bien, il reste encore un
peu de temps à faire. Avant de terminer, je voulais le
souligner pour n'importe quel tableau, et reprenons nos
phrases d'accroche ici. Chacun d'entre eux aura les mêmes options
à votre disposition si vous en avez bu et que vous vous trouvez dans
la section
utilitaires, tableau d'utilitaires, vous avez une multitude d'options différentes que vous peut être utilisé pour modifier
pour modifier votre tableau. Vous pouvez y ajouter des éléments. Vous pouvez faire glisser la souris hors de
cette zone et saisir du texte en clair. Vous pouvez vider votre tableau. Nous pourrions donc ajouter un autre
élément à notre tableau ici. Celui-ci effacerait complètement
le tableau. Vous pouvez ajouter le tableau qui doit contenir un
tableau de phrases d'accroche. Vous avez peut-être une deuxième série de
phrases d' accroche et vous
pourriez les combiner. Tu pourrais, j'ai commencé par hasard. Vous pouvez sélectionner
une entrée aléatoire dans votre tableau et
également renvoyer l'index. Cela
sélectionnerait donc une entrée aléatoire qui renverrait l'index. Ainsi, avec n'importe quel tableau, vous avez une multitude d'options avec
lesquelles vous pouvez
jouer pour modifier ce tableau une
manière ou d'une autre. Et encore une fois, vous pouvez les
trouver ci-dessous, tableau d'utilitaires. Vous en avez également beaucoup plus à votre
disposition. Très bien, merci de savoir
avant de terminer, que les valeurs d'un
tableau, encore une fois, sont des valeurs d'
index basées sur zéro, ce qui signifie que le premier
indice est zéro, et non un. Les tableaux constituent un excellent moyen de stocker une liste de ces
mêmes types de données. Où l'utiliseriez-vous ? Eh bien, j'ai eu une gamme de
fruits que j'ai créés dans un jeu de style Pac-Man que j'ai
créé dans Unreal il y a quelque temps. Une autre chose à noter à propos
des tableaux est que vous pouvez récupérer une entrée spécifique d'une
liste en obtenant une copie, comme nous le faisons ici. Ou vous pouvez obtenir de l'air ou une
entrée aléatoire, comme nous le faisons ici. Donc, si vous voulez
obtenir une copie spécifique, vous pouvez simplement casser
ce fil et dire : «
Hé, je veux l'élément zéro ». L'approche aléatoire
ferait quelque chose comme ça. Plus tard, lorsque nous
parlerons du contrôle de flux, nœuds montreront
comment parcourir chaque entrée du tableau en
utilisant une boucle
for ou while afin de faire quelque chose
à chaque entrée de la liste ou de conduire une certaine logique
basée sur le fait qu'une entrée donnée est trouvée
dans la liste. Bon les gars, ça va tout
faire pour celui-ci. Nous vous verrons dans
la prochaine vidéo.
71. Ensemble: Bienvenue. Dans cette vidéo, notre objectif est de découvrir ce qu'est un conteneur de variables
définies. Montrez comment en créer un, puis donnez un exemple
de la façon dont ils peuvent être utilisés. Tout d'abord, définissons ce qu'est un ensemble d'événements. Eh bien, un ensemble est comme un tableau dans la mesure où il s'agit
d'un conteneur de variables qui peut stocker une collection de valeurs du même type de données. Ici, dans mes types de variables. Sur la droite, j'ai
différents types de conteneurs, un ensemble de tableaux ou une carte. Nous en parlons donc
dans cette vidéo, par exemple, nous pourrions avoir un ensemble de trésors
cachés que vous êtes invité à trouver dans une
collection de niveaux de trésors cachés. Maintenant, l'une des particularités d'un ensemble
est
que toutes les entrées d' un conteneur d'ensembles doivent être
uniques, sans doublons. Nous allons aborder plus en
détail les différences entre les tableaux et les ensembles ici Je vais
créer quelques variables ici dans
mon Level Blueprint. Mais pour cet exemple, vous pouvez également le faire dans votre
ThirdPersonCharacter. Vous avez oublié comment ouvrir votre Level Blueprint
directement ici. Plan de niveau ouvert.
Passons ensuite à notre panneau My Blueprint et
créons quelques variables. En cliquant sur ce bouton plus. Une fois, je vais en créer
un appelé trésors cachés, tous, je vais changer
de type ici pour qu'il s'agisse d'un nom. Nous allons donner
des noms à des trésors
cachés. Ensuite, dans
le panneau Détails, je vais changer le type de
conteneur ici de simple à ensemble. Ensuite, je vais
cliquer dessus
avec le bouton droit et je vais
le dupliquer. Vous pouvez voir le raccourci clavier
pour ce contrôle plus D. Et cela s'
appellera trésors cachés. Trouvé. Et puis une fois que j'ai compilé, je peux ajouter quelques entrées ici, des éléments d'ensemble différents. Commençons donc par tous les trésors
cachés. Je vais cliquer sur
ce bouton plus une fois. Et si vous essayez de cliquer
dessus une deuxième fois, cela indiquera que vous ne
pouvez pas en ajouter un autre tant que vous n'en avez pas ajouté une,
une entrée ici. Je vais donc appeler
cette statue en or. cliquant à nouveau sur le bouton
plus, je vais appeler celui-ci collier. La raison pour laquelle vous ne pouvez pas en ajouter
une autre alors qu'elle indique « aucune » est qu'elle essaierait de créer une entrée dupliquée qui
indiquerait également « aucune ». N'oubliez pas que les ensembles
ne peuvent pas avoir de doublons. Cliquez à nouveau sur ce bouton plus. Nous appellerons cela de la poterie ancienne. Poterie. Poterie. Bien sûr. Poterie ancienne. En cliquant à nouveau sur le bouton plus, nous allons l'appeler
un parchemin de sagesse. Et en cliquant à nouveau sur le bouton
plus, nous allons l'appeler
un emblème de guerrier. Très bien, maintenant je vais vous présenter
quelques trésors cachés
trouvés ici. Et en fait, tu sais quoi ? Je veux vraiment avoir quelques
doublons ici. Je vais donc supprimer
celui-ci. Et je vais vous expliquer pourquoi nous
allons le supprimer pour nous
assurer que nos noms sont
orthographiés exactement de la même manière. Je vais donc
cliquer dessus avec le bouton droit de la souris. Nous allons dupliquer
cela. Encore une fois. J'appelle cela trouvé, et je vais le
compiler dans. Une fois que je l'ai compilé, je peux
voir toutes ces mêmes entrées. Supprimons juste
quelques-uns des miens ici, donc je vais supprimer le collier en
cliquant ici. Supprimer conservera la statue en or. Gardons également un parchemin
de sagesse. Peu importe ceux que nous conservons, mais gardez-en
quelques-uns juste là. Maintenant, notez que certains
types de variables ne peuvent pas utiliser d'ensembles. Si je devais sélectionner ma variable
booléenne, disons, ici et passer aux types de
conteneurs. Je ne peux pas préparer de set pour ça. Je peux aussi le faire pour
une technologie de variable de texte, un rotateur ou une transformation. Vous pouvez
définir tous les autres comme type de conteneur défini. J'ai juste pensé
que j'allais le mettre ici aussi. Maintenant, si je fais glisser une
référence à l'un de mes ensembles ici et que je la fais
glisser hors de celui-ci, cela
libère de l'espace vide sous la section de l'ensemble d'utilitaires. Vous voyez que j'ai tout un
tas de fonctions différentes à ma
disposition pour manipuler
les données d'une manière ou d'une autre, façonner ou former de nombreuses
fonctions spécifiques aux ensembles. Ce que je vais faire
ici, c'est accélérer la vidéo rapidement
après les avoir ajoutées, et
parler rapidement de certaines
des différentes options qui s'
offrent à vous. Très bien, et voici un tas
de ces fonctions dont je viens de parler et
qui sont spécifiques à Set. Vous pouvez y ajouter un élément. Vous pouvez y supprimer un élément. Vous avez des comparaisons entre deux
ensembles différents, ce genre de choses. Maintenant, une chose qui
mérite d'être soulignée ici, si vous deviez simplement
cliquer avec le bouton droit de la souris et espace vide, comme je l'ai fait avec ce nœud un espace vide, comme je l'ai
fait avec ce nœud
ici en
recherchant un nœud union. Il possède ces excellentes broches
d'entrée et de sortie. Ce sont
des entrées et des sorties génériques, ce qui
signifie que quel que soit le
type de données connecté en premier à une entrée
ou à une sortie, c'est le type de données
que prend le reste de l'entrée ou de la sortie. Et juste pour le démontrer,
elles sont grises en ce moment, si je devais brancher ceci pour dire que celle-ci est
en haut, vous pouvez voir qu'elles deviennent
toutes violettes pour représenter le type de
variable de nom. Là-bas. Pour supprimer cette sortie et en placer
une sur le côté sortie, il va changer le
côté d'entrée pour qu'il adopte la même couleur, le même type également. Très bien, en ce qui concerne mon plan de
niveau, j'ai commencé à créer
un script présentant un exemple pratique de la façon dont
les sets peuvent être utilisés dans un jeu. Donc, quand j'appuie sur les trois touches, je vais
découvrir la différence entre deux ensembles différents. Mon top set contiendra tous les trésors que j'ai besoin de trouver dans un niveau donné. Mon dernier set va
me donner les trésors que
j'ai découverts jusqu'à présent. Ce que cette
note de différence va faire c'
est qu'elle va
toutes les afficher. Je n'ai pas trouvé de différence entre un set et un autre. Donc, je ne peux pas simplement sortir d' ici et taper une chaîne d'impression. Donc je ne peux pas, cela ne va pas
imprimer les noms de tous les éléments de l'ensemble qui ne sont pas trouvés
actuellement. Donc ce que je dois faire ici
est traîné hors d'ici. Cela me donnera le
trésor qui en résultera est introuvable. Et je vais
taper dans deux tableaux. Ce que cela
me permettra de faire, c'est de sortir un tableau de tous ces
différents éléments de l'ensemble. La différence
entre les deux. Et avec ça, je peux
sortir d'ici et
en apporter un pour chaque boucle. Nous n'avons pas encore
parlé des nœuds de contrôle de flux qui apparaîtront
dans la section suivante. Mais ce que ce
nœud de contrôle de flux va me permettre de
faire , c'est de parcourir chaque
élément de ce tableau, chaque élément de cette liste, puis de les afficher
à l'écran ici. Et il les affichera
à
l' écran via
une chaîne d'impression. Donc, pour chaque élément de ce tableau, nous allons le prendre
et convertir ce nom en chaîne
afin de pouvoir sortir. Compilons ici, pour nous
assurer que notre script s'affiche bien. Sauvegardez-le. Nous allons jouer. Vous pouvez y définir votre objet de débogage sur
votre carte de test si vous ne l'
avez pas déjà fait. Et maintenant, si j'appuie sur ces trois touches,
vous pouvez voir
que ce sont les trois
éléments que je n'ai pas encore trouvés. Je ne fais que spammer
avec trois touches. C'est la différence entre mes ensembles complets et mes ensembles trouvés. Très bien, alors maintenant,
essayons autre chose ici. Je vais apporter
le clavier VY, la touche V, je ne sais pas. Et avec cela, je
vais faire référence
à mes trésors
cachés découverts. Je vais m'éloigner d'ici et taper AD. Assurez-vous de choisir
la fonction d'ajout dans cette catégorie définie ici. Et nous allons ajouter un collier. Nous allons dire que nous avons
trouvé le collier maintenant. Nous allons donc l'ajouter à notre liste de trésoriers liés. Il s'
agirait donc essentiellement d'or, d' statue, d'un rouleau de sagesse
et puis d'un collier. Alors compilez, sauvegardez. Maintenant, quand je joue, quand j'appuie sur les trois
touches, ça va dire, hé, il te manque ces trois-là, mais maintenant je vais
appuyer sur la touche V. Nous allons
dire, oui, nous avons trouvé le collier maintenant, clé en V. OK, donc ça a été ajouté
à ma liste de mille. Maintenant, quand j'appuie sur les trois touches, je vais dire que ce
sont vos deux personnes manquantes. Nous avons trouvé le collier. Très bien, terminons cette vidéo en parlant de
certaines similitudes et différences
entre les tableaux et les ensembles, commençant par quelques similitudes. Eh bien, les tableaux et les ensembles stockent une collection
de valeurs du même type. Les deux vous permettent d'ajouter
et de supprimer des éléments, et vous m'avez vu
le faire au cours des deux
dernières vidéos. En ce qui concerne les différences, l'
ordre des éléments est différence dans les tableaux, vous
avez une liste ordonnée. Les ensembles sont considérés comme
non ordonnés. Maintenant, en ce qui concerne l'unicité
des éléments, les tableaux peuvent contenir des éléments dupliqués. ensembles ne peuvent pas avoir de doublons, et c'est
l'une des principales différences entre les tableaux et les ensembles. Les ensembles ne peuvent pas contenir de doublons. Les tableaux peuvent, en ce qui concerne les différences
fonctionnelles, rechercher et obtenir un élément individuel via une recherche d'index, car
ils sont ordonnés. Et juste pour
le montrer rapidement, j'ai une panoplie de
comédiens ici. Si je fais glisser et déposez
cela et que je l'
obtiens, je peux faire glisser hors d'ici et obtenir, je peux obtenir un
élément individuel dans ce tableau, n'importe quel nombre ici, encore une fois, commençant par la liste zéro, je suis actuellement Je
n'ai rien dans ce tableau. Mais oui, vous pouvez obtenir un élément donné
spécifié par un index. Maintenant, en ce qui concerne les ensembles,
ils ne peuvent pas
rechercher ou obtenir un élément individuel. Cependant, les sets sont excellents effectuer des comparaisons
entre les listes, comme vous venez de me voir le faire avec
ces trésors cachés, toutes les listes et mes trésors
cachés, ensemble
illimité ou un tableau,
que devez-vous faire avec ? Eh bien, j'opterais pour un set si la commande n'est pas
du tout importante. L'unicité des éléments
est une exigence. autre côté,
optez pour un tableau si l'ordre est important, mais que les éléments sont dupliqués, ce qui n'
est pas grand-chose. Désormais, les ensembles ont également l'avantage d'être légèrement plus
performants que les baies. C'est donc peut-être quelque chose
à garder à l'esprit également. Mais encore une fois, les tableaux sont
parfaits si vous devez rechercher un
élément individuel dans cette liste. Les ensembles sont parfaits si
vous devez comparer un ensemble à un autre
, ce genre de choses. Très bien les gars, ça va
faire, offrez cette vidéo. Rendez-vous dans la prochaine.
72. Carte HiRez: Bienvenue. Dans cette vidéo, notre
objectif est d'explorer ce que sont les
conteneurs de variables cartographiques, comment les créer
et comment les
utiliser dans un projet de jeu vidéo. Maintenant, voir c'est croire que celui-ci
sera plus facile à démontrer
qu'à en parler. Nous allons donc passer
directement à la création d'un. Maintenant, nous allons créer
ce conteneur de variables cartographiques dans notre manette BP Player. C'est un atout que nous avons
créé lors de notre événement. Passez le curseur sur la vidéo. Si vous voulez revenir en arrière et
revoir cela dès que possible. Si vous ne savez pas comment
créer une manette de jeu, je vais vous donner
une introduction rapide, un petit rappel ici. Pour ce faire, en cliquant avec le bouton droit de la souris, en passant sous la classe Blueprint, vous souhaitez créer un contrôleur de
joueur. Et puis vous le
nommeriez ainsi
quelque chose comme BP
Player Controller. Mais après cela,
vous devez l'associer
car vous êtes un contrôleur de joueur
actif pour le projet dans
lequel vous travaillez. Et vous pouvez le faire
dans vos paramètres. Paramètres du projet
sous les cartes et les modes. C'est ici que vous pouvez vous placer
dans cette classe de manette de joueur. Maintenant, nous allons
avoir quelques vidéos plus tard dans le cours
où nous avons parlé spécifiquement de
ces plans connus sous le nom de plans Framework. Mais il y a une raison précise pour
laquelle je veux montrer ce conteneur de variables de carte à
l'aide d'une manette de lecteur BP, mon
plan de manette de jeu ici. Et c'est parce que plan
d'une manette de joueur
est associé, dans notre cas, à
ThirdPersonCharacter. Maintenant, dans un jeu réel, votre personnage peut mourir
et lorsqu'il reçoit une réponse, toutes les variables du plan de personnage de
ce joueur reprennent leurs valeurs
par défaut. Maintenant, quelque chose comme dans une variable
d'inventaire, où elle contient le
nom d'un objet et quantité
que vous avez de cet objet, il serait préférable de le stocker dans un plan de manette de joueur car si votre personnage meurt, votre personnage meurt dans
ces variables,
réinitialisez une manette de jeu
qui reste active, pour ainsi dire, elle reste persistante tout au long de votre session de
jeu. Ainsi, si votre personnage mourait, ces valeurs ne seraient pas effacées à l'intérieur de la manette de
votre joueur. Très bien, avec leur
manette de jeu créée et définie dans les
paramètres de votre projet sous les cartes et les modes. Classe de manette de joueur. Plongeons à l'intérieur d'ici. Et si vous obtenez cette
petite fenêtre qui dit : «
Hé, ce ne sont que
des données, seulement un plan. Nous pouvons cliquer ici pour ouvrir l'éditeur de plan complet
et voir ce que nous voulons voir. Bien, la première chose à faire
ici est de créer une variable. En fait, avant de faire cela, je voudrais supprimer toutes
ces variables héritées juste pour simplifier cette section
du panneau Mon plan, elles sont toutes héritées de notre classe mère du
joueur. variété de contrôleurs. Je peux donc les saluer
en cliquant sur cette icône d'engrenage. Décochez Afficher les variables
héritées et
cela simplifiera un peu cela. Alors allons-y et
ajoutons la variable souhaitée ici. Je vais nommer cet
inventaire parce que c'est une bonne chose à stocker dans un plan de
manette de joueur. Encore une fois, un
personnage joueur peut mourir et répondre et mourir et variables de
réponse
d'un contrôleur persisteront tout au long de
votre session de jeu, le contrôleur de jeu
ne mourra pas. Considérez cela comme si
les cordes de la marionnette contrôlant la
marionnette peuvent se détacher de la corde
encore et encore. Bien, une fois cette option
sélectionnée dans le panneau Détails, nous allons modifier
notre type de variable ici, booléenne en chaîne, puis notre conteneur de
variables
d'un conteneur unique à une carte. Cela me permet maintenant d'ajouter
un type de données secondaire ici. Je veux donc avoir une chaîne pour
les noms de mes articles d'inventaire. Et puis je vais
avoir un entier pour dire combien de cet
article je possède. Je pourrais donc avoir des choses comme potion de
santé, trois d'entre elles
, une potion, trois de
ces casques en cuir, un qui n'en protégerait pas un, et cetera, et cetera. Maintenant, pour ajouter des éléments à
ce type de variable, je vais cliquer sur Compiler ici. Et nous pouvons voir
dans notre panneau Détails, que nous pouvons ajouter des éléments. Je vais cliquer sur
ce bouton plus une fois. Si j'essaie à nouveau de cliquer
dessus, cela me dira que
non, tu ne peux pas le faire. Maintenant, avec une variable de carte. Il s'agit d'un conteneur qui
stocke une collection de paires clé-valeur les clés et les valeurs pouvant être
de différents types de données. Encore une fois, dans ce cas, ma clé sera la chaîne. Le nom de mes clés d'
articles d'inventaire doit être unique. Donc, pour la première fois ici, je vais appeler
cette potion de santé. Et je vais le dire. J'en ai trois
par défaut. potion de
santé sera donc ma clé, et ici,
ma valeur sera représentée
par un entier. Ils ne doivent pas nécessairement être uniques. Ils peuvent être identiques, et je vais le représenter ici en ajoutant un autre élément ici. Les touches, dans mon cas,
les cordes, doivent donc être uniques. Je vais faire en sorte que ce
soit un homme, une potion. Et je vais définir trois comme valeur
par défaut pour cela. Et ajoutons-en quelques autres ici, juste pour le plaisir. Je vais ajouter que c'est sûr. Casques en cuir Nous en avons un. Et en cliquant sur le signe plus, j'ai un bouclier en bois
et j'en ai un. Très bien, maintenant j'
ai ma collection de paires
clé-valeur dans
ce conteneur de cartes. Désormais, les cartes sont excellentes car elles des recherches et une
récupération efficaces de ces valeurs à
l'aide permettent des recherches et une
récupération efficaces de ces valeurs à
l'aide de ces clés
associées. Bien, maintenant je veux créer
une autre variable ici, et elle entrera en jeu
un peu plus tard. Je vais donc cliquer sur ce bouton
Plus et je vais
nommer cet article à utiliser. Et je veux que ce soit
du type de variable de chaîne. Avant de le définir
comme type de variable de chaîne, je vais le
définir temporairement sur un booléen. Maintenant, il convient de
noter que vous ne pouvez pas avoir certaines variables sous forme de cartes. Donc, si je devais essayer de dire, « Hé, variable de type booléen », je
voudrais vous avoir sur une carte. Tu ne peux pas le faire. Certains
types de variables ne peuvent donc pas utiliser de cartes. Elles incluent des variables booléennes, des textes, rotateurs et des variables de
transformation. Alors j'ai pensé
que j'allais le lancer tout de suite. Ils ne peuvent pas être et ne peuvent pas utiliser
le conteneur de variables cartographiques. D'accord, maintenant je
veux changer ce type de données ici de
booléen à une chaîne. Et nous allons compiler ceci afin de pouvoir définir
une valeur par défaut. Et ce sera
l'océan de manne. Donc, comme son nom l'indique, ce
sera notre objet pour utiliser un homme potion
qui entrera en jeu plus tard ici. Ensuite, nous voulons créer
de nouveaux plans de classe d'acteurs. Revenez donc à
votre navigateur de contenu. Je vais le mettre dans
le dossier des scripts Blueprints. On va le mettre
dedans. Je vais donc cliquer avec le bouton droit sur
un espace vide, nous allons créer
une nouvelle classe de plan. Ce sera de la
variété des acteurs et nous allons nommer cette potion de
manière soulignée de BP. Ensuite, nous allons
double-cliquer sur ce type pour l'ouvrir. Tout d'abord, nous allons ajouter quelques composants
, puis définir quelques détails. Donc, le premier composant que
je souhaite ajouter est un composant de sphère. Pas ce type de sphère, mais plutôt un
collisionneur de sphères, une collision de sphères. C'est ce que je recherche. Et je vais régler le rayon
de la sphère ici à 70. Et puis, une fois que les composants de votre
lance sélectionnés à l'intérieur de celui-ci sont
attachés à
celui-ci, je vais plutôt ajouter un cylindre. Je vais donc simplement taper cylindre et nous trouverons
un cylindre de formes de base. Et j'ai quelques paramètres que
je souhaite définir pour cela. Je vais changer l'
échelle à déverrouiller,
donc déverrouillez-la et nous
allons la régler à 0,25, 0,2, 5,0, 0,5. Ensuite, je vais l'incliner. Nous allons le
faire pivoter un peu. Donc, juste ici, dans les fils rotation est
celle à moins 30. Et je vais aussi faire en sorte que
ce matériau
ressemble à ce que j'ai de
sommet, quelque chose de rouge. Allons-y avec ça. Maintenant, il ressemble un peu à un homme. Bien sûr. Ensuite, nous allons ajouter une variable à l'intérieur de
notre plan bp. Cliquez donc sous ce bouton plus
pour accéder à la section des variables. Nous allons également appeler cet
article pour l'utiliser. Nous allons changer le
type ici en chaîne. Nous allons
compiler afin pouvoir définir une valeur par défaut. Et cette fois, je vais
saisir la potion d'Amana. Je vais le faire en minuscules, mais je le fais uniquement pour
que cela soit
différent de la façon dont nous l'avons nommée la valeur par défaut dans notre manette de
lecteur BP. Nous y utilisons des majuscules
pour le début de nos mots manne et potion,
juste pour montrer que c'est possible, car les boîtiers n'auront pas d'importance
pour notre carte ici. Alors allons-y, compilons
et sauvegardons ceci tout de suite. Maintenant, avant
d'aller plus loin, je voulais montrer dans notre
manette de jeu BP que pour
notre variable de carte,
je vais maintenir la touche
Ctrl enfoncée , cliquer avec le bouton gauche de la
souris et la faire glisser sur notre graphique des événements. Si nous abandonnons cette version, si je passe sous la rubrique Utilitaires, nous avons accès à toute
une série de fonctions qui peuvent manipuler
nos données cartographiques d'une manière ou d'une autre. À bien des égards,
cela ressemble à
nos tableaux et à nos types de
conteneurs définis. Et je vais juste en
ajouter quelques-unes ici. Je vais donc ajouter
une annonce que nous pouvons ajouter
à notre carte. faisant glisser cela, il y en a aussi un autre
pour trouver l'article en question. Faites glisser dessus, je peux supprimer un élément de notre dragon
de carte à nouveau, je peux en trouver un qui contient, encore
une fois, que je peux faire glisser. Je peux rechercher
uniquement les clés qui existent sur cette carte,
c'est-à-dire que ces gars-là, je peux faire glisser la
souris dessus
et ajouter une fonction qui trouve uniquement les valeurs de cette carte. Il existe donc de nombreuses fonctions
différentes qui peuvent manipuler ou vous donner
des informations sur votre carte ici. Très bien, ensuite, nous
allons revenir à notre ménopause BP afin d'ajouter un script à
ajouter
à notre inventaire. Ici,
nous allons ajouter à notre inventaire de potions Amanda lorsque nous récupérerons une potion à un homme. Donc, pour en revenir à
notre BPMN du mouvement, nous voulons faire quelque chose lorsque
nous chevauchons cette sphère. Dirigez-vous donc vers votre graphe d'événements, nous allons cliquer avec le bouton droit
sur notre collisionneur de sphères. Nous allons ajouter
un événement lorsque nous commencerons à le superposer. Et nous ne voulons que quelque chose
se passe lorsque nos
autres acteurs qui chevauchent cette sphère sont
ThirdPersonCharacter. Donc, après la sortie, nous
allons faire une recherche pour Cast to
ThirdPersonCharacter. Et s'il s'agit d'un
ThirdPersonCharacter, nous pouvons étendre notre script ici. Ensuite, ce que nous voulons faire,
c'est parler de
notre variable d'inventaire ici à notre variable d'inventaire ici l'intérieur de notre manette de
jeu BP. Alors, comment pouvons-nous y parvenir ? Eh bien, de retour à l'intérieur
de notre BP Man of Motion, je vais cliquer avec le bouton droit de la
souris et un espace vide et taper Obtenir la manette du joueur. Et donc, une erreur que beaucoup
font, c'est qu'ils pensent
que, maintenant, j'ai cette fonction de
manette de jeu. Je peux simplement sortir d'
ici et faire une recherche d'
inventaire pour trouver cette variable. Et non, vous ne pouvez pas, car nous devons savoir à quel manette de jeu
nous voulons vous parler. Le projet pourrait avoir de nombreuses manettes de
joueurs. C'est donc le point de départ pour
identifier à quel
contrôleur de joueur nous voulons parler. Donc, en traînant d'ici, nous pouvons lancer sur notre
manette de jeu, notre
manette de lecteur BP afin d'accéder aux informations
qu'elle contient. Maintenant, je vais simplifier un peu
ce nœud ici. J'ai des épingles d'exécution
ici et là. Si je clique avec le bouton droit sur ce nœud, je peux simplifier ce nœud jusqu' à ce que l'on appelle une fonte pure. Je sais que cela
ne va pas échouer car j'ai un projet
solo. Je sais que j'ai défini ma manette de lecteur
bp comme contrôleur de lecteur que mon projet utilise ici
dans les paramètres de mon projet. Donc, dans ce cas précis, je peux ne pas vérifier si j'ai réussi
dans cette caste ou non. Je sais que cela
va réussir. Je vais cliquer avec le bouton droit sur
Convertir en fonte pure. Cela va éliminer
ces épingles d'exécution, mais je peux toujours y accéder
comme ça. Et accédez à mon inventaire, qui est plutôt sympa. Voici donc ma carte. La prochaine chose que
je veux faire est de sortir d' ici et de faire une recherche pour trouver. Et ce que ce nœud me permet
de faire, c'est de trouver une clé donnée, valeur
donnée, une clé d'entrée donnée. Donc, la clé que je veux chercher ici est l'homme, une potion. Je vais donc
glisser-déposer ceci sur mon entrée. C'est la clé que
je vais
rechercher sur cette carte. Et cela en produira
la valeur. Mais je veux l'augmenter. Je veux l'augmenter chaque
fois que nous le chevauchons. Nous allons donc commencer avec trois potions d'Amanda. Lorsque je les
recoupe, je veux
simplement que vous incrémentiez ce montant. Je vais donc
partir d'ici. Cela me fera perdre
ma valeur de trois. faisant glisser cela, je vais taper par incréments. Donc, ce nœud ici va automatiquement
incrémenter ce 3-4. Dans ce cas. Je vais le transférer
ici comme ça. Mais il ne suffit pas
de l'augmenter. J'ai encore besoin de
tout ajouter à ma carte ici. Donc, ce que je vais faire, c'
est sortir de mon
inventaire une fois de plus, taper une annonce, passer sous la carte des
services publics, ajouter. Donc je vais y aller comme ça. Nous voulons ajouter à
nos potions de manne. Et que voulons-nous ajouter à
ce montant sont mis à jour. Le montant va
être indiqué juste ici. Cela va donc fixer une nouvelle quantité pour
nos potions de manne. Ensuite, ce que je vais
faire, c'est sortir d'ici. Nous voulons l'
imprimer à l'écran afin que nous puissions réellement
le voir fonctionner. Et je vais faire glisser
ce type vers l'
arrière , puis l'ajouter. Nous allons imprimer certains
textes à l'écran. Donc, la première chose que
nous allons
imprimer est le nom de l'objet, en l'occurrence un homme, une potion. Ensuite, je vais mettre
un espace égal à espace. Ensuite, la troisième chose que
je veux inclure ici est que les montants sont des montants
mis à jour. Si je le fais glisser vers
le bas à partir de la sortie de nos incréments, nous pouvons générer cette quantité. Donc, cela indiquera que, pour homme une potion est égale à la quantité
mise à jour. Enfin et surtout, nous voulons détruire cet acteur. Donc, en sortant d'ici, nous
allons taper Destroy Actor. Il. Compilons les scripts allons-y et sauvegardons. Maintenant. Tout cela est très bien, mais nous n'avons encore ajouté aucune proportion d'hommes
à notre niveau. Alors allons-y
et faisons-le rapidement en revenant
à notre onglet de niveau. Glissez et déposez quelques-unes d'
entre elles ici comme ceci, et glissez et glissez. Et nous y voilà. Encore une fois, souvenez-vous que nous partons de trois hommes par potion. Donc, regardez en
haut à gauche, et nous avons maintenant 45,6. Je dirais que cela
fonctionne très bien. Maintenant, pour gagner du temps, nous allons retourner à
notre manette de jeu BP où j'
ai configuré un script pour décrémenter
notre inventaire. C'est à peu près la même
configuration que celle que j'ai chez mon homme, un plan de potion. Cependant, la seule différence
ici est que je décrémente à partir de notre inventaire au
lieu de l'incrémenter. Encore une fois, j'
utilise ma clé ici, ma clé de potion Amana, même si j'utilise un M
majuscule, un P majuscule Il parle toujours à cet homme, une clé de potion juste là. C'est donc celui que je suis en train de trouver. Ensuite, je décrémente simplement à partir de cela, puis j'ajoute cette montagne
décrémentée
à mes quantités d'inventaire mises à jour. Nous utilisons donc la touche
pour ajuster la valeur. Alors montre-le simplement. J'ai ce contrôleur BP
défini comme objet de débogage ici. Je commence donc
par trois 456. Et je devrais avoir une
police rouge pour le décrémenter, je vais appuyer sur 7543, et cetera, et cetera. Alors, vous l'avez. Conteneur de variables
cartographiques pour des paires clé/valeur. Recherchez-la à l'aide de la touche, puis vous pouvez incrémenter
ou décrémenter la valeur. C'est idéal pour quelque chose comme
l'inventaire, comme celui-ci. Très bien les gars, ça va
faire l'affaire pour offrir celui-ci. Nous vous verrons dans la prochaine.
73. Enum HiRez: Bienvenue. Dans cette vidéo, notre objectif
est de découvrir les énumérations
, abréviation d'
une énumération. Il s'agit d'un autre type de
listes que nous pouvons créer et utiliser pour faciliter la logique
de nos scripts de plan. C'est en fait l'une de mes variables préférées
à créer et à utiliser. Alors, qu'est-ce qu'une énumération ? L'énumération est un type de données composé d'un ensemble
de valeurs nommées. Il s'agit d'une liste d'
étiquettes, pour ainsi dire. Maintenant, c'est quelque chose
que nous allons
créer ici dans notre navigateur de
contenu. Ensuite, nous allons l'
utiliser dans notre ThirdPersonCharacter
Blueprint. Alors, allez dans votre dossier
Blueprints de script, ce sera
un endroit judicieux pour créer une énumération. Et si nous cliquons avec le bouton droit
et que nous
laissons un espace vide, nous obtenons cette catégorie de
plans. Et dans notre petit menu déroulant, possible de
créer une énumération, dans
l'infobulle
, et l'énumération est une liste de valeurs nommées. Allez-y, cliquez dessus, et nous allons lui donner
un nom tout de suite. Je vais appeler cela un E pour
souligner l'état de santé. Maintenant, j'aime toujours nommer mes énumérations créatives
avec un trait de soulignement E. Mais là encore, vous pouvez utiliser la convention
de dénomination de votre choix. Ensuite, je vais double-cliquer
dessus pour l'ouvrir. Maintenant, à l'intérieur, nous
allons cliquer sur ce bouton et ajouter un énumérateur une, deux, trois fois
pour nous permettre d'ajouter des étiquettes à l'intérieur
que nous pouvons utiliser. Je vais donc
remplacer chacune d'elles. Le premier s'
appellera Super. La deuxième va
s'appeler, d'accord, tu peux créer ces étiquettes,
que veux-tu ? Et mon troisième sera
qualifié de gravement blessé. Ce seront donc
essentiellement mes trois
états de santé distincts que je
vais utiliser pour créer certaine logique dans mon plan de
personnage à la troisième personne. Je vais enregistrer ça
et ensuite je pourrai tout fermer, je
n'en ai plus besoin. Et je vais me lancer dans mon
plan ThirdPersonCharacter. Si vous avez oublié où
il se trouve dans le dossier
Blueprints à la troisième personne, double-cliquez sur ce
type pour l'ouvrir. Une fois à l'intérieur, nous
allons créer une variable. Je vais donc créer une variable en cliquant simplement sur
ce bouton plus Ajouter. J'aime le faire de différentes manières pour montrer différentes manières de
créer des variables. Et je vais appeler cela un
E pour souligner l'état de santé. Je vais le nommer exactement de la même manière
que j'ai nommé mon énumération. Je vais appuyer sur Entrée ici. Maintenant, dans le panneau Détails, je vais changer
le type de variable. Bien que je l'aie nommée
exactement de la même manière que mon énumération que
je viens de créer, j'aurais pu la nommer comme je voulais. Cependant, je veux mapper cela au type de variable. Mon E souligne la santé, oups, E souligne le dénombrement de
l'état de santé. Ça y est, juste là. Je dis donc à cette
variable que je suis en train de créer, que je veux être de ce type. Maintenant, une fois que j'ai cliqué sur Compiler ici, je peux voir que je peux modifier valeur
par défaut de
mon état de santé pour qu'elle soit super, correcte ou mauvaise. Et comme il s'agit d'une
variable, je peux la modifier. Je peux le changer de
super deux, d'accord ou mal, puis utiliser ce
statut pour piloter la logique. Très bien, alors
passons à la création de
notre script initial ici. Je vais commencer par
créer un événement personnalisé. Je vais cliquer avec le bouton droit sur
un espace vide, taper personnalisé, nous allons ajouter
un événement personnalisé qui est un événement que
nous pouvons nommer et appeler
quand et où nous le voulons. Et je vais zoomer ici
parce que je suis très loin. Je vais appeler cela une mise à
jour de l'état de santé. Ensuite, je vais introduire
ma variable d'énumération ici, en maintenant la touche Ctrl
enfoncée, en cliquant avec le bouton gauche et en faisant glisser. Et ce que nous pouvons faire avec
ce type, c'est qu'
on peut s'en sortir et y
introduire un nœud de commutation. Si je commence juste à
taper switch, cela amène un nœud de
commutateur qui me permettra de basculer en fonction de la valeur
de cette énumération. Alors voilà, passez
au statut eHealth. Vous pouvez voir les
broches de sortie ici, dire « super », « OK » ou « très mal ». Ce sont les
étiquettes exactes que j'ai ici à l'intérieur de cette
énumération, super bien. Ou mal elle, si je branchais une autre énumération ici, ça dirait d'
allumer ce que c'est. Et il aurait des
broches de sortie correspondant aux étiquettes
qui se trouvaient à l'intérieur
de cette énumération. Maintenant, c'est génial
car en
fonction de la valeur de cette variable, elle va se déclencher à partir
de différentes épingles ici. Et ce que cela nous permettra de
faire, c'est d'ajuster quelque chose, en l'occurrence à propos de
notre caractère. Ce que je vais faire, c'est
ajuster vitesse de déplacement de
notre personnage fonction de son état de santé, qu'il
soit super
bon ou gravement blessé. Je vais donc intégrer la composante mouvement de mon
personnage. Faites-le glisser et déposez-le ici. Dans la composante
mouvement de mon personnage, j'ai ce paramètre
appelé vitesse de marche maximale. C'est ce qui contrôle la
vitesse à laquelle mon personnage peut se déplacer au niveau où je vais sortir d'ici et saisir la vitesse de marche maximale. Je veux pouvoir
régler ma vitesse de marche maximale. Et je vais
dupliquer ce Control C, Control V, Control V. Et je peux
intégrer ce même composant de mouvement de
personnage aux trois. Peu importe que
vous en ayez un. Ou je pourrais glisser-déposer les composants mobiles de
mon personnage séparément. Je pourrais en avoir trois et les brancher séparément sur chacune des cibles, peu
importe comment vous vous
y prenez. Je vais faire comme ça, comme ça, et comme ça, laissez-moi simplement double-cliquer dessus pour faire entrer un nœud de reroutage. Et maintenant, je vais définir ma vitesse de marche maximale en
fonction de ma santé ou de ma blessure
grave. Si c'est super, je dirais que ma santé va
me permettre de marcher à cette
vitesse maximale des années 2000 ? Ça l'est. OK. Je dirais que c'est de nouveau dans
ma valeur par défaut de 500. Si je suis gravement blessé, je vais le mettre à 100. heure actuelle. Tout cela est très bien. Mais nous n'appellerons cet événement
personnalisé nulle part. Nous avons besoin d'un moyen d'appeler cet événement personnalisé de déclenchement
et de désactivation afin de pouvoir définir nos
désirs maximaux en
fonction de la valeur de cette énumération. Nous avons maintenant besoin d'un moyen de changer ce statut
ou de le définir. C'est donc ce que sera le prochain
morceau de script. Très bien, donc je vais juste
commencer par un événement d'entrée. Je vais cliquer avec le bouton droit de la souris
et laisser un espace vide et rechercher clavier h parce que
nous allons
utiliser cet événement d'entrée
pour modifier notre état de santé. Et juste quelques ajustements que
nous devons faire ici à partir de choses que nous avions
modifiées dans les vidéos précédentes. Sélectionnez votre variable
flottante de santé ici, nous allons
la redéfinir à 1,0, ce qui équivaudra à 100 %. Ensuite, avec notre fonction de santé
modifiée, a été créée dans
la section des fonctions du cours, lorsque nous avons décidé de créer une fonction, vous pouvez découvrir comment
nous y sommes parvenus. Je vais également y apporter
quelques modifications , car dans
cette
section du cours, nous avons modifié notre fonction de
santé modifiée. Je vais cliquer avec le bouton gauche de la souris
et
le faire glisser en haut de notre
touche de presse juste ici. Cette entrée nous a été donnée à
titre de référence passée. Nous l'avons défini comme référence de
passe. À un moment donné, nous
allons annuler cela. Ainsi, lorsque ce nœud est sélectionné
dans la section de saisie, vous pouvez vérifier que,
parce que nous voulons saisir quelque chose, il est
codé en dur, pour ainsi dire. Et j'ai aussi besoin de modifier certaines
informations concernant cette fonction. Je vais donc double-cliquer
dessus pour l'ouvrir. Nous avons cette augmentation
actuellement dedans. Je vais le supprimer. Donc, ce que nous voulons
faire ici, c'est que
nous avons une valeur pour la santé que nous allons fixer à fond dans notre fonction. Nous allons dire qu'à chaque
fois que nous appuyons sur ce bouton, nous allons réduire de
zéro point un point, soit 10
% de santé. Ce sera donc notre contribution qui va
double-cliquer ici. Lorsque cela se produira,
nous allons soustraire ou plutôt ajouter à
notre valeur de santé actuelle. Même s'il s'agit
d'un chiffre négatif, nous allons ajouter ce chiffre négatif
à notre état de santé actuel. Nous allons donc
prendre ce 0,1 négatif. Nous allons l'ajouter
à cette valeur, qui sera
égale à 0,9 ou 90 %. Et c'est ce
que nous allons publier. Nous allons le brancher
comme ça. Nous pouvons toujours soutenir que
si c'est supérieur à zéro, nous allons produire un effet sonore
positif. Si elle est inférieure à zéro, nous allons émettre un effet sonore
négatif. Donc, c'est très bien. Assurez-vous donc que la fonction de
santé que vous modifiez est mise
à jour pour ressembler à cela. Je vais le compiler
tout de suite. Et pour en revenir à notre graphique des événements, nous allons
continuer ici. Nous allons donc dire si notre état
de santé actuel est supérieur ou égal à 0,75. Essentiellement, si nous avons les trois quarts de
la santé ou plus, nous allons faire appel
à n'importe quelle succursale. C'est vrai. Nous allons définir notre état
de santé ici. Nous allons donc le
glisser-déposer sur le vrai pour placer n'importe quel centre. Nous allons dire que
si votre état de santé est aux trois quarts ou plus, votre santé est désormais
étiquetée comme super. Si c'est faux, nous allons introduire
un autre nœud de branche. Et nous allons faire
une autre évaluation ici. Donc, en sortant d'ici,
nous allons rechercher un autre
supérieur ou égal à. Donc, si elle doit être
supérieure ou égale à 0,26. Donc, essentiellement 26 %. Si elle se situe entre ces
deux fourchettes, 26 à 75 %. Si c'est vrai, nous allons passer à Control C et Control V sur
ce type plusieurs fois. C'est donc vrai. C'est entre
cette fourchette 26,75 % de santé. Nous allons dire que
votre santé va bien. Et si c'est faux, vous avez 25 % de santé ou moins. Nous allons dire que vous êtes blessé. Mal. Donc,
c'est très bien. De toute évidence, vous voyez que
cela n'est pas lié. Et si ce n'est pas encore
connecté, c'est
parce que je veux introduire une chaîne d'impression ici. Nous allons imprimer
des chaînes afin de pouvoir réellement voir notre état de
santé actuel craché à l'écran. Je vais donc
convertir ce float en chaîne en le
branchant comme suit. Tout cela est très bien. Cependant, chaque fois que je change la valeur de ma variable d'
état de santé ici, nous utilisons cette variable qui
semble augmenter notre vitesse de marche
maximale, mais nous ne parlons pas encore d'avantages pour le
client. Nous devons donc
terminer cette partie aussi saisie en
appelant l'endroit où cet événement
personnalisé doit démarrer. Et nous pouvons le faire
en cliquant avec le bouton droit sur un espace vide et en saisissant les mises à jour. Voilà, la fonction d'appel met
à jour l'état de santé. C'est le nom exact de ce document. C'est ce que nous allons appeler ainsi. Cela va nécessiter le lancement de cet événement
personnalisé. Nous allons ensuite voir d'accord. Comment cet état de santé a-t-il
été mis à jour ? Super ok. Ou mal elle, en fonction de
ce que c'est maintenant réglé, nous allons influencer la vitesse de déplacement de notre
personnage. Donc, compilons
ça, pour nous assurer que tout est beau. Oublie de le sauvegarder. Je vais en quelque sorte ranger
ça ici. Nous allons jouer cet objet de débogage en tant que
ThirdPersonCharacter et
sélectionner les composants
mobiles de mon personnage. Notre vitesse de marche par défaut
va donc commencer à 500. Même si notre état de santé
par défaut est réglé sur Super, nous ne l'évaluons pas encore pour déterminer notre vitesse de marche
maximale. Sachez donc que lorsque je commencerai à me
déplacer ici, nous nous
déplacerons à une vitesse de 500. Donc, reprenez cela. Ok, tu peux voir
que je me déplace à vitesse d'
environ 500. Je vais appuyer sur
ma touche H ici. Maintenant, à 90 % de santé, ce qui est toujours super, donc ma vitesse de marche maximale sera
maintenant de 2000. Vous pouvez me voir
avancer beaucoup plus vite. Je vais appuyer à nouveau sur cette touche
H pour atteindre
80 % de santé, 70 % de santé. Maintenant, je suis dans cette fourchette acceptable, donc ça va
être ramené à 500. Je ne suis toujours pas à l'aise. Permettez-moi donc de continuer à appuyer sur
la touche H ici pour réduire ma santé à 20 %. Alors maintenant je suis gravement blessé. Donc, c'est aussi vite que je
peux courir, pour ainsi dire. C'est une excellente utilisation d'
une variable d'énumération, déterminer votre
état de santé et de
modifier quelque chose
à propos de votre personnage. Alors, à quelles
autres utilisations pouvez-vous penser ? Eh bien, laissez-moi juste en jeter
quelques-unes. Et si vous aviez une énumération
des différentes armes ? Et selon l'
arme que vous avez équipée, disons une épée, un poignard,
un bot, votre vitesse de déplacement
ou même vos
attaques disponibles, cela pourrait très bien se produire. Qu'en est-il de n'importe quel NUM pour
différentes classes de personnages ? Fabriquées par des guerriers, etc. et selon la classe de votre
personnage, certaines armes peuvent être disponibles ou
non. Ou que diriez-vous d'une énumération des différents états ou événements du jeu ? Pensez à un jeu
comme Rocket League. Vous pouvez avoir une énumération
pour des éléments tels que le gameplay, les
buts marqués, la mi-temps, etc. Et
selon le réglage de cette énumération, vous pouvez faire en sorte que
différentes choses se produisent, comme montrer un cinématique d' un but après un but à marquer. Très bien les gars, ça va
suffire pour vous proposer cette vidéo, nous vous verrons dans la prochaine.
74. Struct: Bienvenue. Dans cette vidéo, notre objectif est d'apprendre et de
démontrer l'utilisation
du type de variable de
structure très utile. Maintenant, c'est un type
de variable que je crée tout le temps dans mes
propres projets de jeu. D'un trait, vous
pouvez stocker de nombreux types de données liés à la même chose dans
un seul conteneur. Alors allons-y et
créons une variable de structure. Ici, dans mon dossier
Blueprints de scripts, je vais cliquer avec le bouton droit de la souris sur un espace vide, sous la catégorie Blueprints, dans
le petit menu volant, juste en dessous de l'énumération, nous avons la structure également connue
en tant que type de variable de structure
que nous pouvons créer. Alors allons-y
et créons ceci. Je vais nommer cette
STR, souligner les sorts. Ensuite, double-cliquez
sur ce type pour l'ouvrir. Très bien, définissons même ce qu'est
une variable de structure. Ainsi, une structure ou une
variable de structure est essentiellement une variable qui peut contenir
de nombreuses autres variables à l'intérieur de celle-ci. Ainsi, structure essentiellement les données
regroupées. Vous pouvez considérer une structure comme
un casier de rangement géant avec toutes les autres boîtes à l'intérieur de ce casier de stockage comme
des variables individuelles. Chaque boîte à l'intérieur du
casier de rangement a son propre contenu. Nous pouvons ensuite entrer dans
le casier de rangement. Dans ce cas, nous structurons et retirons le contenu d'une boîte, dans ce cas une
variable selon les besoins. Maintenant, ces traits sont
parfaits pour contenir des variables qui se rejoignent d'
une manière ou d'une autre. Nous avons donc une structure
que nous allons
créer ici, appelée sorts. Pensez à toutes les propriétés des
sorts que nous pourrions contenir dans 11 types de
conteneurs. Ici, nous pouvons ajouter le
nom du sort, le type d'effet, l'élément auquel il est
associé. Peut-être un homme coûteux,
peut-être un peu de calme. Toutes ces choses sont
associées à un sort donné et ce serait formidable si nous
pouvions les regrouper en un seul actif. Eh bien, un accident vasculaire cérébral est un excellent
endroit pour le faire. Très bien, laisse ce type
ouvert pour le moment. Nous allons d'abord créer deux autres actifs d'énumération, avant de
revenir à notre structure. Revenez donc à votre éditeur
principal ici,
dans votre dossier
Blueprints de script. Et créons
ces deux énumérations. Vous pouvez cliquer avec le bouton droit sur le menu déroulant des
plans. Nous allons créer
une énumération. Je vais appeler celui-ci des éléments de sort
soulignés en E. Ensuite, je peux cliquer dessus avec le
bouton droit de la souris
et le dupliquer. Control D le
dupliquera également, car ce sera aussi une
énumération et je vais appeler
celui-ci les types de
sorts de soulignement E. Ensuite, nous pouvons double-cliquer sur chacune d'elles pour les ouvrir. Les éléments du sort sont donc ouverts. Ouvrons également
les types de sorts. Très bien, donc sous les types de sorts, je vais ajouter
trois entrées ici. Nous allons commencer par les
types de sorts, 1234 types de sorts. Je vais faire des
dégâts directs dans l'écran nommé numéro deux, ce
sera une zone d'effets. La troisième sera,
disons, la guérison. Bien sûr. Allons-y, sauvegardons ça et ensuite tu
pourras fermer ce type. Pour les éléments de sort,
nous allons
ajouter trois entrées ici,
123, et il n'y en aura aucune. Incendie. Et mon prochain événement
ici sera le vent. Et en fait, ajoutons-en un de plus. Faisons un verre d'eau, nous aussi. De l'eau Quel plateau ? Potter. Allons-y, sauvegardons cela et ensuite nous pourrons le clôturer. Maintenant, ceux qui ont été créés,
nous devons revenir dans notre structure
et nous allons y
ajouter de
nouvelles variables. Encore une fois, considérez une structure comme un conteneur pouvant
contenir de nombreuses variables. Je vais juste
le glisser vers la gauche. Je vais donc ajouter, voyons voir, 1234567 si je compte bien,
donc ajoutons, je crois
que c'est sept juste là, 0 à six,
**** égale sept. Donc, pour la première fois, je vais appeler « orthographe », « nom ». Et ce sera du type
variable text. Allez, textos, on y va. Le second sera
appelé type orthographié. Et c'est là que nous pouvons nous installer dans la pièce que nous venons de créer. Nous pouvons entrer dans l'UE
et le trouver ici. Bien que vous puissiez également le
rechercher là-haut et là, vous pouvez voir ses
types d'orthographe ici. Ensuite, nous allons appeler
les éléments du sort. Et dans
notre nouvelle catégorie, nous allons la configurer
pour épeler des éléments. La prochaine étape, nous l'appellerons
« gestion des coûts ». Et oups, celui-ci n'a
pas pris la parole ici. Revenons-y directement, à nos éléments de sorts ici. Sous enums, épelez les éléments. Nous y voilà, homme de frais. Nous allons le définir
comme un entier. On va se rafraîchir ensuite. Nous allons le configurer pour qu'il s'agisse d'un flotteur. Ensuite, nous avons valeur d'effet de
sort qui
peut être endommagée ou soignée. C'est ce que je fais référence à
vous par valeur d'effet orthographique. Et il le définira comme un entier. Enfin, et ce n'est pas le moins important, j'ai lancé S f x. Ce serait
donc
l'effet sonore associé au lancement d'un sort. Je vais donc faire en sorte que
ce soit une onde sonore. Fera une référence à
un objet d'onde sonore et ensuite quelque chose d'autre. Juste pour le montrer, nous
pourrions le configurer comme un tableau, afin que nous puissions réellement avoir une gamme d'effets sonores différents
que nous voulons jouer. Donc c'est plutôt cool là-bas. Très bien, allons-y
et sauvegardons ça. Et je vois cet
avertissement là-haut. Et si nous passons la souris dessus, cela indique que vous ne pouvez pas
analyser cette valeur. Tu dois avoir
autre chose que rien là-dedans. Développons cela
vers le bas et
ajoutons quelques valeurs
par défaut pour cela. Nous pouvons ajouter ces
valeurs par défaut, mais pas en dessous. Ici, nous avons cet onglet
de valeurs
par défaut diffuse les effets
plus, plus, et laissez-moi simplement les
définir comme étant. Allons-y, plus sombre. Comment allons-nous
ouvrir
les fenêtres du Dr Bowles et ajouter des étiquettes de données ? Fermez la fenêtre. Oui, peu importe
ce que vous y mettez, il y
a juste deux effets
sonores différents. Voilà donc notre structure. Nous voyons
que c'est une bonne chose à faire. Nous pouvons continuer et
cliquer sur Enregistrer ici. Bien, une fois tout cela fait, passez à votre
ThirdPersonCharacter. Et si vous avez oublié
où se trouve ce type une
fois de plus dans votre dossier Blueprints à la troisième
personne, double-cliquez sur ce
gars pour les ouvrir. Donc, à l'intérieur, nous allons
utiliser cette structure. Nous devons créer une variable. Passez donc dans la section de votre variable my
blueprint, cliquez sur le bouton Plus, et nous appellerons
celui-ci mes sorts. Nous allons changer
le type de variable ci-dessous passant d'un booléen à nos sorts de structure, STR, de trait de
soulignement. Et c'est là que nous pouvons
trouver notre structure. C'est dans la catégorie des
structures. Et si je passe dans
le panneau de détails, je peux le faire dans
un tableau de structures. Je vais donc changer
le type de conteneur ici de simple à tableau. J'ai besoin de compiler ici. Et quand je le fais, je peux ajouter plusieurs entrées
à mon tableau de sorts ici. Cliquons donc une et deux fois, et maintenant vérifions-le. fur et à mesure que
je les développe, j'ai accès à toutes ces différentes propriétés que j'ai configurées ici dans ma structure. Donc, ici, dans ma structure, j'ai créé des champs pour saisir
un nom de texte. Je suis entré. J'ai
saisi des champs pour définir un
type de sort, un élément de sort, accost d'
homme, toutes ces
choses et les voici maintenant
disponibles dans mon
BP ThirdPersonCharacter. Alors définissons certains d'entre eux. Je vais dire que le nom de mon
premier sort s'appellera boule de feu, type de
sort, dégâts directs,
bien sûr, élément de sort. Je vais cliquer sur ce
menu déroulant et regarder toutes les options que
j'ai définies dans mon émeu. Encore une fois, pour notre sort, tapez
ici et élément de sort. Nous les avons associés à des énumérations, des listes de noms que
nous avons créées plus tôt. Donc, Spell Element, nous allons le
mettre à feu. Man Acosta
les mettra à cinq,
réduits à 0,5 effet de
sort de rivage, valeur 25. Dans ce cas, je veux dire
que 25 en tant que dégâts directs. Pour ma prochaine entrée,
épelez le nom. Je vais régler
ce problème pour qu'il soit guéri. Ce type de cloche
va être remplacé par éléments
de sorts de soins. Eh bien, aucun de ces éléments ne laissera ça
comme rien. Les coûts gérés indiqueront dix, refroidissement 3,8, la valeur de
l'effet de sort 50. Ensuite, nous pouvons également définir les effets sonores
pour chacun d'entre eux. J'ai oublié de le faire
pour la boule de feu. Alors élargissez chacun d'entre eux. Oui, vous pouvez modifier les effets sonores afin de
laisser
les valeurs par défaut pour votre boule de feu,
mais peut-être que
pour votre effet sonore de
durcissement, vous voulez quelque chose de différent. Je vais donc en essayer un appelé
ship VR Shape Scale Up. Et je ferai de même pour
cet autre navire, navire à grande échelle également. Ils se trouvent dans les dossiers de
contenu du moteur. Au fait, si vous avez oublié comment accéder aux dossiers de contenu de votre
moteur, vous pouvez cliquer sur la
petite icône en forme d'engrenage afficher le contenu du moteur. D'accord, donc tout cela
est plutôt sympa. Allez-y et compilez-le
tout de suite. D'accord, donc avec toute cette configuration, comment utilisons-nous
cette variable frappée ? Comment accéder à
cette variable de frappe et extraire les informations que nous cherchons à extraire ? Eh bien, pour commencer, nous
devons ajouter cela à notre graphique. Je vais donc
cliquer avec le bouton gauche et faire glisser. Je vais le chercher. Et cela renvoie un tableau parce que nous avons deux
éléments ici, une boule de feu avec toutes
ces propriétés. Et notre index ici
est notre Q ou sort. Nous avons donc l'index 0, notre pare-feu, et l'index un dans notre tableau,
le sort curatif. Nous pouvons donc glisser dessus
et taper gets,
nous pouvons en obtenir une copie ici. Et en fonction de
la valeur que nous saisissons ici, il recherche un entier. Nous pouvons entrer 0 pour
renvoyer notre indice de boule de feu 0, ou nous pouvons en saisir un pour renvoyer notre curieuse
ceinture C'est l'indice un. C'est ainsi que cela fonctionne. Alors ce que nous voulons faire ici
est de cliquer avec le bouton droit sur cette épingle. Si je clique dessus avec le bouton droit de la souris, je peux diviser la broche de structure. Maintenant, regardez comment ce nœud
se transforme lorsque je fais cela. Bam. Maintenant, j'ai toujours
ces entrées entières, donc je peux toujours définir, est-ce que je veux
rechercher l'index est 0 ici, ma boule de feu ou mon index
un ici pour guérir. Mais maintenant, je peux sortir toutes
les différentes propriétés
liées à cet indice donné. Donc, je peux trouver pour index 0, le nom du sort de la boule de feu, les dégâts directs,
yada, yada, yada. Notez maintenant que
vous pouvez revenir en arrière et réduire le
tout en
cliquant avec le bouton droit sur l'
une de ces épingles. Et je peux recombiner
le Struct Pin. Mais dans ce cas, nous
voulons cliquer dessus
avec le bouton droit et diviser l'épingle frappée. Maintenant, il convient de
noter qu' il y a en fait de
nombreux traits à trouver lorsque vous travaillez avec des scripts de
blueprints. Et c'est un
petit aparté, mais cela vaut la peine de le
souligner ici. Je vais cliquer avec le bouton droit la souris et un espace vide et simplement taper get actor transform. Cela obtiendrait la transformation
de notre ThirdPersonCharacter. Maintenant, si je devais cliquer avec
le bouton droit sur cette épingle juste ici, je peux diviser l'épingle de structure en
une transformation
composée de données de position, de
rotation et d'échelle. Mais même quelque chose comme
l'emplacement, non ? C'est trois valeurs
en une dans les vecteurs X, Y et Z qui déterminent
notre position finale. Il s'agit de trois valeurs flottantes. Donc, si je cliquais dessus
avec le bouton droit de la souris, je pourrais aussi fendre cette épingle
frappée. Vous pouvez donc voir comment il
existe de très
nombreux nœuds dans
Unreal sur lesquels vous pouvez faire toute
cette division
et cette recombinaison des broches de structure,
quelque chose comme ceci. Un vecteur est une structure. Il se compose de trois variables
flottantes. Je peux donc cliquer dessus avec le bouton droit. Je peux le partager et
tu peux le recombiner. Et même notre rotateur
ici qui se compose également de trois valeurs
flottantes, donc nous pouvons le diviser. Oui, intéressant de noter, cliquez avec le bouton droit sur
recombiner, cliquez avec Oups, pas de promotion. Cliquez avec le bouton droit, recombinez,
cliquez sur recombiner Très bien,
revenons au sujet ici, utilisons notre structure. Je vais donc le supprimer. Je vais apporter la clé
de l'événement. Nous allons donc cliquer avec le bouton droit
et laisser un espace vide. Essayons quelque chose
sur la touche 9. Bien sûr, pourquoi pas ? Je ne pense pas utiliser
la touche 9 nulle part. Nous allons sortir de
notre type de sort ici, mener ces deux gars
ici de type orthographié. Et je vais
chercher un interrupteur. Côté facilité, sortilège. Nous allons faire
quelque chose en fonction du type de sort que nous
spécifions ici. Ensuite, ce que je vais faire, c'est
faire glisser des éléments hors de mes sorts et je vais activer les
éléments orthographiés comme suit. Et nous allons dire que si
nous causons des dommages directs, nous allons ensuite découvrir
quels sont nos éléments ici. Et ce que nous allons
faire ensuite, c'est imprimer une chaîne. Nous allons éteindre
notre feu ici et je vais en quelque sorte récapituler. Quand j'en aurai fini ici. Réussissez, puis nous obtiendrons notre valeur
d'effet magique. C'est comme les dégâts que
nous allons faire ici. Alerte spoiler, je
vais laisser cela comme les éléments 0 ici. Nous allons donc
lancer une boule de feu, pour
ainsi dire, sans aucun
effet. Mais si vous encaissez des devis aériens
, partez d'ici. Et nous n'
allons pas encore l'intégrer à
cela. Je vais revenir
d'ici et faire un ajout. Nous allons imprimer
quelque chose à l'écran. Notre A sera l'espace
qui vous sera distribué. R, B sera la valeur de
l'effet orthographique qui
va convertir cet
entier en chaîne. Nous allons ajouter
une autre épingle ici. Nous allons ajouter le nom
du sort à C. Vous avez
donc distribué 25 boules de feu. Et le dernier mot ici, nous allons ajouter une autre
épingle, c'est endommager. Et je vais ajouter
un espace avant cela. Et tout cela
va très bien se passer. Enfin, et ce n'est pas le moins important, nous allons nous éloigner d'ici. Nous allons jouer, un son, il suffira de jouer du son en 2D. Quel son
veux-tu le faire jouer ? Eh bien, voyons l'un de nos différents effets en cascade
ici. Éloigne-toi de ça. Nous allons en obtenir une copie. Nous allons
le mettre ici. Comme nous pouvons le préciser, souvenez-vous de notre sort de
boule de feu ici, nous avons deux effets sonores de
casting possibles, l'élément 0 ou l'élément un. Choisissons-en un au hasard. Je vais donc faire glisser la souris vers l'arrière
et taper un entier aléatoire
dans la plage. Nous allons y aller entre 01. Ce
sera donc notre configuration finale, en utilisant nos traits ici. D'accord, donc c'est
plutôt bien cadré . Je
crois que j'ai compris. Très bien,
allons-y et compilons pour nous assurer que le
script est prêt à être utilisé. Enregistrez, allons-y et jouons puis appuyez sur le fait qu'
il y a neuf touches. Hé, définissez notre
objet de débogage, revenez en arrière. On y va. Et nous y voilà. Précédent Nike, vous devriez voir
des textes apparaître ici. U del 25, dégâts causés par une boule de feu. Je sais qu'il n'y a pas d'espace
entre la boule de feu et les dégâts. Et au fur et à mesure que je développe
ce sujet, encore une fois, vous devriez entendre l'un de ces deux effets sonores
jouer au hasard. Très bien, donc je sais que c'
était une configuration très basique, mais je vais vous
mettre au défi d'essayer de
développer ce
type de configuration. Maintenant, je veux que vous
les essayiez vous-même, vous
assurant de ne pouvoir lancer un sort que si vous en
avez assez. Nous n'utilisons pas
nos monocottes ici. Assurez-vous donc d'essayer autre
chose. Assurez-vous de
ne pas pouvoir lancer à nouveau à moins que vous ne soyez calmé ou que
la durée n'ait expiré. Essayez ceci, essayez
d'ajouter un émetteur ou système de
particules à un
sort que vous lancez ici. Essayez également ceci, essayez de spécifier
un emplacement vectoriel où
ce sort donné devrait générer
ce système de particules donné. Ce sont donc toutes des
choses, compte tenu de
certaines connaissances
préalables de ce cours, j'aimerais que vous
essayiez maintenant de terminer, parlons également d'une autre utilisation
possible. Imaginez qu'un système de
quêtes a été détruit. Vous pouvez spécifier un
nom, un lieu, ennemis à apparaître ou à vaincre, et peut-être des
types et des quantités de récompenses qui peuvent tous être
contenus dans une structure. Ou peut-être que les
attributs de base de caractères peuvent tous être
contenus dans une structure. Et vous pouvez spécifier
des éléments tels que le nom, vitesse, la santé
, toutes sortes de choses. Très bien les gars, ça
va suffire pour proposer cette vidéo sur la structure
très utile. Rendez-vous dans la prochaine.
75. Aperçu du contrôle de flux: Très bien, nous sommes
enfin arrivés au point du
cours où il est grand
temps de
parler des nœuds de contrôle de flux. Maintenant, je sais que vous
m'avez vu jusqu'à présent dans le cours utiliser un grand nombre de
ces nœuds de contrôle de flux. Mais nous n'avons pas encore eu discussion
officielle à ce sujet
car il y a beaucoup
de sujets à aborder. Donc ça se termine maintenant. Ici commence notre conversation sur le nœud
de contrôle de flux. Notre objectif dans cette
vidéo est donc simplement d'avoir une vue d'ensemble et de
comprendre ce que sont les nœuds de contrôle de
flux et leur fonction dans les
scripts, un objectif plus approfondi. Nous examinerons également rapidement les
nœuds de contrôle de flux
courants utilisés dans les scripts. Commençons par définir
quels nœuds de contrôle de flux,
même nos nœuds de contrôle de flux sont des nœuds qui permettent
de contrôler le flux d'exécution en
fonction des conditions. Ils évaluent certaines entrées de données. Et en fonction des entrées, ils ont déterminé
quelle exécution hors pin fires ou quand
une exécution hors pin fires contrôlent
essentiellement
le flux d'exécution. Par exemple, nous avons
ce nœud de branche ici. Nous pouvons y entrer. Ensuite, sur la base d'
une entrée de condition, nous pouvons sortir de
la branche vraie si la condition est vraie, ou nous pouvons sortir de la fausse branche si la
condition est fausse. Les nœuds de contrôle de flux ont désormais
une couleur grise en haut. Et comme nous l'avons mentionné précédemment
dans notre section sur les macros, les nœuds de contrôle de
flux sont des macros et vous pouvez le constater
en double-cliquant simplement sur l'une d'entre elles. Je vais double-cliquer
sur mon nœud de porte ici. Et cela va ouvrir
ma bibliothèque de macros standard. Ce sont des macros, les nœuds
de contrôle de flux sont des macros. Maintenant, où pouvons-nous trouver un ensemble de ces nœuds de contrôle de
flux ? Et voici quelques exemples courants
que vous trouverez dans les scripts. J'ai tout cela dans mon
Level Blueprint un aperçu rapide de la plupart
des plus courants. Eh bien, si vous
recherchez certains d'entre eux, vous pouvez évidemment les
rechercher par nom, cliquant avec le bouton droit de la souris et en les
recherchant par le titre ici. se trouvent également
dans le menu contextuel, ici même sous Utilitaires. Et puis, dans la section utilitaire, vous pouvez accéder au contrôle du flux. Et c'est là que se
trouvent certains d'entre eux. Maintenant, il convient de noter que
je vais lancer ce nœud de sélection qui n'a
pas de bannière grise. Il ne s'agit pas officiellement
d'une charge de régulation de débit. Je vais également l'inclure
dans cette section
car il contrôle en quelque sorte le flux
de données qui obtient sortie en fonction des entrées de l'index. Donc, dans un sens, c'est une sorte de nœud de contrôle de
flux. C'est pourquoi je vais
l'inclure également. Nœud super pratique pour savoir, en passant, quelques informations supplémentaires sur
les nœuds de
contrôle de flux. Beaucoup d'entre eux ont des raccourcis clavier et je les ai inclus dans les commentaires du
nœud ici. Ainsi, vous pouvez voir qu'
avec un nœud de branche, si vous maintenez la touche B enfoncée et que vous
cliquez avec le bouton gauche, vous obtiendrez
une branche. Ce sont des astuces très pratiques. Je vous
recommande de vous familiariser car vous allez vous
retrouver à utiliser ces
nœuds tout le temps. De plus, les nœuds de contrôle de flux sont utiles pour
bloquer ou restreindre l'exécution d'une zone de script. Ils sont également utiles
pour déterminer quel morceau de script doit être
exécuté ensuite. C'est donc quelque chose
à savoir sur nœuds de contrôle de
flux, rien de tel
que cela se trouve au fond de votre esprit. Ils sont utiles pour déterminer à quel moment une
zone de script apparaît quel bit de script apparaît. Suivant. L'exemple du script
suivant serait une branche. Dois-je sortir du vrai ou
du faux ? de porte est
un exemple de cas où une zone
de script Notre nœud de porte est
un exemple de cas où une zone
de script
se produit. Et vous pouvez en savoir plus à
ce sujet dans la vidéo du
nœud de porte elle-même. Très bien les gars, cela
va faire pour que les quatre soient un aperçu du contrôle de flux. Nous vous verrons dans
la prochaine vidéo.
76. Branche: Bienvenue. Dans cette vidéo, notre
objectif est d'
apprendre à utiliser le nœud de branche en utilisant un scénario de porte
verrouillée extrêmement courant titre de démonstration. Donc, tout d'abord, définissons
ce qu'est un nœud de branche. Vous m'avez vu en utiliser plusieurs
jusqu'à présent. Les branches sont essentiellement un encodage d'instructions
if then. Ils constituent un moyen
simple de créer flux de base de
décision à partir d'une
seule condition vraie ou fausse. Désormais, une fois exécuté, le nœud de
branche examine la valeur entrante
du booléen attaché. Vous pouvez y associer une variable
booléenne ou
simplement coder
en dur en cochant ou
décochant les sorties. Ensuite, cela produira une impulsion d'exécution vers
la sortie appropriée. Donc, si c'est vrai, et c'est ce que signifie la
coche, cela sortira d'ici. Si cela est faux ou non vérifié,
sortira d'ici. Encore une fois, le
raccourci pour le placer dans
votre graphique consiste simplement à maintenir la touche B
enfoncée et à cliquer avec le bouton gauche de la souris. Maintenant, il convient de
noter ici que nous
avons déjà
utilisé un nœud de branche. Nous l'avons fait lors de
l'introduction de la variable booléenne. Et nous l'avons fait dans
notre ThirdPersonCharacter. Alors pourquoi ne trouvez-vous pas votre
ThirdPersonCharacter. Vous pouvez le trouver dans le dossier Blueprints à la
troisième personne. Double-cliquez dessus
pour l'ouvrir. Et ce que nous avons fait pendant la vidéo
booléenne, c'est que nous l'avons réalisée. Ainsi, lorsque nous saisissons une action
sautée via la barre d'espace, nous avons évalué la condition de notre variable
booléenne can jump. Et si c'était vrai, ce que nous avons actuellement par défaut, alors nous pouvons sauter. Si c'est faux, on ne peut pas sauter. Et nous pouvons le voir
en essayant simplement de
jouer lorsque j'y envoie mon objet de
débogage. Et encore une fois, c'
est réglé sur vrai. Et vous pouvez le voir en passant la souris dessus pendant que vous jouez. Et si j'appuie sur la barre d'espace, vous pouvez voir que
je suis en train de sauter le pas. Dès que je sortirai.
On y va. Cependant, si je devais changer,
Ken passait à faux,
nous appuierons sur la barre d'espace. Cela sera considéré comme faux
et rien ne se passera. Alors allons-y et essayons ceci. En appuyant sur la barre d'espace, vous pouvez voir le flux
des matrices d'exécution ici, car cela
donne la valeur False, ce que nous pouvons voir dans
la petite infobulle. Il n'a jamais été possible
de dépasser cette branche. Il arrête le flux des
exécutions sur place. Très bien, essayons de
montrer un autre scénario ici. Je vais donc créer une
toute nouvelle variable dans la section My Blueprint du ThirdPersonCharacter
Blueprint, en cliquant sur le bouton
plus tout en bas, je vais l'appeler « he's
key » point d'interrogation. Et je ne compilerai pas ça. Et juste pour que vous sachiez, je vais laisser
cette clé comme fausse. Je n'ai pas la
clé tout de suite. En fait, tu sais quoi, je vais vérifier que c'est vrai
pour dire que oui, notre personnage a la clé. Nous allons donc compiler cette sauvegarde. Ensuite, ce que nous
allons faire, c'est revenir à notre navigateur de contenu ici, je veux accéder à notre section de
plan. Nous avons notre
porte rotative. Nous avons créé ce plan est un plan de
porte rotative lorsque nous avons
parlé des variables du rotateur. que vous puissiez regarder cette vidéo si vous n'avez pas créé cette porte, je vais cliquer avec le bouton gauche de la souris
et la faire glisser dans mon niveau tout de suite. Ensuite, je vais double-cliquer
dessus pour l'ouvrir. Nous allons modifier un peu notre
script ici. Donc, ce que je vais
faire, c'est tuer notre personnage
Get
Player ici et
ici, et juste ici. C'était une façon que nous
venions de mettre en
place pour vérifier si c'était notre ThirdPersonCharacter qui
chevauchait cette porte. Ce que je vais faire
maintenant, c'est qu'on va vérifier en saisissant
cette autre épinglette d'acteur. Nous allons passer à
notre ThirdPersonCharacter. C'est une autre façon
de vérifier, hé, qui est la chose
qui nous chevauche ? Et encore une fois, nous
cochons la case en tant que composant que
nous cochons pour chevaucher le
composant de la boîte juste là. Nous allons le
câbler. Nous ne ferons
quelque chose que si c'est un ThirdPersonCharacter
qui nous chevauche. Cependant, nous n'allons pas ouvrir
cette porte pour l'instant, à moins découvrir que notre
ThirdPersonCharacter possède la clé Si vous lancez votre
ThirdPersonCharacter de cette manière, nous n'avons pas encore officiellement
parlé à propos des nœuds de casting. Nous pouvons accéder à l'intérieur de notre ThirdPersonCharacter
et accéder à toutes les fonctions ou variables ou à
tout
ce qui s'y trouve. Nous pouvons appeler une fonction, des variables d'
accès, etc. Plus précisément, nous
voulons sécher ici et trouver r a la clé. Nous allons savoir si
notre joueur a la clé ? Si vous ne le voyez pas, essayant de faire ce que
je viens de faire, assurez-vous que votre personnage à la
troisième personne est compilé après avoir créé
un personnage avec une clé booléenne. Encore une fois, c'est vrai par défaut, c'est ainsi
que nous l'avons défini. Nous allons donc l'utiliser
comme condition. S'il est vrai que notre
joueur possède une clé, alors nous allons
ouvrir notre porte. Avec tout cela en place.
Je ne vais pas m' inquiéter de ce
chevauchement d'extrémités pour le moment. Je ne m'inquiète
que de son ouverture. Allons-y et compilons ceci. Épargnons, puis jouons à ça. Très bien, afin que nous puissions vérifier si le script
R fonctionne, voici où vous pouvez
définir votre objet de débogage. Si vous avez plusieurs
portes juste à côté, vous pouvez indiquer la porte que vous allez vérifier pour voir si elle
fonctionne. Très bien, on y va. Nous devrions avoir cette
clé parce que nous avons dit que c'est vrai par défaut,
cette valeur booléenne. Et voilà, ça va s'ouvrir. Maintenant, permettez-moi de revenir à mon personnage à la troisième personne. Je vais changer la clé has
en false, compiler et enregistrer. Revenons à une
porte rotative, cliquez sur Play ici. Et maintenant, notre personnage
n'a plus la clé. Alors allons-y et vous verrez que nous
approchons de cette porte. Vous pouvez voir ce
chevauchement se produire, mais cela arrête le flux d' exécution
ici même, dans notre agence. Très bien,
revenons à notre
plan ThirdPersonCharacter ici dans cette section de saut du script. Je voulais souligner que le conditionnement
d'une branche de
quatre ans ne doit
pas nécessairement être une seule
variable comme celle-ci. De plus, il n'est pas nécessaire
qu'il s'agisse d'une seule
entrée
matérielle conditionnée en
cochant cette case ou en la décochant, vous pouvez en fait effectuer une
évaluation plus complexe si vous voulez. Et si je me déplace
vers la gauche, je vais montrer d'autres
nœuds que on trouve
souvent
branchés sur une branche. Et voici ces
gars-là. Nous avons un anti-nœud, NAND dans ou un NOR
et un x ou si vous voulez. Les commentaires ici
décrivent donc comment ils fonctionnent, mais nous pouvons essayer
quelques-uns d'entre eux. Je vais essayer celui-ci
parce que c'est très courant. Vous pouvez essayer de brancher l'un d' entre
eux à votre
succursale ici. Et nous pouvons même utiliser notre Ken jump est l'une des conditions. Maintenant, cela renverra un vrai
si toutes les entrées sont vraies. Alors laissez-moi simplement cliquer sur
ce bouton plus. Allons-y quatre fois. Nous pourrions continuer à ajouter
plus de broches d'entrée. Maintenant, je vais y brancher
ma canette. Maintenant, je peux sauter. C'est faux, mais je vais
vérifier tout le reste. Maintenant, cela ne devrait renvoyer
vrai que si toutes les entrées sont vraies, ces trois sont vraies. Peut sauter ici, mais ne l'est pas. Cela devrait donc empêcher mon personnage de sauter
car tout ne est pas vrai. Compilez ceci et jouez. J'appuie sur cette barre d'espace. Vous pouvez voir que je peux
sauter, me laisser changer, passer ici à vrai,
entrer et jouer. Et maintenant je peux sauter, toutes les quatre sont vraies. Ensuite, je montre que
ce nœud NAND que je peux sauter est réglé sur true,
comme tous les autres. Cela sera évalué à faux
car toutes les entrées sont vraies. C'est ainsi que fonctionne celui-ci. Il ne renvoie donc faux que
si toutes les entrées sont vraies. Donc j'appuie sur la barre
d'espace, je ne peux pas sauter. Cependant, si je devais changer
l'un de ces deux faux, et que c'est peut-être l'un
d'entre eux que je choisis, alors cela sera considéré comme vrai. Maintenant je peux sauter. Le nœud OR renverra la
valeur true si une entrée est vraie. J'en ai donc trois qui sont fausses, mais ma capacité à sauter ici est vraie. Donc, en cliquant sur jouer ici, appuyant sur la barre d'espace, le résultat sera vrai, car une
seule réponse est vraie. Ensuite, nous avons le NeuroNode. Cela est évalué à vrai uniquement si les deux entrées ici sont fausses. Donc, actuellement, ma
variable booléenne est fausse, tout comme cet
emplacement vide juste ici. Donc, si je clique sur Play, vous pouvez voir que je peux sauter. Cependant, si je devais définir
ne serait-ce qu'une de ces valeurs sur vrai, revenez à l'action et jouez. Vous pouvez voir que cela va
être évalué comme faux. Enfin et surtout, nous avons ce nœud XOR et
il va évaluer la valeur true si les
entrées ne sont pas les mêmes. Donc, actuellement, mon ken
jump est réglé sur false. Cette case à cocher est définie sur true
afin qu'elles ne soient pas identiques. Cela devrait donc évaluer le
véritable saut et le jeu. Oui, en effet, je peux sauter si je les mets tous
les deux identiques. Donc, pour l'instant, les deux
sont faux. Entrez et jouez. Cela n'est pas considéré comme vrai. Alors, vous l'avez. Ce sont des nœuds utiles, des éléments complémentaires
qui sont souvent connectés à l'
entrée de condition d'un nœud de branche. Parlons donc de certaines utilisations
possibles des nœuds de branche. Eh bien, vous pourriez vous
poser la question suivante : est-ce que le joueur a
assez de moyens pour lancer un sort ? Le joueur a-t-il assez de
manne pour acheter un objet ? Vous pouvez évaluer
l'argent en vérifiant que le joueur a une valeur entière
de la somme d' argent par rapport à la somme d'
argent requise pour acheter un objet. Si c'est vrai ou faux. Vous pouvez évaluer cela pour déterminer si l'
achat est accepté. Et si un joueur est
au bon endroit
pour utiliser un objet ? Ou peut-être,
pourriez-vous évaluer
si le joueur a peu de santé ? Le joueur a-t-il vingt-cinq
pour cent de santé ou moins ? Si c'est vrai, vous pourriez faire une chose, alors que si c'est faux, vous pourriez en faire une autre. Très bien les gars, ça
va suffire pour proposer cette discussion sur les nœuds de branche, nous vous verrons dans
la prochaine vidéo.
77. Séquence: Bienvenue. Dans cette vidéo, notre objectif
est de découvrir comment le nœud de
contrôle de flux de séquences peut être utilisé dans des scripts. Maintenant, ce nœud vous permet de
lancer plusieurs sections de scripts simultanément et de
manière organisée. Maintenant, dans cette vidéo,
je vais travailler dans mon
Level Blueprint. Donc, si vous voulez jouer le jeu
à la maison et que vous avez oublié
comment y entrer. Sur vos cartes. Il vous suffit de venir ici, ouvrir Level Blueprint et
vous y arriverez. Bien, qu'est-ce qu'
un nœud de séquence ? Il permet à une seule entrée filaire d'exécution de déclencher plusieurs sorties
d'exécution. Maintenant, c'est idéal pour les événements. Cela ne vous permet d'avoir qu'
une seule copie d'un événement
dans un script,
comme Begin Play,
Begin Play, Begin, Overlap, etc. Vous pouvez
désormais ajouter
plusieurs broches de sortie ici s'il y a plusieurs choses
que vous souhaitez faire, disons, Commencez à jouer
en cliquant simplement sur ce bouton plus. Maintenant, si vous souhaitez supprimer l'une de
ces broches d' exécution de sortie, vous pouvez simplement cliquer dessus avec le bouton droit et
les supprimer comme suit. C'est idéal pour
organiser les scripts et pour en
ajouter un, car il s'agit
d'un nœud très utilisé, vous pouvez simplement maintenir la touche S
enfoncée, puis cliquer sur le bouton gauche de
la souris, et ça t'en apportera
un. Mettons donc l'un d'entre
eux à utiliser dans notre plan
de niveau
ici, et non pas accélérer les choses. J'ai un petit
script que j'ai configuré à l'
avance ici dans
mon Level Blueprint. Mais c'est très bien, je vais vous expliquer ce que j'ai fait pour que
vous puissiez jouer le jeu à la maison. Je veux donc faire trois choses avant de
commencer à jouer ici. Permettez-moi donc d'introduire et de
commencer à jouer au nœud d'événement. Je peux maintenir la touche P enfoncée et
cliquer avec le bouton gauche pour faire apparaître
Event Begin Play. Et juste pour montrer que
vous ne pouvez commencer à
jouer qu'un seul de ces événements dans un graphique. Si j'essaie de cliquer avec le bouton droit
de la souris
et de laisser de l'espace vide, je commencerai à jouer comme ça. Ça va juste me faire sauter droit dessus. Ou si je maintiens le
PT enfoncé et que je clique
à nouveau avec le bouton gauche , je n'obtiens rien. Un seul d'entre eux
peut donc figurer dans un graphique. Maintenant, allez à un
événement de branchement, commencez à jouer. Cela se déclenchera dès que
nous commencerons à jouer à notre jeu. Et je le fais
passer par un nœud de séquence. Et si je fais ça,
c'est parce que je voulais
faire trois choses en dehors d'Event. Commencez à jouer. Je
veux émettre un son. Ça va être de la
musique pour débutants. Je vais avoir
mon personnage de joueur
plutôt que de le lancer sur mon
ThirdPersonCharacter. Et j'ai promu cela en
variable ici afin de pouvoir enregistrer une référence à mon
ThirdPersonCharacter au cas où je voudrais faire quelque chose à mon ThirdPersonCharacter
plus tard, j'aurais juste besoin de glissez-déposez l'un d'entre
eux dans mon graphique. Ensuite, l'autre chose
que je voulais faire ici est quelque chose d'un
peu plus chic. J'ai placé un
point cible dans mon niveau. Vous pouvez en trouver un
dans le panneau Place actors. Je suis donc allé ici, j'
ai ajouté
un panneau d'acteurs de lieux, j'ai recherché un point cible, ajoute simplement une icône à votre éditeur et cela
définit un point dans l'espace que vous pouvez utiliser dans un graphique
comme je l'utilise. Donc, avec ces
points cibles sélectionnés, je maintiens la touche R enfoncée et je clique avec le bouton gauche de la souris, et c'est ainsi que j'obtiens
une référence à cela. Ensuite, j'ai simplement
traîné hors de cela, ai fait
glisser la position de l'acteur hors de cette
recherche de points aléatoires
dans un cadre de sélection, je précise une taille
pour un cadre de délimitation, c'est essentiellement une zone
dans mon à plat, centré autour de mon point cible. Ensuite, je m'en sers
pour faire une transformation. Tout ce qui m'intéressait vraiment,
c'était l'emplacement. L'échelle de rotation
ne m'importait pas. Ensuite, je m'en vais et j'ai
cherché un acteur de spawn dans le nœud
de classe. Ici, je précise mon BPMN, une potion que j'ai créée
plus tôt dans le cours. Vous pouvez spécifier n'importe quelle classe ici,
cela n'a pas vraiment d'importance. Voici donc les trois choses que je veux faire avant de commencer à jouer. Donc, Event Begin Play
ici en utilisant un nœud de séquence. Je peux y aller, bam, bam. Et si vous souhaitez mieux
organiser votre script
, vous pouvez double-cliquer sur un fil pour faire apparaître un nœud de reroutage. Encore une fois,
les nœuds de séquence sont un excellent moyen d'organiser vos scripts. Je vais donc compiler ceci pour m'assurer que mon script
est beau. Donc, en commençant à jouer, nous
devrions entendre de la musique. Nous aurons une référence
à notre personnage, et nous allons faire
naître un homme, une potion. Maintenant, je peux jouer au
jeu et voir ça, ou je peux simuler le jeu et
nous devrions entendre cette musique. Et nous devrions créer cette potion. Maintenant, tout cela va
se passer dans les coulisses. Donc ça, vous allez juste avoir
confiance que cela se produira. Mais nous allons entendre et voir
quelque chose
pour que je puisse jouer. Et il a vu que l'émancipation
naît ici. Un peu de musique. Ou si
vous souhaitez le tester, vous pouvez également simuler votre jeu. Maintenant, pour ce faire, vous pouvez passer sous
vos trois points et
choisir de simuler. Et vous pouvez voir le
raccourci clavier pour cela. Maintenant, lorsque vous simulez votre jeu, vous faites en sorte que votre
jeu exécute
tout le code, tout le script s'
exécute également. Qui que vous ne soyez pas
en train de jouer à votre jeu. Donc, si vous cliquez ici, vous pouvez voir qu'elle
est apparue d'une manière potion. Et de la musique
joue également. Je peux arrêter ça. Alternativement. C'est civil en ce moment,
je suis en mode simulation. Notez simplement que
si vous utilisez Alt plus S, cela active également le
mode simulation. C'est idéal pour simplement
faire fonctionner votre jeu. Et tu veux juste voler comme ça et vérifier les choses. Maintenant, avant de terminer
cette vidéo, je voulais juste prouver
que vous n'avez pas besoin d'utiliser de nœuds de séquence. Il s'agit essentiellement
d'un nœud de
type qualité de vie permettant de mieux
organiser vos scripts. Voici exactement la même configuration
sans le nœud de séquence. Il fera exactement les mêmes choses. Cependant, mon câblage est un
peu entrecroisé. Et vous pouvez imaginer que si j'avais 45 610 choses qui pourraient devenir
vraiment, vraiment compliquées. Donc, si je clique sur Play ici, vous pouvez voir
que j'ai cette potion, terres et cette musique,
etc. Souvent, ces nœuds de
séquence viennent directement après un
événement pour faire une chose, une seconde chose, troisième
chose, et cetera. Mais ce n'est pas
là que ça doit aller. Vous pouvez les placer là où elles ont du
sens dans votre script. Je voulais également
souligner une autre chose ici. Encore une fois, vous ne pouvez avoir qu'
une seule copie d'un événement, début de l'
événement chevauche ce
genre de choses. Cependant, il existe
certains nœuds d'événements, tels que les événements d'entrée
tels
que notre clé à huit, dont vous pouvez avoir
plusieurs copies. Un cas comme celui-ci. Vous n'aurez pas besoin d'un
nœud de séquence car vous pouvez avoir un seul événement,
effectuer trois choses. Donc, pour le prouver, il suffit de cliquer
sur ce bouton. Bonjour, vous êtes là ? Bonjour, vous êtes là ? Vous n'avez donc pas besoin d'un nœud de séquence
pour quelque chose comme ça. Mais ce ne
serait pas une mauvaise idée non plus. Nœuds de séquence, type de
qualité de vie, remarque, je les utilise tout le temps. Ça suffira pour proposer cette vidéo. Rendez-vous dans la prochaine.
78. Faire une fois: Bienvenue. Dans cette vidéo, notre objectif
est d'apprendre comment
utiliser le nœud do once
dans nos scripts. Maintenant, il s'agit d'un nœud assez
explicite qui semble que
vous n'aurez besoin de
l'utiliser qu' une fois de temps en temps. Il s'avère que ce
nœud est utile
dans toutes sortes de scénarios. Alors, qu'est-ce que le do
veut ne pas faire, eh bien, il déclenche une
impulsion d'exécution juste une fois. À partir de ce moment, il cessera toute exécution
sortante. Il ne se déclenchera pas
à nouveau dans aucun autre script que
vous avez au-delà d'ici, tant que vous n'aurez pas envoyé une impulsion
dans l'entrée de réinitialisation ici. Une fois que vous l'avez fait, il peut
le faire encore une fois. Maintenant, pour intégrer ce
nœud à votre graphique, vous pouvez cliquer avec le bouton droit de la souris
et effectuer une recherche pour « faire une fois » ou, en maintenant la touche O enfoncée, vous pouvez cliquer avec le bouton gauche et
vous obtiendrez également votre nœud. Maintenant, mettons cela à l'épreuve en
parcourant un exemple ici. Pour cela, je vais
travailler dans mon Level Blueprint afin que vous puissiez y
accéder ici. Plan de niveau ouvert. Je voulais également souligner
ici que nous allons
accéder à une variable à l'intérieur de notre personnage à la troisième personne. Donc, si vous venez de
visiter directement la vidéo, ouvrez votre
ThirdPersonCharacter. Dans ce cadre, nous
allons accéder à cette variable
entière d'expérience totale gagnée dans
notre ThirdPersonCharacter. Donc, si vous ne l'avez pas, allez-y et créez
une variable entière, j'ai la
valeur par défaut définie sur 0. Assurez-vous de le
compiler également, car nous allons y
accéder ici sous peu. Très bien, revenons
à notre plan de niveau. La première chose dont nous
aurons besoin, c'est d'un événement. Et faisons-le en fait
avec des événements qui se chevauchent. Superposons une zone de
notre niveau, puis ajoutons des points d'expérience à
notre personnage pour avoir été si génial et avoir
traversé cet endroit. Revenons donc
à notre carte de test ici et ajoutons une sphère de déclenchement. Si vous n'avez pas ce
panel d'actrices, vous pouvez le trouver ici. Placez le panneau des acteurs pour que
nous y arrivions. Nous allons placer une
sphère de déclenchement au sein de notre niveau. En sélectionnant cette option
dans le panneau Détails, je vais augmenter la
taille du rayon de notre sphère, agrandir un peu. Je vais également passer dans
la section de rendu, jeu caché d'acteur
incontrôlé, afin que nous puissions voir cette sphère. Maintenant que cette
option est sélectionnée, je
vais revenir à mon plan de
niveau. Nous allons cliquer avec le bouton droit sur
Ajouter un événement pour cela. En dessous, Ajouter une collision
d'événements. Nous allons faire quelque chose pour commencer
à se chevaucher. Donc, la première chose que nous voulons
faire est de vérifier que c'est notre ThirdPersonCharacter qui est l'autre acteur qui nous
chevauche. Nous pouvons donc faire une vérification ici en sortant de
cette autre épingle d'acteur, faisant un Cast to
ThirdPersonCharacter. Et nous parlerons du
casting officiel plus tard dans le cours
qui sera bientôt disponible. Et une fois tout cela fait, nous pouvons accéder à l'intérieur de notre
ThirdPersonCharacter et obtenir le
total d'expérience gagnée. Et faisons simplement glisser un ici, le
bouton plus. Nous allons ajouter, nous
dirons que nous allons ajouter 100 points
d'expérience
pour atteindre cette sphère. Bon travail, mec. Ensuite, nous allons sortir
de notre ThirdPersonCharacter, faire une recherche pour obtenir l'expérience totale. Nous allons le régler. Nous l'
obtenons donc, en ajoutant 100. Nous allons définir cela
comme nouvelle valeur mise à jour. Cependant, nous ne voulons
le faire qu'une seule fois. Nous ne voulons pas faire en
sorte que nous puissions chevaucher cette sphère encore et encore et obtenir
100 points d'expérience. Nous voulons juste dire : « Hé,
tu l'as fait la première fois. C'est génial. Plus jamais ne
traversera le nœud
Arduino Wants ici. Attribuez ensuite les 100 points
d'expérience. Enfin et surtout, nous devons attendre
pour vérifier cela. Je vais donc sortir
d'ici, faire une chaîne d'impression. Et nous allons simplement l'imprimer
à l'écran en faisant glisser le total de notre XP gagné
dans la chaîne, cela convertira cet
entier en chaîne. Compilez ça, sauvegardez. Allons-y et
jouons pour le tester. Je vais
y placer mon objet de débogage sur ma carte de test. Et recoupons cela et voyons quel point nous avons gagné 100 points
d'expérience. Vérifiez donc directement dans ce
coin de l'écran. 100 points d'expérience. Maintenant, cela ne devrait
se produire qu'une seule fois. Je vais donc mettre fin à ce chevauchement, puis je
vais le faire à nouveau. Tu vois que ça a coulé
dans les choses à faire ? Non, mais cela ne l'a pas
dépassé car ce nœud dit de le faire une fois et plus jamais. Bien, essayons maintenant de réinitialiser cela en
utilisant une autre entrée. Permettez-moi donc de cliquer avec le bouton droit
sur un espace vide. Je vais chercher le clavier
à coup sûr, la touche F. Donc, lorsque j'appuie sur la touche F, je vais le réinitialiser. Et nous y voilà. Je vais compiler ceci. Je vais jouer, je
vais chevaucher ça. Vous pouvez voir que j'obtiens mes
100 points d'expérience. Je me chevauche à nouveau actuellement, je ne peux pas passer au-delà d'ici. Cependant, lorsque j'appuie sur la touche F, regardez ici nous
appuyer sur la touche gauche. Il va le réinitialiser. Il devrait donc le faire une fois. Encore une fois, je gagne
100 points d'expérience supplémentaires. Il s'arrête parce qu'il
ne le fait qu'une fois que
j'appuie sur la touche F. Cela me permettra de le
faire une fois de plus. On y va. C'est ainsi que fonctionne la touche
F pour réinitialiser cette opération
une fois de plus. Notez maintenant que sur ce nœud do
once, il existe une entrée booléenne où vous
pouvez commencer fermé ou non. Actuellement, nous
ne partons pas de bon pied. Vous pouvez ajouter une variable
booléenne si vous voulez commencer à la fin ou non. Alors laisse-moi te montrer ça. Si je commence une clôture, j'
ai coché cette
case et maintenant je joue. Je vais chevaucher
cette sphère. Mais ça ne va pas au-delà d'ici. Oui, cela s'appelle
le dual wants no, mais nous commençons par fermer, ce qui signifie que nous devons d'abord le réinitialiser ici
pour qu'il fonctionne. Donc maintenant, si j'appuie sur F, ça se réinitialise. Et maintenant, je peux aller
plus loin qu'une seule fois. Pas encore une fois, appuyez sur F. Donc, je voulais juste le
souligner également. Ces vêtements de départ peuvent
faire en sorte que la première fois dans ce cas, nous les chevauchons. En fait
, vous ne devez
pas le réinitialiser une seule fois. Parlons
des utilisations
possibles de la note du Once , eh bien, pensez à une
fanfare de niveau ou à une notification lorsque vous atteignez un seuil de points d'
expérience donné, vous savez, vous avez atteint 5
mille points d'expérience. Tu as gravi les échelons. Vous ne voulez
jouer que la première fois que vous dépassez 5 000 points d'
expérience au total , et
non 5 005, pas 5 010, etc. Ou que diriez-vous d'interagir
avec un coffre au trésor ? Vous voulez l'ouvrir,
mais ouvrez-le une seule fois. Ce serait une autre bonne
utilisation d'une voiture enneigée. Ou que diriez-vous
de récolter un minéral ? Vous avez du
minerai de fer dans votre niveau vous y montez et vous
ne pouvez le récolter qu'une seule fois. Et puis, peut-être, une minuterie
ou une minuterie pourrait
être réglée pour
permettre la récolte. Encore une fois, disons après une
heure, deux heures, etc. Ce sont
donc toutes les
utilisations possibles du nœud Dew wants. C'est très courant de l'utiliser. Je l'adore. L'un de mes nœuds de contrôle de
flux préférés, les gars qui vont le
faire pour proposer celui-ci, nous vous verrons dans le prochain.
79. Faire N: Bienvenue. Dans cette vidéo, notre objectif est d'
acquérir ces connaissances et de démontrer l'
utilisation pratique du nœud do n, également connu
sous le nom de nœud dawn. Maintenant, c'est une bonne
note à utiliser pour limiter le nombre de fois
que quelque chose peut être fait. Alors, qu'est-ce qu'ils font et ne font pas ? Eh bien, il se déclenche lors de
l'impulsion
d'exécution n nombre de fois, comme défini par cette entrée
entière ici, vous pouvez insérer une valeur
entière ou vous pouvez la définir à fond comme si
j'avais le numéro 37 ici. Ainsi, une fois cette limite
atteinte, il cessera toute exécution
sortante jusqu'à ce qu'une impulsion soit renvoyée
dans l'entrée de réinitialisation. Donc, dans ce cas, si nous devions y connecter une touche de saisie, dites la touche F pour le feu. Nous tirions par cette sortie, cette exécution sortirait 30 fois. Et après 30 fois, il faudrait que
je le réinitialise pour une autre
impulsion d'exécution soit exécutée. Maintenant, ce compteur
affichera le nombre de fois que
cela a été fait, et nous allons le montrer
ici dans un petit moment. Mais c'est essentiellement
ainsi que fonctionne le nœud do n. C'est un peu comme le nœud Do
Once, seul vous pouvez
définir le nombre de fois où
il fait l'opération. Il n'est pas nécessaire que ce soit une seule fois. Vous pouvez le définir comme un, mais vous pouvez le définir
comme 1102100, etc.
Donc, pour ajouter ce nœud, vous pouvez cliquer avec le bouton droit de la souris et
rechercher Don. Il y a le
nœud do n ou maintenez le bouton gauche de la souris enfoncé. Vous pouvez également l'ajouter. Utilisons cela de manière pratique. Je suis dans mon ThirdPersonCharacter
Blueprint. C'est là que vous pouvez le trouver. Essayons donc
un exemple ici. J'en ai créé un à l'avance. Et voici mon exemple. Je vais appuyer sur le bouton gauche de
la souris, nous allons le faire trois fois. Je vais afficher le
compteur ici à l'écran. Il peut s'agir d'un texte à imprimer, note, d'une chaîne d'impression. Tout va
fonctionner de la même manière ici. Et
ce faisant, je vais donner naissance à un acteur issu de la classe. C'est donc un
acteur de spawn du nœud de classe que je viens de placer dans le feu de l'effet de
plan ici. Vous pouvez vraiment y insérer
tout ce que vous voulez. Vous devez lui donner
une transformation d'apparition. J'aurais pu simplement faire une transformation du monde GET.
Je voulais le faire. J'aurais pu faire une transformation du
monde, une
transformation du monde pour l'acteur ou n'importe lequel de mes différents
composants que j'ai choisi de
faire ici pour ma main
simulée. Maintenant, c'est celui que j'ai ajouté
plus tôt dans le cours. Donc, si vous vous demandez quelle est
ma main simulée ici, c'est un composant de
collision de sphères. Et juste pour vous montrer
où je place cela dans ma fenêtre d'affichage, voilà. C'est ma main simulée représentée par une collision de
sphères. Nous allons donc créer un feu à effet de plan à cet endroit par rapport
à notre personnage. C'est donc notre configuration juste là. Allons-y et
essayons-nous ici. Laissez-moi le compiler, pour m'
assurer que mon script est prêt à l'emploi. Donc, nous disons que
nous allons le faire trois fois, puis appuyer sur
la touche RT pour réinitialiser cela et me permettre de le faire
trois fois de plus. Encore une fois, cliquez sur Play. Permettez-moi de
configurer tout cela pour définir mon objet
de débogage ThirdPersonCharacter afin que
vous puissiez voir ce
script s'exécuter. Très bien, donc en tournant là,
c'est ma main simulée. Une fois que vous pouvez voir en haut à gauche, vous pouvez afficher le
nombre de fois que nous avons fait ici notre compteur une
deuxième fois, 21 fois de plus. Trois. Maintenant, si j'essaie de le faire à nouveau, cela ne va pas au-delà
du nœud final. Cependant, si j'appuie sur le destinataire archae maintenant,
nous allons le réinitialiser. Et cela me permettra de le
faire trois fois de plus. Nous y voilà. 123,
mais pas un quatrième. Donc, quelque chose comme
ça, c'est mis en place juste là. Il pourrait être utilisé
pour allumer des torches, comme dans un jeu de style Legend of
Zelda. d'autres utilisations possibles, nous pourrions utiliser une configuration
comme celle-ci pour déterminer combien de fois vous pouvez récolter
un article avant de le faire. C'est une autre bonne
utilisation du nœud n. Peut-être l'utilisez-vous pour déterminer combien de
fois vous pouvez
tirer avec une arme donnée
avant de devoir la recharger. Ou peut-être l'utilisez-vous pour
déterminer le nombre d' interactions que vous pouvez avoir avec un PNJ avant de ne plus en avoir. Vous savez combien de jeux vous permettent d'
interagir avec un MPC, disons trois fois, il a
trois choses uniques à dire. Et puis c'est tout. Très bien,
alors vous l'avez. Le nœud final, c'est un
peu un cousin, est frère, si vous voulez, du nœud do one qui a un peu plus de
flexibilité avec le nœud do n qu'ils feront
pour proposer celui-ci. Rendez-vous dans la prochaine.
80. Flip Flop: Bienvenue. Dans cette vidéo, notre objectif est d'acquérir des
connaissances et de démontrer l'utilisation
du nœud flip-flop. C'est maintenant le nœud
à utiliser chaque fois que vous souhaitez basculer entre
deux bits de script, chaque fois qu'un événement de
votre choix se produit. Alors, qu'est-ce qu'une
note de volte-face qu'elle prend dans une entrée d'exécution comme celle-ci. Et bascule entre deux sorties
d'exécution, a et B. Donc, la première fois
que vous entrez dedans, je mettrai a est appelé
la deuxième fois. La sortie b est appelée
la troisième fois. La quatrième fois b, etc. Il fait volte-face entre les
prises de vue depuis un point B. Maintenant, il possède une
sortie booléenne qui vous permet de savoir quand la sortie
a a été appelée. Cela est souvent
utilisé pour simplement s'assurer que vous savez lequel
d'entre eux est appelé. Peut-être que vous voulez imprimer
des chaînes voir quand a s'appelle vs, B, etc. Pour montrer un exemple, utilisez la bascule,
je vais le faire dans mon
ThirdPersonCharacter Blueprint. Donc, si vous voulez
jouer le jeu à la maison, vous pouvez le constater sous les plans à la
troisième personne, double-cliquez sur ce
type pour les ouvrir. Et nous avons besoin d'un événement pour
commencer ici. Je vais donc
cliquer avec le bouton droit de la souris et faire un événement de clic gauche de la souris. Vous pouvez utiliser toutes
les entrées que vous souhaitez. Je vais utiliser le bouton
gauche de la souris. Ainsi, lorsque nous appuyons sur ce bouton, nous allons faire volte-face entre a et B à
chaque fois que nous appuyons dessus. Donc, ce que je veux faire, c'est traîner et je
vais faire venir un acteur de la classe. Et la classe que je vais créer la première fois que j'appuierai sur le bouton
gauche de la souris sera mon feu d'effet de plan. Vous pouvez maintenant le trouver
si vous avez ces dossiers de contenu de démarrage
et que vous pouvez
y accéder en cliquant ici. Cela vous
incitera à le porter. Cela existe dans
votre navigateur de contenu. Honnêtement, tu peux faire apparaître
tout ce que tu veux ici. Je vais essentiellement apparaître dans du
feu, puis des étincelles ici pour
simuler le lancement d'un sort. Je vais donc contrôler C,
contrôler V. Donc la deuxième fois que nous appuierons sur
le bouton gauche de la souris, au lieu de tirer, je vais
faire apparaître des sommes, des aboiements. Des étincelles à effet de plan. Maintenant, je dois lui donner une transformation d'apparition pour pouvoir glisser la souris vers l'arrière depuis
l'une ou l'autre. Et je dirais « make transform ». Maintenant, la seule raison pour laquelle
je veux utiliser ce make transform est simplement de réduire les effets
de chacun d'entre eux. Je vais juste faire en sorte que
ce soit la moitié
de la taille de 0,5 dans
le x, le y et le z. Nous allons en fait attacher ces effets générés à notre
maillage ici dans un petit moment. Mais cela réduira la taille de chacune de ces
demi-tailles pour chacune d'entre elles. Ensuite, ce que je veux faire
, c'est stocker ce que nous générons ici dans
une variable. Et si nous
allons vouloir stocker ces différents effets, c'est
parce que lorsque nous en produisons un, nous
éliminerons l'autre. C'est donc notre idée
derrière les tongs. Je vais donc
cliquer avec le bouton droit sur cette épingle. Je vais promouvoir
la variable. Et je vais lui donner le
nom de sort équipé 01. J'ai donc fait de cela
une variable ici. Et puis, sur ce type, je
vais cliquer dessus avec le bouton droit de la souris, promouvoir en
variable et j'appellerai ce sort équipé 02. Et j'ai saisi
ce nom juste
là, au cas où tu l'aurais oublié. Maintenant, en dehors de chacun d'entre eux, je vais faire glisser
et taper Attach. Je cherche un
acteur attitré, deux composants. Attachez l'acteur au composant. C'est celui que
nous recherchons. Maintenant, la cible sera notre sort équipé. Le parent auquel
nous voulons
l'attacher sera notre maillage. Donc, si nous allons dans notre fenêtre d'affichage, notre maillage est ce
mannequin juste ici. Donc ça va être
notre maillage, l'acteur. Nous voulons attacher notre effet
orthographique ici à notre maillage et nous pouvons
lui donner un nom de socket. Maintenant, dans notre vidéo sur les
variables nominatives, nous avons créé une prise
sur notre squelette, sur notre maillage ici. Et nous avons créé un nom pour socket. Maintenant, nous l'avons stocké
dans une variable. Le nom de notre socket que
nous avons créé dans notre
variable de nom vidéo
s'appelait hand socket. Donc je vais juste
glisser-déposer ceci, le
brancher directement ici. Maintenant, si vous n'avez pas parcouru
cette vidéo de variable de nom, cela ne fonctionnera pas
pour vous car vous devez d'abord configurer un socket. Je vous suggère de revenir à cette variable de nom vidéo
pour le faire,
afin que cela
fonctionne correctement. Maintenant, je dois changer
mon rôle de localisation ici pour être redirigé vers la cible. La règle
de rotation doit également être
adaptée à la cible
pour que cela fonctionne, accord, alors je vais
simplement la copier. Copiez
ces trois nœuds (contrôle C, contrôle V. Nous allons
les coller ici, comme suit). Et on doit s'assurer
de l'accrocher comme ça. C'est donc notre configuration actuelle. Donc, si vous devez mettre la vidéo en
pause ici pour voir ce que
nous avons actuellement, mais que nous n'avons pas encore tout à fait
terminé. Nous voulons ensuite
arrêter ce type de Troie. Comédien. Maintenant, quel acteur
voulons-nous détruire ? Eh bien, lorsque nous
engendrons un feu à effet, nous allons vouloir détruire
notre effet d'étincelles et vice versa afin de n'avoir qu'
un seul de ces liens à la fois. Maintenant, pour ce faire, je vais ajouter le sort O2
équipé, et l'y
brancher. C'est celle que
nous venons de promouvoir en tant que variable ici,
et vice versa. Je vais passer à Control
C, Control V avec ce Destroy
Actor juste ici. Comme ça. Et nous voulons y intégrer
Spell Number One équipé. Maintenant, je sais que lorsque
nous lançons cela dans un jeu, nous allons avoir une
erreur juste ici,
mais je vais laisser
cette erreur se produire juste pour que vous puissiez voir comment nous pouvons la
corriger en un instant. Maintenant, c'est le script R
que nous sommes en train de faire. Nous allons utiliser notre nœud
de bascule. Compilons ceci pour
nous assurer que
tout va bien. Nous allons le sauver. Donc, juste pour parcourir cela, nous allons
cliquer avec le bouton gauche de la souris la première fois que nous allons exécuter
à partir d'une sortie. Donc, ce bout de script
va s'exécuter. Nous allons apparaître
dans l'effet feu. Nous allons enregistrer cet effet de feu à l'intérieur
d'une variable. Nous allons l'
attacher à notre maillage au nom du socket
que nous avons fourni. Ensuite, nous allons
détruire l'acteur pour. Maintenant, la première fois que nous le faisons,
cela va générer une
erreur lorsque nous exotiques ici parce que nous n'
avons pas encore fait leur apparition. C'est pourquoi il va
générer une erreur. La deuxième fois que nous
appuyons sur le bouton gauche de la souris, nous allons tirer sur la sortie
B du nœud de la bascule. Cela va apparaître sous
l'effet de nos étincelles. Nous allons enregistrer
cela dans une variable. Nous allons l'attacher à notre maillage sous ce nom de socket
donné. Et ce faisant, il
éliminera
simultanément cet effet
ici même , notre effet de feu. Maintenant, la prochaine fois que
nous appuierons sur le bouton gauche de
la souris, cet effet viral
apparaîtra pour la troisième fois. Et nous éliminerons
les étincelles la deuxième
fois que nous y arriverons,
cela ne provoquera pas
d'erreur car nous
aurons créé cette
variable ici. Très bien, allons-y
et jouons-nous une pièce de théâtre. Nous allons essayer de le placer
dans le coin supérieur. Cliquez sur Play. Laissez-moi configurer mon débogage. Objectez à notre
ThirdPersonCharacter. Oh, on y va. Je vais
courir par ici. Je vais donc appuyer sur le bouton
gauche de la souris. Observez ce flux d'
exécution pendant que je le fais. On y va, bouton gauche de la souris. Vous voyez que l'effet du
feu est lié ici. Ça l'attache à
mon personnage, comme ça. Je vais appuyer à nouveau sur le bouton
gauche de la souris. Cela a éteint le feu. Il y a des étincelles à l'intérieur. Et appuyez à nouveau sur le bouton gauche de
la souris. Nous avons éteint les étincelles. Nous avons maintenant du feu. Maintenant, je vais
sortir d'ici. Voici l'erreur dont je
viens de parler. Il se plaint encore
une fois ne pas
pouvoir détruire cet
acteur ici même. Du moins, la première fois, nous
n'avons pas pu le détruire lorsque notre effet de feu est
apparu parce qu'il n'y avait
rien à détruire. Cela n'existait pas encore car nous avons
d'abord filmé la sortie A. Sans avoir
filmé le b, nous n'avions pas encore créé
cette variable. Alors, comment résoudre
ce genre de problème ? Eh bien, en fait, c'
est assez simple. Si nous cliquons avec le bouton droit sur notre Spell
équipé, Non, juste ici. Et nous le convertissons
en un système encore validé. Cela convertira le nœud
pour qu'il ressemble à ceci. Et si nous la connectons
ainsi,
nous ne pouvons dire que
si c' est valide, c'
est-à-dire que ce n'est que si cette variable
contient quelque chose qu'elle contient, que nous détruirons l'acteur. Si ce n'est pas valide, c'est-à-dire
qu'il n'y a rien à l'intérieur, alors il n'y a rien à détruire, donc rien ne se passera. C'est ainsi que vous
pouvez contourner ce problème. Donc, compiler, enregistrer,
jouer, cliquer avec le bouton gauche, tirer, cliquer avec le bouton gauche sur des étincelles
faisaient volte-face à a, b, a, b maintenant et nous nous sommes échappés. Nous n'avons plus cette erreur. C'est donc un exemple
de nœud flip-flop. Quelles en sont
les utilisations possibles ? Eh bien, vous pouvez utiliser un nœud de volte-face pour échanger
entre deux armes. Peut-être utilisez-vous un
nœud de
bascule pour allumer et éteindre l'
interrupteur. Voici quelques exemples de
cas d'utilisation. Quels sont ceux ? Peux-tu trouver ? Les gars qui feront l'affaire pour
offrir celui-ci ? Rendez-vous dans la prochaine.
81. porte: Bienvenue. Dans cette vidéo, notre
objectif est d'acquérir des connaissances et de démontrer
l'utilisation du nœud de porte. Il s'agit maintenant d'un nœud extrêmement
autodescriptif dans lequel vous pouvez
entrer dans le nœud de la porte. Mais le fait
que vous sortiez ou non de la broche de sortie d'exécution
et que vous fassiez
ce qui vient après cela dépend du fait que
la porte est ouverte ou fermée. Cela commence tout près d'ici
avec votre nœud de porte. Maintenant, pour intégrer l'un de ces
nœuds dans votre graphe, vous pouvez cliquer avec le bouton droit de la souris
et rechercher une porte. Vous pouvez également maintenir la touche
G enfoncée et cliquer avec le bouton gauche de la souris, ce qui vous donnera également un nœud de
gain. J'ai un exemple que
j'aimerais vous montrer
à tous ici dans
votre Level Blueprint. Donc, si vous voulez jouer le jeu, c' est par là
que vous devez vous rendre. Ce que nous allons faire
ici, c'est
commencer par un événement à cocher. Je vais juste
cliquer avec le bouton droit de la souris et faire une recherche pour cocher un événement. Et nous allons
entrer dans notre porte à chaque clic. Nous allons donc intégrer chaque image
à notre jeu. Maintenant, nous n'allons pas aller
plus loin tant que
notre porte ne sera pas ouverte. N'oubliez pas que notre porte
commence tout près d'ici. Donc, même si nous
affluons dans ce nœud, chaque tic,
à chaque image, nous n'allons pas
sortir d'ici et faire
ce que nous voulons faire ensuite jusqu'à ce que
nous ouvrions notre porte. Alors, comment allons-nous
ouvrir et fermer notre portail ? Eh bien, nous allons le faire via un niveau interne du volume de déclenchement. Revenez donc à votre niveau. Et nous allons
passer juste en dessous. Je vais suivre le cours de base. Nous allons ajouter une boîte de déclenchement, il suffit de cliquer avec le bouton gauche et de faire glisser l'
une d'entre elles ici. Je vais juste le
redimensionner rapidement. Faisons 150 par cinquante, quatre cinquante, un cinquante, un cinquante, un cinquante. Je ne sais pas. C'est le premier chiffre
qui nous vient à l'esprit. Quelque chose de grand, d'épaisseur de ligne, nous allons changer cela pour
que
cela soit un peu plus facile à voir. Cependant, nous n'allons pas
le voir à moins passer dans la section
de rendu. Section de rendu et nous
décochons le jeu caché de l'acteur. Je vais le soulever
, appuyer sur la
touche Fin pour le faire
tomber sur le sol. Nous allons vérifier
si cela se chevauche. Une fois cette option sélectionnée, nous allons revenir
à notre plan de niveau. Si ce n'est pas déjà fait ,
ouvrez Level Blueprint. Et nous allons cliquer avec le bouton droit sur
un espace vide. Et nous allons ajouter un
événement pour ce déclencheur de
volume lors de la collision
lorsque nous commençons à la superposer,
ainsi qu' une collision avec le bouton droit lorsque nous finirons par la superposer. Nous voulons donc faire quelque chose
uniquement lorsque c'est nous, le ThirdPersonCharacter
chevauchant le volume de déclenchement. Un autre moyen
de vérifier si c'est nous. Je pourrais sortir
d'ici et lancer. Cependant, je vais juste vous
montrer une méthode différente. Je vais juste taper pour obtenir
le personnage du joueur. Maintenant, si je fais glisser la souris hors de
notre autre acteur et tape
simplement l'opérateur
equal, nous pouvons vérifier si c'est le personnage du joueur
qui nous chevauche. Maintenant, nous n'avons pas besoin de
saisir l'intérieur de notre ThirdPersonCharacter
et
d'exécuter des fonctions qui appellent les
variables de cette manière. Nous avons juste besoin de vérifier s'
il s'agit de notre lecteur générique. Nous ne nous
soucions pas vraiment du personnage du joueur, n'importe quel personnage de joueur. Dans ce cas, car
ThirdPersonCharacter est celui que
nous contrôlons. Donc, cela suffit, vous pouvez maintenir la
touche Alt enfoncée et cliquez avec le bouton gauche. Ce sera notre
condition ici même. Nous allons copier ces
nœuds ici,
contrôler C, contrôler V. Apportez-les ici. Comme ça. Donc, s'il est vrai que nous
chevauchons cette boîte de déclenchement, si c'est vrai, nous
allons ouvrir les portes. Maintenant, si nous avons fini superposer la boîte de déclenchement
avec le personnage de notre joueur, il est prouvé que c'est l'autre acteur
qui
se retrouve à ce chevauchement. Si c'est vrai, alors nous
allons fermer la porte. Maintenant. C'est bien beau, mais qu'allons-nous
faire en ouvrant les portes ? Eh bien, nous allons ajouter un autre
acteur à notre niveau ici. Alors pourquoi tu ne te
rends pas là-bas ? Et nous allons ajouter une
sorte de porte juste ici, un
peu au-delà de notre boîte Trigger. Donc, pour ajouter une porte
entre guillemets, je vais
passer juste en dessous. Nous allons
prendre des formes. Nous allons ajouter un cube. Et je vais juste l'
étirer un peu. Donc, en appuyant sur la touche R, je vais le redimensionner comme suit. Je ne vais pas
être très précis. Nous allons le soulever
en l'air, quelque chose comme ça. Peut-être l'éclaircir un
peu comme ça. Je vais appuyer sur la touche Fin
pour le faire tomber au sol. Et une fois cette option sélectionnée, je vais également
devoir accéder
au panneau Détails et modifier la mobilité de
ces deux mobiles. Maintenant, la raison
pour laquelle je vais devoir le changer mobile, c'est parce que je vais lentement
le déplacer dans la prochaine
partie de notre script. OK, donc une fois cela fait, nous avons sélectionné notre cube
ici. Assurez-vous que vous l'
avez sélectionné. Retournez à votre plan de
niveau. Vous pouvez également y accéder. Si cet onglet n'est pas encore
ouvert, maintenez la touche R enfoncée cliquez avec le bouton gauche pour faire apparaître
une référence. Ensuite, nous allons nous en
sortir et saisir des composants
de maillage statique. Notre acteur de maillage statique
consiste donc en un composant de
maillage statique. Et pour vous aider à
comprendre ce point, si je reviens à mon niveau
et que je sélectionne mon cube, nous pouvons voir que R cubed est constitué d'un composant de maillage statique, qui est essentiellement
ce cube ici. Mais nous devons le faire pour sortir de cette situation et intégrer nœud de
localisation relative
à l'annonce. Maintenant, sur ce nœud, vous pouvez voir que notre composant de
maillage statique du cube est connecté
à la cible. Il cherche une référence d'objet
composant. C'est dans cela que nous allons
couler une fois que
notre porte sera ouverte. Cette position Delta nous
permet maintenant de modifier l'emplacement de ce composant de
scène, de ce composant de maillage statique. Mais seulement une fois la porte ouverte. Maintenant, je vais changer
cela en changeant notre emplacement z pour en ajouter un. Nous allons donc en ajouter un à notre emplacement Z à chaque image, parce que nous allons y entrer
chaque image une fois que
notre portail
sera ouvert. Donc, juste pour passer en revue,
chaque coche, chaque image que nous
allons envoyer dans cette porte. Cependant, ici, cette case indique Nous
commençons presque. Nous n'allons pas aller plus
loin en modifiant l'emplacement relatif
de notre cube. Cependant, une fois que nous
commençons à superposer une boîte de déclenchement avec
notre personnage joueur, notre personnage joueur
est considéré comme égal à l'autre acteur. C'est l'autre acteur
qui nous chevauche. C'est vrai. Ensuite, nous allons
ouvrir la porte et ensuite nous allons la déplacer
dans les airs. Cependant, lorsque nous finirons superposer ce volume
de déclenchement à celui de notre personnage de joueur, lorsque c'est vrai, nous
fermerons les portes. Parlons-en, juste ici. Je vais cliquer sur Play. Si vous n'avez pas défini
votre objet de débogage, vous pouvez cliquer ici
et le configurer manière à pouvoir suivre le
déroulement de l'exécution. Laisse-moi juste, on y va. Arrêtez-vous qui y est indiqué brièvement. Très bien, maintenant je vais
essayer de le cadrer
un peu mieux. Fais appel à mon personnage
une fois de plus. D'accord, donc vous voyez que les ticks d'
événements affluaient dans cette porte à chaque
image, cependant, nous n'allons pas au-delà d'
ici maintenant regardez ce qui se passe quand je chevauche
cela avec mon personnage. Tu vas voir cette porte
ouverte. On y va. Je vois qu'il s'
élève dans les airs. Et si je mets fin à mon chevauchement, il arrêtera de le soulever
en l'air, il commencera à se chevaucher. Il va ouvrir le portail
et continuer à le
soulever et à le chevaucher, etc. Voici un autre exemple rapide, cas d'
utilisation du
nœud de porte utilisant en grande
partie la même configuration que celle que nous avons
déjà mise en place. Je viens d'échanger
quelques notes ici. Ici, nous lançons sur notre ThirdPersonCharacter à
la fois le
début du chevauchement et le chevauchement final. Et si j'ai
voulu adopter
cette approche, c'est pour
que nous puissions sortir de notre ThirdPersonCharacter
et appeler cette
fonction de modification de santé que nous avons créée lorsque nous avons
parlé de fonctions. Maintenant, ce que nous
allons faire avec cette configuration, c'est de faire en sorte que lorsque notre personnage
chevauche cette boîte de déclenchement, nous allons décrémenter santé de
notre personnage pendant
qu'il est à l'intérieur de celle-ci. Une fois qu'ils
seront sortis de cette boîte de déclenchement, nous arrêterons cette
hémorragie, pour ainsi dire. Vous pouvez donc imaginer que
c'est comme une
chambre à gaz toxique ou peut-être, vous savez, peut-être que vous traversez un foyer,
quelque chose comme ça. Alors on y va. Vous pouvez le constater à l'œuvre. Je
vous recommande, si vous voulez le
faire , de régler votre décrémentation
de santé à une valeur très faible à chaque coche régler votre décrémentation . En fait, vous
allez voir cela représenté dans notre barre de santé
là-haut, car notre santé est liée à ce compteur ou à ce HUD également. Nous y voilà, en superposant cela. Je sais que le son est très indésirable en ce moment, mais
tu comprends. En sortant de cette zone de gaz
toxique, le saignement s'arrête. Et voilà, vous l'avez. Le nœud de porte, il prend
en charge les chemins d'exécution. Mais que vous alliez ou non
au-delà de cela et que vous
fassiez tout ce qui va au-delà de cette
exécution , cela dépend
du fait que nous ferons pour
offrir à celui-ci ou non, si la porte est ouverte ou fermée. Rendez-vous dans la prochaine.
82. MultiGate: Bienvenue. Nous allons parler du nœud multi-portes
ici dans cette vidéo. Et je pense que la meilleure façon de
démontrer ce que cela
fait est de simplement aller avant et de donner un
exemple au lieu d'en parler. Je vais donc
rassembler cet exemple ici dans
mon Level Blueprint. Si vous voulez jouer le jeu, si vous avez oublié comment accéder
à votre plan de niveau, vous pouvez venir ici,
ouvrir Level Blueprint. Et pour ajouter un nœud multigrade, vous pouvez simplement cliquer avec le bouton droit de la souris
et le rechercher ou maintenir la touche M enfoncée le bouton
gauche de la souris, pour en
ajouter un également. Maintenant, ce premier exemple est de nature un
peu académique. Je suis donc allé de l'avant et j'ai configuré le script
à l'avance pour nous faire gagner du temps, mais je vais expliquer
ce qui se passe. J'ai donc introduit 34 touches
de saisie pour faciliter cela. J'ai besoin
d'appuyer sur les trois touches qui entrent dans mon nœud
multigrade. Du côté de la sortie, j'ai ajouté une broche supplémentaire. Et chacun d'entre eux
est connecté à un nœud de fonction d'impression de
textes correspondant. Et il
va simplement imprimer 012 respectivement pour
correspondre à la sortie 012. Maintenant, lorsque j'appuie sur les trois touches et que nous entrons dans
ce nœud multigrade, la première fois que j'
appuie sur
ces trois touches, la première fois que j'
appuie sur
ces trois touches,
la sortie est 0. Il va afficher le
chiffre 0 à l'écran. Ceci est déterminé
par notre indice de départ. Un indice de départ par défaut
négatif signifie
essentiellement commencer en haut
de notre liste ici. Cependant, contrairement à un nœud de
séquence qui imprime tous ces éléments
en succession rapide, il n'affichera
que ce numéro 0. Il n'en
imprimera pas un ou deux. Maintenant, si j'appuie sur les trois
touches une seconde fois, il se dirigera vers
le nœud multi-portes et imprimera le numéro un. Il choisira ce 1 en premier. Nous l'avons fait en appuyant d'
abord sur une touche. La deuxième fois que vous appuyez dessus, il s'écoulera ici. La troisième fois que vous appuyez dessus, il s'affichera ici, et cetera. La quatrième fois que j'appuie dessus, rien ne se
passera tant que je n'aurai pas réinitialisé. Alors, on y va. Voici un aperçu rapide
du fonctionnement de ce nœud. Je vais cliquer sur Play up here, pour définir mon objet de débogage comme
étant nos cartes de test de niveau. Vous pouvez donc également voir tout cela
se répercuter sur le graphique. Alors, on y va. Je vais
appuyer sur les trois touches. Nous voyons que le chiffre 0 s'y écoule
simplement. Je vais appuyer sur les
trois touches une seconde fois. Nous voyons le numéro un. Je vais appuyer
dessus une troisième fois. Nous voyons le numéro deux. Maintenant, si j'appuie dessus une quatrième fois, on passe à ça. Cependant, nous ne sortons pas
et
nous ne sortirons pas
tant que nous n'aurons pas réinitialisé. Donc, essentiellement, lorsque vous entrez
dans le nœud multigrade, il s'assure que toutes
ces sorties sont exécutées. Une fois qu'ils ont tous
été exécutés, vous devez les réinitialiser
pour que cela fonctionne à nouveau. Donc, si j'appuie sur la touche F4, ce que je vais faire
maintenant, il suffit de la réinitialiser. Maintenant, je peux appuyer sur
les trois touches, 0. Appuyez à nouveau sur les trois touches. Un, appuyez à nouveau sur les touches 3 pour. Et si j'essaie à nouveau d'appuyer sur
les trois touches, j'y accède,
mais je ne peux pas en
sortir tant que je ne l'ai pas réinitialisée. Et quels points je
peux le refaire, 012. Maintenant, essayons
encore une fois, mais cette fois. Allons vérifier. Il s'agit d'une case à cocher aléatoire. Auparavant, cela n'était pas vérifié avec un indice
de départ négatif. Nous allions
tirer par notre toit. Je vais mettre une épingle, puis notre deuxième, puis notre troisième dans un ordre
séquentiel, garanti avec une sélection
aléatoire. Cependant, nous allons
tirer sur les trois avant
de devoir réinitialiser. Cependant, il va choisir un indice aléatoire avec lequel se
lancer la première fois,
la deuxième fois,
plutôt que la troisième fois. On y va. Donc, en appuyant sur les trois touches ai décidé de passer à
cette 1 première, à cette seconde, à cette troisième. Si j'appuie dessus une
quatrième fois, rien. Je dois appuyer sur la touche F4 pour le réinitialiser. Et puis nous avons
commencé ici en premier, cette seconde, cette troisième. C'est donc ce que fait la case à cocher
booléenne aléatoire. Maintenant, si la boucle est
cochée et que je joue, et que je vais appuyer sur les
trois touches ici
une, deux fois, une troisième fois, puis
une quatrième fois, cinq fois, six fois. Essentiellement, lorsque vous
avez une vérification en boucle ici, vous pouvez continuer à appuyer,
dans notre cas, les trois touches encore
et encore. Il n'est pas nécessaire de le réinitialiser. Enfin, juste pour montrer notre indice de départ par défaut,
qui est défini sur négatif. Je vais juste
décocher chacune d'elles. Mettons-le sur deux, pas moins 22,
et je clique sur Play. Maintenant, quand j'appuie sur les trois touches, on tire d'abord sur les
deux broches, puis sur 0, puis sur une, ou on appuie à nouveau sur les trois
touches, rien. Cependant, si je réinitialise, puis que j'appuie sur les trois touches, il se déclenchera sur
2 d'abord, puis sur 0, puis un. Encore une fois, il faut le reconnaître, un exemple assez académique. Essayons donc quelque chose d'un
peu plus fidèle à un jeu. Et je vais également le
démontrer ici dans le Level Blueprint. Passons à
droite ici, ou à n'importe quel espace
libre de votre graphique. Encore une fois, j'ai configuré
certaines choses à l'avance. J'ai un nœud de plusieurs jours. Maintenez la touche enfoncée et cliquez avec le bouton gauche de la souris, il peut en importer un. Et sur chacune de mes
trois broches de sortie, j'en ai ajouté une ici. J'ai fait appel à Spawn
Actor à partir des nœuds de classe, et j'ai simplement
classé dans trois classes différentes
mon effet de plan, l'explosion, le feu et la fumée. Et maintenant j'ai besoin de quelque
chose pour démarrer ces plusieurs jours. Permettez-moi de revenir à mon niveau
ici et je vais
ajouter les éléments de base. Faisons une boîte de déclenchement. Soulevez cela un peu, réglez l'étendue de nos cases
pour qu'elle soit environ deux cent deux
cents lignes d'une épaisseur de dix. Je devrais vraiment laisser une
boîte Trigger ici pour tous
les exemples
comme celui-ci et montrer dans la catégorie de
rendu, décocher cet acteur
caché dans le jeu, d'accord, avec son
événements sélectionnés. Ici, dans notre niveau, nos plans. Plan de niveau, maintenez le bouton enfoncé ou plutôt un clic droit,
ne maintenez pas enfoncé, cliquez avec le bouton droit sur Ajouter une collision d'événements pour que lorsque
nous commençons à le
chevaucher, nous pouvons vérifier
que notre autre acteur, nous peut dire égal à égal. C'est une autre façon
de montrer si ce que nous
espérons chevaucher, c'est quelque chose que
nous attendons de dire, est que r donne du
caractère au joueur. Nous ne cherchons pas à
extraire des variables qui
appellent des fonctions dans
notre ThirdPersonCharacter. Ce sera donc suffisant. Maintenez la touche Alt
enfoncée et faites un clic gauche. Nous dirons que si c'est vrai, dirigera vers le nœud de branche, un nœud de contrôle de flux. Et si c'est vrai,
nous allons entrer dans le nœud des portes multi-bits. Et si c'est vrai, nous allons créer l'une
de ces compilations. Oh oui, nous devons spécifier
une transformation de spawn. Eh bien, nous avons
déjà sélectionné notre Trigger box ici dans notre niveau. Donc, nous allons simplement apparaître. C'est quelque part dans cette boîte de
déclenchement, non ? Maintenez la touche Alt enfoncée cliquez avec le bouton gauche pour faire apparaître
une boîte
de déclenchement de stockage de référence déplacée hors d'ici, pour obtenir une transformation. Nous pouvons les brancher sur 123, donc nous choisissons
l'un de ces spawn au hasard, et nous compilons à nouveau. Allons-y et jouons. Je vais le
ranger ici. Nous avons sélectionné nos cartes de test et les écrites là en tant qu'
objet de débogage. Et nous y voilà. La première fois que nous nous
retrouvons,
nous avons repéré
l'une de ces explosions au hasard, la deuxième fois, un incendie ,
et la troisième fois, il y a de la fumée dedans également. Maintenant, notez que si je
les recoupe encore une fois, nous nous sommes arrêtés
ici, à la porte. Nous n'avons pas du tout réinitialisé cela. Ce serait donc quelque chose
que vous devriez peut-être
faire pour permettre un certain frai. Encore une fois. Maintenant, une telle configuration peut être utilisée
comme un butin. Peut-être que vous tuez un ennemi et que
vous voulez attribuer
une récompense au hasard, ce serait un bon exemple. Utilisation du multijeu. Peut-être utilisez-vous un multigrade
pour faire apparaître des vagues d'ennemis. Vous pouvez donc choisir une vague
d'ennemis parmi nos zéros, un ou deux. Ou peut-être pourriez-vous
utiliser un nœud multigrade lorsque vous parlez à un PNJ. Encore une fois, de nombreux jeux vous
permettent de parler à un MPC, et dans votre MPC, loups alimentent trois lignes de dialogue différentes et
uniques. Vous pouvez faire en sorte qu'en utilisant
un nœud multigrade lorsque vous superposez le volume de déclenchement
lié à ce PNJ, vous puissiez déclencher la ligne de déclenchement du dialogue 12 ou
3 respectivement. Les gars, cela va
tout faire pour le nœud multiset. Nous vous verrons dans la prochaine.
83. Pour les boucles: Bienvenue. Dans cette vidéo, notre objectif est d'acquérir
des connaissances et de démontrer l'utilisation des nœuds for-loop. À ne pas confondre avec
les nœuds pour chaque boucle, dont nous
parlerons dans la vidéo suivante. Ces nœuds vont maintenant répéter une section de script
encore et encore. Et bien qu'ils puissent être utilisés
dans Event Grass, ils brillent vraiment lorsqu'il s'agit de scripter du contenu
procédural à l'aide
du script de construction. Maintenant, pour commencer,
qu'est-ce qu'un for-loop ? Eh bien, une boucle for est un
nœud qui, lorsqu'
il est appelé, possède un fil
d'exécution branché sur le
côté gauche. Il déclenche une impulsion
hors de la boucle, corps X fois, le nombre de
fois étant déterminé par le premier et le dernier indice. Ainsi, par exemple, si
nous avions un événement branché sur notre nœud
for loop ici, et que notre premier index était 0. Lorsque notre dernier indice était neuf, nous sortions de notre corps de
boucle dix fois, commençant de 0 à 9. Maintenant, chaque fois que
nous sortions de notre corps en boucle, nous crachons à
quel indice entre 09 nous nous situons. Encore une fois, de 0 à 9,
vous passerez à 0123456789. Donc, quand nous en étions à la
cinquième itération, nous
crachions un index pour, encore une fois, commencer par le numéro 0. Maintenant, une fois qu'il aura
parcouru les dix, ce fil de
sortie d'exécution terminé se déclenchera. Maintenant, la seule différence entre notre nœud for loop ici
et notre nœud for loop with bread est simplement ce stylo d'exécution d'entrée
break. Avec ce
nœud, vous pouvez interrompre le flux d' exécution avant d'
atteindre vos derniers indices. Si, par exemple,
votre premier index est 0 et votre dernier indice est 99, ce qui signifie 100 boucles par ici. Vous pourriez, pour quelque raison que ce soit, casser tôt pour ne pas le terminer
réellement. Et nous en montrerons une
démonstration plus tard dans cette vidéo. Bien, comme je l'ai mentionné
au début de cette vidéo, vous pouvez utiliser ces nœuds
ici dans un graphe d'événements, mais ils montrent vraiment leur puissance dans un script de
construction, en développant du contenu procédural. Et en fait, au tout
début de ce cours, lorsque je parlais
du script de construction, j'ai utilisé
un nœud for-loop. Permettez-moi
donc de
revenir à ma carte de test ici, revenir à ma carte de test ici, j'ai en fait un exemple de plan de script de
construction. C'est le plan
que j'ai élaboré bien plus tôt dans le cours en
parlant du script
de construction. J'en ai un dans mon niveau, mais si ce n'est pas le cas, vous pouvez
le trouver dans votre dossier de scripts
Blueprints. Voici votre exemple de script
de construction BP. Également. Vous pouvez y accéder
ici dans votre Outliner en le sélectionnant ainsi que votre univers
et en cliquant ici. Maintenant, je n'ai rien ici dans ce plan
dans mon Event Graph, ma fenêtre d'affichage montre ce que le
script de construction a construit. Voici donc mon onglet
Construction Script. Si ce n'est pas le cas, vous pouvez double-cliquer
dessus dans le
panneau Mon plan pour l'ouvrir. Et c'est ici que
nous utilisons un nœud for loop. Maintenant, tout ce script
a été créé pour générer du contenu
procédural. J'expose ces nombres de
variables entières de section à l'éditeur. Ainsi, en ajustant le
nombre de sections, nous pouvons parcourir ce
nœud pour boucle X fois en passant de 0 à r
nombre de sections moins une. Et il s'agit simplement de faire quelques calculs pour déterminer où placer exemple du maillage statique de
cette pièce murale ici. Maintenant, j'ai quelques scripts supplémentaires pour définir
le
matériau
de cette instance, le maillage
statique, mais c'est ce que fait tout
ce
script de construction. Donc, la puissance de ceci, encore une fois avec la boucle for, est que vous pouvez spécifier le
nombre de fois que vous allez
parcourir le reste de
ce code en boucle ici. Et dans ce cas, nous passons d'un
indice de 0 au
nombre de
sections que je précise. Ici, dans mon niveau, j'expose cette variable
pour qu'elle soit modifiable par instance, cette case à cocher juste là. Ce faisant, cette variable devient
disponible dans le panneau Détails lorsque
ce plan est sélectionné. Vous pouvez donc voir si j'ajuste
le nombre de sections ici, je peux étendre ce mur. Ce que cela fait. Une fois de plus,
il passe par là. Combien de fois ? Eh bien, j'
ai actuellement ce set pour vingt et un ans. Vingt et un. Vingt et un moins un font 20. Donc, de 0 à 20, c'est
passer par ici toutes ces fois pour ajouter ces
sections de murs. C'est donc ce que fait le
corps de la boucle, répète cette
section du script, quel que soit le nombre de fois qu'il passe du premier index
au dernier index. Maintenant, il convient de
noter ici que itérations de
boucle auront
lieu entre les images, sorte que les boucles de grande taille peuvent avoir
un impact sur les performances. Donc, si nous devions fixer notre dernier indice
à un niveau assez élevé, nous assisterons à un léger décalage. Je vais donc essayer de régler
ce chiffre à un niveau élevé ici. À mon niveau. Je l'ai actuellement réglé
à 21, ce qui n'est pas si mal. Si j'essaie de le régler à 500 000 et que j'appuie sur
Entrée, regardez ce qui se passe. Et en effet, cela a
pris beaucoup de temps. Maintenant, j'ai coupé la vidéo juste là pour donner l'impression que
cela a pris beaucoup moins de temps, mais il
a probablement fallu
environ une minute à mon ordinateur environ une minute à afficher toutes ces
sections de murs. Sachez donc que vous ne voulez
probablement pas avoir trop de boucles via
votre nœud for loop. Très bien, présentons
un cas d'utilisation pratique pour la boucle for. Notez qu'ici, dans notre niveau, je vais ajouter une boîte de déclenchement et que je vais
configurer l'extension de la boîte pour qu'
elle soit un peu plus grande. On va faire 300 dans le x, 300 dans le y, et 40 c'est bien pour le Z. Je vais juste
le ramasser un peu par terre,
quelque chose comme ça. Laissez-moi régler l'
épaisseur de la ligne à dix. Et comme tu
m'as vu le faire un tas de
fois jusqu'à présent, je vais décocher les acteurs
cachés et les jeux pour que nous puissions les voir. Ensuite, je vais le
dupliquer en maintenant la touche Alt enfoncée, en cliquant avec le
bouton gauche et en faisant glisser. Et je vais réduire l'
étendue de la boîte pour celui-ci, nous allons le faire 100 par 100 par 100, quelque chose d'un peu
plus petit comme ça, en le soulevant en l'air, appuyant sur la touche Fin pour le faire tomber
le sol. Alors, qu'est-ce que j'essaie de
réaliser avec cette configuration ? Eh bien, essentiellement, ce que je
vais faire se produire ici. Notre personnage apparaîtra
ici même au début de notre joueur. Nous allons faire en sorte
que lorsque notre personnage chevauche
cette boîte de déclenchement, nous puissions faire apparaître des potions d'une
manière ou d'une autre dans les limites de ce
volume, ici même ? Oui, vous pouvez utiliser une boîte de déclenchement déclencher
le volume pour faire
apparaître des objets à l'intérieur. C'est ce que nous
allons utiliser pour cela. Et nous allons également
utiliser un nœud for
loop pour générer
trois potions d'Amanda. Tout d'abord, nous allons sélectionner cette case de
déclenchement ici. Revenez à votre plan de niveau. Et nous allons cliquer avec le bouton droit
et laisser de l'espace vide. Nous allons ajouter un événement lorsque nous commencerons à le chevaucher. Et nous allons simplement sortir
de notre autre acteur ici, taper le signe égal. Et ce sera notre méthode pour vérifier s'il s'agit bien de
notre personnage de joueur. Nous allons cliquer avec le bouton droit sur
Obtenir le personnage du joueur. Encore une fois, il existe toutes
sortes de méthodes que nous pouvons utiliser pour
cette section pour vérifier s'il s'
agit de notre ThirdPersonCharacter. Cela fonctionnera bien. Maintenez la touche enfoncée
en cliquant avec le bouton gauche pour faire apparaître une branche. Comme ça. Ensuite, je vais
maintenir la touche O enfoncée et cliquer avec le bouton gauche parce que nous
voulons faire quelque chose une fois. Que voulons-nous qu'il se passe ? Eh bien, nous voulons sortir d' ici et apporter une boucle pour, pas une pour chaque boucle, une pour boucle. Nous allons mettre notre premier indice à 0, notre dernier indice à deux. Donc, 012 seront nos
trois indices. Et nous sortirons de
notre corps et nous ferons apparaître un acteur issu de la classe. Et c'est là que je vais
ajouter une potion à notre homme. Encore une fois, vous pouvez insérer
tout ce qui est une sorte d'
objet de plan, je le recommande. Maintenant, où vais-je
faire apparaître ce truc ? Je dois accélérer cette transformation
d'apparition. Revenons donc à notre niveau. Nous allons sélectionner
ce volume de déclenchement ici. Ensuite, nous allons
revenir à notre plan de niveau, maintenir les arches
enfoncées comme dans la référence et cliquer avec le bouton gauche de la souris pour faire référence à
cette boîte de déclenchement. Nous allons traîner hors d'ici. Get actor Bounds est le nœud
que nous recherchons. Ensuite, nous allons sortir de l'origine ici et taper au hasard un point dans
un cadre de sélection. C'est l'étendue de la boîte. On peut l'
intégrer à la demi-taille. Enfin et surtout, nous allons faire glisser vers l'arrière
la transformation de spawn, où nous allons
taper make transform. Le seul aspect de la
transformation dont nous allons nous
préoccuper est l'emplacement. Prenez donc l'emplacement de
notre cadre de délimitation juste ici et branchez-le l'emplacement de
la transformation de création. Résumons donc très rapidement
ici ce que nous avons à faire. Nous allons superposer
ce volume de déclenchement. Nous allons
vérifier si c'est personnage du joueur qui
a
fait le chevauchement, si
c'est le cas, et c'est vrai. Une fois, nous allons le
parcourir trois
fois, à partir de 0012. Alors bam, bam, bam, bam, engendrant trois
potions de manne dans les limites de ce
volume de déclenchement. Compilons. Cela permettra de
vérifier si notre script est bon. Enregistrer. Mettons ce script
ici et
allons-y et jouons. Et vous pouvez y voir mes deux
volumes. Recoupons
le premier ici. 123. On y va. Maintenant, si j'essaie de me
superposer et encore une fois ,
pas de dés, pas de dés, vous pouvez voir que cela
s'arrête juste au nœud do once. Maintenant, vous vous demandez peut-être pourquoi cette émancipation est apparue en
haut, juste ici ? Eh bien, nous obtenons les limites de
notre acteur pour cette boîte de déclenchement ici, mais nous choisissons un point au
hasard dans la boîte de sélection
en spécifiant une origine, le centre de celle-ci. Et le point aléatoire
que nous choisissons vraiment est la moitié
de l'étendue de notre boîte. Vous pouvez donc
vraiment sortir des limites
de cette
si longue histoire,
ce n'est qu'un
exemple rapide pour montrer le nœud for loop au travail. Alors laisse-moi partir d'ici. Pour terminer, nous allons
faire une démonstration de la boucle for
avec le nœud bread à l'intérieur de
notre ThirdPersonCharacter. Voici donc un répertoire
pour le trouver. Double-cliquez
dessus pour l'ouvrir. Et nous allons introduire
un événement de clavier. avec le bouton droit de la souris et tapez un espace
vide dans le clavier. Ajoutez n'importe quel événement de clavier
que vous n'avez pas encore utilisé. Je vais utiliser la touche E, rien à
terre, et il fera l'affaire. Ce que nous allons faire, c'est
traîner dans cette situation et mettre en place une boucle. Un pour boucle avec pause, pas pour chaque boucle qui viendra plus tard. Vidéo suivante. Et nous allons avoir le premier
indice laissé seul à 0, le dernier indice, cependant, je vais mettre
le chiffre 30. Ensuite, je vais cliquer avec
le bouton droit sur cette épingle et je vais promouvoir en variable
juste pour montrer, une fois de plus,
que si vous la mettez dans un chiffre,
cela fait la promotion d'une variable, vous allez non
seulement créer une variable, mais si vous compilez, vous verrez
que le nombre que vous y avez défini est désormais défini comme valeur par défaut pour cette variable promue. Très pratique. Je vais
maintenant renommer cette variable. Je vais appuyer sur F2 là-dessus et je vais appeler
cela un nombre maximum d'objets d'inventaire. Alors, que faisons-nous ici ? Nous allons passer en revue un scénario
hypothétique dans lequel votre personnage tiers
peut contenir 30 objets d'inventaire. Mais disons simplement que sur
l'interface utilisateur des personnages, ils ne peuvent afficher que 15
éléments sur une seule page. Donc, dans ce cas, nous allons arrêter notre boucle pour faire
une pause quand nous
découvrirons que nous sommes partis, nous l'avons
fait 15 fois. Donc, essentiellement, nous
allons passer de 01234567891011121314. Ce serait 15 fois au total. Et nous allons
casser notre For Loop. Alors, que devons-nous faire ensuite ? Nous devons sortir
de notre index ici. Et nous allons introduire
un symbole égal. Et nous allons voir si
notre indice est égal à 14. Pourquoi 14 ? Si nous voulons vraiment le casser
après avoir atteint 15 éléments, souvenez-vous que notre premier indice compte 0. Donc, avec cet ensemble, je vais le promouvoir
en tant que variable. Cliquez avec le bouton droit pour promouvoir Nous pouvons compiler cela. C'est là notre nouvelle
valeur. Cependant, nommons cela
quelque chose de mieux que cela. Je vais donc le
renommer ici. Appelons cette
page un article maximum. Et ce que nous allons faire ensuite,
c'est sortir d'ici et
introduire un nœud de branche. Entre cela, je vais me faufiler dans
un nœud Print String. Donc, chaque fois que nous
parcourons en
boucle, nous allons imprimer. Donc, imprimez la chaîne, sur quel
index nous sommes. Alors glissez-déposez ça dedans. Cela amènera n'importe quel
entier de conversion en chaîne. Branchez-le à notre succursale. Et ce que nous voulons faire
ici, c'est que si c'est vrai, les éléments de
notre page 1 sont
égaux à nos indices de 14. Compilons ça à nouveau, 14. Si c'est vrai, on va revenir
ici et on va faire une pause. Double-cliquez dessus pour
ajouter un nez de réacheminement afin de le rendre un
peu plus beau. Une fois que nous avons cassé,
nous avons terminé. Je vais sortir d'ici, en
apportant un autre nœud de chaîne
d'impression. Et nous allons simplement
imprimer à l'écran. Chacun de vos stocks est plein ou quelque chose comme ça. Et imprimons ceci à l'écran un
peu plus longtemps. Je clique donc sur cette flèche vers
le bas juste là pour exposer d'
autres paramètres. Ici nous allons régler cela sur
une durée de dix. C'est donc ce qui
se passe ici. Encore une fois, nous
n'imprimons rien à l'écran. Nous n'imprimons
aucun article en stock, ce n'est pas simplement hypothétique. Compilez ceci. Enregistrer. Et allons-y
et plaçons cette option de
débogage comme notre
ThirdPersonCharacter. Vous pouvez donc voir ce
script démarrer. Et tout cela va
se passer très, très vite. Alors regardez en haut à
gauche lorsque j'appuie sur la touche E,
page, l'un de vos
stocks est faux. Vous avez donc vu tous ces indices, 012345678910 à 14 jusqu'à ce qu' il indique que la première page de
votre inventaire est pleine. Vous pouvez voir dans
cet exemple
que nous n' avons jamais atteint notre dernier index. Nous étions censés
parcourir jusqu'
à 30 articles d'inventaire. Eh bien, vraiment 31 si
vous comptez ce 0. Mais nous avons rompu notre boucle ici. Nous n'avons pas franchi
la boucle autant de
fois que nous l'avons cassée lorsque nous avons atteint 14. C'est donc un exemple d'une
boucle pour avec un nœud break. Encore une fois, ces nœuds sont
très utiles lorsque vous les utilisez avec script de construction
interne pour créer quelque chose comme
des murs procéduraux comme celui-ci, mais ils peuvent également être utilisés
dans des graphes d'événements. Maintenant, une dernière chose
à noter ici
dans notre
script de construction que j'ai créé plus tôt dans le cours lorsque j'ai créé ce script
en utilisant un nœud for-loop, souvent lorsque l'utilisation de
for-loop connaît le les indices sont utilisés dans une sorte
de calcul mathématique. C'est donc quelque chose à
garder à l'esprit également. Donc, à chaque fois que nous
faisions une boucle,
j'utilisais ce numéro d'index, le
multipliais par un autre
nombre pour déterminer où placer
exactement cette instance, Static Mesh, cette pièce murale. Très bien les gars, ça va
suffire pour vous proposer celui-ci, nous vous verrons tous
dans la prochaine vidéo.
84. Pour chaque boucles: Bienvenue. Dans cette vidéo, notre objectif
est d'acquérir des connaissances et de
démontrer l'utilisation des nœuds
pour chaque boucle, le proche cousin des nœuds
pour boucles que nous avons
abordés dans la dernière vidéo. Alors, qu'est-ce qui différencie un
nœud pour chaque boucle des nœuds pour boucle ? Eh bien, ce sont des
nœuds de contrôle de flux qui prennent en charge un tableau plutôt qu'un certain nombre
d'indices. Ainsi, en prenant un tableau, ils vous permettent de
faire quelque chose à chaque élément du tableau qui constitue
le contenu du tableau. Maintenant, si vous revenez à notre vidéo sur les tableaux présentée
plus tôt dans le cours, vous vous souviendrez qu'un
tableau est essentiellement une liste. Il s'agit d'un conteneur composé de plusieurs éléments dont les entrées sont du même type de
variable. Très bien, pour montrer l'exemple ici, nous
allons travailler
dans le cadre
de notre plan de niveau. Mais d'abord, nous
allons travailler à notre niveau. Maintenant, je vais utiliser ce mur de lampes SM dans mon dossier
Star Content Props. Bien que vous
puissiez réellement utiliser n'importe quel type de maillage
statique pour créer ce que
nous sommes sur le point de créer. J'ai un mur simple ici. Donc, si vous voulez
placer une
sorte de mur dans votre niveau
pour jouer, cela peut être une bonne chose
à faire également. Parce que ce que je vais
faire, c'est
placer ce mur que Scott est
le long du mur que
j'ai construit ici. Et je vais vous
montrer autre chose que vous pouvez faire ici dans Unreal, ici même dans
votre fenêtre d'affichage, cette icône à trois flèches, vous pouvez activer la capture de surface.
Je l'ai actuellement allumé. C'est ce que signifie cette
coche. Mais si vous ne
savez pas si vous l'avez activé ou désactivé, vous pouvez
cliquer ici. Je l'ai sur moi. je l'ai activé,
c'est pour montrer que si je le fais glisser
et que je le dépose dans mon niveau, il l'
accrochera à la surface sur laquelle je le
fais glisser. Vous pouvez voir qu'il glisse le long du sol et qu'il est placé
le long du mur comme ça. Maintenant, si je devais le relâcher, cliquer avec le bouton gauche
et le faire glisser, il ne le ferait pas glisser
sur le sol comme ça. Cependant, si je l'attrape par le point à
trois coins, le widget de traduction
qui se trouve juste là. Si je clique avec le bouton gauche de la souris et que je le
prends à partir de
là, il le fera grimper à la surface. Maintenant, je vais le faire glisser
le long de mon mur ici. Bien sûr, il n'est pas exactement
positionné comme je le souhaite. Je vais devoir
alterner celui-ci en particulier. Donc, en appuyant sur la barre d'espace, je vais la
faire pivoter comme ceci. Faites-le pivoter comme ceci, et faites-le pivoter comme ça
pour le placer le long du mur. Je vais également l'augmenter un peu en taille
ici. Et je vais faire ressortir
quelques doublons. Donc, en maintenant la touche Alt enfoncée, je vais
cliquer avec le bouton gauche et faire glisser,
maintenir à nouveau la touche Alt enfoncée, cliquer avec le bouton gauche et faire glisser. D'accord, j'en ai trois
dans mon niveau. Génial. Je vais les sélectionner tous
les trois ici dans mon plan. Je vais sélectionner le
premier, maintenir la touche Ctrl enfoncée, sélectionner les deux autres également. J'ai donc sélectionné
les trois. Et puis de retour dans
mon Level Blueprint venant ici,
ouvrez Level Blueprint. Je vais me connecter ici et je
vais
cliquer avec le bouton droit de la souris. Non, je ne vais pas cliquer avec
le bouton droit. Je pourrais cliquer avec le bouton droit de la souris et créer une référence à chacun d'
eux individuellement. Cependant, si je les avais
sélectionnés individuellement, je vais maintenir la touche
R enfoncée et cliquer avec le bouton gauche pour
faire immédiatement référence aux
trois. Ils sont empilés les
uns sur les autres. Malheureusement. Ensuite, ce que je vais faire, c'est
sortir de l' un d'entre eux et
taper make array. Nous allons donc ajouter des
épingles à notre tableau ici. Et nous allons
connecter chacun de ces trois éléments à notre Make
Array Note ici. Maintenant, cela peut générer un tableau. Ce que je vais faire, c'est
simplement cliquer dessus avec le bouton droit de la souris et le
promouvoir en variable. Cependant, notez que
je n'ai pas à le faire. Je vais utiliser ce
tableau de lampes ici, 123 pour le brancher
sur un pour chaque nouveau nœud de boucle, cela fonctionnerait très bien
pour cela. Cependant, juste pour montrer que je peux le promouvoir en tant que variable, je le ferai. Je vais donc cliquer avec le bouton droit sur
la promotion à deux variables, et je vais l'appeler
mon réseau de lampes. Maintenant, cela le définit immédiatement
sur le type de variable approprié. S'est terminé immédiatement. Cela
en fait une gomme. C'est plutôt pratique. Et ce que je vais faire ici c'est qu'après les avoir
placés dans un tableau, je vais le brancher une broche d'exécution de mon
pour chaque nœud de boucle, vous pouvez utiliser le raccourci clavier
qui consiste à maintenir
le F enfoncé touche et bouton gauche de
la souris pour obtenir
un pour chaque nœud de boucle. Nous allons le brancher
à notre baie. Maintenant, nous avons besoin d'un événement
pour déclencher tout cela. J'ai dans mon niveau un
volume de déclenchement déjà abaissé. Si vous n'en avez pas, vous pouvez venir juste en dessous. Entrez dans la boîte de déclenchement de base, placez-en une
dans votre niveau. J'ai réglé
l'étendue de ma boîte sur cent, cent,
cent en fonction de l'épaisseur
de ligne pour
qu'elle soit facile à voir. Et j'ai un acteur caché
dans le jeu sans contrôle. Maintenant que cela est sélectionné
dans votre niveau, revenez dans votre
plan de niveau, cliquez avec le bouton droit de la souris. Nous allons ajouter
un événement lorsque nous commencerons à le superposer. Et nous voulons nous assurer que nous avons vérifié s'il s'agit de notre personnage à la
troisième personne. Sortons donc d'ici
Cast vers ThirdPersonCharacter. Et si c'est le cas, et que nous avons redéfini notre variable de
tableau, cette partie ici
n'est pas très nécessaire. Nous allons faire quelque chose pour chaque élément de ce tableau. Maintenant, que dois-je faire
avec chaque article de notre gamme ? Tous les trois, eh bien, ce que je veux faire, c'est sortir
de notre tableau et je
vais saisir le lieu
de l'acteur. Nous allons utiliser l'
emplacement de chacun de ces murs pour faire apparaître un émetteur. Je vais donc cliquer avec le bouton droit sur un espace vide
et je vais faire apparaître un émetteur sur place. Je vais connecter l'emplacement précis à l'entrée de
localisation de notre spawn, un emplacement de minaret, de
notre corps de boucle, nous allons le brancher sur
ce nœud de fonction. L'émetteur que
je vais utiliser est simplement d'allumer mon feu P. Il s'agit d'un système
de particules plus ancien. Encore une fois, vous pouvez installer un
système de particules plus ancien ou créer système d'
apparition à un endroit qui utilise les effets d'
étincelles du Niagara, le système à l'emplacement
est l'équivalent là-bas. Cela fonctionnera tel
quel, par souci d'exhaustivité. À partir de cette broche
de sortie terminée, je vais imprimer une chaîne. Et je vais simplement
mettre la ficelle. Terminé. Nous allons donc
l'imprimer à l'écran. Et ce que
je pense que je vais aussi faire c'
est introduire une autre chaîne
d'impression juste ici, contrôle C, contrôle
V. Nous allons
faufiler cette extrémité avant
notre corps de boucle. Nous pourrions le mettre après notre
émetteur si nous le voulions. Donc on va y aller comme ça. Et pour chaque élément
de notre tableau, nous allons imprimer
l'index du tableau afin que vous
puissiez également voir ce numéro s' imprimer à l'
écran. Récapitulons donc ce que nous avons. Une fois
que notre personnage chevauchera ce volume de déclenchement, nous verrons s'il s'
agit bien notre
ThirdPersonCharacter. Ce que nous
allons ensuite faire, c'est utiliser ces trois lampes
et créer un réseau. Nous allons donc avoir un tableau, une liste d'
acteurs de maillage statique qui
vont renseigner cette variable. Nous allons ensuite, pour
chaque boucle de notre tableau, pour chaque élément de notre gamme, trouver
la position des acteurs et faire apparaître du feu. Compilons cela pour votre script R
soit prêt à fonctionner. Allons-y et jouons. Paramétrer notre objet de débogage
sur notre carte de test ici. Très bien, alors on y va. Une fois que nous avons superposé tout cela, nous devrions voir le feu apparaître
ici, ici et ici. C'est comme si nous avions allumé trois torches. Maintenant, cela se produit sur
le site de notre laboratoire. Ce n'est pas bas. Si nous regardons notre lampe, le widget de traduction
se trouve à la base de celle-ci. C'est pourquoi cette flamme apparaît un
peu plus bas. Cependant, nous pourrions le compenser un peu et le
faire apparaître en haut, mais vous obtenez des points. Tu vois, je ne le
ferai pas une seule fois. Donc, si je continue à les chevaucher, vous verrez ce texte s'imprimer à l'écran. Et je continue à générer
plus d'effets de particules
ici aussi. Mais vous pouvez imaginer une
telle installation utilisée pour allumer la lampe. Un autre exemple à montrer
ici dans notre Level Blueprint. Cette fois, nous allons
utiliser le nœud
for each loop with break. Je suis allé de l'avant et j'ai
créé une série de textes. Donc, si vous voulez jouer le jeu, cliquez sur ce bouton plus. Nous l'avons transformé en type
variable de textes, et nous avons changé le
type de conteneur pour qu'il s'agisse d'un tableau. Et puis j'ai cliqué
ici trois fois deux, vous ajoutez trois éléments de tableau
faits guerrier et voleur. Maintenant, il faut noter qu'
avec chacun de nos quatre nœuds de boucle, vous avez
des épingles grises ici. Maintenant, ils indiquent des caractères génériques, ce qui signifie que nous pouvons y ajouter une variété
de types de variables. Et il reconnaîtra le
type que nous y connectons
et changera le
type correspondant pour qu'il soit identique. Laissez-moi vous montrer ce que je veux dire. J'ai une série de
textes ici. Si je le branche sur notre entrée de
tableau gris ici, il
reconnaîtra que Hey, vous branchez un
tableau de variables de texte. Cela signifie que nous allons
sortir des textes
car votre tableau se compose
de trois textes créés. Guerrier et voleur,
trois éléments. D'accord, qu'allons-nous
faire de cette configuration ici ? Eh bien, nous allons voir si notre élément de tableau est égal
à certains textes littéraux. Nous allons cliquer dessus avec le bouton droit sur
un espace vide. Introduisez un opérateur de
nœud égal, égal. Je vais y intégrer les éléments de notre
tableau. En fait, ce n'est pas la bonne. Ma faute. Nous allons
d'abord apporter le nœud
make literal text, make literal text node. C'est celui que je
cherche juste en bas. De là, je vais faire
traîner et introduire
le signe égal. Nous recherchons des textes
identiques à des textes. C'est celui que nous
recherchons, PAS des opérateurs égaux. On y va. Je vais maintenir
la touche Contrôle enfoncée, cliquer avec le bouton gauche et
le mettre dans la touche inférieure. Dans notre tableau, l'élément va
se brancher sur celui du haut. Notre texture littérale
que nous allons
rechercher est celle d'un guerrier. Remarque. Nous avons répertorié Warrior ici ainsi que dans notre tableau de textes. Donc, quand c'est égal, nous allons
sortir d'ici et amener le nœud de branche. Et nous allons
sortir de notre vrai. Je me suis rendu compte qu'il y avait un
chaînon manquant ici. J'y reviendrai
dans un moment. Déplacé hors d'ici pour
saisir du texte à imprimer. Et nous allons juste
imprimer Trouvé Warrior. Et ce que nous allons
faire avec ça, c'est le
glisser-déposer le
glisser-déposer dans notre entrée de pause, en double-cliquant sur le
fil plusieurs fois ici. Maintenant, si j'ai laissé un petit espace ici, c'est
parce que je veux
aussi saisir un
nœud de texte Prince ici. Je vais donc
sortir comme ça de notre corps en boucle vers leurs éléments, dans leurs, dans notre
tableau. Nous allons y affluer. Comprenez donc ce qui se
passe avec cette configuration. Nous allons appuyer sur la touche B. Nous allons ensuite parcourir notre tableau en
boucle. Nous avons trois éléments
dans notre gamme. Chacun de ces
éléments du tableau, nous allons
imprimer à l'écran, en
commençant par les éléments majeurs, puis en passant par les éléments guerriers. Cependant, nous
allons noter qu' ici, nous allons
détecter si elles sont égales. S'ils sont égaux et
que c'est vrai. Nous allons imprimer, hé, nous avons trouvé le guerrier
et ensuite nous allons interrompre notre exécution ici, ce qui signifie que parce que Warrior est
notre index médian ici, nous ne devrions même jamais y arriver trop profond parce que c'est
notre dernière entrée dans le tableau. Nous le détruirons
dès que nous trouverons un guerrier. Allons-y et
testons ça ici. Compilez, enregistrez et jouez rapidement. Appuyez sur la touche B. On y va. Ça dit « grand guerrier », guerrier
trouvé », on n'arrive
même pas à un voleur. Maintenant, vous pouvez envisager certaines utilisations possibles
pour chaque nœud de boucle, peut-être pouvez-vous utiliser
l'un de ces nœuds pour détruire un éventail d'ennemis, ou peut-être apparaître dans une
gamme d'objets, comme du butin lâchez des objets en
détruisant ces ennemis. Peut-être utilisez-vous un nœud pour chaque boucle pour vérifier le
paramètre de tous les objets d'un tableau, puis faire quelque chose à ceux qui ont
un paramètre donné. À titre d'exemple, pour
tout ennemi ayant moins de 50 % de santé,
Yulen tombe. Juste quelques exemples
pour vous faire réfléchir, d'accord les gars, ça
suffira pour proposer celui-ci. Rendez-vous dans la prochaine.
85. Loop While: Bienvenue. Le nœud while loop
est au centre de cette vidéo et nous allons présenter
un cas d'utilisation ici dans un instant. Tout d'abord, comment fonctionne-t-il ? Eh bien, vous allez brancher un fil d'exécution sur le côté
entrée du nœud. Et il s'
exécutera à plusieurs reprises hors du corps de la boucle
du côté de la sortie. Tant que la
condition booléenne est vraie. Notez maintenant que vous devez faire
attention à ce nœud, car il est très facile de se
retrouver coincé dans une boucle infinie si
vous ne faites pas attention. En règle générale,
ne saisissez pas de nœud de boucle while moins que la condition ne passe presque immédiatement à false. Par exemple, si vous attendez d'
avoir votre personnage et superposez un volume de déclenchement pour
passer à une condition sur False, vous êtes sûr d'être
bloqué dans une boucle infinie. Vous devez disposer immédiatement d'un moyen de définir votre
condition sur « faux ». Très bien, maintenant, passons à un exemple de cas d'
utilisation du nœud while loop. Maintenant, je vais juste
faire quelques
préréglages ici avant de passer à l'écriture de scripts.
Ce que j'ai fait, ce sont des
caractères de contenu, des maillages, des dossiers. J'ai simplement glisser-déposer le
maillage squelettique Imani dans mon niveau. fait, n'importe quel type de
maillage squelettique avec une collision, un maillage
statique, nous créerons une forme de base tant qu'
il y a une collision fera l'affaire. Nous allons faire quelque chose sur
les événements à succès. Ce que nous
essayons essentiellement de mettre en place ici, c'est un scénario dans lequel Manny va
devenir un voleur et
voler
des objets d'inventaire excédentaires
à des objets d'inventaire excédentaires notre ThirdPersonCharacter. C'est sournois en fait. Maintenant, vous devez ouvrir votre ThirdPersonCharacter
Blueprint car à l'intérieur,
double-cliquez dessus. Nous allons ajouter
quelques variables. Donc, dans le
panneau Mon plan, nous allons cliquer sur Ajouter une variable. Ce premier sera
appelé Inventory Max Items. Ensuite, je peux cliquer
dessus avec le bouton droit, le dupliquer. Le contrôle D permet également de le
dupliquer. Celui-ci s'
appellera inventaire. Éléments actuels que je dois compiler pour
ajouter des valeurs par défaut. Je dois donc dire qu'
actuellement, notre personnage possède 75 objets d'inventaire, des
armes, des boucliers,
des potions de santé, tout ce genre de choses. Et ils ne sont vraiment
autorisés à mettre en banque
que 50, c'est le maximum
qu'ils sont censés avoir. Donc, en dessous de ce scénario
hypothétique, je dis que notre
personnage transporte
plus d'objets qu'il
n'est autorisé à en avoir. Mais nous leur permettons transporter
ces objets excédentaires jusqu'à ce qu'ils les mettent en banque.
S'ils se font attraper, cependant, errant dans le monde ouvert
et qu'un voleur arrive, ils peuvent voler les objets excédentaires qui sont peut-être des personnages. Encore une fois, nous constatons que
le maximum autorisé pour coter une banque entre guillemets est de 50. Actuellement, ils sont
gourmands et en transportent 75. Ainsi, un acier épaissit
jusqu'à 25 d'entre eux. D'accord, avec ça, je
vais compiler ceci. Nous allons
revenir à notre niveau. Assurez-vous d'avoir sélectionné
votre acteur de Manny Skeletal
Mesh. Et une fois que vous avez sélectionné
, accédez à votre Level Blueprint,
ouvrez Level Blueprint. J'ai fait quelques
préréglages ici à l'avance. Mais voici comment vous
pouvez jouer le jeu. Tout d'abord, je fais un
acteur. Quatre tubes sont nombreux. Du squelette, du maillage squelettique Si vous cliquez avec le bouton droit sur des événements, des
collisions, si vous ajoutez une hanche d'acteur, c'est comme ça que vous pouvez
ajouter ce nœud. Ensuite, vous
pouvez faire glisser et effectuer un Cast to ThirdPersonCharacter
pour trouver ce nœud. Maintenant, si c'est notre ThirdPersonCharacter
qui frappe notre voleur, leur Manny, le voleur. Nous allons nous pencher sur cette
question et le faire une fois. Ce que nous allons faire une fois c'est itérer
cette boucle while. Donc, même si
cela indique de le faire une fois, nous allons rester
dans cette boucle
jusqu'à ce que la condition
devienne fausse. Maintenant, nous devons
intégrer une condition. Eh bien, notre état va
évaluer nos articles en stock. Sortez donc de votre personnage à la
troisième personne, saisissez l'inventaire,
nous allons
récupérer les objets de notre inventaire actuel. Et n'oubliez pas que nous en avons 75
dans notre inventaire actuel. Je vais donc cliquer sur
ces trois points
ici et les mettre dans 75 points, juste
pour nous rappeler. Ensuite, je vais
traîner, si vous tapez
à nouveau votre inventaire, nous obtiendrons le maximum
d'objets autorisés à avoir. Et je vais cliquer sur ces
trois points et les mettre dans 50. Et nous allons
comparer les deux. Donc, en faisant glisser
mes éléments actuels, je vais faire entrer
un nœud supérieur à. Donc, si nos éléments actuels sont supérieurs à r, le
nombre maximum d'éléments
est long, est-ce que c'est vrai, nous continuerons à
sortir de notre corps de boucle ici. Maintenant, chaque fois que nous
sortons de notre corps en boucle, je souhaite réduire
le nombre d' articles dans notre inventaire actuel. Je vais donc sortir d'
ici et taper des décréments. Maintenant, ce nœud reçoit une entrée et il sera automatiquement
décrémenté à partir d'ici. Donc ça va être décrémenté à 75. Cela le
ramènera au montant actuel. Donc 75 moins 174, il définira automatiquement
cette valeur comme nouvelle valeur. Ensuite, il tournera à nouveau en boucle, 73, et cetera, et
cetera, et cetera. Tant que cela est
évalué comme vrai, dès que cela est
considéré comme faux, arrêtera ce processus. Je vais donc l'insérer dans
notre chaîne d'impression
ici afin que nous puissions voir ces numéros imprimés
à l'écran de cette manière. Enfin, à partir du stylo d'exécution
terminé, je vais apporter
une autre chaîne d'impression. Et je vais simplement
imprimer l'excédent en vain d'objets conservateurs volés, volés par ce voleur. C'est donc notre script si vous
voulez jouer le jeu à la maison. Maintenant, c'est un
exemple d'utilisation de la boucle while parce que je sais, je sais que cela va être évalué
à faux. Je sais que les articles de mon
inventaire actuel finiront par
atteindre ces limites. Nous allons donc compiler ceci. Sauvez. Je vais
le mettre ici. En cliquant sur Play,
je place mon objet
de débogage sur mes cartes afin que je puisse voir
ce script démarrer. Ici. Allons-y, voici mon voleur. J'ai mes 75 objets
que je suis en train de parcourir dans le
niveau de surveillance ici. Immédiatement, le 7473
est terminé et il a dit que les articles
excédentaires avaient été retirés, et il ne l'a fait
qu'une seule fois. Vous pouvez voir si j'essaie à nouveau,
il se coince à
cause de la neige. Voilà donc un exemple. Cas d'utilisation de la boucle while. Maintenant, en ce qui concerne les différences entre la boucle while et les boucles
for en général, vous devez utiliser une boucle for
lorsque vous savez
combien de fois la boucle doit s'exécuter. Si vous souhaitez que la boucle se
brise dans une condition autre que le nombre
de fois qu'elle doit s'exécuter. Peut-être alors envisagez
d'utiliser une boucle while. Très bien les gars, ça
va suffire d'offrir celui-ci. Rendez-vous dans la prochaine.
86. Commutateurs: Bienvenue. Nous allons
couvrir un nœud de commutation dans cette vidéo. Et dès le départ,
vous remarquerez peut-être que les nœuds de
commutation sont disponibles dans une variété de saveurs. Et ils n'ont pas de bannière grise en haut comme
le reste de
nos nœuds de contrôle de flux. Je les considère comme faisant partie de la
catégorie du contrôle de flux parce que la
catégorie du contrôle de flux parce que nous allons
essentiellement contrôler le
flux de notre script. C'est à partir de cette
broche d'exécution que nous sortons, en fonction des données
entrées dans le nœud du commutateur. Les nœuds de commutation sont désormais disponibles
en plusieurs variétés. En fait, tout un tas
de variétés, nous
allons aborder les
principales variétés ici. C'est un interrupteur sur int, interrupteur sur une chaîne, un
interrupteur sur un nom. Et nous allons également
activer l'énumérateur. Vous ne voyez pas d'
énumération activée ici car le nom d'une énumération activée
varie en
fonction de l'énumération
que vous avez créée. C'est ce que j'ai créé
plus tôt dans le cours, et cette énumération se compose
des trois étiquettes, super bien, et elle mal. Donc, si je devais
faire glisser un fil et taper interrupteur, je pourrais y faire entrer un interrupteur spécifique
à cette énumération. Vous pouvez voir mes sorties,
elles sont super, d'
accord, et elles font très mal. Maintenant, si vous
deviez cliquer avec le bouton droit sur n'importe quel graphe d'événements et
taper simplement le mot switch. Vous pouvez trouver une
multitude de nœuds de commutation, dont la
plupart ne seront jamais utilisés. Mais il est bon de
souligner qu'ils existent. Une fois de plus, nous aborderons les principales versions et celle-ci,
et vous
remarquerez que son commentaire à propos
de tous ces nœuds de commutation est qu'ils ont une seule broche d'entrée d'
exécution, mais ils ont
différentes entrées de données qui leur sont destinées en fonction du
type de nœud de commutation. De plus, ce qui est
commun entre eux c'est que vous pouvez sortir de différentes sorties en
fonction des données saisies. Voici donc à quoi ressemble un commutateur sur int qui est l'
abréviation de Switch on sur int qui est l'
abréviation de Switch on
integer node lorsque vous recherchez pour la
première fois et que vous l'
ajoutez à votre graphe. Cependant, sur le
côté droit, vous voyez à quoi pourrait
ressembler ce
nœud si j'y ajoutais des épingles. Donc, pour tout cela,
vous pouvez cliquer sur ce bouton Plus et
y ajouter d'autres épingles. Par défaut, ils commencent par une broche de sortie par défaut. Vous pouvez le personnaliser
en sélectionnant n'importe lequel de ces nœuds
dans le panneau Détails, vous pouvez choisir s'il possède ou
non une épingle par défaut. Et vous pouvez aussi, dans le cas d'un
interrupteur, noter que si vous y ajoutez
des épingles, comme je le fais ici, vous pouvez
choisir votre index de départ. Donc indique actuellement de
commencer à l'index 0. Je pourrais dire choisissez de
commencer à l'index dix, puis je vais faire le
premier chiffre ici dix, et ensuite il
numérotera en conséquence. Je vais le remettre à sa valeur par défaut. Allumez la chaîne. Très similaire. Je peux ajouter d'autres épingles comme celle-ci. Et avec cette option
sélectionnée dans le panneau Détails, je peux choisir si elle possède ou
non une épingle par défaut. Je peux choisir les
noms des épingles, etc. Je peux le choisir. Ils font la
distinction majuscules/minuscules ou non. Il existe donc différentes
options en
fonction du type de nœud de commutation. Maintenant, la broche de sortie par défaut, quand en sortez-vous ? Vous en sortirez si les données saisies ne correspondent à aucune des différentes broches de
sortie que vous souhaitez. Cela se voit facilement sur
le commutateur de l'entre-nœud. Donc, pour l'instant, j'ai une
sélection de zéros. Si je devais entrer dans ce sens, je déclencherais par
la broche de sortie 0. Si toutefois, mon numéro
ici était sauvegardé à 50. Et nous devions exécuter un
script ici. Il ne correspond à aucune
de ces sorties, donc nous lancerions
la sortie par défaut. OK, j'ai quelques exemples que
j'aimerais montrer ici. Je vais donc commencer par
mon plan de
personnage à la troisième personne. Maintenant, ce que j'ai fait
à l'avance ici, je l'ai fait dans une vidéo précédente. J'ai créé une énumération
intitulée État de santé E. Cette énumération, cette énumération
se compose de trois étiquettes, super bien, et fait très mal. Je vais simplement faire glisser
cette section vers cette partie du
graphique où j'ai
des nœuds qui m'attendent. Et ce que je
vais simplement faire, c'est appuyant sur une touche de saisie, je vais modifier la vitesse de marche maximale de mes
personnages. Maintenant, vous pouvez modifier ces
paramètres ici, ce paramètre de vitesse de marche maximale, si vous sélectionnez la composante de
mouvement de votre personnage, vous pouvez voir dans le panneau
Détails que vous avez un paramètre appelé
max vitesse de marche qui contrôle la vitesse à laquelle
votre personnage se déplace. vous suffit donc de
glisser-déposer. Ajoutez ceci à votre
graphique, sortez d' ici et tapez la vitesse de marche maximale
définie, et vous trouverez ce nœud. Donc, ce que nous allons chercher
à faire ici est basé sur la valeur de notre énumération
ici, super, ok, ou mal elle, vous voyez, ce sont
les trois sorties
qui correspondent
aux trois étiquettes que
ce L'énumération se compose de. Si c'est super, nous allons
augmenter notre vitesse de marche maximale. Si c'est bon. Nous allons le configurer pour qu'il en soit ainsi. 500. Si nous sommes gravement blessés, nous allons
le fixer à 100. Je vais donc
cliquer avec le bouton droit de la souris et j'
introduirai une touche de saisie. Essayons la clé du sida. Je ne pense pas
utiliser la clé d'aide pour quoi que ce soit pour l'instant. Donc, en ce moment, notre
état de santé est super. Donc, une fois que j'appuie sur la touche A, nous devrions augmenter notre vitesse de marche
maximale à 2 000 ans. Donc, en cliquant sur Play, je
configure mon débogage. Objet à mon
ThirdPersonCharacter. On y va. Alors je me promène ou je me demande si je
vais appuyer sur cette douleur. Et maintenant, tout à coup, je
peux aller beaucoup plus vite. vanté d'avoir changé mon
état de santé ici pour simplement être gravement blessée. J'ai
changé cela maintenant. Donc, une fois que j'aurai appuyé sur la touche A, nous évaluerons
cette valeur entendue Valley. Nous sortirons
d'ici et cela
changera notre maximum de B2, 100. Cliquez sur Play. Nous y en appuyant sur les touches de mouvement en ce
moment, WAS et D. voilà,
en appuyant sur les touches de mouvement en ce
moment, WAS et D. C'est parti. Huit clés. Maintenant, je suis gravement blessé et je suis
olympien dès le début. Il y a donc un exemple
d'activation de l'enum. Pour le prochain exemple, je vais tuer cet ennemi. Regardez ce type effrayant en cliquant simplement dessus. Quand je le ferai, j'
utiliserai un nœud switch on inch pour générer une boucle afin de
créer un système de
butin aléatoire. Donc, si vous voulez
jouer le jeu à la maison, j'ai simplement ajouté un maillage. Ce S k, m chez Manny depuis mon dossier de
maillages de mannequins de personnages, un glisser-déposer
dans mon graphique. Et une fois que cela a été sélectionné, je suis entré dans mon Level
Blueprint ici. Et j'ai quelques nœuds
configurés à l'avance ici. J'ai ajouté un événement onclick
pour ce S KM, encore une fois, vous devez
le sélectionner et
votre niveau et vous pouvez en ajouter un en cliquant avec le bouton droit
de la souris. Et des événements dans
des événements d'entrée, une saisie de souris. Et c'est là que j'ai
fait un événement OnClick. Alors, qu'est-ce que je veux faire
lorsque je clique sur Manny ici ? Eh bien, je vais m'
éloigner d'ici et activer un switch sur le nœud. Et je vais ajouter
quelques broches de sortie ici. Je vais y aller en 1234. Et je vais choisir une valeur entière dans une
plage aléatoire. Je vais donc faire glisser le texte vers l'
arrière et taper au hasard. plage d'entiers aléatoires est
ce que je vais rechercher. Donc je vais dire
donnez-moi un chiffre entre 03. Il en choisira donc 012 ou trois. Ensuite, je vais lancer
les épingles correspondantes en
fonction du numéro sélectionné. Maintenant, ce que je veux faire, c'est que
si nous obtenons un 0 ou un, je vais simplement
émettre un son vers le nœud. Ça va dire « échouer ». Donc 50 % du temps, nous allons
juste émettre un son et vous
n'obtiendrez rien. Donc, disons 50 % du
temps pour avoir tué un homme. Il est là, vous n'obtiendrez
rien d'autre que
les 50 % restants du temps, nous allons faire apparaître quelque chose dans notre niveau ici. Je vais faire appel à un acteur de
spawn depuis le nœud de classe. Vous pouvez cliquer avec le bouton droit de la souris
et rechercher un acteur de
spawn dans la classe. Nous allons dire que si nous
obtenons deux ou trois, nous allons apparaître. Je vais faire apparaître un homme BP,
une potion que nous avons créée
plus tôt dans le cours. Et je dois lui donner
une transformation d'apparition parce que si je compile
maintenant , elle va me
crier dessus et me dire : «
Hé, tu dois générer une
transformation pour ça. Donc, je vais dire, où devrions-nous le faire apparaître ? Permettez-moi de me débarrasser de
ces deux nœuds ici. Eh bien, j'ai déjà sélectionné
Manny, donc je vais cliquer avec le bouton droit de la souris
et laisser un espace vide. En fait, je ne
vais pas cliquer avec le bouton droit. Je pourrais cliquer avec le bouton droit et obtenir une référence à Manny comme ça. Ou vous pouvez maintenir
le bouton gauche de la souris enfoncé et obtenir une référence
à Manny comme ça. Sortons de Manny et
saisissons get trans form. Nous recherchons le
monde qui se transforme. Nous obtenons une transformation d'acteur,
c'est très bien. Nous allons le brancher sur. C'est la fin. Faisons jouer une sorte
de son après ça. Nous allons donc sortir de
ce son 2D, et nous allons jouer des téléportations. Engagé. Bien sûr,
ça a l'air bien. Compilons notre script ici. Ainsi, lorsque nous cliquons sur Manny, nous allons choisir un
nombre aléatoire entre 03, selon le nombre que nous obtenons. Soit nous échouerons
50 % du temps soit 50 % du temps, nous
engendrerons une manifestation. C'est donc une façon de
créer un système
de butin aléatoire pondéré. Si je voulais attendre ces soixante-quinze pour cent
du temps pour enjamber
un homme, une potion. Vous pouvez voir comment je pourrais utiliser
une telle configuration. Mais je vais aller à 5050 à la place. Compilez, enregistrez. Débarrasse-toi de ce type ici. Et nous traiterons de ces chaînes dans les changements de nom
dans un instant. Salut, ça, en déplaçant
ça dans le coin, je vais définir ma carte
comme objet de test de débogage. Et voilà, je vais cliquer dessus. Vous allez voir ce
script démarrer. Bam, il y a un homme, une potion à ses pieds, et je n'en ai pas détruit beaucoup. J'aurais probablement dû
faire ça aussi. Parce que nous pouvons maintenant
continuer à cliquer dessus. Tout est en train de le faire apparaître exactement
au même endroit. Et en fait c'est ce que je devrais faire. Tuons-en beaucoup. Si nous créons
cette potion d'Amanda
traînée avec de l'argent, nous dirons Destroy Actor. Dans les événements sur lesquels nous cliquons. Les deux peuvent
s'y écouler comme ça. Alors maintenant, quand je clique
dessus, boum, mort, nous avons un homme, une potion que
nous pouvons également récupérer. Très bien, le prochain exemple
que je vais montrer ici se fera dans
mon Level Blueprint. Et pour me
préparer un peu à l'avance, j'ai ajouté un Manny
à mon niveau. Et juste pour vous montrer ce que j'ai fait
d'autre ici, c'est qu'avec Manny sélectionné dans mon
Level Blueprint, j'ai tout de
suite eu une référence
à Manny ici. Vous pouvez donc l'obtenir
en maintenant la touche Alt enfoncée et en cliquant avec le bouton gauche. Ensuite, je l'
ai dessiné ici. La localisation de l'acteur
en la saisissant. Je vais vous expliquer tout cela
dans un petit moment, mais laissez-moi revenir en arrière. Tout d'abord, nous
appuyons sur la touche 5. Donc, si vous cliquez avec le bouton droit de la souris
et tapez le clavier, c'est ainsi
que vous pouvez
obtenir les cinq touches. Eh bien, nous allons alors entrer dans un switch
sur un nœud de chaîne. Voici à quoi ressemble le nœud pour la
première fois lorsque
vous l'introduisez. Cependant, vous pouvez ajouter des épingles en cliquant
sur ce bouton plus. Lorsque vous le faites, vous pouvez renommer ces broches de sortie en
remplaçant ces noms. Et vous pouvez voir
que je l'ai fait en les nommant Bob, Pablo et autres. Très bien, donc je vais
supprimer celui-ci au profit de celui
que j'ai configuré à l'avance. Maintenant, nous y
introduisons une variable de chaîne, j'ai créé une variable ici, namestring, et elle est
du type chaîne. Et j'ai défini la
valeur par défaut pour Pablo. Comme vous le remarquerez,
c'est le nom de ma broche
d'exécution de sortie centrale ici. J'ai laissé un port de notes juste ici. Ensuite, ce que je
fais aussi, ce n'est pas seulement de brancher cette
variable de chaîne ici, mais aussi de redéfinir exactement la
même variable
de chaîne sur Whoo dès que je
relâche les cinq touches. Donc j'appuie dessus, en évaluant contenu de
cette variable de chaîne, ce sera Pablo. Nous allons donc continuer
à sortir d'ici. Ensuite, nous allons
téléporter notre personnage de joueur, c'
est-à-dire nous, à la
place de Manny. Maintenant, nous ne pouvons pas nous rendre exactement
à l'endroit où se trouve Manny. Je drogue simplement d'ici, introduit un
nœud de soustraction et je
soustrait simplement par 200 à l'emplacement x juste pour me
compenser un peu. Et je le branche comme lieu de
destination. Alors notez que j'appuie sur
la touche 5. Cette variable de chaîne
se lira le plus possible sortira
donc de
la sortie de Pablo. Nous allons nous téléporter près
de Manny. Dès que je relâcherai
la touche cinq, le
contenu de cette variable changera en woo, de sorte que la prochaine fois que
j'appuierai sur la touche cinq, nous
ne ferons rien parce que
rien ne vient hors
de la sortie Wu. Épinglette. Compiler et enregistrer Allons-y et jouons
ici pour tester ça. Très bien, alors vérifiez ici. Je vais appuyer sur
les cinq touches et je
serai téléporté
à peu près. Et juste pour vraiment le
prouver, laisse-moi m'envoler
loin, loin de Manny. Ok, on y va. Cinq
clés. Nous nous sommes téléportés. Je vais maintenant
relâcher la touche cinq, réglant le contenu sur Wu
maintenant pour cette variable de chaîne. Donc, la prochaine fois que j'
appuie sur la touche cinq, nous pouvons même voir qu'
elle produit Whoo. Vous pouvez voir qu'en passant la souris sur ce fil, cela montre Wu. Et rien ne se passe parce
que rien ne se passe sur
la broche de sortie Wu. Voilà pour activer
la chaîne. Enfin et surtout, un autre exemple
du nœud de commutation. nom de celui-ci va
être activé. Je vais également le
faire dans mon niveau. Blueprint a un
petit travail de préparation. J'ai quelques variables de nom dans
la section des variables. J'ai créé ces méthodes
plus tôt dans le cours. L'un d'eux est appelé niveau 11 d'entre eux est appelé niveau deux. Et quand je leur ai donné
une valeur par défaut, j'ai nommé une
carte de départ en minuscules et l'autre niveau pour entendre la valeur
minimale par défaut en majuscules Elles correspondent en fait
au nom de certaines ressources de niveau. Si je reviens à
mon navigateur de contenu , ici, dans le dossier des cartes de
contenu de base, il existe une carte par défaut minimale et une carte de démarrage. Je vais donc utiliser
ces variables pour déterminer le niveau vers
lequel nous allons transporter et
vers lequel nous
allons aller en
fonction de la sélection que nous
connectons à ce
commutateur sur NameNode. Et je
vais m' un peu différemment. Tout d'abord, je vais cliquer avec
le bouton gauche de la
souris et faire glisser chacun d'
entre eux dans mon graphique. Comme ça. Ensuite, ce que je vais
faire juste pour montrer quelque chose de différent que
nous pouvons faire ici,
c'est créer un tableau. Un tableau est une liste
de choses similaires. Ce sont toutes deux des variables nommées, nous pouvons
donc en créer
une liste. Je vais ajouter une broche pour
pouvoir me brancher au niveau deux ici. Ensuite, je vais m'y attarder un peu et je
vais m'en sortir. Nous avons maintenant un tableau
composé de deux éléments. Je vais m'en sortir et taper un élément
de tableau aléatoire et aléatoire. Et je vais
le brancher comme des sels. Ce nœud va donc
sélectionner un élément de tableau aléatoire. Nous n'avons que deux
sélections possibles ici. Il en choisira un au hasard, et il me permettra de cliquer sur
Plus et Plus sur le flux de chacun d'entre eux en
fonction de l'élément qu'il choisit. Je vais donc changer mon cas 0 ici pour qu'il corresponde au niveau 1 ici. Donc Starter Mountain va
juste appuyer Control C, activer le nom. Je vais remplacer ce contrôle V. Ensuite, pour le niveau, je passerai au niveau
Control C et j'activerai le
nom Control V. D'accord, donc si c'est la
carte de départ qui est choisie, nous allons passer au
niveau nommé cartes de départ. En fait, je vais
glisser-déposer ce niveau sur cette fonction ouverte de niveau
par nom. Et si cela choisit
parmi notre tableau, le
niveau minimum par défaut ici, je vais le
glisser-déposer ici et procéder comme ça. Très bien, alors allons-y
et compilons ça. Sauvegardez-le. Et nous allons y jouer ici. Donc, dès que j'
appuierai sur la touche 5, nous allons geler
parce que nous allons
transporter les niveaux ici. Nous avons donc fait passer
à un autre niveau en jouant une fois de plus, voir si nous pouvions faire
apparaître l'
autre ici en appuyant sur la touche 5, il y a notre niveau minimum
par défaut, et là Vous l'
avez, allumez les noms. Ces commutateurs sur les
nœuds sont donc très utiles. Personnellement, j'aime
utiliser l'interrupteur sur les nœuds pour
créer de manière chronique un système de
butin aléatoire. Vous pouvez attendre ces pourcentages de
butin, mais de nombreuses
applications utiles
que les gars feront pour proposer cette vidéo. Rendez-vous dans la prochaine.
87. Sélectionnez: Bienvenue. Dans cette vidéo, notre objectif
est d'acquérir des connaissances et de démontrer l'utilisation
du nœud select. Désormais, la note de sélection n'est pas officiellement considérée comme
un
nœud de contrôle de flux car elle n'affecte pas
le flux d'exécution. En fait, il n'y a aucune épingle
d'exécution sur cette note. Toutefois, la note de sélection facilite le flux de
données dans votre script. J'ai donc pensé qu'il valait mieux
inclure cette leçon ici. Alors, à
quoi sert exactement le nœud Select ? Eh bien, sélectionnez des notes, prenez
n'importe quel index et en fonction de cet index, il renverra
l'une des options saisies. Maintenant, c'est utile
car
vous voulez parfois que la valeur de retour ici soit différente
en fonction de la valeur saisie. Maintenant, juste un exemple très rapide. Si je change notre type d'index
ici pour qu'il soit booléen, nous voyons que nos pins d'entrée changent en vrai et en faux. Maintenant, selon que
cela est vrai, nous pourrions avoir la vraie
valeur ici, sortie. Ou si c'est faux, tout ce qui
est entré dans
le faux pourrait être produit. Vous pouvez donc voir qu'en
fonction de la valeur de cette option, nous allons choisir l'une de ces options pour
revenir, d'accord, pour intégrer l'un de ces
nœuds de sélection dans votre graphique, il suffit de
cliquer avec le bouton droit de la souris et en effectuant une recherche sur select. Ou bien, vous pouvez également ajouter une note de sélection
en un de ces types d'
index, booléen, octet,
entier, entier 64 ou toute autre énumération que vous
pourriez faire glisser hors de cette variable tapez également
la note de sélection. Maintenant, juste pour le démontrer, je vais choisir, j'ai une variable entière sur mon côté gauche ici. Je vais juste le
glisser-déposer dans mon graphique. Je devais le récupérer
, puis le faire glisser et taper select. Vous pouvez voir que je peux trouver
un nœud sélectionné à partir de là. Et cet entier est immédiatement branché sur le nœud sélectionné. Très bien, explorons rapidement certaines options de nœud ici avant
de vous montrer quelques exemples Je vais juste supprimer
ce nœud rapidement. Vous pouvez cliquer avec le bouton droit sur un nœud, le nœud lui-même, et vous pouvez voir comment y ajouter des épingles. Cliquez avec le bouton droit sur Ajouter une épingle, ou vous
pouvez supprimer l'épingle en
cliquant avec le bouton droit
sur le nœud, supprimer Supprimer l'épingle. Cliquez avec le bouton droit sur une option ou valeur
renvoyée pour
modifier les types d'épingles. heure actuelle, ils sont
définis comme des caractères génériques, ce qui signifie qu'ils peuvent être modifiés de
manière dynamique. Fais ce que j'ai branché dessus. Supposons que si vous insérez évidemment
un vecteur dans l'option 1,
cela changera toutes les autres broches
ici, l'option dans la valeur de retour pour qu'elle
soit du même type. Ou je pourrais définir un
ici en cliquant avec le bouton droit sur l'option
ou sur les pins de valeur de retour. Et ce faisant, je pourrais
changer le type de broche pour
qu'il s' agisse de l'une des différentes options. Cliquez avec le bouton droit sur Modifier le Et je pourrais changer cela
pour, disons, des transformations. Je peux également modifier
le type d'index ici en cliquant
sur ce menu déroulant. Et je ne sais pas pourquoi
ça se voit ici. Une fois
que j'ai cliqué sur ce booléen, octet ,
entier, entier 64
ou l'une des différentes énumérations. Ou je peux simplement cliquer avec le bouton droit
sur l'épingle elle-même et modifier le type d'épingle avec le petit
menu déroulant. Mais vous
avez déjà ce menu déroulant, donc je ne trouve pas cette option
très utile. Et puis, bien sûr, vous pouvez voir sur la note elle-même que vous avez la possibilité d'ajouter des épingles simplement en
cliquant sur ce bouton plus. C'est donc une autre façon d'
ajouter d'autres épingles d'option. Très bien, heure des exemples,
je vais présenter
plusieurs exemples de nœuds sélectionnés
ici dans mon Level Blueprint. Donc, si vous voulez
jouer le jeu à la maison, en sélectionnant votre
onglet de niveau ici, en
ouvrant Level Blueprint, c'est ainsi
que vous
pouvez vous y retrouver ici. Et je vais
commencer par cliquer avec le bouton droit et taper unions select. Maintenant, le premier exemple que
je veux montrer est
l'utilisation d'un index booléen. Je vais donc cliquer sur ce menu déroulant et
sélectionner un index booléen. Maintenant, remarquez qu'au
moment où je fais cela et que je sélectionne un booléen
,
mes options ici vont changer pour qu'elles soient fausses et vraies, car un booléen
ne peut être que faux ou vrai. Je vais faire glisser la souris vers l'arrière
depuis mon index ici et je vais
taper un bool aléatoire. Ce nœud
va donc simplement cracher aléatoirement la
valeur false ou true, selon la
valeur qu'il recrache. Disons, par exemple, qu'il crache du faux. Il choisira cette entrée, la fausse entrée ici, à renvoyer. S'il crache vrai, il choisira la
vraie entrée à renvoyer. C'est ainsi que cela fonctionne. Très bien, introduisons immédiatement
un nœud d'événement. Je vais taper avec le bouton droit de
la souris sur les cinq touches du clavier. Et nous allons
sortir de cela et saisir niveau
ouvert par son nom. Cette fonction va maintenant
ouvrir un niveau par son nom. Il recherche
une variable de nom. Jetez un œil à cela. Sur le côté gauche. J'ai le niveau 1
et le niveau 2. Il s'agit de deux variables nommées. C'est le type que j'ai créé plus tôt dans le cours. Et après avoir compilé, j'ai défini les valeurs des noms ici pour qu'elles soient
la carte de départ du niveau 1. Niveau deux, je définis le type de variable de nom ici
comme étant minimal par défaut. Maintenant, ce n'est pas une erreur. Je les nomme ainsi
parce qu' ici, dans mon navigateur de contenu, dans le dossier des cartes de
contenu de démarrage, il y a deux niveaux, deux cartes que nous
pouvons ouvrir, appelées valeurs
minimales par défaut et étoile carte. Vous remarquerez que la structure
de toutes les lettres ici, la valeur
minimale par défaut et
la carte de départ, est un peu différente de ce que vous
voyez dans les noms de variables. Ici, tout est en majuscules, et voici tout en minuscules
pour les variables de nom. Peu importe. D'accord ? Donc je vais brancher le niveau
1 sur la fausse entrée, niveau 2 sur la vraie entrée. Et en fait, avant de
le mettre
là-dedans, notez ceci, dès que j'ai branché un type variable de ces
entrées ici, ou laissez-moi simplement couper ce fil. Je vais maintenir la touche Alt
enfoncée et cliquer avec le bouton gauche. Ou si je branche quelque chose dans la valeur de retour
dans cette direction, cela changera les
deux côtés
du nœud pour obtenir le type de variable
correspondant. Il sait donc que notre valeur de retour souhaitée
ici est du nom. Donc, il va dire, d'accord, vous recherchez un type de variable de
nom, ce qui signifie que vous devez
brancher certaines variables nommées. Donc niveau un, niveau deux ici. Donc, une fois que j'ai appuyé sur la touche cinq, elle s'ouvrira à un certain niveau fonction de la variable name, nous y
connecterons quelle variable de nom
finira par passer ici ? Eh bien, cela sera
déterminé par cette note sélective. La note sélectionnée va
prendre n'importe quel taureau au hasard. C'est cracher du faux. Il va choisir, sélectionner le
niveau 1 ici, la carte de départ, et renvoyer ce niveau au niveau
que nous avons ouvert. Si ce bool aléatoire
crache vrai, il va choisir, sélectionner la vraie valeur ici, branchée par défaut minimum, et passer cette valeur comme niveau pour ouvrir
la compilation, la sauvegarde, la lecture. J'ai déjà configuré ma
carte de test pour que nous puissions voir
ce groupe tirer. Donc, quand j'appuie sur la touche
5, c'est parti. Cela m'a permis d'atteindre mon niveau
minimal par défaut. Dans ce cas, il affiche l'option true car au hasard, bool doit
avoir craché vrai. Je sais que c'était le niveau
minimal par défaut. Très bien, dans l'exemple suivant,
je vais commencer par placer une boîte de déclenchement
ici dans mon niveau. Et vous pouvez en trouver un en
cliquant
ici sous la section de base,
Trigger box, puis en le glissant
et en le déposant ici. Ainsi, dans votre niveau, vous pouvez définir l'étendue de votre
boîte sur une
épaisseur de ligne de 100 à 100 à 100. Et aussi, je recommande également le
faire pour que vous puissiez également
le voir dans votre niveau. Et vous pouvez le faire
en accédant à
la section de rendu et décochant l'acteur caché dans le jeu. Très bien, avec cela sélectionné
ici dans notre plan de niveau, je vais cliquer avec le bouton droit de la souris
et nous allons faire quelque chose lorsque nous les chevauchons,
parce que nous faisons beaucoup
de choses en termes de gains lorsque nous chevauchons
un volume de déclenchement. Ce que
nous allons faire, c'est sortir de notre autre acteur et nous allons passer à ThirdPersonCharacter. Ce sont les personnages
que nous contrôlons. Et s'il est vrai que l'
autre acteur qui chevauchait cette boîte de déclenchement était le personnage à la
troisième personne. Nous allons créer quelque chose, faire naître un acteur de la classe. Et nous allons le
brancher comme ça. Maintenant, ce que nous
allons générer va être piloté par un index entier. Donc, ce que je vais faire, c'est
faire glisser et déposer un entier
dans mon graphique
ici même dans une
variable entière, comme ça, vous pouvez créer l'un
d'entre eux en cliquant sur le bouton plus et en ajoutant
un variable entière. Je vais le chercher. Ensuite, je vais
sortir d'ici et je vais taper select. Parce que je le fais glisser
hors de la variable entière. Il sait que je veux l'
entrer comme index. Maintenant, je veux choisir
quelque chose à apparaître dans mon niveau en fonction de
l'entier que j'ai saisi. Je vais donc
procéder comme suit pour m'assurer avoir les bonnes classes
à choisir. Si je fais simplement glisser le curseur vers
l'arrière depuis l'acteur de la classe, savais comme ça,
et que je le branche dans
la valeur de retour. Cela
va automatiquement changer mes broches d'entrée pour qu'elles soient
du même type. On y va. Très bien, alors laissez-moi
ajouter une troisième épingle ici. Et maintenant, je peux sélectionner les
différentes classes dans lesquelles
nous voulons apparaître. Je vais juste en choisir
quelques-unes au hasard. J'ai un homme,
une potion que j'ai créée tout à l'heure. Nous pouvons créer un effet de plan de
feu. Le feu n'a pas vraiment d'importance
ce que vous y placez,
et il produit aussi des étincelles. Ce sont des exemples
courants que j'aime bien. Très bien, maintenant mon entier
ici, s'il est égal à 0, si c'est l'entier
que nous lui donnons, il choisira l'option 0
pour apparaître dans le jeu. Si je change cette valeur
entière à un, il choisira cette option pour revenir et apparaître
dans le jeu. Si un entier est égal à deux, il choisira ces étincelles à renvoyer et
les fera apparaître dans le jeu. Maintenant, je dois
nous donner une transformation d'apparition, parce que si je compile ici, elle va me crier dessus
et me dire : « Hé, idiot, j'ai besoin de savoir
où apparaître. Je vais donc revenir à mon niveau. Je vais apporter, introduisons un objectif de points. Je vais cliquer
ici. Je vais faire apparaître
le panneau des acteurs et taper des cibles. Points cibles. Placez-en un
juste là. cette option
étant sélectionnée dans mon plan de niveau, fois, cette option
étant sélectionnée dans mon plan de niveau,
je vais
cliquer avec le bouton droit de la souris. Créez une référence à cela, vous en sortirez et tapez get trans form good actor transform. Et je sais que pour le moment, un
entier est une valeur de 0. Je vais donc
compiler ici. Nous devrions donc créer une
potion d'une manière. Alors allons-y et jouons ici. Réduisez cela. Donc, dès que je chevauche
ce volume de déclenchement, il devrait sélectionner le
nombre entier 0 ici pour qu' une potion apparaisse dans le jeu à l'emplacement
de ce point cible. On y va. Et c'est ce qu'il a fait. Maintenant, ce n'est pas très intéressant parce que
nous savions que serait notre
résultat parce que nous
avons défini notre
valeur entière ici à 0. Donc, ce que je pourrais faire
est de le supprimer, glisser vers l'arrière hors de
notre index et de taper un entier
aléatoire dans la plage. Et je peux dire : « Hé, choisis
quelque chose entre 02, compile, sauvegarde en jeu ». On y va. J'ai rencontré une potion. Si je continue à me chevaucher parce que
je ne le fais pas une seule fois. Je finirai par les avoir tous. On y va. Vous pouvez donc voir
comment il choisit une option différente
ici en
fonction du nombre aléatoire
que nous lui donnons. Très bien, un dernier exemple
pour celui-ci, je vais utiliser mon personnage à la
troisième personne de BP. Donc, si cela ne vous
dérange pas double-cliquer
dessus pour l'ouvrir, je vais
montrer comment utiliser un nœud de sélection avec
un e num dans l'énumération. Nous avons maintenant créé cette énumération
plus tôt dans le cours. Donc, si vous voulez savoir à quoi ressemble
une énumération, je passe dans mon dossier
de scripts Blueprints. Et ici, j'ai le statut eHealth de l'
énumération et vous pouvez cliquer avec le bouton droit de la souris et
un espace vide se
trouve sous Blueprints pour créer
un actif d'énumération. Dans cette énumération de l'
état de santé, qui est une liste d'
étiquettes, si vous voulez. Je vais très bien
et je me suis gravement blessée. Ensuite, à l'intérieur de mon personnage à la
troisième personne, j'ai créé une variable, et j'ai défini le
type de variable pour
qu'il pointe vers l'énumération que j'ai
créée, l'état de santé en ligne. Je vais le
glisser-déposer dans mon graphique. Nous allons y parvenir et
je vais faire glisser la souris hors de cela et taper select. Nous pouvons donc voir
immédiatement parce que notre énumération
ici se compose de ces trois
étiquettes qui font très mal, d'
accord, en super, nous les voyons comme nos trois
entrées ici. Maintenant, que voulons-nous
faire selon que cet indice est
gravement endommagé, d'accord ou super ? Eh bien, ce que je veux faire, c'est récupérer composant mobile de
mon personnage, le
glisser-déposer. Et je vais le faire, faisons autre chose ici. Vous m'avez déjà vu ajuster ma vitesse de marche
maximale. Je vais régler la vélocité de mon
saut. Désormais, la vitesse Z du saut est un paramètre intégré au composant de mouvement de votre
personnage. Voilà, cela détermine la
hauteur à laquelle votre personnage peut sauter. Je vais donc reculer. Les bureaux ont bondi. s'agit d'une variable flottante
qu'elle
recherche et
insérez-la dans la valeur de retour. Maintenant, dès que je fais
cela, toutes
les entrées ici vont également
devenir une valeur flottante. Maintenant, je pourrais
insérer quelques variables pour déterminer ces
valeurs ici. Je vais juste
les mettre ici. Donc je vais dire que si
je surpasse mes sauts, la vélocité sera
de 2 000. Si c'est le cas, d'accord, je vais le régler à 700, qui est la valeur par défaut
pour les sauts, la vélocité. Et si je suis gravement blessé,
je dirais qu'on
ne peut sauter que jusqu'à 100. Je vais avoir besoin d'
une sorte de clé de saisie ici. Alors laissez-moi cliquer avec le bouton droit C'est un espace vide. Je vais introduire la touche
cinq ici parce que je ne l'utilise plus
dans mon Level Blueprint. Je l'ai supprimé de là. Ainsi, lorsque j'appuie sur la touche 5, nous allons définir les mouvements de notre
personnage. Sautez une propriété de vélocité, cette propriété juste là. Ce sera réglé aux années 2000 si on lui dit que
notre état
de santé est super. S'il est réglé sur OK, nous allons bondir de 700 points. Et si nous sommes gravement blessés, cela risque de nous faire très mal. Nous allons
sauter très peu. D'accord, donc pour l'instant, la
valeur de tout cela est gravement diminuée, donc je devrais à peine sauter la barre. Alors compilez, enregistrez, jouez. Permettez-moi de définir mon objet de débogage sur ThirdPersonCharacter ici afin que nous puissions voir le
script démarrer. Donc en ce moment je suis gravement blessé. Ainsi, lorsque j'appuie sur la barre d'espace, je ne saute pas trop loin. Mais en fait, ce sont
mes sauts habituels. Désolée, je dois d'abord appuyer sur
la touche 5. Maintenant, quand je saute, je me relève
à peine du sol. Permettez-moi de régler mon
état de santé ici pour qu'il soit super compilé,
sauvegardé , joué, et maintenant j'
appuie sur la barre d'espace, c'est mon
saut normal, en appuyant sur cinq. Je suis donc en train de régler ma vitesse
de
saut sur 2000 parce que
le, le résultat est super. Alors maintenant, quand j'appuie sur la
barre d'espace, je suis heureuse. Il existe donc un exemple d'utilisation
du nœud select à l'aide d'une énumération. Très bien, alors quelles sont les autres utilisations
possibles
du nœud select ? Considérez-les,
peut-être en fonction l'état de santé du joueur et vous pouvez ajouter différentes
animations au joueur. Ils peuvent boiter, par exemple, peut-être qu'en fonction de leur humeur, enums, de la joie,
de la tristesse, etc., vous pourriez modifier le morceau de
musique qu'ils jouent. Voici un autre exemple. Peut-être qu'en fonction de l'énumération des armes
équipées, vous pourriez exposer
différentes armes leur étui sur le personnage. Enfin, peut-être
en fonction d'un entier clé, vous pouvez afficher x maillages
clés suspendus à la
cloche du joueur. Donc, si vous aviez un entier
qui disait trois, vous pourriez lui afficher trois touches accrochées à
la ceinture du joueur. Si cet entier est indexé à un, vous pourriez avoir une touche accrochée à la
ceinture du joueur, ce genre de choses. Très bien les gars, est-ce que
Select Node est
l'un des nœuds
les plus utiles de tous les scripts ? Sachez quel amour cela
fera d'offrir celui-ci. Rendez-vous dans la prochaine.
88. Casting: Très bien, bienvenue à tous. Eh bien, nous avons atteint
une partie très importante du cours où
nous allons
parler des différentes manières communiquer
entre les plans. Et nous allons parler casting spécifiquement
dans celui-ci. Jusqu'à présent
dans le cours, vous m'avez vu
faire beaucoup de casting. Tout le concept du casting
consiste essentiellement à
vérifier interaction se produit : si un objet donné est du
type que vous recherchez, ce soit le cas ou non, vous pouvez créer un peu
de script tirer. Maintenant, vous m'avez vu faire beaucoup de casting jusqu'à présent
dans le cours, y compris notre exemple de pick-up de bp que nous avons créé au tout
début du cours. Et maintenant, juste pour passer à
l'intérieur de ce plan, nous avons fait en sorte que lorsque
vous commencez à superposer la sphère de collision pour cet exemple de pick-up BP, vous
trouverez cette sphère de collision juste ici. Nous faisons ce truc appelé casting pour vérifier si
c'est le
ThirdPersonCharacter qui est l'autre acteur qui
a fait le chevauchement. Donc, encore une fois, le casting nous
permet de vérifier si un objet donné est
du type que nous
recherchons. Ce faisant. Dans ce cas, nous avons pu
accéder à l'intérieur de notre
ThirdPersonCharacter, récupérer la variable de santé
qui s'y trouvait, y
ajouter une certaine quantité, puis redéfinir cette variable de
santé. Nous communiquons depuis
notre exemple de capture d'exemple BP ici vers notre
ThirdPersonCharacter, augmentant ainsi la santé de
notre ThirdPersonCharacter. Vous pouvez donc constater que la
communication entre les plans est un
concept très critique à suivre. Très bien, vous m'avez déjà vu Cast to ThirdPersonCharacter
ici un million de fois dans ce cours. Je vais donc
faire quelque chose d'un peu différent
pour notre exemple. Revenons à
notre éditeur de niveaux ici. Et puis dans ma section
Blueprints de script, je vais cliquer avec le bouton droit de la souris
et laisser de l'espace vide. Et je vais choisir
une classe de scène, et je choisirai
la classe d'acteur. Et je vais appeler
cela le trait de soulignement BP. Déplacez-vous à proximité. Et vous verrez pourquoi je l'
ai nommé ainsi dans un instant. Je vais double-cliquer
sur ce type pour l'ouvrir. Et je vais ajouter
pour nos composants en haut à gauche ici,
nous allons ajouter un simple cône
sous les formes de base. Et nous allons également
ajouter un autre composant. Et celui-ci va être
appelé stagiaire pour déménager. Maintenant, c'est un
composant vraiment cool qui nous permet déplacer notre plan ici entre les
points que nous avons configurés. Maintenant, je vais juste le
laisser à ce nom dans le mouvement
Too et
appuyer sur Entrée dessus. fois cette option sélectionnée,
je vais me rendre dans le panneau Détails pour
configurer certains points entre lesquels
je vais déplacer ce cône. Maintenant, je peux le configurer dans notre section de contrôle ici. Et si je clique sur
ce bouton plus une ou deux fois et que je développe
ces flèches, je peux choisir certains points je peux choisir certains points de
l'espace entre lesquels je souhaite
déplacer ce cône. Je vais laisser le
premier à 000 et le second. Ces positions sont
relatives les unes aux autres. Je vais juste le mettre
à 50 dans le z. Maintenant, en bas,
un peu plus bas dans la section sur le
comportement, nous pouvons choisir un type de comportement, s'il se déplace simplement d' un
point a à un point B,
c'est un seul coup. Que je
fasse une réinitialisation en boucle, je vais choisir le
ping-pong ici. Il va donc
faire des allers-retours, allers-retours entre
ces deux points. La durée de Mi ici est d'une seconde, donc il va
falloir autant
de temps pour se déplacer entre
ces deux points. Ensuite, je vais
compiler ceci. Nous allons enregistrer ceci et
passer
à mon ThirdPersonCharacter
Blueprint. Maintenant, si vous avez oublié
où cela se trouve, plans à la
troisième personne, double-cliquez sur votre personnage à la
troisième personne. Plus tôt dans le cours, nous avons ajouté cette main simulée, qui n'est essentiellement qu'
une collision de sphères. Si vous avez ce cours génial, si vous n'avez pas suivi ce cours et
que vous ne l'avez pas créé, vous pouvez le créer maintenant. Maintenant, je l'ai attaché
aux composants de ma capsule. Donc, si vous ne l'avez pas, vous pouvez sélectionner votre composant
Capsule, ajouter du type dans la sphère, et vous pouvez ajouter un composant de
collision de sphères. Voilà ce que c'est. Maintenant, j'ai réglé mon
rayon ici à 32. Je pense que je vais juste le présenter un peu
plus à mon personnage, quelque chose comme ça. Et je vais
augmenter un
peu la taille ici pour en faire 50. Et j'ai appelé cette main simulée parce que je vais
vérifier si quelque chose chevauche
cette sphère dans l'espace. Bien, une fois tout cela fait, nous allons
passer à notre graphique des événements. Et avec notre composant simulated
hand here, nous allons
cliquer avec le bouton droit sur nous. Nous allons ajouter un événement
et faire quelque chose. Nous commençons à
nous chevaucher si nous
avons déjà quelque chose sur commencer à chevaucher parce que je ne le
vois pas dans notre liste ici. Donc, la façon dont nous pouvons le
trouver est d'utiliser une simulation sélectionnée
à la main ici. Dans la
section des événements, nous pouvons accéder à un composant qui commence à se chevaucher. Nous pouvons voir où cela se trouve. Et vous pouvez voir que c'
est l'exemple que nous avons
configuré dans notre vidéo de
bibliothèque de fonctions. Je vais juste supprimer
ces nœuds pour le
moment afin que nous puissions utiliser
notre main simulée. Encore une fois, je vais également supprimer
cette zone de commentaires. Mets-le en position. On y va. Très bien, maintenant le scénario que j'
ai en tête
est que je vais sortir
de mon autre épingle d'
acteur juste ici. Et maintenant, je peux faire des moulages pour me
rapprocher du plan
que je viens de créer. Donc ce que nous voulons dire ici, c'est que si l'autre acteur qui chevauche
notre main simulée ici, cette sphère entre en collision
juste là. Si cet autre acteur
était en train
de se rapprocher d'un modèle que je suis sur le point de placer dans mon niveau ici. Permettez-moi de poursuivre et de revenir
à mon dossier Blueprints. Déplace-toi quand tu seras proche, je
vais juste le traîner ici. Bon, alors voilà,
ce n'est pas mon niveau. Pour en revenir à mon
ThirdPersonCharacter, si ce plan était des autres acteurs qui chevauchent ma main simulée,
je peux faire quelque chose. Si ce n'était pas la chose qui
chevauche ma main simulée, je pourrais faire autre chose, mais ce que je veux faire, c'est atteindre l'intérieur de ma tension artérielle, en la rapprochant. Cela nous donnera accès
à divers composants et propriétés à l'intérieur de mon
BP déplacés vers des fonctions proches, des variables, ce genre de choses. Je vais d'abord cliquer
dessus avec le bouton droit de la souris. Je vais la promouvoir en variable parce que je vais utiliser cette
variable juste un petit peu. Promouvons donc
cela en variable. Nous pouvons le laisser à
ce nom juste là. Ensuite, nous
sortirons d'ici et accéderons à notre interp, deux composants de
mouvements. Rappelez-vous que lorsque notre
pression artérielle s'est rapprochée, nous avions ce composant appelé
interpréter le mouvement. Maintenant, à l'intérieur de ce composant juste ici, dans
le panneau Détails, je vais taper
le mot active. Et vous pouvez voir que c'est une réunion activée
automatiquement. Cela se déplacerait entre les deux points que nous avions définis. Maintenant, je vais le désactiver
pour le moment afin
qu'il
ne se déplace pas entre les deux
points que j'avais configurés. Il ne sera pas
activé automatiquement. Compilons et
enregistrons ceci une fois de plus, revenant à mon
ThirdPersonCharacter, nous dirons qu'une fois que notre main simulée sera chevauchée par notre passage à un plan proche, nous allons enregistrez-le
dans sa propre variable. Ensuite, nous allons y
saisir la composante de mouvement interp2. Ensuite, nous allons faire
glisser le curseur hors de celui-ci et taper le mot « active ». Vase, non actif, active. Et c'est là
que nous disons à cette
composante du mouvement d'interprétation qui se trouve à l'intérieur de ce plan directeur de devenir
active, d'activer. Maintenant, la raison pour laquelle je
l'ai enregistré dans sa propre variable est que je vais
maintenant glisser-déposer cette référence
ici même dans mon graphique. Et nous allons sortir de ce type au fur et à mesure du mouvement. Nous allons l'avoir une fois de plus. Et je vais glisser dessus
et taper D active. Éteins ça. Je vais juste l'
éteindre avec une clé. Laisse-moi taper. Essayons la touche 0. Ainsi, lorsque les composants de notre
main simulés se chevauchaient, BP
s'est
rapprochée du plan dans son niveau. Nous l'enregistrons dans
sa propre variable, une référence à ce type. Nous allons en saisir l'intérieur et
parler
à notre
composant de mouvement interp2 juste là. Nous allons dire à ce mouvement
d'interprétation de devenir actif afin qu'il se déplace
entre ces deux points. Ensuite, de retour dans mon
ThirdPersonCharacter Blueprint, lorsque j'appuie sur la touche fléchée, je désactive
ces mouvements. D'accord, avec ça,
compilons-le et enregistrons. Laisse-moi déplacer ça
en haut à gauche. Je vais entrer et jouer. Définissez notre objet de débogage sur notre personnage à
la troisième personne. Et vous pouvez
y voir notre document
simulé et il pivote avec
mon personnage car il est attaché à la capsule de mon
personnage. Et je vais essayer de l'obtenir
d'un angle latéral que vous puissiez voir
qu'il ne bouge pas du tout. Cependant, une fois que je
superpose cela avec ma main simulée, elle se déplace en fait de
haut en bas, de haut en bas. Maintenant, quand j'appuie sur le 0, laisse-moi m'en éloigner
et appuyer sur la touche fléchée. Il s'arrête, il désactive
ce composant. Maintenant, si je le superpose à nouveau, il ne l'active pas
à nouveau pour une raison quelconque. Je n'en connais pas la
raison. Je ne sais pas s'il s'agit d'un bogue
moteur ou non. Mais vous pouvez voir qu'il essaie de activer
ici dans mon script. Une fois que vous l'avez désactivé pour une raison
quelconque, il le
maintient actif. Mais le point est bien entendu ici qu'en lançant sur
notre base déplacée trop près, nous nous assurions que c'était cet acteur qui simulait la
main s'était chevauché. Ce faisant, nous avons
pu suivre
ce script à partir de
ce plan d'exécution. Maintenant, si cela avait échoué, si ce n'était pas l'autre acteur
qui chevauchait cette main simulée, encore
une fois, nous aurions pu
faire quelque chose que notre casting a échoué. Et voilà, le
casting des gars
vous permet essentiellement de vérifier certaines
interactions en cours. Si un objet donné est du
type que vous recherchez, c'est une
excellente méthode pour stocker partie donnée
de l'objet
dans sa propre variable et
pour pouvoir y accéder une fois que vous y avez
accédé pour accéder à toutes les variables, fonctions appellent tous les événements
personnalisés, genre de choses
que vous souhaitez faire pour communiquer d'
un plan à l'autre. Ça suffira
pour cette vidéo, les
gars, on se voit dans la prochaine.
89. Communication directe (partie 1): Bienvenue. communication des plans a été au centre de cette
section du cours. Et dans la dernière vidéo,
nous nous sommes concentrés sur le casting. Et c'est l'une des
méthodes que vous pouvez utiliser pour qu'un plan
communique avec un autre. Maintenant, le casting est une technique de
communication
pratique et merveilleuse dans technique de
communication
pratique et merveilleuse dans , si votre casting réussit, vous pouvez capturer une référence à ce que
vous vous avez lancé, mesure où, si votre casting réussit,
vous pouvez capturer une référence
à ce que
vous vous avez lancé, et cela
permet vous pouvez accéder à l'intérieur de
ce que
vous avez créé et accéder à tous les composants, variables, fonctions, appeler à tous
les événements clients, etc. Cependant, il présente
un point faible. faiblesse est que vous
devez connecter quelque chose à cette
entrée d'objet afin d'obtenir une référence à l'objet auquel
vous souhaitez obtenir une référence ou d'accéder
à l'un des composants, variables, et cetera,
auxquelles vous espérez
accéder si vous ne branchez rien dans cette référence d'
objet, laissez-moi commencer et tuer ça ici dans mon Level
Blueprint et je compile, cela va me donner un
avertissement disant, je ne peux pas le faire, vous devez avoir quelque chose
branché sur cette référence d'objet. Y a-t-il donc un autre moyen de communiquer d'un
plan à l'autre ? Oui, il y en a une. Il existe une méthode appelée communication
directe. Dans cette vidéo, notre objectif est donc de
montrer comment deux Blueprints peuvent
communiquer eux
grâce
à une technique connue sous le nom de communication directe par
plan. Maintenant, avec cette approche, vous configurez un plan cible
qui est référencé en réponse au script que vous avez configuré dans un plan
fonctionnel. Maintenant, nous allons vous montrer ce que
je veux dire en mettant en place deux plans de
classe d'acteur différents. Nous allons avoir
un voyant et un bouton de plan. Et nous allons parler l'
un à l'autre en utilisant cette méthode. Je viens parler de
communication directe. Retournez à votre éditeur de niveaux ici et, dans votre dossier de
scripts, créons deux nouveaux plans de classe d'
acteur. Cliquez avec le bouton droit de la souris sur Blueprint
Class I pour créer
l'un
des acteurs, qui
s'appellera BP underscore lights. Et à l'intérieur, je
vais double-cliquer dessus
pour l'ouvrir. Et je vais ajouter
quelques éléments. Nous allons ajouter un cône. Je vais taper un cône, un cône de forme basique. Ça, c'est très bien. Ensuite, je vais
en ajouter un autre. Sous la section lumineuse. Je vais juste taper de la lumière. Je voudrais ajouter un projecteur. Et je vais devoir régler certains paramètres
pour chacun d'entre eux, commençant par nos
lumières Spotlight, nous allons régler notre intensité pour qu'elle soit assez, assez lumineuse. Ainsi, avec la lumière
sélectionnée,
le projecteur règle l'intensité
sur environ 100 000. Vous pouvez définir une couleur de
lumière différente ici, mais je vais la régler
à 100 000 maintenant. Je vais aussi l'
avoir face vers le bas. Donc ça a fait pivoter ça vers
le bas comme ça. Ça va faire l'affaire. Et aussi dans la section de
rendu où il est dit visible, je vais cocher ou décocher
cette option pour qu'elle ne
soit pas visible. Ok, donc tu as un
cône et les projecteurs. C'est génial Très bien, retournez à
votre navigateur de contenu. Nous allons à
nouveau cliquer avec le bouton droit sur Blueprint Class actor. Cela ne s'appellera pas
BP underscore. Bouton Double-cliquez sur ce
type pour l'ouvrir. Et à l'intérieur, nous allons
ajouter quelques composants. Ajoutez, nous allons ajouter un cylindre
pour démarrer le cylindre de formes de base. La prochaine chose que nous allons
ajouter sera une collision de boîtes. Je vais donc sélectionner
ma racine de scène par défaut. Il n'est pas nécessaire de l'attacher à mon cylindre ici et
ce n'est pas grave s'ils sont tous attachés à mes itinéraires vus
par défaut. Je vais donc cliquer
ici et taper dans la case. Nous allons opter pour
Box Collision. Box est un beau nom. Ensuite, je vais sélectionner à nouveau
mon itinéraire vu par défaut. Et je vais ajouter un composant de rendu de
texte. OK, avec chacun d'eux, je vais définir leurs
détails un par un. Commençons par
le cylindre. Donc, en sélectionnant votre cylindre
dans le panneau Détails, je vais régler ma rotation dans le x pour qu'elle soit U1. En appuyant sur la touche Entrée négative 90
dans le y et le z, je vais régler cela sur 180. J'ai découvert tous ces
chiffres à l'avance. Ensuite, pour l'échelle,
je vais la régler
à 0,4,4 et 0,05, quelque chose de fin comme ça. Ce sera donc notre bouton avec lequel nous allons interagir entre
guillemets afin de faire en sorte que notre lumière, dans notre plan d'
éclairage, s'illumine pour l'allumer, allumer et l'éteindre. Ensuite, nous allons sélectionner notre
composant de collision de boîtes ici. Je vais définir l'emplacement, l'emplacement x sur 100. Et nous allons définir l'étendue de la
boîte à cent, cinq, cinquante par 100. Quelque chose qui s'étend
un peu comme ça. D'accord, puis je
vais sélectionner mon composant de rendu de textes. Vous pouvez le voir juste montrant quelques textes juste là. Sur cette base, je vais
changer de lieu. Nous allons définir l'
emplacement sur 20 dans le x et cent cent dix plutôt sur le z,
juste au-dessus, juste là. Et je vais changer le texte
pour le lire ici. Au lieu de textos, nous
allons dire « Appuyez sur
I » pour blesser le point d'
exclamation de l'acte. Et il n'est pas centré au-dessus de mon bouton,
là, ce cylindre. Donc, là où il est dit alignement
horizontal, nous pouvons le modifier
de gauche justifié au centre, juste pour que cela soit
un peu plus beau. Et puis, dans la section de
rendu, je vais
actuellement le rendre invisible afin que nous ne puissions pas le
voir au départ. Très bien, nous
allons maintenant créer quelques variables ici dans
le panneau Mon plan. Cliquez donc sur le bouton plus situé dans
l'en-tête des variables ici. La première que nous allons
créer s' appellera simplement lumière. Et pour le type, nous allons
rechercher des lampes BP. C'est le plan
que nous venons de créer. Alors, sélectionnez les types d'objets, lumière
BP, choisissez une référence d'
objet. Et ce que nous allons faire,
c'est dans le panneau Détails, nous allons cocher cette case. Il indique que l'instance est modifiable. Remarquez que lorsque je fais
cela, cela aura
le même effet que cliquer sur cette petite icône de globe oculaire
fermé. Donc, si je clique ici, l'icône du globe oculaire sera allumée. À l'inverse, si je
clique ici et que je désactive cette option,
cela le désactive. s'agit essentiellement de
deux manières différentes Il s'agit essentiellement de
deux manières différentes
de le configurer pour qu'il soit modifiable
par instance, peu
importe que vous cliquiez ici ou que vous
cliquiez sur ce globe oculaire. Les deux
font essentiellement la même chose. C'est en train de l'activer. Maintenant, ça va être génial
car cela va
exposer cette
variable particulière dans l'éditeur. Vous allez le voir dans un
instant. Maintenant, je vais compiler ici parce qu'il
me demande de le compiler, pour lui donner une valeur par défaut. Mais remarquez ceci, je suis en train de compiler. Je vais laisser ce
champ vide pour le moment. Nous allons le renseigner à
nouveau dans nos éditeurs de niveaux. Donc, laissez ce champ vide
pour le moment. Très bien, nous allons
créer une variable supplémentaire ici, en cliquant sur le bouton plus. Je vais appeler ça peut allumer des
lumières, un point d'interrogation. Et ce serait, ce
sera une variable booléenne. Si je compile ici, je vais laisser la valeur
par défaut est false. Vous allez donc voir ce type en action ici
dans un petit moment. Maintenant, comme je
l'ai mentionné au début de cette vidéo, Direct Blueprint
Communication développe un plan cible et
un plan de travail. Le plan cible sera donc notre lampe BP. C'est celui que nous
allons cibler. Notre bouton BP ici, va être
notre plan de travail. Donc, dans notre plan de
travail, nous allons faire référence, créer une référence à notre lampe BP
afin de lui parler,
afin de travailler avec elle.
90. Communication directe (partie 2): Très bien, il
est temps de
reconfigurer un peu notre éditeur de niveaux. Et cela peut être
utile si vous avez une
sorte de surface murale, mais que vous n'en avez pas vraiment besoin. Je vais donc les ranger
tous les deux. Et notre amour, je vais
commencer par faire
glisser et déposer notre bouton BP . Et vous n'avez pas besoin d'être
très précis avec ça. Cependant, je vais le
faire tourner comme ça. Vous voulez que la majorité de vos volumes de déclenchement
se situent dans cette direction. Au fait, je l'ai à nouveau placé le long du mur, je ne vais pas être
très précis avec ce placement pour
le moment. Ensuite, je vais
placer notre lumière là-bas. Voici ma lampe BP dans toute
sa splendeur. Ça va
ressembler à ça. C'est suffisant. Maintenant, si je sélectionne mon bouton B P, vérifiez-le
dans le panneau Détails. Si je fais défiler la page jusqu'en haut, j'ai ma lumière variable. Revoyons cela encore une fois, mon bouton BP, c'est ma variable de lumière qui fait référence au type de variable de lumière BP. Il est actuellement réglé sur zéro. Donc, ici, dans mon éditeur, je peux le configurer pour
référencer directement ce plan. Je veux dire, hé, je veux cette variable B
du type de lampes BP. Mais je dois préciser à quelle instance de cette
lumière je veux
parler , car je peux avoir plusieurs instances de
ces lumières ici. Et en fait, permettez-moi de présenter plusieurs exemples de
cette lumière ici. Je maintiens simplement la
touche Alt enfoncée et je la fais glisser. Maintenant que mon bouton est
sélectionné ici, je vais cliquer sur
cette petite icône
en forme de goutte dans le panneau Détails. Je pourrais cliquer sur
ce menu déroulant pour choisir l'un de ces quatre. Cependant, je
veux juste le montrer souvent. Si je choisis cette icône en forme de pipette, je peux passer
à ma fenêtre d'affichage et sélectionner
directement
les lumières données. Maintenant, remarquez
que si je le mets
en évidence, ce n'est pas le type de variable
donné, cela indiquera que vous ne
pouvez pas le sélectionner. Cependant, la lumière BP est
de ce type variable, elle nous permet
donc
de choisir celle-ci. Cela m'a donc
permis de le mettre dedans. Revenons ensuite à
notre bouton BP. À l'intérieur, nous
allons tout de suite passer à l'Event
Graph. On va faire des choses en
superposant cette boîte. Revenez donc au graphique
des événements. Je vais cliquer avec le bouton gauche de la souris, les faire glisser, les
supprimer immédiatement. Avec ma boîte sélectionnée. Je peux soit cliquer
dessus avec le bouton droit de la souris pour trouver des événements, soit avec
F-box sélectionnée, je pourrais descendre
jusqu' en bas
du panneau Détails. Voici mes différents
événements qui s'y rattachent. Je veux faire quelque chose lorsque
je commence à superposer cela, ainsi que lorsque je commence à le
chevaucher. Je vais donc cliquer ici pour
ajouter une référence à
cela tout de suite. En cliquant de nouveau sur le composant de
ma boîte, je ferai quelque chose quand je
finirai par le chevaucher également. Alors, que voulons-nous faire lorsque nous
commencerons à superposer cette boîte, cette boîte ici même ? Eh bien, nous voulons tout d'abord
vérifier si c'est le ThirdPersonCharacter qui
a fait le chevauchement. Donc je vais faire traîner l'
autre acteur qui
annulera ici
ThirdPersonCharacter. Et quand nous le ferons, nous ajouterons
notre lampe à bascule Ken. Et si vous glissez et déposez
ce pointeur directement sur cette épingle, vous obtiendrez immédiatement un
setter. On y va. Astuce pratique, il suffit de le
déposer sur l'épingle, je dirais Oui, nous pouvons allumer la lumière si
notre ThirdPersonCharacter chevauche cette case
où se
trouve essentiellement à chevauche cette case
où se
trouve contre-courant de la plage d'urine. Ensuite, ce que nous
allons faire, c'est intégrer notre composant de rendu de textes. Nous allons le
glisser-déposer ici. Et nous allons parler de
notre composant de rendu de texte. Nous allons
sortir de cela et saisir la visibilité définie. Parce que souvenez-vous que c'est éteint pour l'
instant. Nous allons cocher
cette case et dire, oui, vous êtes maintenant visible. Maintenant, je vais faire à peu près
la même chose ici. Je vais donc sélectionner
Maintenir la touche Contrôle enfoncée, sélectionner Maintenir la
commande enfoncée et sélectionner, je vais copier ces trois
nœuds, le contrôle C, le contrôle V.
Collez-les ici pour le moment où nous
finirons par superposer cette case. Et je vais tout brancher comme ça. N'oublie pas ce type. Et n'oubliez pas de décocher
cette case en bas, ainsi que de décocher
cette case en bas. Parce que lorsque nous finissons par
superposer cette case, nous ne voulons pas pouvoir
activer la lumière et nous voulons
également
désactiver le rendu de nos textes. Nous ne voulons pas du tout
voir ce message interactif. Très bien, je vais
cliquer avec le bouton gauche, faire glisser, appuyer sur le CQI. Nous appellerons cela
à portée de, allumez les lumières. Je vais le
noircir comme mon âme. Très bien,
c'est très bien. Ensuite, je vais ajouter un script d'
interaction ici. N'oubliez pas que notre message
allait dire : appuyez sur la touche I pour interagir. Nous allons donc cliquer avec le bouton droit
ici et faire le clavier. Nous allons ajouter un événement de
clavier car lorsque nous
appuyons sur la touche I,
il y a notre icky. La première chose que nous
allons faire est d'
introduire une branche,
de maintenir introduire une branche, touche B enfoncée
et de cliquer avec le bouton gauche de la souris
pour introduire une branche. Ainsi, lorsque nous
appuyons sur ce bouton, nous allons évaluer : « Pouvons-nous allumer les lumières ? N'oubliez pas que lorsque nous
superposons ou ne chevauchons pas cette case, nous la
définissons sur true
ou false lorsque nous la
chevauchons. Cela va être considéré comme vrai. Alors oui, vous pouvez nouer avec la lumière. Donc, pour sortir de l'
endolori, nous allons ou non l'endolori, la vraie clé, la vraie épingle, je dirais que nous allons faire
entrer un nœud de volte-face. nœud Flip-flop nous
permet de changer a puis de B plutôt que de a à B à
chaque fois que nous faisons cela. Et ce que nous allons
faire volte-face, c'est demander à
notre cylindre de le faire glisser et de le
déposer dans notre graphique. Changez le matériau, matériau de
montage bien dactylographié. Comme ça, en passant à Control C, Control V, ça aussi. Et ici, je vais le remplacer par
un matériau de couleur verte. Alors laissez-moi simplement cliquer
ici et je vais juste
taper le mot vert. Notre matériel ici sera le essayons de
rechercher un sommet vert. vert qui se trouve dans la
trajectoire du moteur est d'ailleurs. Donc, si vous ne le voyez pas, vous pouvez cliquer sur cette icône d'engrenage vous
assurer que l'affichage
du contenu du moteur est activé. Donc on va y passer au vert. Ensuite, sur ce nœud, je
vais cliquer sur ces
trois points et noter pour
moi que
ce sera un matériau rouge. Le matériau ici sera vertex vertex rouge. Ça y est. Je dois aussi faire en sorte que ce soit la
cible pour cela. Ensuite, je vais
traîner et trouver ma lumière. Nous parlons de cette lumière
ici, dans la section variable
glisser-déposer . C'est ce que nous allons obtenir. Ensuite, nous allons sortir
de ce type sous les projecteurs. Parce que n'oubliez pas qu'à
côté de notre lampe, cette lampe BP existe en
tant que projecteur. Et nous allons indiquer à ce
projecteur qui sort d' ici pour activer la visibilité. Donc, s'il est éteint, il
va l'activer. Et s'il est activé, nous
allons le désactiver. Ce sera donc notre
script juste là. Maintenant, nous allons
changer essentiellement la couleur de notre
cylindre ici, ce
matériau du cylindre pour le rendre vert
est allumé, rouge est éteint. Laissez-moi donc nous donner une coloration rouge pour
commencer par le sommet Read Only. Très bien,
compilons cette sauvegarde. Je vais revenir à
mon graphique d'événements ici. Cliquez avec le bouton gauche et faites glisser,
appuyez sur
CQI et je dirais que vous devez l'activer. Ceci est une note pour moi
pour la prochaine étape à suivre. Et pour nous de faire des entrées de réception
automatique. Eh bien, deux, le joueur 0
en classe D a des fautes. Maintenant tu vas être comme ça, ça n'a aucun
sens pour
ce que nous venons de faire. Alors pourquoi mettez-vous cela comme en-tête
de la zone de commentaires ici ? Et tu verras pourquoi. Parce que si je compile ça, je
sauvegarde et que j'entre et que je joue,
vous allez être du genre, eh bien, ça
marchera dès que nous chevaucherons cette boîte de déclenchement, nous dirons,
Oui, vous pouvez activer s'éclaircit ici lorsque
vous appuyez sur la touche I. Cela sera alors évalué comme
vrai et cela devrait me permettre changer le matériau du cylindre, puis d'
allumer la lumière,
mais cela ne fonctionnera pas à cause
de cela ici. Permettez-moi de le démontrer
rapidement. Si je me lance et que je joue, je peux même y placer mon objet de
débogage. Vous pouvez donc voir que le script
est passé en disant : «
Oui, je devrais être capable
de parler avec lumière ». Alors maintenant, quand j'appuie sur la touche I, permettez-moi de le déplacer vers le haut. Appuyez sur la touche I et je vois
que j'interagirais, n'est-ce pas ? Je vais m'
asseoir, appuyer sur la touche I. Mais rien ne se déclenche. Même si j'appuie dessus. Qu'est-ce qui se passe ? Eh bien, ce message
ici était un rappel pour moi
et pour vous rappeler que nous
devons activer quelque chose
appelé réception automatique de l'entrée deux joueurs 0 dans les valeurs par défaut de notre
classe ici. Maintenant, le bouton BP devrait être
votre modèle ici, classe par défaut ici. Dans la section de saisie, vous devez modifier
votre
entrée de réception automatique ici pour qu'elle soit le joueur 0. Pourquoi ? Eh bien, notre classe de parents
est un plan de classe d'acteur. Les plans de classe d'acteur
ne reconnaîtront pas les entrées du clavier moins que vous ne
rentriez dans les paramètres par défaut de la classe et que vous lui
indiquiez de Le joueur 0 c'est nous, le solo,
juste nous, non ? Donc ça va marcher. Également. Si vous avez plusieurs de ces
configurations autour de votre niveau, c'est probablement une bonne
idée ici de sélectionner votre icky et de décocher,
consommer les entrées. Ce faisant, vous
ferez en sorte que ce type de configuration
puisse
fonctionner pour plus
d'un bouton. Si vous laissez cela
uniquement consommer cette entrée, cela ne fonctionnera que dans un cas, pas dans tous les cas. Alors j'ai pensé
que j'allais le jeter là aussi. Bien, compilez, enregistrez, jouez. Nous allons les
chevaucher ici. Plan. Dites « Appuyez sur I » pour interagir. Nous sommes à portée de main. Alors maintenant, quand j'appuie sur la touche I, elle devient verte et vous
voyez que cette lumière s'allume maintenant et
juste cette lumière, pas toutes les copies de la lumière, juste celle-ci parce que
c'était celle que nous avions dit spécifiquement pour renseigner
cette variable lumineuse. Si je reviens ici, je peux à nouveau interagir. Et je l'ai allumé
pour l'éteindre, l'
allumer, l'éteindre, l'allumer, l'éteindre. Nous sommes en train de changer la visibilité. Il s'agit donc d'une méthode appelée Direct Blueprint
Communication. Avec cette méthode, nous
avons configuré une variable du type à laquelle nous
voulons parler à un
type de plan donné. Dans ce cas, nous voulons
parler aux lampes BP. Une fois cette
variable de lumière BP créée, nous l'avons définie sur l'
instance modifiable
afin de pouvoir la cibler
spécifiquement. Ici, dans l'éditeur de niveau,
Working Class Blueprint se trouve notre bouton et le plan
cible est notre lumière. À l'intérieur du
Working Class Blueprint, vous devez créer une variable
du plan cible
et puis définissez cette référence ici
dans l'éditeur de niveaux. Méthode très pratique pour
communiquer entre les plans. Les gars qui vont faire
pour proposer cette vidéo. Rendez-vous dans la prochaine.
91. Distributeurs d'événements: Bienvenue. Jusqu'à présent, nous avons
parlé du casting et la communication
directe en tant que
méthodes utilisées pour un plan communique avec un autre plan. Ce sont méthodes
fines et astucieuses à utiliser. Cependant,
dans les scripts Blueprint, il arrive que vous ayez
besoin d' un seul plan pour communiquer
avec de nombreux plans. Alors, y a-t-il une
méthode à utiliser ? Oui, il y en a une. Il existe ce qu'on appelle
un Event Dispatcher. Maintenant, si vous ne savez pas quels sont les
répartiteurs d'événements, comme Twitter, c'est la meilleure analogie
que
j'ai entendue à ce jour. Maintenant, si vous
connaissez Twitter, un utilisateur peut tweeter un
message si toutes les personnes qui suivent votre compte Twitter
reçoivent ce message, puis elles peuvent
répondre en conséquence. Dans Unreal, un plan
peut envoyer un signal, c'est-à-dire envoyer un signal à tous les autres plans
abonnés, qui
écoutent ce signal, puis ils peuvent
répondre en conséquence. Très bien, donc l'exemple que
nous allons donner
ici est que je vais créer
un plan de personnage, un personnage de boss si vous voulez. Et quand
ce personnage sera détruit, plusieurs choses se produiront. Nous allons communiquer de notre plan directeur à d'autres plans, à plusieurs
autres plans. Bien, il y a
beaucoup de choses à aborder ici, donc je vais aller
un peu vite, mais vous avez l'
avantage de faire une pause. Alors allons-y directement. Dans mon dossier de scripts
Blueprints, je vais cliquer avec le bouton droit sur
un espace vide, nous allons créer
une nouvelle classe de blueprint. Cette fois, le personnage est notre classe
mère que nous voulons. Et nous nommerons ce boss de soulignement de
BP. Je vais double-cliquer sur
ce type pour l'ouvrir. Et sélectionnons notre composant de
maillage dans notre liste de composants dans le panneau Détails,
sous Maillage squelettique, insérons Manny, Manny. Et agissons également. Donc, le cours d'anime, je vais faire un P ou un BP, beaucoup, qui feront un pas. Et puis j'ai trouvé
l'emplacement, nous devons les
déposer un peu ici. L'emplacement z que je vais
définir comme étant négatif 93 va
les faire baisser un peu. Maintenant, c'est peut-être un
peu trop loin. Passons à moins 85 ou
quelque chose comme ça. Négatif 85,
quelque chose comme ça. Et pour la rotation, je vais juste
choisir moins 90 et cela
leur permettra de faire face à l'avant. Cette flèche bleue
est tournée vers
l'avant et ne serait pas un boss
s'il restait de cette couleur, nous devons faire peur, donc
je n'ai pas le matériel, je vais juste taper en rouge. Il doit y avoir une couleur rouge au
sommet ici. N'importe quel rouge fera l'affaire. Je vais choisir ce matériau de
pointeur laser. C'est juste pour l'esthétique, afin que la matière recouvre
cette partie de son corps. Ensuite, je vais aussi taper
au laser. Faites allusion à l'autre matériau ponctuel
laser pour l'autre partie de son corps. Regarde ce type effrayant. Très bien, sur cette base,
nous allons créer un répartiteur d'événements
directement ici. Donc, vous créez des répartiteurs d'événements dans le panneau
Mon plan tout en bas, nous allons en créer un,
en cliquant sur ce bouton plus, je vais appeler ce boss
détruit et appuyer sur Enter there, allez-y et compilez et enregistrez. Ensuite, nous allons
ajouter un événement
lorsque nous superposons les composants de cette
capsule. Je vais donc sélectionner
mon composant
Capsule dans le panneau Détails. C'est l'une des nombreuses façons dont
je peux ajouter des événements pour cela. Je vais trouver
mon propre événement de
frappe de composant juste là,
en cliquant sur ce bouton plus. Cela va me faire passer de ma fenêtre d'affichage au graphique des événements. Et nous allons nous appuyer
sur ce nœud d'événement. Je vais sortir
de l'autre épingle d'acteur. Et nous allons
découvrir si c'est notre personnage à la troisième personne. Si c'est le
personnage à la troisième personne qui nous a frappé, nous allons simplement
dénoncer ce boss détruit. Nous allons envoyer
le tweet, si vous voulez. Donc, la façon dont nous pouvons
demander cela est le faire ici, comme ça. Et il va dire, si
vous voulez appeler bind,
dissocier toutes ces options. Dans ce cas, nous voulons l'appeler, nous allons
envoyer ce tweet. Maintenant, la note va ressembler
à ceci. Il y aura aussi une petite
enveloppe dessus. Cela
enverra donc les tweets à tous les abonnés si vous voulez. Enfin, nous voulons
sortir d'ici et taper Destroy Actor pour nous assurer
que notre patron va au revoir. Très bien, avec ça, nous pouvons compiler et enregistrer. Le tweet est terminé. Ensuite, nous avons juste besoin d'un ou trois
abonnés. Revenez donc à notre niveau. Et n'allez-vous pas aller de l'avant
et placer certains de ces plans
légers dans votre niveau. Nous avons créé ces plans légers
plus tôt dans le cours. Et vous pouvez les trouver dans votre dossier de scripts
Blueprints. Si vous ne les avez pas créés, vous pouvez également choisir
un autre plan que nous avons créé plus tôt
dans le cours. Ce ne sont que ceux
que je choisis par hasard. J'ai également placé un plan de porte pivotante que nous avons créé plus tôt dans le
cours ici. Je vais montrer différentes
méthodes pour expliquer comment ce type de communication
va fonctionner. Mais je vais commencer
par ma porte rotative BP. Donc, à l'intérieur de ma porte rotative
BP, je veux creuser à l'intérieur
de ce plan. Allons-y. Nous allons ajouter une
toute nouvelle variable. Donc, dans la section des variables, nous allons cliquer sur
le bouton plus. Et je vais l'appeler
le personnage du boss. Et sous le type de variable, je vais cliquer
ici pour rechercher boss. Et là, je peux trouver
mon objet de type B, P, boss, ce plan
que nous venons de créer. Et je vais en faire
une référence à un objet. Maintenant que cette variable est sélectionnée dans
le panneau Détails, je souhaite cocher cette case, par
exemple, modifiable
afin que nous puissions insérer notre boss depuis
l'éditeur de niveaux. Et si je compile ici, nous pouvons voir qu'il n'y a rien remplit cette
variable pour le moment, mais avec cette vérification
modifiable d'instance , nous aurions pu
cliquer sur ce globe oculaire. Je pourrai sélectionner notre place de
boss dans le niveau. En fait, je vais le faire maintenant. Si je place mon patron à
notre niveau, comme ça. Je peux maintenant sélectionner le plan de
ma porte. Et dans le panneau Détails, je peux voir qu'il me demande d' insérer un personnage de boss
pour renseigner cette variable. Je pourrais le sélectionner ici
et sélectionner mon patron là-bas. Sinon, je peux sélectionner cette petite pipette ici
afin de choisir le
personnage de boss approprié dans la scène. Et vous y voilà. Vous pouvez maintenant voir que notre
boss BP remplit cette variable à l'intérieur de
notre porte rotative BP. Maintenant, ce que je dois
faire, c'est demander une porte tournante de s'abonner à
cet événement détruit par un boss. Et cela peut être fait à nouveau dans notre graphique des événements de portes rotatives. La première chose que
nous allons faire est
donc cette partie de
notre graphique des événements
juste au-dessus de l'
endroit où se trouvait notre chronologie de
rotation des portes. Nous avons créé toute cette
croissance lorsque nous avons assemblé notre porte rotative, je vais appuyer sur
la touche p. P est en jeu. Et nous allons cliquer
avec le bouton gauche de la souris tout en maintenant la touche P enfoncée pour faire apparaître un
événement et commencer à jouer. Ensuite, nous
allons faire référence
à notre personnage de
boss. Je vais donc maintenir la touche
Ctrl enfoncée, cliquer avec le bouton gauche et faire glisser la souris, et maintenant ça va me donner un
getter tout de suite. Cependant, je ne veux pas que
ce soit juste un getter typique. Je vais le
convertir en une date valide. Maintenant, si je clique dessus avec le bouton droit de la souris,
je peux voir cette option
convertir pour valider le get. Et cela me
permet de vérifier ici. Si cette variable est valide. Par là, je veux dire, est-ce qu'il est
peuplé de quelque chose ? Est-ce vraiment quelque chose
qui n'est pas nul, pas aucun. S'il est peuplé
et alerte spoiler, c'est parce que j'ai actuellement mes ensembles de portes rotatives pour que la
valeur de ce personnage de boss soit définie sur ce boss. Si c'est valide, on peut
tirer à partir de cette épingle. Si ce n'est pas valide, c'est-à-dire que
cette variable est nulle, nous pouvons faire autre chose. Il s'agit donc d'un get validé, utilisez-les tout le temps. Ensuite, ce que nous voulons faire, c'est sortir de notre
personnage de boss ici. Et je vais me connecter si je tape correctement assigné Voici ce que
je recherche. Un panneau détruit par Boss. Maintenant, quand je l'apporterai, je vais en fait
ajouter deux nœuds, alors jetez-y un coup d'œil. Le boss assigné est détruit.
Lorsque nous faisons cela, nous allons intégrer
un nœud Bind ainsi que des événements personnalisés. Je vais laisser ce nom à cet événement
personnalisé. Tu peux lui donner un
autre nom. Mais voici comment cela fonctionne. Au début du jeu. Nous allons vérifier si notre
variable de caractère boss est valide ici. S'il est peuplé de
quelque chose, si c'est le cas, nous allons lier ces événements personnalisés à
ce boss détruit, ce boss détruit
Event Dispatcher. Ce que
nous faisons essentiellement ici , c'est dire
à cet événement d'attendre qu'il
se déclenche. Quand on appelle, quand on appelle
ce boss, les événements ont détruit. Ici, lorsque nous toucherons cette composante capsule
du boss, nous allons appeler
cet événement ici, attendrons, nous l'
écouterons. Cela ne se déclenchera pas tant que l'
événement détruit par le boss n'aura pas été annoncé. Notre chef de BP l'
appelle
ici même avec ce répartiteur d'événements. Et ici se trouvent des portes
tournantes, écoutent cela
avec cette configuration juste là, qui écoute. Une fois que cela se produit, nous pouvons
tirer parti de cet événement personnalisé. C'est essentiellement
la configuration qui s'y trouve. Donc, ce que je vais faire, c'est
qu'après
avoir écouté les événements détruits par ce boss, nous allons retarder ou juste
un peu de temps, nous allons
attendre d'une seconde. Ensuite, je vais l'intégrer à
la rotation de ma porte. Nous allons donc ouvrir la porte. C'est quelque chose de
cool à faire, non ? Après avoir vaincu un boss, cette porte est
soudainement
déverrouillée. Je vais donc
compiler et enregistrer ceci. Et allons-y et
jouons au test tout de suite. Alors, je m'en vais. Configurez cet article. Ici. Je joue. Vous pouvez donc voir le feu
se déclencher juste à travers. Alors maintenant, cet événement, ce boss a détruit des événements
personnalisés, est à l'écoute de
ce boss détruit. Ce boss a détruit
des événements pour être dénoncé. Cet Event Dispatcher,
c'est
le tweet, le message envoyé. Alors on y va. Nous allons voir ça se
déclencher dès que
je rencontrerai le
composant capsule de notre boss. Permettez-moi d'ouvrir notre fenêtre de
joueur ici. Très bien, et cette porte
s'ouvrira au bout d'une seconde. Alors on y va. Le patron s'en va, au revoir. 1 s plus tard. Là, elle s'ouvre. Ce tweet a été reçu et la porte tournante BP
a répondu en conséquence. Maintenant, notez qu'une configuration comme celle-ci
peut être dupliquée à l'intérieur de notre plan BP Light ou tout autre plan de cette manière que nous
plaçons dans notre niveau. Et cela fonctionnerait très bien. Tous pouvaient s'abonner à notre événement détruit par un boss
de la même manière. D'ailleurs,
il est souvent agréable de les avoir à écoute de cet événement
dès le début de la partie, afin que chaque fois
que cet événement se produit, ils puissent réagir en conséquence. Cependant, je vais utiliser une méthode
un peu différente écouter cet événement, pour ainsi dire, en utilisant
notre Level Blueprint. Je vais donc revenir
à notre éditeur de niveaux ici. Nous allons ouvrir
notre Level Blueprint. Ouvrez donc Level Blueprint, trouvez un espace vide à
l'intérieur pour travailler. Maintenant, la première
chose à faire est de revenir à notre niveau et de
sélectionner notre boss b, a P. Maintenant, parce que notre boss BP existe dans le niveau et que nous les
avons sélectionnés. Veuillez les sélectionner, accéder à
votre
plan de niveau maintenant, nous pouvons cliquer avec le bouton droit de
la souris et
laisser un espace vide et rechercher le boss détruit. Alors jetez-y un œil. Nous pouvons ajouter un événement
détruit par un boss. Cet événement
sera donc appelé lorsque notre boss BP demandera que cet événement de
boss détruit se produise. Maintenant, ce que nous allons
faire ensuite, c'est référence à nos
trois acteurs légers. Donc, pour en revenir à notre niveau, je vais sélectionner
la première lumière, la deuxième lumière en maintenant
la touche Ctrl enfoncée
et la troisième lumière, en maintenant la
touche Ctrl enfoncée. Les trois sont
sélectionnés ici, pour
revenir à mon plan de
niveau Je vais maintenir le R. R en référence et cliquer avec le bouton gauche
pour faire référence à ces trois niveaux. Empilez-les numériquement
comme ça. Et ce que nous voulons faire, c'
est sortir de l'un d'entre eux et saisir la visibilité définie. Désolée, il faut que les
projecteurs soient importants pour nous. Je vais donc dire obtenir un composant spot car chacune de
ces lampes est constituée d' un composant de projecteur, que nous pouvons voir si l'un
d'entre eux est
sélectionné, est constitué du composant
projecteur. Et je vais sortir
du composant Spotlight et saisir la visibilité définie. Et nous dirons que cela
deviendra visible. Et je peux dupliquer
Control C Control V, ce projecteur pour
chacun d'entre eux. Comme ça. Et quand cela se produit, je peux aussi m'en aller
et dire Place down to D. Faisons entrer un peu de son. Bien sûr, comme ça. Et aura un dramaturge
Explosion Q. Très bien, alors maintenant, vérifiez-le. Lorsque nous toucherons notre boss avec
notre ThirdPersonCharacter, nous appellerons cela des événements. Il va
envoyer ce tweet. Nous savons déjà que la porte tournante
va écouter une paume commencer à jouer. Et une fois qu'ils apprendront que le
boss a été détruit, il déclenchera le feu et ouvrira cette porte par
rotation. Ici, dans notre plan de niveau, nous pouvons simplement appeler ce
boss des événements détruits. Nous pouvons ajouter cet
événement immédiatement. En le faisant appeler. Nous allons ensuite simplement définir
la visibilité de nos vies. Alors allons-y et essayons ceci. Cette fois, nous allons nous
concentrer sur nos lumières. En une fois, nous détruisons le boss. Allons-y. La porte s'ouvre. Encore une fois, j'
aurais pu adopter
une approche similaire à l'intérieur de nos lampes BP pour
que ce BP cite entre guillemets, s'abonne au boss
détruit Event Dispatcher. Mais je voulais juste démontrer
ici que vous pouvez faire démarrer ces répartiteurs
d'événements directement dans un niveau et même dans des plans de
sous-niveau. Tant qu'une référence
à cet acteur, dans ce cas, notre boss bp, contient un Event Dispatcher
qui existe dans votre niveau. Eh bien, les gars, vous avez
un Event Dispatcher est une excellente méthode à utiliser lorsque vous voulez
avoir un seul plan, parler à plusieurs personnes, en fonction d'
un événement qui se produit. Les gars, je vais faire pour vous proposer celui-ci. Rendez-vous dans la prochaine.
92. Interfaces de plan directeur Partie 1: Bienvenue. Dans cette vidéo, notre objectif est
d'apprendre à utiliser les interfaces
Blueprint pour
communiquer entre les plans. Désormais, avec une interface Blueprint, vous pouvez créer une collection
de fonctions vides. Vous pouvez ensuite attribuer plans
qui ont
accès à ces fonctions. Ensuite, ces fonctions de
l'interface Blueprint, qui se trouvent désormais
à l'intérieur de ces plans, peuvent bénéficier de
fonctionnalités uniques. Maintenant, c'est idéal pour les fonctions de type générique où pouvez-vous interagir avec quelque chose ? Ensuite,
selon le plan avec
lequel vous avez interagi, ils peuvent réagir différemment. Nous commençons donc par
un graphique ici. Nous allons donc
créer un plan. Dans notre interface
Blueprint, nous allons créer une
fonction appelée Interact. Ensuite, nous
allons implémenter cette interface Blueprint dans trois plans différents : Blueprint
Light, notre chef de plan dans notre
ThirdPersonCharacter. Maintenant, dans chacun de ces
trois plans différents, nous allons pouvoir personnaliser exactement ce que fait Interact. Bon, de retour ici dans Unreal, il y a beaucoup de choses à régler. Alors allons-y. Je me trouve dans mon dossier de scripts
Blueprints. Cliquez avec le bouton droit sur
un espace vide. Ici, je vais
appeler Blueprints in, dans le petit menu déroulant, je vais choisir
Blueprint Interface. Nous allons nommer ces fonctions de soulignement du
BPI. Ensuite, nous allons
double-cliquer sur ce type pour l'ouvrir. Maintenant, à l'intérieur, tout ce que vous voyez c'est juste un
onglet graphique vide qui indique une nouvelle fonction. Et puis en haut à droite,
sous l'onglet Mon plan, il attend que nous
donnions un nom à cette fonction. Créons donc notre
toute première fonction s'appellera Interact. En bas du
panneau Détails, vous pouvez voir qu'il a
également changé le nom de cet
onglet pour interagir. Et nous allons modifier
la sortie ici pour en ajouter une. Nous allons créer
une sortie et elle sera simplement appelée interagi avec point d'interrogation. Et nous allons laisser
ce sera un booléen. C'est donc notre fonction vide. Il possède simplement une sortie. Maintenant, notez que vous ne pouvez pas effectuer
les opérations suivantes à partir d'ici. Vous ne pouvez pas ajouter de
nouvelles variables, uniquement des entrées et des sorties. Vous ne pouvez pas
du tout modifier le graphique. Vous ne pouvez pas aimer les films ou cocher cette case
ou quoi que ce soit de ce genre. Vous ne pouvez pas ajouter de composants. Cette fonction n'est pas
configurée pour faire quoi que ce soit. L'idée ici est que
cette fonction vide ajoutée à l'intérieur d'autres plans puis à l'intérieur de
ces autres plans, nous pouvons personnaliser ce qu'elle fait. Ajoutons maintenant cette interface de
plan à d'autres plans. Compilons d'
abord ceci et enregistrons. Revenez ensuite
à un éditeur de niveaux. Nous allons ouvrir
notre ThirdPersonCharacter. Nous allons revenir
dans notre section de plan directeur et nous allons
ouvrir notre lampe de pression artérielle. Et puis nous allons
également ouvrir notre patron BP. Bien que ces lampes BP Boss
MBP aient été créées dans d'autres vidéos directement à l'intérieur
de chacun de ces plans, nous devons ajouter cette interface
Blueprint, et cela se fait sous le bouton Paramètres de
classe. Je vais donc
commencer par mon patron
BP ici, Class Settings. Et puis, dans
le panneau Détails, voici où nous pouvons ajouter l'
interface Blueprint et en cliquant ici dans ce
menu déroulant sous Ajouter, trouverez nos fonctions BPI. Nous allons ajouter
cette lampe BP. Nous allons faire les mêmes
réglages de classe, ajouter des fonctions bp. Et puis sous notre
ThirdPersonCharacter, pareil. Paramètres de classe,
ajoutez des fonctions bp. Maintenant, si vous n'y
prêtiez pas très attention et
qu'il est facile de le manquer ajoutant cette
interface Blueprint dans la section Mon plan de
chacun de ces plans, nous avons maintenant une
interface située sous le panneau My
Blueprint. Et si je l'ouvre, nous pouvons voir que nous
avons désormais accès à l'interaction. Si je double-clique sur notre fonction
Interact ici, un onglet de fonction s'
ouvrira. Vous pouvez maintenant
voir que nous pouvons ajouter des fonctionnalités
uniques pour
chaque fonction d'interaction dans chacun de ces trois plans
différents. Commençons donc par
notre plan directeur ici, nous avons double-cliqué sur
notre fonction Interact ici. Donnons-lui des fonctionnalités
uniques. Nous allons dire que si nous
appelons cette fonction d'interaction, tout ce que nous
ferons pour notre patron c'est
de partir d'ici. Et je vais dire de
détruire l'acteur. Ensuite, nous allons simplement cocher
cette case en disant oui, nous avons interagi avec eux, compilés et enregistrés. Nous allons passer à
notre lampe BP
à l'intérieur d'ici, nous allons simplement saisir notre composant Spotlight,
cliquer et glisser. Pour éviter cela,
nous allons
saisir la visibilité définie. Nous allons câbler notre
fil d'exécution comme ceci. Et nous allons faire en sorte que notre
visibilité soit vraie. Et nous allons également cocher cette case pour l'interacteur avec lequel il a interagi. Compilons et enregistrons cela. Ensuite, nous passerons à
notre ThirdPersonCharacter et nous y ajouterons des
fonctionnalités uniques. Tout ce que nous allons faire, c'est cliquer avec le bouton droit sur
un espace vide et dire « trouver l'acteur, le lieu » Et nous allons
utiliser cet emplacement pour faire apparaître et émettre. Donc, en traînant d'ici, je vais taper l'
émetteur de spawn à l'emplacement. Vous pouvez également faire apparaître
le système sur place. Le système utilise les particules de
Niagara. Ce sont les anciennes
particules en cascade qui feront l'affaire. Je vais le brancher ici, et je vais faire apparaître
une explosion. Parce que
les explosions sont toujours amusantes. Je vais régler la
balance pour qu'elle soit belle et grande. Donc 22. Et donc, et je vais également cocher cette case pour dire
oui, nous avons interagi. Nous avons donc configuré des fonctionnalités uniques
sous chacun de ces trois modèles
lorsque nous appelons cette fonction d'
interaction. Allons-y,
compilons et sauvegardons ceci. Regardons
notre graphique des événements ici. Et plus tôt dans le cours, nous avons configuré cette fonctionnalité de
suivi des lignes. Donc, si vous ne l'avez
pas déjà créé, vous pouvez copier ce que vous voyez ici. Nous envoyons une
trace linéaire dans le monde. Et actuellement, quand
on frappe un acteur, on imprime simplement le nom de cet acteur à l'écran. Nous allons modifier
cela un peu. Je vais donc supprimer
ces nœuds ici. Nous allons nous débarrasser de ce nœud de
branche ici. J'en apporterai
un autre dans un instant. Mais ce que vous devez faire,
c'est sortir de cet acteur à succès, vous pouvez sortir de votre tenue et décomposer ce résultat à succès, étendre à partir
de notre acteur à succès. Nous allons
rechercher Interact. Et entre parenthèses, il
doit être écrit message. Accrochez-le comme ça. Maintenant, cela va appeler la fonction Interact
dans le Hit Actor. Si ce Hit Actor
implémente réellement l'interface
Blueprint. Si l'acteur à succès
n' implémente pas l'interface
Blueprint, il ne
lui arrive rien. Donc, ce que nous allons faire
ensuite, c'
est retirer de notre sortie interactive ici. Je vais apporter
un nœud de branche. Et nous allons simplement
dire que si c'est vrai, nous avons interagi
avec quelque chose et que cela a été évalué comme vrai, nous allons simplement l'
imprimer à l'écran. Imprimons le numéro d'
objet interagi dans fonction Interact dans
notre ThirdPersonCharacter. Nous sommes en train de mettre cela sur vrai. Ici, nous apparaissons et
explosons à l'intérieur de nos lumières. Lorsque nous interagirons avec cela,
nous allons simplement allumer les projecteurs et
nous allons dire Yelp, vous avez interagi avec lui. À l'intérieur de notre patron.
Elles interagissent entre elles. Nous allons simplement
détruire l'acteur. Et nous avons dit, oui, nous avons
interagi avec lui. Encore une chose, nous
devons configurer l'intérieur de notre boss
afin que cette trace de visibilité fouette
la trace de visibilité ici à l'intérieur de notre
ThirdPersonCharacter. Pour que cela
interagisse réellement avec le boss, entrez dans votre boss et sélectionnez votre collision de
capsules. Nous avons juste besoin de modifier un peu les paramètres de collision. Sous le
composant de collision, section Collision. Dans le préréglage de collision, nous allons le modifier
pour qu'il soit personnalisé. Et nous devons nous assurer que le canal Visibility
est configuré
pour bloquer afin que notre trace de ligne ici dans ThirdPersonCharacter
atteigne réellement
le canal. Compilons et enregistrons cela. Très bien, donc de retour ici dans notre
plan ThirdPersonCharacter, nous allons
appuyer sur la
touche fléchée pour envoyer une trace linéaire le long du canal Visibility commençant par nos
acteurs. location, le ThirdPersonCharacter
se terminant par notre point de terminaison de trace de ligne, qui, si je vais dans la fenêtre d'affichage, est ce point que nous avons configuré ici tout à l'
heure dans le cours. Nous allons ensuite
sortir notre tube pour
tous les acteurs que nous rencontrerons, nous appellerons la fonction
Interact qui se trouve dans nos fonctions BPI
Blueprint Interface. Si la chose que nous avons touchée a implémenté cette interface
Blueprint, elle appellera cette
fonction d'interaction et
exécutera en fait tout ce pour
quoi nous avons configuré cette fonction dans notre boss bp, elle détruira l'acteur et dira : « Oui, nous avons interagi avec lui. Il va cocher ce Bool
dans notre lampe de pression artérielle. Nous allons allumer les
projecteurs puis cocher
cette case Boole pour dire, oui, nous avons interagi avec elle. Si toutefois, la
chose que nous avons trouvée n'a pas implémenté cette interface
Blueprint, rien ne se passera,
ce qui est très bien. Maintenant, si nous avons
trouvé quelque chose qui a implémenté cette fonction d'
interaction ,
cette interface Blueprint, nous allons transmettre ce
booléen ici. Et si c'est vrai, nous allons simplement l'
imprimer à l'écran. Très bien, de retour
dans notre éditeur de niveaux, assurez-vous d'avoir un
boss BP placé dans votre niveau ainsi qu'un éclairage BP qui
se trouve au rez-de-chaussée. Nous allons commencer,
jouer
et appuyer sur la touche zéro. Une fois que nous serons
devant notre lumière, nous devrions voir des textes
apparaître ici. Donc, touche zéro. Tu vois cette lumière, tu vois
qu'elle a interagi avec les choses. Super, ça marche très bien. Et nous allons le filmer. Et notre personnage de boss, ici vous devriez voir apparaître
des textes, ainsi que la destruction de
notre boss. On y va.
Touche zéro, le patron est parti. Vous y voyez également notre ligne être projetée dans le
monde entier. Il y a eu un point
d'impact et cela fonctionne effectivement. Très bien, un
peu de nuance à discuter ici en ce qui
concerne l'appel des
fonctions
d'une interface Blueprint.
Ici, dans notre ThirdPersonCharacter fonctions
d'une interface Blueprint ,
vous m'avez vu plus tôt, faites glisser notre acteur à succès ici et tapez le
mot interagir et nous verrons un message d'interaction et nous en avons obtenu
la version enveloppe ici. C'est identique à cela. Maintenant, cela indique à
la cible
fournie d'appeler
cette fonction. Cependant, quelque chose à noter à ce
sujet, en appelant
cette fonction, vous n'
avez pas besoin d'implémenter l'interface Blueprint
elle-même dans ce plan pour
pouvoir le faire, ce dont je parle se trouve
ici dans nos classes. Vous pouvez voir dans ce
plan que j'ai mis en œuvre. L'interface est que vous n'
avez pas besoin de l'
implémenter pour l'appeler pour
la fourniture à Target. Et juste pour vous aider
à comprendre ce point, je vais revenir
à mon éditeur de niveau ici. Je vais placer mon
bouton de tension artérielle dans mon niveau. Avec cette option sélectionnée. Nous l'avons créé dans
une leçon précédente. Je vais placer mes lampes
ici pour qu'elles soient cette lumière. Je vais donc choisir
cette petite pipette. Et je vais choisir
cette lumière
ici pour que BP Li2 soit désormais associée à cette variable
à l'intérieur de notre bouton BP. Je vais l'
ouvrir maintenant, bouton RSVP. Et je vais juste
modifier ce bout de script ici
lorsque j'appuie sur la touche I, lorsque je suis à portée. Je vais donc procéder comme ça, juste ne pas m'inquiéter de
ce changement de
matériau. Je vais le casser
en maintenant touche Alt enfoncée et en cliquant avec
le bouton gauche. Ce que je peux faire
maintenant est de cliquer avec le bouton droit. Et si je recherche un message, pas un message, je cherche à interagir. C'est ce que je voulais dire. Interagissez. Il y a mon message d'
interaction entre les fonctions B PI. Je peux donc l'appeler pour cette cible
lumineuse ici. Parce que n'oubliez pas que ma
lampe BP fait quelque chose, ou que
cette fonction est implémentée sur la lampe BP et qu'elle activera la visibilité. Mais non, ce dont
je parle
ici, c' est dans les paramètres de ma classe, je n'ai pas implémenté l'
interface de la fonction BPI. Cela ne m'interdit pas
d'appeler cette fonction. Donc, pour mieux
comprendre, ce que je vais faire ici,
c'est jouer le jeu. Et je vais superposer
ce bouton ici. Je les ai maintenant superposés. Je vois cela en fait dire que
oui, je suis à
portée en ce moment. Ce Texas à reculons,
mais peu importe. Je vais appuyer sur la touche I maintenant, vais appeler cette fonction. Dans mes plans légers. C'est parti, en appuyant sur la touche I, et en fait, il appelle cette fonction et
allume cette lumière. Maintenant, notez
que lorsque je recherche cette fonction d'interaction ici
en cliquant avec le bouton droit de la souris et
que
je tape Interact, c'est la seule
option que j'ai. Cependant, dans mon BP
ThirdPersonCharacter où je le fais, j'ai implémenté
les fonctions BPI Blueprint
Interface. Je peux cliquer avec
le bouton droit sur un espace vide et taper en interaction. J'ai une autre version qui dit fonction d'
appel juste ici. Et maintenant, regardez cette version. Il s'agit d'un appel de fonction local. Maintenant, je pourrais configurer
quelque chose comme ça ici dans mon
ThirdPersonCharacter Blueprint. Laissez-moi simplement supprimer cela. La fonction que je
viens de supprimer
est identique à moi, en cliquant avec le bouton
gauche, en
faisant glisser et en déposant ma fonction d'interaction ici dans mon graphique. Quoi qu'il en soit, vous
apporterez une copie de cette
version locale de l'appel. Donc, pour cette configuration, je vais appuyer sur la touche 9. Cela va appeler interagir
sur la cible de soi. Mon
plan de personnage à la troisième personne. Je transmets
juste ce booléen et ensuite nous allons nous
détruire. Donc, si vous vous
en souvenez, dans notre fonction locale, nous allons simplement faire apparaître un émetteur à l'emplacement de nos
personnages. Compiler et enregistrer Permettez-moi de revenir à mon
graphique d'événements ici et de jouer. Réglez mon objet de débogage sur moi-même. Et maintenant, quand j'appuie sur la Nike, boum, cela appelle en fait
cette fonction d'interaction. Ainsi, pour appeler une
version locale de cette fonction, l'interface Blueprint doit être ajoutée
aux plans afin de répondre à cette version de l'appel d'
interface.
93. Interfaces de plan directeur Partie 2: Très bien, encore plus de choses à montrer ici concernant les interfaces Blueprint. Revenons donc à nos fonctions BPI et
nous allons ajouter une toute nouvelle fonction dans
le panneau My Blueprint. Cliquez donc sur Ajouter une fonction
et nous allons nommer ce dommage. Et nous n'allons pas ajouter d'entrées
ou de sorties. Nous allons simplement le
compiler et l'enregistrer. Revenons maintenant à l'
un de nos plans dans lesquels nous avons déjà implémenté cette
interface de plan. Je vais entrer dans mon plan
ThirdPersonCharacter. Maintenant, notez que dans la section
des interfaces, nous voyons maintenant notre
fonction endommagée apparaître. Cependant, il apparaît
dans cette couleur jaune. Maintenant, cette couleur signifie que
la fonction a été ajoutée, mais qu'elle ne peut pas être
appelée dans d' autres plans car
elle n'a aucune valeur de retour. Et je veux dire par là,
revenons à nos fonctions BPI. Elle n'a pas de valeur de retour, alors que je sélectionne notre fonction
Interact, elle a une
valeur de retour, renvoie un nœud. Donc c'est très bien. Ce n'est pas grand chose. Ici, dans notre fonction d'endommagement, nous allons passer d'
entrées, de sorties. Nous allons
laisser les choses comme
ça et nous allons montrer
comment utiliser interfaces
Blueprint d'une manière
légèrement différente. Ici, dans mon
plan ThirdPersonCharacter. N'oubliez pas que nos interfaces
Blueprint sont
implémentées et qu'il
existe une fonction d'endommagement. Maintenant, si j'essaie de l'
ajouter à un graphique, ce sera comme si «
Non, je ne peux pas le faire ». Cependant, si je clique dessus
avec le bouton droit de la souris, je peux l'
implémenter sous forme d'événements. Alors regarde ce qui se passe
quand je fais ça. Il ajoutera cela en tant qu'
événements à mon graphique. Et maintenant, je peux créer certaines fonctionnalités
à partir de cela. Cependant, je dois m'
assurer que j'
appelle réellement ces événements à partir d'
autres plans. Alors faisons-le ici à l'intérieur de mon
plan ThirdPersonCharacter, je dirais, d'accord,
chaque fois que nous appellerons cela, nous allons simplement
détruire notre personnage, Destroy Actor, c'est assez
simple. Compilez et sauvegardez cela. Maintenant, à partir d'un autre plan, nous devons réellement
demander que cela se produise. Passons donc à un exemple
de ramassage BP. Je vais double-cliquer dessus. Et je vais juste en pirater la fonctionnalité d'
origine juste pour le moment, je vais la remettre en place
après la vidéo. Je vais dire
que lorsque nous commencerons à superposer cette
sphère ici, nous allons vérifier si cela correspond au personnage à
la troisième personne. Et puis en dehors de cela, je vais simplement m'
en éloigner et taper les dégâts que le BPI fonctionne. Message d'endommagement. Nous allons y aller comme
ça et comme ça. Et je vais m'en
débarrasser juste pour que cela soit
un peu plus clair. Voici donc ce que nous faisons. À l'intérieur de notre exemple de pick-up BP. Nous sommes en train de vérifier si
nous avons chevauché cette sphère,
cette sphère entre en collision avec
ThirdPersonCharacter. Et si c'est le cas,
nous allons
demander cette interface
Blueprint endommagée. Maintenant, les événements se produiront ici à l'intérieur de notre personnage à
la troisième personne. Alors allons-y et
essayons ceci en cliquant sur Play. Et j'ai oublié de
l'ajouter à notre niveau. Ajoutons l'un d'entre eux. Et donc dès que nous avons
touché le fait que nous devions mourir, BAM, et nous le faisons. C'est donc une autre
façon
d'utiliser des interfaces Blueprint
au lieu de
les implémenter et d'ajouter des fonctionnalités
pour chaque fonction, comme nous l'avons fait pour notre événement
interactif. Nous pouvons simplement les laisser dans notre interface Blueprint
sans aucune entrée ni sortie. Ensuite, faites comme nous l'avons fait dans
notre ThirdPersonCharacter, où nous avons cliqué
dessus avec le bouton droit de la souris et nous l'avons converti en événement. Ce faisant, vous pouvez
faire n'importe quoi à partir de cela, condition
que vous
appeliez cet événement à partir
d'autres plans. Maintenant, c'est une sorte
de façon d'appeler un événement personnalisé dans n'importe quel autre plan qui
implémente cette interface Enfin et surtout, nous
allons parler de la façon
d'utiliser un
Interface Blueprint pour communiquer avec un
Level Blueprint. Maintenant, il est préférable d'ajouter une interface
Blueprint à un sous-niveau pour faciliter
la communication avec le niveau. Passons à une démonstration. Tout d'abord,
assurons-nous que
l'onglet des niveaux est ouvert ici. Si ce n'est pas déjà
fait dans votre éditeur, vous pouvez l'obtenir en passant sous la fenêtre puis
en ouvrant les niveaux TAM. Et plus tôt dans le cours,
nous avons créé un sous-niveau. Je vais créer un autre sous-niveau juste pour que vous
puissiez voir comment cela
se fait une fois de plus, juste ici où il est dit niveaux, vous pouvez aller ici et
vous pouvez en créer de nouveaux. Et il vous sera demandé de
créer un nouveau sous-niveau. Je vais choisir un niveau vide. Créez. Il va nous
demander où
voulons-nous enregistrer cela ? Mettons-le dans notre support
de niveaux de script, et je vais simplement appeler ce
sous-niveau de soulignement 02. Nous allons le sauver. Très bien, je vais cliquer avec
le bouton droit sur notre sous-niveau pour arriver ici. Je vais changer
la méthode de streaming. Pour qu'il soit toujours chargé
au lieu de Blueprint, remplacez-le par Toujours chargé. Ensuite, avec notre
sous-niveau ici, je vais cliquer
juste là pour ouvrir plan de niveau du sous-niveau
R. Et dans notre plan de
niveau de sous-niveau, j'ai
les paramètres de notre classe juste ici. Et encore une fois, c'est
ici que je peux implémenter notre interface
Blueprint. Je vais donc cliquer sur Ajouter. Voici mes fonctions BPI. Bien, ensuite,
dans notre éditeur de niveaux, vous pouvez vous assurer qu'il s'agit du niveau actuel en
vérifiant ici. Sous-niveau 2,
c'est notre niveau actuel. Si nous cliquons
dessus, ce bleu
indique également qu' il s'agit de notre niveau de travail
actuel. Nous allons ajouter un acteur
à notre sous-niveau ici. Je vais ajouter : «
Passons en revue ici. Ajoutons une forme. Faisons un cylindre. Bien sûr, quelque chose comme ça. Nous avons donc un acteur
dans notre sous-niveau. Nous pouvons le voir en
désactivant
cette icône de globe oculaire pour montrer qu'elle
fait en fait partie du sous-niveau deux. Ensuite, nous allons nous
assurer que
notre cylindre est sélectionné
et nous
retournerons au plan de niveau
2 du sous-niveau R. Nous allons entrer dans notre fonction
Interact ici. Double-cliquez dessus
pour l'ouvrir. Maintenez la touche R enfoncée, cliquez avec le bouton gauche pour y faire
référence à notre cylindre. Et nous allons
sortir d'ici et taper Destroy Actor legs. Nous dirons donc que oui,
nous avons interagi avec elle. C'est génial Compilez et enregistrez ceci. Ensuite, nous allons
revenir à notre
plan ThirdPersonCharacter. Et ce que nous allons faire, c'est
mettre en place un script très simple. On va juste cliquer avec le bouton droit de la souris, je ne connais pas la touche 8. Je ne pense pas que nous ayons
quelque chose qui fonctionne avec la
touche 8 actuellement. Et je vais
cliquer avec le bouton droit de la souris sur un
espace vide
et taper pour obtenir le niveau de streaming. Et c'est là que
nous voulons mettre
le nom exact de
notre sous-niveau O2. Elle est là, juste là. Sous-soulignez un
niveau, soulignez 02. Ensuite, nous pouvons faire glisser ce message et taper
un message interactif comme suit. Cela nous permettra de
communiquer avec notre
sous-niveau deux et d'appeler cette fonction d'interaction que nous avons également configurée dans Sublime. Donc ça va détruire
ce cylindre. Maintenant, en fait, je
ne vais rien
faire à l'improviste. Je n'avais pas vraiment besoin de
cocher cette case, mais je l'ai fait. Alors allons-y
et compilons ceci. Allons-y et jouons. Et maintenant, quand j'appuie sur
la touche huit, boum, c'est parti. En fait, nous avons également communiqué via Blueprint Interfaces
avec notre sous-niveau. Eh bien les gars, cela
suffira pour offrir une interface Blueprint. Encore une fois, avec les interfaces
Blueprint, vous pouvez configurer une
fonction à l'intérieur de celles-ci. Vous pouvez ensuite les ajouter aux plans via les paramètres
de classe. Et puis, une fois que
vous l'avez fait, vous pouvez y configurer
des
fonctionnalités uniques à chaque endroit où vous avez ajouté ces interfaces
Blueprint très pratiques pour vous qui vont le faire.
Tout ça pour celui-ci. Rendez-vous dans la prochaine.
94. Cours pour parents (base): Bienvenue. Dans cette vidéo, notre objectif est
d'engager une conversation sur le concept d'
héritage dans les plans. Maintenant, pour vraiment démontrer le pouvoir de l'héritage à l'
aide de plans, nous allons créer
une classe parent, une classe de base sur laquelle autres plans
futurs dériveront. Cela signifie
en fin de compte
que tout plan que nous créons en
tant qu' enfant de ce parent est prédéfini avec
tous les composants, toutes les fonctionnalités des variables que le
parent a déjà a. Maintenant, si vous avez déjà
créé une classe de plan, vous avez déjà utilisé l'héritage et vous n'avez peut-être même pas réalisé qu'aucun plan
dans Unreal n'existe sans hériter
d'autre chose. À titre d'exemple de ce que je
viens de mentionner, consultez notre
ThirdPersonCharacter Blueprint. Si on ouvre ce type
en haut à droite, cela nous permet de savoir quelle était
la classe des parents. Dans ce cas, notre bp
ThirdPersonCharacter hérité de la classe de caractères exemple de capture
BP que nous avons créé au tout
début de la classe. La classe mère
pour cela est l'acteur. Cela devient encore un peu plus clair si je reviens à
notre navigateur de contenu et que je notre navigateur de contenu et bouton droit sur le bouton droit de la souris pour choisir
Blueprint Class. En bas, où il
nous est demandé de choisir une classe mère, vous pouvez voir la hiérarchie
des différents plans. L'objet est l'
acteur de classe de base le plus hérité de l'objet. Et si je développe l'acteur ci-dessous , je peux
voir quelque chose comme notre exemple de pick-up BP qui hérite de la classe mère. D'accord, donc ce que nous
allons faire dans cette vidéo c'est créer notre parent,
notre classe de base. Ensuite, dans la vidéo suivante,
nous allons créer une classe pour enfants basée
sur notre classe de parents. Et vous allez
voir comment notre enfant hérite de tous les biens de
ses parents, tout comme
vous êtes enfant
et que vous avez hérité de certains biens
de vos parents. Notre classe pour
enfants héritera-t-elle également de notre classe de parents ? Allons-y, cliquez avec le bouton droit
et laissons un espace vide ici. Je vais le faire dans
mon dossier de scripts Blueprints. Cliquez avec le bouton droit sur Blueprint Nous allons nous baser sur l'
acteur ou sur une classe de parents. Et je vais appeler
cela mon trait de soulignement de la tension artérielle. Les parents viennent chercher, comme ça. Et je vais double-cliquer sur
ce type pour l'ouvrir. Et je vais ajouter
quelques composants. Nous allons donc
commencer par ajouter une sphère. Collision de sphères Je vais définir les détails ici. Après cela, notre
collision de sphères étant sélectionnée, je vais ajouter une source de maillage statique Le maillage
statique est attaché
à notre sphère. Ensuite, avec nos maillages
statiques sélectionnés, je vais ajouter, je vais taper Niagara. Je veux l'ajouter aux composants du
système de particules de
Niagara comme ça. Nous allons, nous allons ajouter
des particules de Niagara
ici dans un petit moment. Et nous allons également ajouter des de mouvement rotatifs et interpréter
les
composants de
mouvement Too. Donc, notre plan
ici va à fois pivoter et se déplacer
de haut en bas. Donc ça va être plutôt cool. Très bien, définissons
quelques détails ici. Alors, en sélectionnant notre sphère, rendez-vous avant tout
sur votre panneau de détails. Nous allons fixer le rayon de notre
sphère à 100, quelque chose de beau et de grand. Vous savez, en revenant
ici, vous voyez un maillage statique. Je vais passer sous le panneau
Détails et je vais choisir un cube de soulignement de 1M. Faisons n'importe quel
maillage cubique qui fonctionnera. Quelque chose de 50 par 50 par 50. Bien sûr, c'est un peu petit, donc je vais l'agrandir pour
peut-être le double de la taille là-bas. En fait, laissez-moi revenir en
arrière en bloquant notre balance ici. Je peux le définir sur
deux et appuyer sur Entrée, il l'agrandira
en conséquence en x, y et z. Ensuite, je vais choisir
notre composant Niagara ici. Maintenant, avant cette vidéo, je me suis assuré ajouter
des particules de Niagara à mon projet. Et je vais vous montrer
où vous pouvez les ajouter, car cela peut prendre
un peu de temps. Ici, dans le lanceur
Epic Games, si vous accédez à
Unreal Marketplace, je suis simplement passé dans
la section gratuite ici. Et j'ai fait des recherches pour trouver Niagara. Et ici, j'ai choisi ces kits d'effets visuels de
base. Maintenant, pour l'ajouter à votre projet, vous pouvez cliquer ici. Finalement, vous obtiendrez cette option
Ajouter au projet. Vous pouvez cliquer ici. Maintenant,
cela a déjà été ajouté à mon projet, donc je ne vais pas le rajouter, mais vous pouvez sélectionner votre projet. Si votre projet
ne s'affiche pas, vous pouvez cliquer sur ce bouton pour vous
assurer qu'il s'affiche. Ensuite, vous devez cliquer ici
pour ajouter à votre projet. Maintenant, je peux prendre un peu de
temps pour être ajouté. Une fois qu'il aura été ajouté, je vais
revenir aux
points négatifs une fois de plus sur notre navigateur de
contenu. Il apparaîtra sous forme dossier, d'essai, de soulignement, de
micros, ensemble de micros, etc. Et juste ici, dans mon répertoire, juste ici en tant que système de nagger pour micros
FX. C'est ici que nous pouvons trouver certains effets des particules de
Niagara. Il s'agit du nouveau
système de particules d'Unreal, utilisant Unreal Engine Five. Très bien,
pour en revenir à notre capteur parent, sélectionnons notre système de
particules noires ici. Et là où il est
question du système Niagara, je vais en ajouter
un qui s'appelle l'énergie. Et je vais faire ceci NS
Energy Underscore 2. Ensuite, je vais sélectionner notre composant de mouvement
interp2. Voilà notre particule qui arrive. Et je vais définir quelques points
de contrôle ici, en cliquant sur le
bouton plus une ou deux fois, et je vais développer
chacun d'entre eux. Je vais laisser l'index
zéro à cet endroit, index1, je vais simplement le
faire remonter de 20 dans la
direction z. Ensuite, je vais également définir
notre type de comportement ici comme étant le ping-pong afin qu'il fasse des
allers-retours entre
ces deux points. Maintenant, notre
mouvement de rotation a déjà une vitesse de rotation de 180 en z. Donc, si je devais simuler cela, vous pouvez voir à quoi cela
va ressembler. Faites tourner. Les particules y sont attachées
à notre cube. C'est tellement beau. Très bien, ensuite je vais ajouter
trois variables ici, qui seront finalement
héritées par notre enfant. Je vais donc cliquer sur
la section des
variables de My Blueprint, le bouton Plus juste ici. Le premier s'
appellera pick-up S FX. Et nous allons modifier
le type ici pour qu'il soit base
sonore de basse afin de rechercher cette référence d'objet
de base sonore. Nous les réglerons tous
un peu plus tard. Je vais cliquer sur
le bouton Plus. Nous allons en ajouter
un autre, que nous appelons « pickup VFX ». Je vais définir le type
ici comme étant le système Egg Garage, cette référence d'
objet du système Agora. Et nous allons ajouter
une autre variable ici. Et celui-ci s'
appellera nom de l'article. Et nous allons changer le
type ici pour qu'il s'agisse d'une chaîne. Très bien, en compilant, nous pouvons ensuite définir des
valeurs par défaut pour tout cela. Donc, mon ItemName va définir la valeur par défaut comme nom
de l'article. Pour nos effets Pickup V, je vais placer Coin Burst, qui est un système Niagara. Et pour mon pick-up S of x, je vais en choisir
un appelé objets. Ramassage d'objets C'est dans le contenu du moteur. Si ce n'
est pas le cas, vous pouvez cliquer sur cette icône en forme de roue dentée et
y activer le contenu de votre moteur afin trouver l'objet
qui vous ramasse. C'est ce que je
vais choisir. Vous pouvez échanger les sons
ou les effets de particules de votre choix. Ce seront mes paramètres par défaut. D'accord ? cette base, je vais
compiler et enregistrer tout de suite, puis passer à mon
graphe d'événements où nous
allons créer un
peu de script. Tout d'abord, nous
allons cliquer avec le bouton gauche de la souris et faire
glisser le curseur sur ces trois nœuds d'événements qui sont déjà
là par défaut, nous allons les supprimer. Nous allons cliquer avec le bouton droit sur notre composant de collision de sphères,
puis cliquer avec le bouton droit sur Ajouter Nous allons faire quelque chose quand
nous commencerons à les chevaucher. Nous allons donc l'ajouter
à notre graphique. Et comme vous l'avez peut-être
deviné, pour nous éloigner de notre autre acteur et voir si c'est le
ThirdPersonCharacter qui a fait le chevauchement. Si c'était le cas, nous allons
jouer du son, en 2D. Quel son veux-tu jouer ? Eh bien, nous avons un
son capté juste ici. Nous allons simplement le
glisser-déposer sur l'épingle. Je passe à autre chose. Ensuite, nous allons
partir d'ici et nous allons apparition à l'emplacement, le système apparition à cet emplacement
sous la section Niagara, système de
spawn est l'endroit où vous
pouvez générer des effets visuels Niagara. Nous en avons déjà un enregistré
dans une variable ici. Nous allons donc le glisser-déposer au-dessus du modèle du système. Donnons-lui un lieu. Faisons donc un clic droit. Trouvez la localisation de nos acteurs. Quel acteur ? Ce pick-up parent BP, où
qu'il soit situé, sera l'endroit
où nous voulons le faire apparaître. Ensuite, nous allons faire glisser
la page et imprimer la chaîne. Dans quelle chaîne
voulons-nous imprimer ? Eh bien, nous allons faire glisser vers l'
arrière, pour y ajouter un nœud d'ajout. Et quatre sont un, nous allons taper
un espace entre deux points. Pour le b. Nous allons insérer le nom
de notre objet. Alors glissez-le et déposez-le ici. Nous allons ajouter une épingle supplémentaire. Et je vais faire un espace de points
d'exclamation. Cela devrait donc se lire comme suit : deux-points, espace, nom de l'élément, espace, point
d'exclamation. C'est les deux, ils n'ont pas
vraiment besoin de ces espaceurs entre le nom et
le point d'exclamation. Je vais donc revenir en arrière. Enfin, et ce n'est pas le moins important, nous allons nous y attarder et détruire l'acteur. Ce sera
donc notre scénario. Si vous souhaitez mettre
la vidéo en pause et la regarder de près. voyez, d'accord, ensuite, juste pour Vous voyez, d'accord, ensuite, juste pour
simplifier un peu notre graphique, je vais cliquer avec le bouton gauche de la souris
et faire glisser le pointeur autour
de tous ces nœuds à l'
exception de notre événement. Ensuite, si vous
cliquez avec le bouton droit sur de vos
nœuds sélectionnés ici, je peux cliquer dessus avec le bouton droit de la souris et
je peux le réduire pour fonctionner. Quand je le ferai, ce
sera réduit à un seul nœud et, directement
dans le panneau Mon plan,
sous la zone des fonctions, il sera écrit,
OK, nommez ce truc. Je vais simplement appeler
cette fonction pick-up. Comme ça. Si je
double-clique sur cette fonction, vous pouvez voir à quoi elle
ressemble à l'intérieur. Et c'est génial. Nous avons maintenant un graphique des événements très
simplifié. Allons-y,
compilons et sauvegardons. Je vais en placer un plus
bas dans mon niveau. Et faisons simplement
un test de jeu rapide pour nous
assurer que nous pouvons
effectivement le collecter. Donc, il suffit de glisser-déposer
ce rouge ici. Allons-y et jouons. Et loin. On y va. Ça y est. Une petite explosion
de particules d'air également. Très bien, nous avons pris
un excellent départ. Et dans la vidéo suivante, nous
allons créer un enfant à partir de ce plan et
cet enfant
héritera de tous les composants. Les variables sont les
fonctionnalités de ce parent. Maintenant, c'est un excellent moyen de travailler dans Unreal,
car si vous
y réfléchissez, il y a beaucoup de
choses qui se
ressemblent dans les jeux ,
comme les micros, les armes, les types d'
ennemis, etc. Ils ont tous des
points communs à leur sujet. Alors pourquoi recréer la
roue encore et encore ? Pourquoi créer un plan unique pour chaque
capture de plan que vous
allez avoir ? Il est préférable de travailler en
créant une classe parent. Il aura une grande partie
des fonctionnalités de base
que tous
les micros auront. Ensuite, dans chacune des fonctionnalités de
script pour enfants, ajoutez
des composants sous forme de variables ou de
propriétés spécifiques à
chaque capture individuelle. Mais la
fonctionnalité partagée doit s' inscrire dans le cadre d'un plan parent. Très bien les gars, ça
va offrir celui-ci. Nous vous verrons dans la prochaine.
95. Cours pour enfants (partie 1): Bienvenue. Dans cette vidéo, notre objectif
est de montrer comment créer des classes
Child Blueprint
, puis comment les personnaliser à
partir de là. Maintenant, la création de plans enfants est géniale du point
de vue de ne pas avoir à recréer la roue en laissant
un plan de classe enfant hériter de tous les composants,
variables et fonctions de
base .
de la part d'un parent. Il n'est pas nécessaire de recréer
tout cela chez l'enfant. Au lieu de cela, nous pouvons désormais personnaliser plan de
chaque enfant
comme bon nous semble. De plus, s'il
y a un composant,
une variable ou une
fonctionnalité ajouté que nous souhaitons
ajouter rétroactivement au parent. Tous les plans de classe pour enfants y
gagneront automatiquement, ce qui est plutôt sympa. Très bien, commençons donc à en
montrer un peu en créant d'abord une classe pour enfants. Voici donc le micro de mon père BP. Je vais
cliquer dessus avec le bouton droit de la souris. Et pour créer un enfant à partir de
n'importe quel plan existant, il suffit de cliquer dessus avec le bouton droit de
la souris et c'est parti sur l'option la plus haute. Créez une classe Child Blueprint. Cela va
nous inciter à lui donner un nom. Donc je vais changer
ça pour devenir BP. charge des enfants. Ensuite, je vais double-cliquer
sur ce type pour l'ouvrir. Maintenant, jetez un œil ici. Voici donc le ramassage de mon enfant. La camionnette de mes parents ouverte tout
en haut, ici aussi. Et si je passe de l'un à l'autre, vous pouvez voir qu'
ils ont l'air identiques. Vous remarquerez également que
le pick-up parent possède cette liste de composants. Et remarquez que chez
notre enfant, nous avons exactement la même
liste de composants. Maintenant, dans la liste des parents, nous avons ces variables
juste ici. Dans le pick-up pour enfants. Nous avons ces variables
ici. Et si vous ne voyez pas ces variables héritées
ici, vous pouvez cliquer sur cette petite icône en forme d'
engrenage et vous assurer
que l'option Afficher
les variables héritées est cochée. Vous devez l'avoir coché
pour que ces
variables héritées s'affichent. Parce que si vous les cochez, ils vont au revoir, ils voient les variables
héritées. Et vous y voilà. Maintenant, quelques points
à prendre en compte ici. Si vous regardez en haut à droite, il est dit que notre classe mère
est la camionnette mère BP. Et aussi, dans la
liste des composants, si vous souhaitez
modifier l'un de ces éléments, disons que vous souhaitez modifier ce composant de sphère
si vous avez cliqué ici dans Modifier dans Blueprint, notez ce qui se passe ici. En fait, cela vous ramène
au pick-up de vos parents. Donc, chez l'enfant où vous voyez tout cela
ici, si vous cliquez sur l'un d'entre eux, il reviendra
au parent, et vous dira : « Hé, vous voulez modifier cela
ici chez votre enfant, même si c'est aux parents qu'il appartient de le
faire, car tout changement que vous
apportez chez le parent se répercutera
jusqu'à l'enfant. Maintenant, juste pour me rendre à
ce point très rapidement, je vais ajouter
une lumière temporaire ici dans le pick-up de mes parents. Donc, je vais entrer, ajouter, je vais taper de la lumière. Nous allons ajouter un point, un phare. Je vais m'en tenir à ce nom. Maintenant, si je vais au ramassage des
enfants tout de
suite , tu ne le verras pas. Toutefois, si je vais chez mes parents et
que je clique sur Compiler, je l'
enregistre et je
retourne voir mon enfant. Boom, il y a ce composant
ponctuel qui serait actuellement enfoui à l'
intérieur de mon cube. Voilà où il se trouve
réellement. Je vais le supprimer parce que je ne le veux pas vraiment. Donc, si je voulais le supprimer
, disons pour l'enfant, je pourrais le supprimer ici. Nan. Je ne peux pas le faire. C'est vrai.
Parce que tu essaies de le faire, mais c'est comme si, non, j'héritais de
ça de mes parents. Vous devez donc aller
Modifier et créer un plan, les
supprimer ici, puis les
compiler et les enregistrer. Et ce changement se
répercutera jusqu'à votre enfant. Encore une fois, ce qui
rend le travail cette façon si génial, c'est qu'
avec notre pick-up parent, nous avons créé la fonctionnalité de
base pour récupérer ce pick-up. C'est un simple chevauchement dans
notre graphique des événements, n'est-ce pas ? Et lorsque nous les chevauchons, nous utilisons simplement cette
fonctionnalité ici. Nous n'avons pas à recréer tout cet enfant intérieur et
nous pouvons le démontrer en faisant glisser et en faisant glisser
ce niveau de gars. J'ai donc les
parents sur la gauche. Je vais faire en sorte que le parent soit
un peu plus grand, l'enfant à droite. Et si je me lance et que je joue, tu peux voir que je
peux en prendre une. Je peux aller chercher l'autre. Cette fonctionnalité s'est effectivement répercutée sur notre enfant. Mais ce qui nous rend également géniaux c'est que nous pouvons
apporter des modifications à notre enfant tout en conservant
les mêmes fonctionnalités. Permettez-moi donc de faire quelques changements
très superficiels ici chez notre enfant. Je vais modifier certains
de nos composants ici, pas les composants eux-mêmes, mais les propriétés réelles
des composants. Donc, par exemple, je pourrais sélectionner mon composant de maillage statique et le changer pour qu'il s'agisse
d'autre chose qu'un cube. Je pourrais changer cela pour qu'on prenne un cône,
une forme de cône et la forme du
cône fera l'affaire. Je vais juste le réduire pour qu'il y en ait
un qui soit complet. Criez pour
le synchroniser un peu. Je pourrais remplacer
les effets des particules de mes
éclairs pour qu'ils soient quelque chose comme « Nous allons faire quelque chose
de curatif
avec quelques cœurs ». Bien sûr. Faisons en guérir trois,
peut-être quelque chose comme ça. Mouvements rotatifs Je peux changer ça aussi. Oui, une fois que vous aurez changé
votre système Niagara ici, il vous faudra un
peu de temps pour le remplacer. En fait, je n'
aime pas celle-là parce que c'est une sorte de
feu et oublie-en un. Essayons que la guérison veuille
quelque chose de persistant comme ça. Mouvement d'interprètes. Je peux changer cela aussi. Dans ce cas, nous allons faire
passer la durée d' une seconde à 3 s. Il faudra donc
plus de temps pour qu'elle passe de 1 à 3 s. Positionnez zéro ici
pour la position 1. Je peux modifier mes mouvements de
rotation. Je peux modifier la vitesse
à laquelle il tourne. Donc je vais faire
tourner celui-ci un peu plus vite ici. On va dire 200,
quelque chose comme ça. Et je peux changer mon capteur effets
sonores ne doit pas
nécessairement rester ce capteur d'objets. Je vais changer ça
pour que ce soit une vue flottante. Je ferme n'importe quelle option ici, nous allons simplement essayer
quelque chose de différent. Mon capteur VFX n'a pas besoin
d'y rester le même. Je pourrais changer cela de
coin Burst à coin Burst O2. Et le nom de mon article ne
doit pas nécessairement rester le même. Au lieu du nom de l'article
en tant que nom d'article, je vais le changer
pour qu'il soit Health Back. Bien, une fois toutes
ces modifications effectuées, je peux revenir en arrière et enregistrer. Essayons-le. Vous pouvez voir que cela
semble visiblement différent. Effet de particules différent. Il aura également un effet de
particule différent lorsque nous le détecterons. On dirait que cet effet de
particule
disparaît assez rapidement
ici, mais c'est parti. Le parent, l'enfant. Différents effets de particules,
différents sons, etc. accord,
tout cela est bien beau dans la mesure où notre enfant a bien hérité de la fonctionnalité et des composants initiaux de notre parent. Nous avons simplement remplacé certains éléments superficiels. Notre enfant, ici,
c'est l'apparence de
certains sons et de ce
genre de choses, des variables. Mais étendons un
peu plus
nos fonctionnalités chez l'enfant. Faisons en sorte que,
même si nous n'avons pas hérité de toutes ces choses, tout va bien. Nous voulons amener notre enfant
un peu plus loin. Nous voulons faire quelque chose de spécifique
pour le ramassage de nos enfants ici. Nous allons donc commencer
par notre ThirdPersonCharacter
Blueprint. Je vais examiner des
plans à la troisième personne qui sont la personne, le caractère et notre fonction
de santé. Nous l'avons créé
plus tôt dans le cours. Nous avons créé une fonction
de modification de la santé et elle ressemble à ceci. Nous allons le faire
glisser dans notre graphique des événements. Je vais cliquer avec le bouton droit pour
apporter un événement personnalisé. Je vais appeler ce service de
santé pour enfants. Je vais intégrer
cela à notre fonction de modification de
la santé que nous avons créée. Encore une fois dans une vidéo précédente, nous avons parlé de
la création de fonctions dans notre événement personnalisé de
prise en charge des enfants. Je vais ajouter une entrée ici en cliquant sur ce bouton plus. Je vais donner un nom à cette santé. Je vais passer
du type booléen au type flottant. Et je vais
intégrer cela
immédiatement à notre fonction de modification
de la santé afin que nous transmettions cette
valeur de santé à notre fonction. Nous allons transmettre
quelque chose à
ce sujet dans nos camionnettes pour enfants. Vous le verrez ici
dans peu de temps. Ensuite, ce que je vais
faire, c'est apporter une chaîne d'impression ici. Ensuite, je vais
faire glisser vers l'arrière ma chaîne d'impression et
ajouter un nœud d'ajout. Et je vais avoir ma
valeur ici, c'est simplement dire l'espace du côlon sain. Et notre valeur b sera la santé actuelle que nous aurons
après avoir fait ce calcul, en la
faisant glisser comme si cela allait
simplement apporter un nœud de conversion,
convertir un float
en une chaîne. Notre fonction de modification de la santé ressemble donc
actuellement à ceci. Si je double-clique dessus, vous pouvez voir ce qu'il fait là. Nous émettons des
sons différents en
fonction de la valeur de santé
transmise. Nous saluons également cette valeur pour la
santé. Mais c'est essentiellement
ce que nous sommes en train de faire. Compilons ceci, il est très
important que vous le
compiliez et que vous l'enregistrez. Et il est important que
vous compiliez afin que nous puissions
réellement faire appel à
cette fonction ou
à des événements plutôt personnalisés qui
se produiront lors de la prise en charge de notre enfant. Très bien, donc tout cela est fait dans votre
ThirdPersonCharacter Blueprint, à retourner à
la prise en charge de
votre enfant. Maintenant, à l'intérieur d'ici, si vous faites une recherche dans
votre graphique d'événements, vous vous dites : «
Je ne vois pas », je ne vois aucune de
ces fonctionnalités ici dans notre parent. Nous sommes en train de créer des scripts
ici, comme ça. Et je sais que nous avons créé
cette fonction, cette fonction de capture
ici, chez mes parents. Ça ressemble à ça, mais si je vais voir mon enfant, je ne vois rien de tout cela. Eh bien, dans notre
section des fonctions du panneau My
Blueprint, si vous arrivez directement ici, vous pouvez annuler la fonction de
prise en charge qui existe
actuellement à l'intérieur
de votre pick-up BP parent. Donc, si nous cliquons dessus,
nous verrons maintenant cette fonction de
capture que nous avons
créée dans notre parent. Et voici à quoi cela
ressemble à l'intérieur de notre parent, à l'intérieur de notre enfant. Cela ressemble à ceci où
nous passons simplement un appel à la
prise en charge de nos parents en disant, oui, que c'est la fonction
que nous voulons exécuter. Maintenant, je peux étendre cela
encore plus loin. Ce que je vais faire ici, c'est
cliquer avec le bouton droit de la souris et saisir un
espace vide pour obtenir le personnage
du joueur. Passez à ThirdPersonCharacter,
comme ça. Maintenant, parce
que nous avons créé cet événement personnalisé dans
notre ThirdPersonCharacter, et vous êtes sûr de
compiler et de sauvegarder. Nous allons passer un appel pour
cet événement personnalisé de prise en charge de
la santé des enfants. Donc, dans notre ramassage pour enfants, je peux maintenant sortir
d'ici et taper ramassage santé des enfants. Et cela fera
appel à notre ThirdPersonCharacter
Blueprint pour l'exécuter. Maintenant, de retour ici, dans
notre pick-up pour enfants, nous devons transmettre un peu de
santé que nous aimerions transmettre
à l'un ou l'autre talon,
sinon nous pourrions blesser notre caractère. Je vais juste régler quelque chose mais vous pouvez
cliquer dessus avec le bouton droit de la souris. Vous pouvez le convertir en
variable ou en variable locale. Une variable locale ne serait vue que par cette
fonction ici. Je vais juste inscrire des
points à cinq ici. Je vais compiler ceci aussi. Et permettez-moi de revenir à mon
plan ThirdPersonCharacter et m'assurer que
notre état de santé actuel
est actuellement réglé à 100 %. Je vais donc le fixer
à 50 %. Et juste pour les tests de jeu rapides, je veux m'assurer que
notre compteur de santé indique effectivement 50 % de santé. D'accord, donc une fois tout cela fait, nous pouvons
réellement entrer et jouer. J'aurais pu juste le
tester là-bas , mais je ne pensais pas bien. Remarquez donc que mon oreille
droite est en bonne santé à 50 %. Cela devrait le guérir
jusqu'à ce qu'il figure sur l'indicateur de santé, car c'est ce
que nous
lui demandons de faire. Et nous y voilà. Nous avons en effet amélioré
notre santé de 2,75. Et tu as vu
passer cette ficelle aussi. Vous avez donc vu ici, à l'intérieur
de mon pick-up pour enfants, que
j'ai simplement étendu cette
fonctionnalité que nous avions déjà
héritée du parent. Le pick-up des parents
contenait déjà un script ici. Donc, lorsque nous chevauchons cette sphère, nous allons faire appel
à cette fonction, à
cette fonction de captage
à l'intérieur des parents. Notre enfant va donc
hériter de tout cela. Et notre enfant va également
l'étendre par ici. Nous faisons
appel à l'événement personnalisé dans
notre ThirdPersonCharacter. autre chose à
noter ici est que lorsque nous sommes venus chercher notre enfant ici, remarqué en haut à gauche
qu'il était écrit « Got Health pack ». Et la raison en est
que le pack de santé God est parce qu'ici, lors de la collecte de
notre enfant, nous changeons le nom
de l'article en pack de santé. Et si vous vous en souvenez, dans la fonction de
ramassage des parents que nous avons créée
ici nous disons obtenir le nom de l'article,
puis le point d'exclamation. Respectons donc tout cela. Il appelle cette
fonction de ramassage à l'intérieur de notre parent. Mais il s'agit également de respecter les noms de variables que nous avons modifiés ici dans
notre collecte pour enfants, à savoir ne plus dire le nom de
l'article dans
notre ramassage pour enfants, nous avons dit non, c'est
maintenant pour dire pack de santé.
96. Cours pour enfants (partie 2): Très bien, dans la deuxième partie, nous allons
discuter de certaines des
nuances
les plus fines que vous pouvez
rencontrer lorsque vous
travaillez avec des nuances
les plus fines que vous pouvez
rencontrer lorsque vous plans de classe pour parents et
enfants, certaines choses que vous
devez savoir
à propos de. Supposons donc que vous créiez un pick-up pour parents comme nous l'avons fait. Et disons simplement que nous avons
ajouté ces composants rotatifs et
mobiles comme
nous l'avons fait et que nous voulons
faire en sorte que tous les enfants de ce plan obéissent à
cette vitesse
de rotation d'un atm, il n'
y a aucune chance nous ne voulons pas que les plans
de classe pour enfants
s'écartent de cette valeur. Nous voulons les mettre en
lock-out pour ainsi dire. Eh bien, nous pouvons le faire ici
si nous pouvons décocher cette case modifiable en cas d'
héritage. Et vous
trouverez cette case à cocher sur tous nos différents
composants ici. Ce qui se passe, c'est que lorsque vous
décochez cette case et
que je le ferai, je vais la décocher. Et puis je vais le
compiler à nouveau et le sauvegarder. Maintenant, si je passe à la collecte de
mon enfant, il héritera de toutes ces valeurs parce que je
viens de compiler et de dire que ces modifications
se propageront jusqu'à l'enfant une fois que vous aurez apporté quelques
modifications à votre parent. Notre taux de rotation est donc de 180. Notre camionnette pour enfants
aura désormais la même vitesse de rotation, soit mouvement de
rotation de 180. Mais jetez un œil à ça. Je ne peux modifier aucune des
propriétés ici. En fait, en haut, il est indiqué que le drapeau des composants n'est pas
modifiable lorsqu'il est hérité. C'est cette
case à cocher ici. Lorsqu'il est hérité, il doit être modifié
dans les plans parents. Donc ça me fait savoir, hé, tu ne peux pas changer ça ici. Vous devriez revenir à
vos plans de paire. Si tu cliques ici, ça m'
a renvoyé chez mes parents. Je pourrais cliquer sur cette
case tout de suite. Et une fois que j'ai cliqué sur cette case, je peux
retourner voir mon enfant et oh, je ne peux plus la changer encore. Cependant, si je
retourne chez mes parents, compile,
puis que je pourrai le modifier une fois de plus. C'est donc quelque chose que vous devez absolument
savoir. autre chose à noter ici
est que ce n'est pas parce que vous avez défini
une propriété dans votre panneau de détails pour un composant donné défini
une propriété dans
votre panneau de détails pour un composant donné
que cela correspondra à la valeur réelle de la propriété
respectée dans le
jeu. Permettez-moi maintenant de
vous montrer un exemple de ce que je veux dire
exactement par là. Je vais changer le ramassage de mon
enfant ici pour avoir un
taux de rotation de seulement dix. OK ? Taux de rotation ici de dix. Et les parents avec les
composants du mouvement rotatif sélectionnés. Je vais le changer ici
trop, en fait je vais le laisser à 180. Donc, vous pourriez penser OK, le danger des
parents à 180 ans, l'enfant l'a à dix ans. Cependant, si chez mes parents voulais
faire quelque chose sur Event
Begin Play dans l'
Event Graph . Je vais maintenir la touche P
enfoncée et
cliquer avec le bouton gauche pour que l'
événement commence à jouer. Ensuite, j'intègre des
composants dans
mon mouvement de rotation afin de pouvoir en
parler d'une manière ou d'une autre. Et je dis qu'une fois ces
composants de mouvement de rotation sélectionnés, je vais les faire glisser vers l'
extérieur et modifier le taux de
rotation de cette propriété. Donc, en sortant de
ce taux de rotation, je vais définir
le taux de rotation. Et je dirais que nous allons
le fixer à 1 000. Alors, notez ce que j'
ai à faire ici. La composante du mouvement rotatif, je l'ai réglée sur 180. Mais au début du jeu, je change cette
valeur pour qu'elle soit de 1 000. Ici, dans le pick-up de mon enfant. Il faut que ce soit dix, tu peux dire, d'accord, ça
va être dix pour ça. Mais n'oubliez pas que l'
enfant
héritera de toutes les fonctionnalités
configurées chez le parent. Et le parent dit en ce
moment, hé, dès que nous aurons commencé à jouer, vous allez changer votre mouvement de
rotation à 1 000. L'enfant va donc
respecter cela également. Donc, si je reviens ici
sur ma carte de test de niveau, et qu'en fait, un cône
est un maillage vraiment médiocre pour voir ce taux de rotation, je vais échanger ce
cône très rapidement, revenir dans un maillage statique
enfant. Faisons quelque chose que nous pouvons réellement voir
tourner. Que diriez-vous de cette pipe ? Nous allons voir tourner autour de nous. Très bien, donc maintenant, si je
devais simuler, c'était pour lancer le jeu, mais pas vraiment me
lancer et jouer. Vous pouvez voir qu'ils
tournent tous les deux assez vite. En effet, celui-ci
semble tourner un peu plus vite
parce qu'il y a toutes
ces particules qui
dansent. Mais en effet, ils
tournent tous les deux à un rythme assez rapide, le rythme que nous avons
établi chez le parent, c'est-à-dire 1 000, parce que notre enfant ne fait certainement pas tourner les choses.
à raison de dix. Maintenant, je pense que le principal point à retenir
est d'être conscient endroit où vous créez un script. N'oubliez pas que si vous créez un
script à l'intérieur de vos parents qui
va se propager vers le bas, qui est filtré jusqu'
à votre enfant, chez tous les enfants que votre
enfant peut également avoir. Donc, si vous voulez avoir
des fonctionnalités uniques à l'enfant, uniquement scriptées au sein de l'enfant, et éviter de les
écrire dans le parent,
car cela s' appliquera
à n'importe qui
dans la chaîne de la lignée. Cela nous amène
au point suivant. Tout comme vous voyez ce
parent avoir un enfant, notre plan pour enfants peut
également avoir un descendant. Essayons-le donc. Je vais revenir à
mon navigateur de contenu ici. Avec notre service de ramassage d'enfants, je peux maintenant cliquer
dessus avec le bouton droit de la souris et créer une classe Blueprint pour enfants Et je vais appeler cela le trait de soulignement
BP. Nous allons appeler ce
petit enfant. Décroche. Si je double-clique dessus
pour l'ouvrir. Et laisse-moi juste le
mettre ici. Nous avons donc des parents, des
enfants et des petits-enfants. Nous pouvons voir que la
classe parentale est la prise en charge des enfants, mais que notre prise en charge des enfants a
une prise pour les parents au-dessus. Alors jetez un œil à ça. Notre petit-fils, on pourrait
penser que notre taux de rotation serait le même que celui notre pick-up parent à cause
de ce que je viens de décrire, notre parent va
annuler le mouvement de rotation pendant
le
jeu Pas 181 000, l'enfant va
respecter ça lui aussi. Et nos
petits-enfants devraient le faire aussi, n'est-ce pas ? Allons-y et essayons. Des endroits par ici. Et nous devrions également donner aux petits-enfants un maillage différent, juste pour leur faire comprendre
que c'est différent. Je vais donc sélectionner ces
maillages statiques ici et essayer ces pyramides quadruples,
quelque chose comme ça. Et donc maintenant, si je
devais simuler cela
, Alt plus
S le simulerait. Ils tournent tous exactement
de la même manière. C'est juste une petite
astuce visuelle. Celui-ci semble tourner plus lentement, mais ils
tournent tous exactement à la même vitesse. Donc, tout ce que nous avons
configuré chez notre parent pour script se propagera
jusqu'à l'enfant, ce qui se propagera également
aux petits-enfants. Très bien, encore un concept
que je veux démontrer ici, et il concerne les remplacements
d'entrée. Maintenant, je vais retourner chez
mes parents. Une fois de plus, la
photo de mes parents descend de la
classe d'acteur comme un modèle. plans de classe d'acteur
ne sont pas traités. C'est-à-dire qu'ils ne déclenchent pas d'événements de saisie au
clavier
par défaut, mais nous pouvons faire en sorte qu'
ils reconnaissent que c'est pour déclencher des événements de
saisie au clavier si nous les configurons de cette façon. Je vais donc vérifier les valeurs par défaut de
ma classe ici. Et dans la
section des détails où il est dit entrée, entrée de réception automatique. Je vais passer de
désactivé à joueur zéro. Ce faisant, je peux maintenant ajouter un événement de saisie au clavier ou
un événement de saisie du contrôleur. Et il le reconnaîtra. Maintenant, on change ça ici,
dans le pick-up de mes parents. Si je vais chercher mon enfant, c'est même classe par défaut, et nous
tombons dans la section de saisie. Il le configure désormais également en
tant que zéros de joueurs. Pareil pour nos petits-enfants,
nous appliquons les valeurs par défaut de votre classe. Ces changements se sont
répercutés d'un bout l'autre de la chaîne. C'est génial Très bien,
retournons voir nos parents. Et dans un espace vide, je vais cliquer avec le bouton droit de la souris
et faire quelque chose lorsque nous utiliserons le clavier. Allons-y, allons-y, nous allons faire la touche K à
côté du KCI. Bien, en
appuyant sur le KCI, nous allons imprimer une chaîne. Et ce que nous allons
essayer d'imprimer, c'est simplement être des parents. Et avec notre touche K
sélectionnée ici, notez que sur la droite,
nous avons vérifié les entrées de consommation et
vérifié le remplacement de la liaison
parent. Maintenant, ce qui se passera
ici quand je
jouerai, laissez-moi simplement cliquer sur
ces trois points, laissez-moi simplement cliquer sur
ces trois points, pour accéder à une nouvelle fenêtre d'édition. Je vais définir mon option de débogage
ici pour qu'elle soit prise en charge par mes parents. Remarquez que je peux choisir
n'importe laquelle de ces trois options, mais je vais choisir la camionnette de
mes parents. Ouvre cette fenêtre. Quand j'appuie sur la
touche K juste ici, je vois le parent
imprimé une seule fois. Une seule fois. Maintenant, vous vous dites peut-être : « Bon sang
», j' ai pensé
que toute sorte
de modification de script
que vous avez apportée semblait se propager jusqu'à l'enfant et donc
petits-enfants aussi. Alors pourquoi ne l'avons-nous pas vu
imprimé une seule fois ? Pourquoi ne l'avons-nous pas vu
imprimé trois fois chez les parents que
chez l'enfant et les petits-enfants ? Eh bien, cela fonctionne
ainsi parce que notre entrée de consommation
ici est vérifiée. Cela signifie
que d'autres acteurs
moins prioritaires ne s' occuperont pas de cette fonction. Cela signifie qu'il s'arrêtera
là et qu'il mourra ici. Maintenant, notez ce qui se passe
lorsque je désactive
cette case à cocher Consommer des entrées. Allons-y et rejouons. Je vais appuyer sur
ce KCI et regarder en haut à gauche de
notre fenêtre de jeu, nous voyons le parent
imprimé trois fois. En effet, en ne
consommant pas l'entrée ici, nous permettons à cette touche, la touche
K, de se propager vers le bas. Cela doit également fonctionner chez
notre enfant lors de la
prise en charge de ses petits-enfants. Ainsi, lorsque la case Consumer
Input est cochée, elle fonctionnera juste
au niveau le plus élevé. Si vous décochez cette case,
cette modification
se répercutera sur
tous les descendants. Très bien, poussons
tout cela un peu plus loin. Je vais cliquer avec le bouton gauche de la souris, copier ces nœuds
ici, contrôler C. Et je vais entrer dans
Maya Child Pick-up. Et à l'intérieur de mon graphe d'événements, je vais simplement appuyer sur
Control V pour les coller. Maintenant que ma touche K
est sélectionnée dans le panneau Détails, je vais dire qu'il faut
consommer la saisie ici. Et je vais aussi changer ma chaîne d'impression et
maintenant être un enfant. OK, et allons-y
et faisons des tests à partir d'ici. Maintenant, ce que vous verrez
quand j'appuie sur la touche K, laissez-moi configurer
le capteur de mon enfant
ici comme étant celui
que nous voulons voir. Quand j'appuie sur la touche K. Maintenant, tu vas voir un
enfant, un enfant unique. Maintenant, quelque chose à noter ici. C'est parce que notre enfant
est prêt à consommer des données, ce qui signifie que les parents
ne les enregistreront pas. Maintenant, c'est de la gourmandise. Ça dit de le consommer
ici, d'ignorer nos parents. C'est pour cela que nous voulons
traiter cette clé de saisie. Maintenant, si nous la décochons ici, décochons la case Consommer l'entrée ici dans notre collecte d'enfants BP
et
jouons à nouveau, en appuyant sur ce
KCI et maintenant nous voyons parent enfant enfant. Que se passe-t-il ici ? Eh bien, en ne le consommant pas, nous l'autorisons également
à être utilisé à l'intérieur
du pick-up de nos parents. Notre parent dit qu'il y a un parent ici dans notre enfant, nous
voyons un enfant. Et n'oubliez pas que nos petits-enfants
descendent de nous, l'enfant aussi. Donc enfant, enfant, mais
chez le parent lui-même, qui désélectionne également,
consomme des entrées. Ça dit « parents ». C'est pourquoi nous avons vu le
résultat que nous y avons vu. Très bien, alors vous l'avez. Le concept d'héritage mis
en évidence dans Unreal et la
puissance qu'il procure. Nous avons
démontré ici que vous pouvez créer un pick-up pour parents. À partir de là, vous pouvez
cliquer dessus avec le bouton droit de la souris et créer un ramassage enfant qui
héritera de toutes les
propriétés et fonctionnalités du parent
à l'intérieur de l'enfant, vous pouvez créer des
fonctionnalités personnalisées. Vous pouvez personnaliser
certaines variables ainsi que certaines propriétés des
composants. Ensuite, nous avons également montré que vous pouvez maintenir la lignée. Vous pouvez cliquer avec le bouton droit sur
votre enfant et créer également
un petit-enfant. Ces puissants
concepts peuvent donc être utilisés tout au long de votre jeu pour simplifier les différents systèmes que vous
souhaiterez peut-être intégrer, tels qu'un système de collecte
d'armes, de nombreuses armes à récupérer . Ils peuvent tous avoir leurs propriétés
uniques, mais la fonctionnalité de ramassage, pour
ainsi dire,
resterait la même. Les gars qui vont
tout faire pour cette vidéo. Rendez-vous dans la prochaine.
97. Aperçu du cadre: Très bien, bienvenue à tous. Dans cette vidéo, notre objectif est
de vous familiariser et de
comprendre
ce que l'on appelle les plans
cadres dans Unreal Il s'agit d'un
sujet essentiel que tous ceux qui travaillent dans Unreal
devraient connaître. Quels sont donc
ces plans directeurs ? Eh bien, ce sont des
plans de haut niveau associés à un projet qui déterminent les éléments
clés de votre jeu, tels que les règles de votre jeu. Ce genre de choses est
souvent contenu dans le plan d'un mode de jeu, ou dans le joueur de votre jeu, également connu sous le nom de
personnage ou d'étang. Aviez-vous contrôlé
ce genre de choses ? Alors, où se
trouvent ces plans directeurs ? Eh bien, chaque projet en
possède par défaut, et en fait, certains
existaient jusqu'à présent
dans le cours. Certains d'entre vous sont au courant, d'autres pas, mais c'
est ici que nous allons tout révéler. Vous pouvez donc trouver ces plans
de structure ici, en haut à droite de votre éditeur sous Paramètres, paramètres
du projet. Ici, si vous sélectionnez
des cartes et des modes, nous avons un mode de jeu par défaut. Et votre mode de
jeu par défaut contient tous
ces plans. Souvent, cela s'effondre. Vous pouvez développer cela. Vous pouvez donc voir à l'
intérieur que nous avons un mode de jeu. C'est Default Pawn Class, une classe HUD, un contrôleur de joueur. Et j'ajouterais même
la classe d'instance de jeu, qui se trouve ici. Nous parlons ici de tous ces plans,
et ceux-ci, ici même, sont connus sous le nom de vos plans de
cadre. Maintenant, je viens de
vous montrer que vous pouvez y accéder dans les paramètres, les
cartes et les modes de
votre projet en cliquant sur ce bouton
juste ici. Sinon, si vous
faites l'objet de modifications, vous pouvez également y trouver
les paramètres de votre projet. Vous pouvez accéder à des cartes
et à des modes et également trouver vos
plans de structure. Sinon, si
vous cliquez ici et que vous accédez aux
paramètres de votre projet ici, vous pouvez voir votre plan de mode de jeu. Et puis ci-dessous,
vous pouvez également voir certains de ces plans de cadre dans cette section, ici même. Maintenant, chacun de ces différents schémas de
structure tels que le mode de jeu, un personnage, une
manette de jeu. Ce sont tous des
types spécifiques de plans. Nous verrons certaines d'entre elles et expliquerons comment les
créer dans les prochaines vidéos de cette
section du cours. Maintenant, dans cette vidéo de présentation du
framework, il est important de
noter que même si nous avons quelques plans, certains plans de cadre
se trouvent dans paramètres de
notre projet
ici, des cartes et des modes. Ce sont
nos plans directeurs. Ce sont des plans
qui contrôlent tout ce qui concerne notre projet. C'est-à-dire chaque niveau que nous
créons au sein de notre projet. Il est possible de remplacer ces plans
de cadre par niveau, par masse. Nous pouvons le découvrir en
revenant à notre éditeur de niveau principal. Si je passe sous Fenêtre et que j'
accède aux paramètres de mon monde, nous pouvons voir si je
passe dans la section Mode jeu et je clique sur ce
menu déroulant ici. C'est là que je peux remplacer mes plans de framework
pour un niveau spécifique. On les trouve dans
les décors du monde. Donc, si dans les paramètres de mon projet
j'avais un framework, plans sont configurés pour mon projet et déterminent des
choses comme, Eh bien, je vais contrôler
le ThirdPersonCharacter tout au long de ce qui est déterminé
par ma classe de pion par défaut. Je peux en fait
faire en sorte que une carte spécifique avec
un niveau spécifique, je puisse définir un
étang spécifique que je souhaite
contrôler juste à l'intérieur de
ce niveau qui se trouve dans
les paramètres du monde. Vous pouvez donc le trouver
non seulement dans l'option
Paramètres du monde Windows. Vous pouvez également le trouver
ici, en cliquant juste là. Et vous pouvez voir si les paramètres de votre
monde l'emportent votre mode de jeu. À l'
heure actuelle,
nous pouvons voir que sur
votre mode de jeu. À l'
heure actuelle,
nous pouvons voir que nous n'annulons rien. C'est là que se trouve cette
alerte. Très bien, encore une fois, c'est notre aperçu des
plans de cadre, vos
plans de cadre contiennent ces plans ici. J'ajouterais également les instances du
jeu, eh bien, sont tous des types de
plans différents et elles contiennent des
informations clés sur votre jeu, telles que les règles
qui déterminent
le plan de Gamow, personnage que
vous contrôlez, la classe Pawn, etc. Nous allons les
explorer plus en détail tout au long de cette
section du cours. Nous vous verrons dans la prochaine vidéo.
98. Mode de jeu (partie n° 1): Dans cette vidéo, notre
objectif est de découvrir l'importance du schéma du
mode jeu dans Unreal Nous allons découvrir ce qu'
il fait, comment en créer un et comment inciter notre
projet à utiliser cet atout. ce cours, nous avons un
plan de mode de
jeu Depuis le début de ce cours, nous avons un
plan de mode de
jeu dans
les paramètres de
notre
projet . Maintenant, lorsque nous avons créé
ce projet, nous utilisons le modèle à la troisième
personne. Et dans notre dossier
Blueprints à la troisième personne trouvait ce mode de jeu BP à la
troisième personne. Si vous accédez à vos
paramètres, Paramètres du projet, vous pouvez voir dans la
section
des cartes et des modes que le mode passerelle
par défaut a été automatiquement défini
comme BP, mode de jeu à la troisième personne. Il y en a donc eu un
ici depuis tout ce temps. Maintenant, qu'est-ce que le plan de
Gamow ? Eh bien, c'est l'une des
deux classes principales qui gèrent les
informations sur le jeu. L'autre étant le plan d'état du
jeu, qui est un autre
schéma directeur ici. Désormais, les modes de jeu sont
conçus pour définir et mettre en œuvre les
règles de votre jeu. Quelques exemples incluent le
nombre de joueurs autorisés, apparition et de réponse fonctionnalité d'apparition et de réponse des joueurs, la transition entre les niveaux,
etc. Désormais, le mode de jeu détermine
également les autres classes par défaut
utilisées dans votre jeu. Maintenant, pour vous aider à comprendre
ce point, je vais revenir à
mon éditeur de niveau et double-cliquer sur notre mode de jeu à la
troisième personne. Maintenant, si vous voyez cela, c'est
ce que l'on appelle
un plan de données uniquement. Mais même ici, nous pouvons le voir dans ce mode de jeu à la
troisième personne, voici nos différents autres modèles de
framework,
tels que notre classe de
manettes de joueurs. C'est quelque chose que nous avons
créé plus tôt dans le cours. Et nos classes de
pions par défaut sont BP, ThirdPersonCharacter à l'intérieur
de votre plan Gamow. C'est là que vous placez le
reste de votre pied,
vos plans de cadre. Vous pouvez le faire ici ou dans les paramètres de
votre projet. Si vous le modifiez à un endroit, vous le modifiez à l'autre. Maintenant, juste pour votre information, vous pouvez ouvrir ce que l'on appelle l'éditeur de plans complet
en cliquant ici
si jamais vous le voyez. Mais même ici, dans votre
jeu ou plan à la troisième personne, si vous avez
sélectionné la classe par défaut
ici, vous trouverez tous vos différents plans
de
framework. Encore une fois, ils sont
associés au schéma de votre mode de jeu. Je viens de mentionner tout à l'
heure que le plan de Gamow était l'une des deux classes permettant de gérer les
informations sur votre jeu, l'autre étant l'état du jeu. Le mode de jeu
n'existe donc que sur le serveur, alors que le jeu indique
ce type juste là. Vous pouvez le trouver dans les paramètres de
votre projet directement
sur le serveur et
répliqué sur tous les clients. Très bien, créons notre propre plan Gamow puis définissons-le ici dans les paramètres de
notre projet. Donc, pour ce faire, je vais
retourner à notre éditeur de niveaux. Maintenant, plus tôt dans le
cours, dans mon dossier de scripts, j'ai créé un dossier
en cliquant avec le bouton droit de la souris ici, nouveau dossier. Je l'ai nommé Framework. En fait, j'ai créé l'un de nos
plans de framework plus tôt dans le cours, à savoir le plan du joueur et du
contrôleur. Je l'ai créé lors de l'événement. Passez le curseur sur la vidéo. Si vous voulez revoir cela. Bien que nous
parlerons bientôt des manettes de jeu, c' est
dans ce répertoire que je
vais créer un
tout nouveau mode de jeu. Cliquez donc avec le bouton droit sur un
espace vide dans la classe Blueprint. Et ici, dans la classe que nous avons
choisie, nous pouvons choisir un nouveau mode de jeu. C'est ce que l'on appelle la base du mode jeu. Et il dit même que cela définit
le jeu joué, ses règles, ses scores, etc. Nous allons cliquer dessus. Je vais l'appeler notre mode de jeu
BP Underscore. Ensuite, une fois cela créé, je vais cliquer avec le bouton droit de la souris
et l'enregistrer immédiatement. Control plus S peut également
enregistrer cela. Et je peux l'intégrer
dans les paramètres de mon projet. Encore une fois, vous pouvez accéder aux paramètres de
votre projet ici et ici. Sous les cartes et les modes
se trouvent le mode jeu par défaut. Je vais changer cela
pour qu'il devienne mon mode de jeu BP. Maintenant, notez qu'une fois que je l'ai
fait, vérifié ,
le reste de mes plans de
framework sera automatiquement défini . Maintenant, mon ThirdPersonCharacter n'
est plus ici. Maintenant, je l'utilisais avec ma manette de jeu
que j'ai fabriquée plus tôt. Je vais donc vouloir les
remettre ici. Je vais donc terminer
mon mode de jeu à la troisième personne que
j'ai ouvert ici. Fermez ça. Et je vais ouvrir mon mode gay
BP ici. Notez donc que si je change ma classe de pion par défaut dans mon mode de jeu BP
que je viens de créer, si je la redeviens
BP ThirdPersonCharacter, si je la change ici
dans les paramètres de mon projet, sous Default Pawn Class, cela l'a également changé ici. De même, si
je change de manette de jeu, il
s'agit de la manette jeu que j'ai créée plus tôt
dans le cours. manette du lecteur Bp
en cas de début de
curseur sur la vidéo. Si je change ça
ici,
les paramètres de mon projet , le contrôleur BP Player. Et je vais regarder à l'intérieur
de mon mode de jeu BP. Vous pouvez voir que ce changement
se reflète également ici. Donc, vous le modifiez à un endroit, vous le modifiez à l'autre. Je vais aller de l'avant et le
sauvegarder ici. Maintenant, notez que ce n'est pas le seul endroit où
j'aurais pu modifier toutes ces informations ou même
définir mon mode de jeu lui-même, Bacchae par éditeur de niveaux. Si je devais cliquer
ici sous ce bouton
Blueprints, vous pouvez voir les
paramètres du projet, le mode de jeu. Je pourrais créer un mode de
jeu à partir d'ici. Je peux modifier mon
mode de jeu à partir d'ici. Et en bas, j'
ai aussi mes différentes classes de mode de
jeu. Je pourrais donc sélectionner par exemple une manette de lecteur à partir d'ici. Je pourrais créer une
manette de jeu à partir d'ici. Toutes sortes d'options sous ce
bouton Blueprints, juste ici. C'est ainsi que vous pouvez
accéder à votre mode de jeu, modifier votre jeu, en
créer un nouveau, modifier tous les plans de
structure qui existent à
l'intérieur de celui-ci. Très bien, maintenant, pour un exemple, utilisez le cas d'un plan de
mode jeu. Je vais avoir besoin d'un
volume de déclenchement et j'en ai un à côté
de mon niveau. Mais si vous souhaitez
obtenir un volume de déclenchement ou une boîte de déclenchement, pareil. Vous pouvez cliquer ici. J'aime utiliser la boîte Trigger
de base. Allez-y et
déposez-le dans votre niveau. Ensuite, en l'sélectionnant
dans le panneau Détails, vous pouvez définir l'étendue de votre boîte. J'en ai des centaines à tous les niveaux. J'ai réglé l'
épaisseur de la ligne à dix. Et puis j'ai aussi, dans
la section de rendu, désactivé l'acteur caché
et les jeux pour que je puisse réellement voir ce volume de
déclenchement. Maintenant, dans l'ancien plan de mon
jeu, je vais créer une variable. Donc, en passant dans la section des
variables, en cliquant sur ce bouton plus, je vais appeler cela des niveaux. Et dans le
panneau Détails juste en haut, je vais changer le type de
ma variable, au
moins la première moitié
pour qu'elle soit un entier. Ensuite, je vais cliquer sur
cette petite liste déroulante juste à
côté parce que je vais
changer le type ici,
le type de conteneur pour être
un type de conteneur de carte. Cela va me permettre de
créer une paire clé-valeur. Si vous n'avez pas vu la vidéo sur les conteneurs variables Map, c'est le bon moment
pour la revoir maintenant, sinon je vais
continuer. Donc, notre clé ici
sera de type
entier. La
valeur R ici sera du type nom. Je vais compiler ceci et ajouter deux paires
clé-valeur. La première chose que
nous allons ajouter
est donc de cliquer sur ce bouton plus. Et je vais faire en sorte que ce
premier soit de niveau 1. Et je vais définir la
valeur ici pour qu'elle soit la carte de départ. Ensuite, je vais cliquer sur
le bouton Plus une fois de plus. Je dirais que le niveau deux sera
associé à un score de soulignement minimal par défaut. Maintenant, si
ces deux noms de cartes vous semblent familiers , c'est parce
que dans
notre contenu de départ, cartes, j'ai deux
cartes portant ce nom, une carte de départ, une, des valeurs par défaut
minimales. Vous remarquerez qu'en encadrant la carte de
départ dans ma variable, il y a un
peu de différence, mais cela n'a pas d'importance. Pas pour les noms, pas pour la
gravure de types de variables. Donc, tout
va bien se passer. Je vais compiler et enregistrer ceci très important pour que vous
le fassiez pour la prochaine étape. Ensuite, je
vais
revenir à mon éditeur de niveau ici. Nous avons notre Trigger Box. Assurez-vous de l'avoir sélectionné pour
notre prochaine étape ici. Et en cliquant sur notre
bouton Plan, juste ici, nous allons cliquer sur ce plan de niveau
ouvert. Assurez-vous que
votre boîte de déclenchement sélectionnée Open
Level Blueprint. Et nous allons cliquer avec le bouton droit
et laisser de l'espace vide. Nous allons ajouter un
événement pour cette boîte
de déclenchement pour lorsque nous commencerons à la
superposer, nous voulons savoir si l'autre acteur était notre
ThirdPersonCharacter. Alors Cast to ThirdPersonCharacter, nous l'avons fait 1 million de fois. Et si en fait c'est notre ThirdPersonCharacter
qui nous chevauchait, nous voulons accéder à certaines informations
de notre mode de jeu. Maintenant, la façon dont nous pouvons le faire
est de cliquer avec le bouton droit de la et de laisser un espace
vide et de taper
dans le mode jeu Maintenant, vous pourriez
penser : OK, super. Nous pouvons maintenant y accéder avec
cette note ici. Eh bien, pourquoi ne pas simplement sortir d'ici
pour voir si je peux accéder à cette variable de niveau
qui se trouve à l'intérieur d'ici. Alors allons-y
et essayons ça, non ? Sortons d'ici
et saisissons des niveaux. Et je ne vois cette
variable nulle part ici. Eh bien, c'est parce que nous devons
passer en mode de jeu RBP pour accéder à variable de niveau
qui se trouve
à l'intérieur de celui-ci. Essayons donc ce
médicament par ici. Passez au mode de jeu BP. C'est le Gamow
que nous venons de créer. Donc, si vous avez
une configuration comme celle-ci, vous pouvez
maintenant sortir du
volet de votre mode de jeu SBP ici, taper des niveaux, et
juste ici, vous pouvez obtenir vos niveaux, votre valeur clé paires. On va faire ça, c'
est sortir d'ici. Je vais taper bind. Et je vais
dire que lorsque nous
commençons à nous chevaucher, nous
voulons trouver le look numéro deux là pendant que nous
parlons ici en mettant le numéro deux, nous voulons
accéder au niveau juste ici, et nous voulons ensuite ouvrir le nom de la carte
associé au niveau deux. Nous avons donc mis le numéro
deux ici. Et je vais
sortir d'ici et taper niveau
ouvert par son nom. Vous pouvez voir que la sortie ici
est un type de variable de nom, c'est ce nom juste
ici, avec des valeurs minimales par défaut. Maintenant, lorsque nous chevauchons
cette boîte de déclenchement,
que nous passons à notre
ancien plan de jeu et que nous disons «
hé, mode Jay », vous déterminez
les règles de notre jeu. Et cette règle
détermine que lorsque je chevauche cette case de déclenchement, je dois passer au niveau deux. Compilons ceci. Faisons des économies. Allons-y et jouons ici. Définit mon objet de débogage. Bien sûr. Vous pouvez donc voir ce
script démarrer dès que je le superpose. Et nous y voilà. Nous avons là des valeurs par défaut minimales. Le nouveau niveau.
99. Mode de jeu (partie n° 2): Très bien, essayons
un autre exemple ici. Cette fois, nous allons
essayer de répondre au joueur. Donc, pour cela, je
vais commencer par
mon plan de
personnage à la troisième personne. Sous des plans à la troisième personne,
ThirdPersonCharacter. Nous allons d'abord créer
un petit script ici. Donc, la première chose que nous
allons faire est d'apporter une clé. Voyons ce que
nous avons tous ici. Nous utilisons les quatre touches. Il semble que nous n'
en ayons pas fait usage. Je vais donc cliquer avec
le bouton droit sur un espace vide, taper quatre. Faisons du clavier pour. Et nous allons dire que
lorsque nous appuyons sur la touche F4, nous allons simplement
détruire l'acteur
qui signifie nous-mêmes. En insistant sur ce point, nous
allons nous détruire. Génial. Tout cela est nécessaire
pour la prochaine étape. Donc, compilez et sauvegardez ceci. Maintenant, dans notre mode de jeu BP, allez-y. Nous allons passer au graphique
des événements d'ici. Nous allons faire quelque chose
en dehors de l'événement. Vous devez toujours
être un peu prudent lorsque vous utilisez Event Tick. Vous pouvez Bork votre jeu en le faisant trop de scrip
sur le tick de l'événement. Mais à des fins académiques, je vais utiliser ce fait. Si je suis d'accord avec les valeurs par défaut des classes, je dirais que notre
intervalle entre les ticks sera toutes les 1 s. Nous n'avons pas besoin de
prendre chaque image. Donc, nous allons dire toutes les 1 s. Je vais cliquer avec le bouton droit de la souris
et un espace vide, pour obtenir le personnage du joueur. Nous allons ensuite
traîner dessus et passer à notre
personnage à la troisième
personne. Ensuite, ce que nous allons
faire, c'est sortir d' ici et taper « détruit ». Maintenant, si je commence
à taper sur détruit, j'ai cette assignation sur détruit. C'est celui que
je cherche,
un panneau indiquant qu'il a été détruit. Maintenant, lorsque je clique dessus
, je vais ajouter deux nœuds, un nœud Bind,
ainsi qu'un événement personnalisé. Je vais décrire ce
qui se passe ici dans un
instant pour y
intégrer les choses comme ça. Et je laisserai ce nom d'événement
personnalisé tel quel. Maintenant, si tout cela vous
semble familier ici, ce lien, euh, vers
cet événement personnalisé. C'est parce que c'est une configuration que nous utilisons lorsque
nous parlons répartiteurs d'
événements pour écouter cela sur les
événements détruits, dans ce cas, pour notre ThirdPersonCharacter, à laquelle
nous nous abonnons notre ThirdPersonCharacter est sur Event Dispatcher
détruit. C'est essentiellement
ce que nous faisons. Vous vous dites peut-être d'
attendre une minute. Dans notre ThirdPersonCharacter,
nous n'avons pas tout
créé d'Event
Dispatcher. Eh bien, si je reviens dans
mon ThirdPersonCharacter, si je fais défiler la page vers le bas jusqu'à
mes répartiteurs d'événements, je
pourrai trouver dans jeu
Event
Dispatcher un répartiteur pour une destruction. Maintenant, ça commence quand
je détruis l'acteur. Maintenant, si vous ne voyez rien de
tout cela ici, c'est parce que vous
devez cliquer sur cette icône d'engrenage et
afficher l'héritage. Si vous désactivez cette option, n'affichez pas l'héritage,
vous ne le verrez pas. Il s'agit d'un
Event Dispatcher hérité de la classe parent. Donc, si vous l'allumez au jeu
ThirdPersonCharacter
Event Dispatchers, OnDestroy,
il sera appelé. Cela envoie
un signal lorsque nous détruisons notre personnage
ici dans notre mode de jeu, ce que nous faisons ici,
c'est que nous nous
abonnons, nous sommes attentifs à ce que cet événement détruit se produise. Et puis, lorsque cela se produit, cela se déclenche et
indique au nœud suivant de faire
ce que nous voulons qu'il fasse. Maintenant, ce que nous voulons faire,
c'est répondre, recommencer
avec nos joueurs. Nous pouvons donc le faire bouton droit
de la souris et
utiliser un espace vide dans le contrôleur Git Player. Et si nous accédons à l'intérieur notre
contrôleur de lecteur générique, ici nous
recherchons le lecteur de redémarrage. Il existe un nœud de fonction lié à la manette de votre lecteur. Cela redémarrera votre lecteur à l'emplacement de votre
acteur de départ. Donc, cette configuration
ici suffira. Alors vérifions-le. Je vais compiler
et enregistrer en jeu. Ce sont donc les quatre clés
qui vont nous détruire. Et quand nous serons détruits, nous répondrons
immédiatement à cet endroit. Alors laisse-moi m'enfuir de cet endroit. Les quatre clés. Je réponds à cet endroit, j'appuie sur une clé étrangère, je réponds
à cet endroit, etc. Maintenant, pour ceux d'entre
vous qui disent, Hey, pourquoi utilisons-nous
Event Tick ici ? Eh bien, si c'est le cas, un
événement a commencé à se dérouler, allons-y et
donnons Event Begin Play. Commençons, terminons l'événement, commençons à jouer et à essayer. Que se passerait-il ici ? Et désactivons simplement cela. Est-ce que nous sommes à l'écoute
de cet événement OnDestroy ? Dès que nous commencerons à jouer
ici, c'est génial. Mais cette écoute de
cet événement a déjà eu lieu. Donc, cela ne
déclenchera les adhésions ponctuelles à cet événement. Lorsque nous commençons à jouer, nous l'
écoutons une
seule fois. Donc, si j'appuie sur la touche F4 ici, cela
nous ramène une fois en arrière. Mais si j'appuie à
nouveau sur la touche F4, cela n'arrive pas. C'est parce que nous avons
écouté pour la première fois lorsque nous avons commencé à
jouer avec Event Tick. N'oubliez pas que nous
écoutions cela à chaque seconde. C'est ainsi que nous avons
configuré notre coche d'événement dans les paramètres par défaut de notre classe , d'
accord, quelques
notes du mode jeu pour terminer cette vidéo. Le jeu peut avoir un
certain nombre de modes de jeu. Nous n'avons qu'une seule
configuration à la fois dans
les paramètres de notre projet,
votre mode de jeu principal
étant configuration à la fois dans
les paramètres de notre projet, votre mode de jeu principal configuré dans les paramètres de votre
projet. Mais n'oubliez pas que vous pouvez modifier le mode de jeu utilisé
dans les paramètres de votre monde. Et vous pouvez le trouver
dans les paramètres
du monde Windows , juste là. Il est toujours possible de modifier
le mode de jeu dans les paramètres de votre
projet. Le
plan du mode de jeu vous permet définir les règles de votre jeu. Des choses comme
les lieux de réponse, le niveau
à atteindre ensuite, nombre de joueurs
autorisés,
ce genre de
choses . Le mode Jeu n'est pas un bon
plan pour stocker des variables qui doivent transférer des données
d'un niveau à l'autre. Des choses comme des vies ou des points. Maintenant, c'est parce que lorsque
vous ouvrez un nouveau niveau, toutes les variables sont créées et
stockées dans le mode de jeu, ou reprennent leurs valeurs
d'origine. Et je veux le
démontrer ici rapidement avant de
terminer cette vidéo. Très bien, supposons
que dans notre mode de jeu BP c'est un endroit idéal
pour stocker le nombre de vies. Le personnage peut avoir une alerte
spoiler. Ce n'est pas le cas, mais jouez
simplement le jeu dans notre section sur les
variables, vous allez cliquer sur
ce bouton plus. Je vais mettre ça en vie. Et c'est ici que
vous pouvez vous assurer qu'elle est définie sur une seule
variable de type entier. Je vais définir ma durée de
vie par défaut ici à cinq. La raison pour laquelle la mienne
est apparue à cinq parce que j'ai coupé la
vidéo dedans, recréée à l'avance. Maintenant, je vais
compiler ceci et
enregistrer ce qui est très important pour ce faire. Ensuite, ce que je vais
faire, c'est faire en sorte que dans mon personnage à la
troisième personne de BP, je réduise le nombre vies que nous avons dans notre mode
de jeu. Donc, personnage à la troisième personne. Je vais cliquer avec le bouton droit. Je ne pense pas faire
quoi que ce soit en utilisant les six touches. Donc, à partir de là, nous allons
faire un clic droit sur le mode Jeu. Nous passerons à
notre mode de jeu BP. Et une fois cela fait, nous pouvons atteindre
l'intérieur d'ici découvrir combien de vies
nous avons pour le contenir. Mettons-nous de côté nos vies,
nous en sortirons et saisirons des décréments. C'est une sorte de nœud spécial dans la mesure où nous menons
nos vies ici. Nous en avons cinq, cela
va en réduire un, soustraire un, et ensuite cela va le
faire reculer. Il n'est donc pas nécessaire de créer
des vies ici non plus. Nous allons donc passer au
54321, etc. Ce serait génial. Maintenant, quand tout cela arrivera, laissez-moi
compiler ceci. Sauvez. Souvenez-vous que dans
mon plan de niveau, j'ai fait en sorte que lorsque je
chevauche cette boîte de déclenchement, je
me transporte au niveau deux. Donc, après avoir atteint le niveau, mon personnage à la troisième personne viendra,
j'appuierai sur
la touche six et verrai combien de vies nous avons. Ce sera donc notre preuve que l'envol vit
dans notre mode de jeu. n'est pas une bonne idée car
ces variables reprennent leur valeur par défaut
lorsque vous changez de niveau. On y va. Alors cliquez et jouez. Je vais appuyer sur cette touche 6. Nous pouvons voir, en fait,
vous savez ce que je dois faire, je dois l'
imprimer à l'écran. Allons-y ici. Chaîne d'impression. Imprimons ces résultats. Comme ça. Compilez,
enregistrez et jouez. Définissez mon option de débogage comme étant
mon ThirdPersonCharacter. Alors maintenant, quand j'appuie sur la touche 6, 4321, il me reste une
vie, pour ainsi dire. Je vais faire double emploi. Nous allons passer à un autre niveau. Maintenant, quand j'appuie sur la touche six, vous pouvez supposer
que j'ai une vie, je ne devrais pas descendre à zéro, mais 4321, cette variable de vies,
revient à zéro. Il suffit donc
de quelques nuances à comprendre avec le schéma du mode
jeu. Toutes les variables que vous
définissez ici seront définies sur, elles retrouveront
leurs valeurs par défaut si jamais vous changez de niveau. Très bien les gars, ça
va tout faire pour cette discussion sur les plans
du mode jeu. C'est le plan qui définit d'autres plans de framework ici à l'intérieur des valeurs par défaut de votre classe. Et c'est l'endroit idéal pour
définir les règles de votre jeu, telles que la fonctionnalité de réponse. Ça suffira
pour cette vidéo. Rendez-vous dans la prochaine.
100. Mettre en gage: Bienvenue et poursuite de
notre discussion sur
les plans directeurs. Notre objectif dans cette
vidéo est de découvrir ce qu'est un plan de classe sur gage. Comment en créer un et
comment en configurer un afin que notre projet
sache comment utiliser sont créés Pawn Class Blueprint en tant qu' avatar par défaut que
nous voulons contrôler. Parlons donc de
ce qu'
est un plan de classe sur
pion, un étang, un acteur qui peut être
possédé et recevoir des commentaires. Il s'agit de la
représentation physique d' un joueur ou d'une
entité IA dans le monde. Désormais, les pions peuvent être humanoïdes, tout comme nos personnages à la troisième
personne que nous
contrôlions jusqu' à présent dans le cours. Ou ce n'est peut-être pas un humanoïde. Cela peut donc être quelque chose
comme une voiture ou un vaisseau spatial, une boule roulante,
quelque chose comme ça, que vous pouvez contrôler. Très bien, allons-y
et créons une classe de pions. Et je pourrais le faire
directement à partir d'ici dans
les paramètres, les cartes et les modes de notre projet, menu déroulant du mode de jeu
sélectionné en cliquant sur ce bouton plus juste à
côté de Default Pawn Class, je pourrais créez le
plan approprié à l'aide de cette méthode. Je choisis juste un dossier. Je voudrais l'
enregistrer dans et cetera. Cependant, je ne vais pas
le faire juste pour vous montrer comment nous pouvons le créer
ici dans notre éditeur de niveaux, je vais passer dans mon dossier de framework de
script. Et si je clique avec le bouton droit ici, je peux aussi entrer dans la classe
Blueprint. Et vous avez vu cette
fenêtre un million de fois, choisissez une classe de parents. L'une des classes les plus courantes
à créer est une classe de pion. Ensuite,
ici, il est dit qu' un pion est un acteur
qui peut être possédé et recevoir des informations
d'un contrôleur. Allons-y et
cliquons ici sur le pion. Et je vais appeler ce
gars BP Underscore Pawn. Ensuite, je vais
double-cliquer sur m2, l'
ouvrir tout de suite. Nous allons configurer certains éléments dans le panneau Composants. Donc, la première chose que nous
allons ajouter ici, cliquez sur Ajouter sous les composants,
c'est que nous allons ajouter un maillage statique. Et dans le panneau Détails, j'ai un maillage
statique donné en tête. C'est le HMD que je
veux rechercher. Je cherche
ce HMD générique. Maintenant, c'est quelque chose qui se trouve
dans la trajectoire de votre moteur. Donc, si vous ne le voyez pas et que vous voulez jouer le jeu à la maison, cliquez sur l'icône en forme d'engrenage, assurez-vous que l'option Afficher le
contenu du moteur est activée. Cela va
ressembler à un casque VR. Nous allons
contrôler l'un d'entre eux. Je vais envoyer ma balance ici, 255,5 avec cette icône de verrouillage activée, je peux simplement en changer une. Je vais choisir celle du milieu ici, l'échelle y, cliquez sur F5. Ensuite, quand j'appuie sur Entrée, parce que j'ai cette icône de
verrouillage définie ici. En appuyant sur Entrée, il
sera réglé sur
cinq dans l'ensemble du tableau. Très bien, je vais également
changer le matériau pour ce soit Chrome. Je vais faire une boule chromée. Donc on va, on
va piloter quelque chose
comme ça. C'est passionnant. Très bien, le prochain composant que
je souhaite ajouter ici. Assurez-vous que notre itinéraire vu
par défaut est sélectionné. Voici donc comment cela fonctionne. Le senior par défaut de tous les
autres composants que vous ajoutez y sera
attaché. Donc, à l'heure actuelle, notre maillage statique est attaché à notre racine de scène
par défaut. s'agit essentiellement d'un point de l'espace auquel nous
attachons des objets. Je vais donc choisir l'itinéraire vu
par défaut, choisir le bras à ressort, le bras à ressort. Pense à ça comme une perche à selfie. Nous allons également l'utiliser pour
attacher un composant de caméra, ce également l'utiliser pour
attacher un composant de caméra, qui pourrait être le cas, avec mes composants
à ressort sélectionnés. Je vais ajouter et attacher des composants de caméra,
pas
un appareil photo Sony, juste
de vieux appareils photo. Un beau nom. Je vais accepter cela afin que nous puissions voir caméra est attachée
à notre bras à ressort. Pour la caméra, je vais définir l'emplacement sur 100. Laissez-moi zoomer sur mes fenêtres d'affichage. Je vois que la rotation nous allons définir est négative
à 20. Et si je sélectionne mon bras à ressort, vous pouvez voir tout de suite que si je devais faire pivoter
mon bras de pulvérisation appuyant sur
la barre d'espace, la caméra irait de pair. Maintenant, la raison pour laquelle c'est décalé, c'est qu'elle n'est pas attachée
à cette ligne rouge. La caméra à ressort, qui est déterminée
par cette longueur de bras. Au fait, vous pourriez le
régler plus
loin, plus loin, plus près, je
vais le mettre à 300. Maintenant, la raison pour laquelle ce n'
est pas attaché à cette ligne rouge,
c'est parce que j'ai réglé
la hauteur Z sur
100 et que nous l'inclinons
vers le bas de moins 20 degrés
dans la direction y. Enfin et surtout,
nous allons ajouter un Move flottant qui est un composant de mouvement d'
étang flottant. Et il est indiqué dans notre
petite infobulle qu' s'agit d'un
composant de mouvement qui permet un mouvement simple
pour n'importe quelle classe de pions. Je dis que nous y allons, oui, car nous en aurons besoin pour déplacer
ce casque géant. Maintenant, je vais tricher ici. Je vais copier et
coller un script de notre ThirdPersonCharacter dans le
graphe des événements de nos pons. J'ai donc ouvert mon ThirdPersonCharacter
ici. Si tu as oublié ou si ce type
est un plan à la troisième personne. Voilà votre
personnage à la troisième personne. Alors, qu'est-ce que je
veux voler ici ? Eh bien, je veux voler. Les commandes de mouvements. Donc, là où il est écrit
mouvement, saisie, manette de jeu et souris, je
vais cliquer avec le bouton gauche de la souris, faire glisser tous ces contrôles C. Je vais accéder au graphique des événements de
mes étangs. Je vais tous
les supprimer et utiliser Control V pour les
coller ici. Ensuite, je vais revenir
à mon ThirdPersonCharacter. Et je veux
pouvoir regarder autour de moi. Ce sera donc notre aperçu commandes de la souris. J'utilise une souris. Tu as une manette de jeu. Regardez autour de vous les commandes ici. Je vais voler
les entrées de la caméra, les
entrées de la souris. Cliquez avec le bouton gauche de la souris, Control C ,
retournez dans mon étang, Control V. Maintenant, c'est très bien. Cela me permettra de
regarder à gauche et à droite. Le lacet et le terrain ici
me permettront de regarder de haut en bas. Cependant, je dois
redéfinir
quelque chose dans les valeurs par défaut
de ma classe pour mon étang ici. Donc, dans les valeurs par défaut de ma classe, pion, je cherche quelques
cases à cocher, et elles sont juste
là où il est dit d'utiliser le pas de
rotation du contrôleur. Je veux m'assurer
que cela est vérifié. Où il est dit d'utiliser la mâchoire de rotation
du contrôleur. Je veux m'assurer
que cela est
également coché afin de pouvoir incliner ma
caméra de haut en bas
et de regarder à gauche et à droite. Bien, une fois tout cela fait, je vais compiler et enregistrer. Et maintenant, pour que je puisse
vraiment le tester, je dois insérer mon pion BP ici pour qu'il soit ma classe de pion
par défaut. Maintenant je peux le faire ici. Mais juste pour montrer les
différentes techniques, je vais revenir à
mon éditeur de niveaux ici. J'ai ce plan
de bouton juste ici. Je vais donc sélectionner que mon mode de jeu actuel
est mon mode de jeu b p. Permettez-moi de descendre dans mon dossier de framework
de script. Vous pouvez voir dans la dernière vidéo
que nous avons créé le mode de jeu BP en cliquant ici. C'est actuellement mon mode de jeu. Donc, si je choisis dans ce
menu déroulant, pion actuellement, ThirdPersonCharacter,
sélectionnons une nouvelle classe de pion. Et je vais
choisir mon b p sur. Je vais donc le
placer juste là. Vous pouvez voir si je
reviens ici, viens juste en dessous, qui
est maintenant devenu mon nouvel étang. Si je passe en mode jeu, acide lui-même en double-cliquant dessus. Vous pouvez voir ici ma classe de pion par défaut
a maintenant été modifiée. De plus, si vous accédez aux paramètres de
votre projet, vous pouvez voir que votre classe de pion
par défaut a également été modifiée ici. Vous pouvez donc le modifier à
l'un de ces trois endroits. Cela change les choses à
d'autres endroits. Alors maintenant, quand je cliquerai sur
le bouton de lecture ici, je n'apparaîtrai pas comme le ThirdPersonCharacter
juste là le joueur commence l'acteur, je vais apparaître comme
son casque VR géant. Allons-y
et jouons-y. Laissez-moi retourner dans mon
étang ici aussi. Vous pouvez donc voir ce
script démarrer. Je vais donc cliquer sur Play ici. Voilà mon casque géant. Permettez-moi de sélectionner mon objet de débogage
tel qu'il est apparu dans BP Pond. Vous pouvez donc voir que tout cela se
déclenche continuellement. L'axe d'entrée tourne à droite. Permettez-moi de zoomer un peu sur
ce point. Ils se
déclenchent continuellement. L'axe d'entrée se déplace vers
l'avant et vers l'arrière, se déplace vers la droite Les événements de l'axe se
déclenchent continuellement comme ça. Voyons si je peux me déplacer. Nous pouvons voir que je
peux regarder autour de moi et maintenir le bouton
droit de la souris enfoncé. Gauche et droite. C'est du lacet, du tangage de haut en bas. À St. Andy, on dirait que
je me déplace. Il suffit de découvrir que nous avons maintenant un
pion avec lequel nous pouvons jouer. Et voilà, vous l'avez. Si vous avez ces
composants dans ce script, vous pouvez également avoir des plans de classe à contrôler
dans votre jeu. Bien entendu, vous devez le configurer dans votre mode de jeu, dans paramètres de
votre projet dans cet emplacement
par défaut de Pawn Class. Plutôt cool. Très bien,
dans la deuxième partie nous allons créer un plan de classe de
personnages. Une classe de personnage
dérive d'une classe de pion. Nous vous verrons tous
dans la prochaine vidéo.
101. personnage : Très bien, bon retour. Dans cette vidéo, notre
objectif est de créer un
plan de classe de personnages à partir de zéro. Maintenant, la classe de personnage est une extension de la classe Pawn, et c'est un type spécial de pion qui a la
capacité de se déplacer. J'ai pensé que je pourrais l'inclure
ici dans notre discussion
sur les plans directeurs,
car dans les paramètres
de notre projet, où se trouvent tous nos
plans de cadre, ainsi que dans notre mode
de jeu, où les
plans du cadre peuvent être trouvés dans une fente dans l'un ou l'autre. Nous avons un emplacement pour
Default Pawn Class, où un plan de classe de personnage
peut être placé
soit dans un étang, soit un
personnage peut être inséré parce que le personnage
dérive de la classe Pawn. Maintenant, pour vous
aider à comprendre ce point, nous allons retourner dans notre dossier de structure de script. Et nous allons cliquer avec le bouton droit sur
un espace vide où nous allons
créer une classe Blueprint. Et ici, dans notre fenêtre de
sélection de la classe parent, nous pouvons voir si nous
choisissons un personnage. Il dit qu'un personnage est un type d'étang qui
permet de se promener. Et si nous passons à la section Toutes
les classes consultez la hiérarchie des
différentes classes de blueprint. En dessous de la classe d'acteur. Nous pouvons le constater, je viens d'étendre
ce triangle là-bas. Nous pouvons trouver la classe Pawn. Pawn hérite de l'acteur. Et à l'intérieur,
nous pouvons voir que la classe de personnages
hérite du pion. Je vais choisir le
personnage ici. Je vais nommer ce personnage de soulignement
BP, soulignement féminin. Ensuite, nous allons double-cliquer
dessus pour l'ouvrir. Et vous pouvez voir que nous avons
un peu de travail à faire ici car nous ne voyons
rien dans notre fenêtre d'affichage. Alors allons-y
et commençons. La première chose que je veux faire
à l'intérieur de notre personnage, plan
féminin sur
ses valeurs par défaut de classe. Je veux passer sous le panneau
Détails et où il est indiqué utiliser
le lacet
de rotation du contrôleur. Je veux décocher cette case. Remarque. Si cela reste vrai, notre
personnage sera automatiquement orienté dans la direction que
nous regardons. Tu sais comment faire
pivoter cette caméra autour de ton personnage. Eh bien, si vous
laissiez cela vrai, votre personnage
regarderait
automatiquement dans cette
direction également. Je veux désactiver cette option
parce que je veux que notre caméra regarde
réellement le personnage
face à face. Vous pouvez expérimenter
cela si vous le souhaitez, lorsque nous aurons terminé tout
ce processus. Très bien, je vais maintenant
sélectionner notre maillage. Et dans le
panneau Détails, je dois insérer un maillage squelettique. Allons-y et chaussures. Nous avons SKS, Manny, qui est la version masculine que je
vais faire S, K, M, Quinn. Ce sera la version féminine qui se chargera ici. Maintenant, pendant le chargement,
je vais également m'inscrire dans un cours d'animation. Donc, en cours d'anime, je vais
chercher ABP Quinn. Et vous allez
maintenant voir Quinn s'animer. De plus, je dois définir un peu le maillage de
mes personnages
ici. Je vais donc
définir l'emplacement,
l'emplacement z, sur une
valeur négative 87. Je vais être très
précis à ce sujet. Ça va suffire. La rotation que je vais
définir est négative à 90. Cette flèche bleue
indique les avants. Vous voulez donc que
votre personnage orienté vers l'avant comme ça. Très bien, après avoir sélectionné notre composant
capsule, je vais ajouter un bras à
ressort. Un composant à ressort ressemble
essentiellement à une perche à selfie, bien qu'il existe un
ou deux réglages qui peuvent être très utiles pour contrôler
les éléments de votre appareil photo. Je vais laisser
ce nom là en tant que bras à
ressort et plus
dans le panneau Détails, je veux trouver dans
les paramètres de la caméra, ici, Utiliser la rotation du bouton. Je veux m'assurer
que cela est vérifié. Maintenant, cela va faire en
sorte que lorsque nous maintenons le bouton droit de la souris enfoncé dans
notre jeu et que nous pivotons, la caméra tourne, ce
que nous voulons. Vous pouvez donc jouer
avec ce réglage dès que nous en aurons
terminé avec cette vidéo. Ensuite, je souhaite sélectionner,
avec les composants de mon bras à ressort sélectionnés ici. Vous souhaitez ajouter un appareil photo. De nos jours, la caméra de Sydney,
mais juste une caméra ordinaire, et elle devrait être
indentée comme ça. De cette façon, la caméra est
attachée à votre bras à ressort, est essentiellement
attachée à l'extrémité de votre perche à selfie ici pour que
vous puissiez voir mon bras à ressort. Si je devais modifier la longueur du bras
cible, la caméra
s'adapterait à lui. Rétablissez cette valeur à sa
valeur par défaut de 300 pour l'instant. Donc, avec mon appareil photo sélectionné, il n'y a rien que je
veuille changer ici, même si je dois souligner à l'intérieur que
si vous le souhaitez, vous pouvez modifier quelque chose comme votre champ de vision réglage. Beaucoup d'utilisateurs aiment
jouer avec ça. Jouez avec cela, trouvez un champ de vision
qui vous convient. Ensuite, je vais modifier la composante du mouvement de
mon personnage ici. J'en ai un à l'intérieur qui
s'appelle Orienter la rotation par rapport au mouvement. Maintenant, il existe
de nombreux paramètres différents à l'intérieur du
composant de mouvement de votre personnage qui contrôlent les propriétés de
déplacement de votre personnage. Si je cherche ce public. C'est celui que je recherche, Orienter Rotation en deux mouvements. Je veux vérifier cela. En cochant cette case, je vais
orienter le personnage, c'est-à-dire faire pivoter le personnage pour
le déplacer dans la direction que vous
essayez de prendre. Sans cela, votre personnage
pourrait avoir l'air marcher dans une
direction alors
qu'il se déplace
réellement dans
une autre direction. C'est donc une bonne idée pour vous
assurer que vous avez bien été vérifié. Ensuite, si je passe
à notre graphique des événements, vous pouvez voir que je n'
ai aucun script ici qui contrôlera la
façon dont mon personnage se déplace. Je vais tricher pour
gagner du temps. Je vais donc supprimer
ces nœuds. Nous allons nous lancer dans
notre ThirdPersonCharacter et
y voler quelques nœuds , comme nous l'avons fait
dans la dernière vidéo. Donc, si
ThirdPersonCharacter n'est pas
ouvert sous le personnage à la troisième personne
, plans double-cliquent sur
votre personnage à la troisième personne. À l'intérieur,
nous allons voler nos commandes de mouvements
ici, tout ça,
clic gauche, glisser-déplacer, contrôler C, entrer dans notre personnage, femme, contrôle V pour coller. Cela va contrôler les mouvements de notre personnage vers l'avant
et vers l'arrière, ainsi que nos mouvements de gauche
et de droite sous
notre
ThirdPersonCharacter. Une fois de plus, je vais maintenant
voler ma souris d'entrée de caméra. Si vous avez une manette jeu avec
laquelle vous souhaitez également jouer à
votre jeu, vous pourriez envisager de la
voler. Je ne le contrôle
qu'avec la souris, donc je vais cliquer avec le bouton gauche
et faire glisser la souris ici, contrôler C, passer sous le
personnage féminin, contrôler V. Et une fois tout cela
fait,
allons-y compilons et enregistrer. Très bien, ensuite, nous
allons placer
notre personnage BP féminin comme
classe d'étang par défaut. Revenons donc à
notre éditeur de niveaux ici. Et je veux mettre cela en
parallèle avec notre environnement mondial. Je vais remplacer
notre configuration du monde, paramètres de
notre projet dès maintenant. J'utilise mon mode de jeu b p. Si j'utilise ce mode de jeu
pour l'ensemble de mon projet, cela déterminera les plans de structure
utilisés pour chaque niveau,
chaque carte de mon projet, à moins que je ne les remplace
dans les paramètres de mon monde. Donc, en ce moment,
les paramètres de mon projet disent : « Hé, si tu cliques sur le bouton Play, tu vas
utiliser ton bassin de pression artérielle. Et on peut le voir
en jouant. Il y a mes casques VR pour enfants. C'est mon bassin BP
que nous avons créé ici dans notre dossier
cadre, BP Pond. Je veux dire que je suis
un univers. Je vais le
changer uniquement pour cette carte. Cela remplacera
les paramètres du projet. Maintenant, pour ce faire, je vais choisir un mode de jeu
différent dans les paramètres de mon projet. J'ai actuellement
mon mode de jeu BP. Donc, je dirais pour notre
environnement mondial. Et si ce n'est pas le cas, vous pouvez accéder à
Windows et activer les paramètres de votre
monde directement à cet endroit. Cela va faire apparaître ce panneau. Pour notre mode de jeu
ici, j'
utiliserai, disons BP, le mode de jeu à la
troisième personne. Et alors que nous avons normalement le
personnage à la troisième personne inscrit en tant que personnage à
parcourir avec des montres
en cliquant sur Play,
nous contrôlons parcourir avec des montres
en cliquant sur Play, désormais le
ThirdPersonCharacter. Au lieu de notre pion BP, je peux dire à la place, choisissons d'utiliser notre personnage
BP féminin. Juste pour montrer une autre façon
de placer quelque chose ici, je pourrais choisir quelque chose
dans la liste déroulante. Cependant, je pourrais sélectionner mon personnage de
BP féminin ici. Une fois cette option sélectionnée, cliquez
simplement sur cette
flèche ici pour utiliser l'acide sélectionné dans le navigateur
de contenu. Et maintenant, avec cet emplacement, je pouvais contrôler mon
personnage féminin BP, mon personnage féminin. Et vous pouvez voir que je me déplace dans la direction que mon
personnage oriente, ou que mon personnage est orienté dans la direction que je
souhaite suivre. Et aussi je suis capable de courir vers la caméra comme si
je m'améliorais. Certaines de ces cases à cocher, des cases à cocher m'ont permis de
sortir d'ici rapidement. Si je devais
revenir à mon personnage BP, composante mouvement du personnage
féminin et décocher, Orienter la rotation vers les mouvements. Puis cliquez sur Play. Maintenant, jetez un œil à cela. Quand je me déplace, c'est mon
personnage qui le fait. Ils ne s'orientent dans
la direction que
j'essaie de suivre. Je vais donc commencer et remettre cette composante de
mouvement du personnage en arrière. Allons-y et
vérifions-le. Suivant. Notez que dans notre composant à
ressort, nous l'avions vérifié. Je dois annuler le filtre
de recherche ici. Nous avions vérifié ce jeune
lors du réglage de la rotation. Si je décoche cette case et que je joue et que je maintiens le bouton
droit de la souris enfoncé, ce que j'essaie
de faire en ce moment. Je ne suis pas vraiment en train
de tourner autour de mon personnage. Au lieu de cela, la caméra
se déplace et tourne d'elle-même pour faire face à la
direction dans laquelle se déplace mon
personnage. Je n'aime pas forcément ça, alors je vais
vérifier ça à nouveau. Enfin, si
vous vous souvenez valeurs par défaut de notre classe, nous avions
fait
en sorte que nous n'
utilisions pas la rotation du contrôleur de manière non cochée. Oui, si nous avions ce
chèque, si c'était le cas. Ensuite, nous sommes allés de l'
avant et nous avons joué, je vais me lancer
en utilisant WAS et D. Vous pouvez voir comment vous pouvez obtenir ce genre de résultat
effrayant, qui
a l'air terrible. Je peux le faire pivoter comme ça. Et mon personnage
va patiner et simplement faire face à la
direction que je regarde. Je n'aime pas trop ça. C'est pourquoi je préfère que
cela ne soit pas contrôlé également. Très bien, vous l'avez. Nous avons créé un plan de
classe de personnages à partir de zéro. cela créé,
vous pouvez ajouter n' importe quel personnage ou
étang à Une fois cela créé,
vous pouvez ajouter n'
importe quel personnage ou
étang à votre
classe par défaut et quel que soit le
mode de jeu que vous avez choisi. Vous pouvez le voir ici, dans les paramètres de
notre monde, nous remplaçons le
mode de jeu sur cette carte, uniquement sur ce monde que nous avons
défini dans les paramètres de notre projet. Si rien n'était en arrière
dans les paramètres de notre monde, les paramètres du projet
détermineraient classe de
pion qui
serait utilisée sur cette carte. Ça suffira pour
offrir celui-ci, les gars, à bientôt.
102. Contrôleur de joueur: Bienvenue. Dans cette vidéo, notre objectif est de
découvrir le rôle
du modèle de manette de
jeu dans la configuration globale de
notre projet de jeu. Et aussi pour explorer certains concepts
de script souvent associés aux plans des
manettes des joueurs. Maintenant, si je devais me
plonger dans mes paramètres, les paramètres de
mon projet, dans
notre section cartes et modes. Si nous étendons notre mode de
jeu sélectif ici, nous pouvons trouver la classe de
manette du joueur. Une fois de plus, nous pouvons placer une manette de
jeu ici ou
dans notre mode passerelle
par défaut. Si nous changeons quelque chose à l'intérieur de notre mode
passerelle par défaut, c'est l'un de
ces modèles de framework ici. Cela le changera également dans les paramètres
de notre projet. Le mode de jeu est donc celui qui détermine l'arrêt
du framework. Les plans le modifient en
un seul endroit, comme ici. Cela changera cela dans votre mode de
jeu et vice versa. Si vous le modifiez ici
dans votre mode de jeu, comme une manette de jeu,
cela changera dans les paramètres de votre projet. La
classe de manette du lecteur
sera donc au centre de cette vidéo. Ceux d'entre vous qui jouent
depuis le début de cette vidéo se souviennent
peut-être que nous
avons créé un plan de
manette de lecteur. En fait, dans la vidéo intitulée «
Événements », commencez à placer le curseur sur. Nous avons créé une manette de
lecteur BP. Et la raison pour laquelle nous l'avons créé
est que
nous puissions activer et cliquer sur des
événements et également
afficher le curseur de la souris. Il y a certaines
choses spécifiques à un
plan de manette de jeu que nous avons explorées plus tôt
dans le cours,
juste pour les mettre en valeur. Mais maintenant, voici la
partie où nous avons expliqué ce qu'est une
manette de jeu. Ce qui est à usage général se trouve dans le cadre des plans d'Unreal
Engine. Maintenant, pour mieux comprendre en
quoi consiste le
plan d'une manette de
joueur dans Unreal. Envisagez ce scénario. Pensez à un jeu comme
Lego Star Wars, où vous pouvez contrôler une
multitude de personnages, mais un seul à la fois. En tant que joueur, vous
avez des envies, des choses que vous
aimeriez faire avec votre personnage et
le jeu lui-même. Vous, le joueur,
maniez une manette. Dans ce cas, nous dirons qu'
il s'agit de cette manette Xbox. Maintenant, vous jouez au jeu
et vous ne contrôlez qu'un seul personnage à la fois. Disons que vous
commencez en tant que Yoda ici. Vous pouvez appuyer sur le
bouton A pour les faire sauter. Vous pouvez appuyer sur la
touche X pour lui faire balancer son sabre laser, etc. Mais maintenant,
disons que Yoda meurt. Désolée, Yoda, tu es parti. Ce personnage a disparu. Maintenant, votre manette de jeu, qui est représentée par
cette manette, possède un nouveau personnage, en l'occurrence Anakin. Maintenant, encore une fois, avec Anakin, vous pouvez appuyer sur le bouton
A pour sauter, sur le bouton X pour
manier son sabre laser, etc. Mais alors, oh, et je pourrai mourir. Donc, cette
classe de personnage passe au revoir. Cependant, votre
manette de jeu perdure et elle continue de
s'attacher aux nouveaux joueurs. Dans ce cas,
vous contrôlez maintenant compte Du Gu était à nouveau, vous pouvez appuyer sur le bouton
a pour sauter, appuyer sur le bouton X pour balancer
son sabre laser, etc. Et peut-être souhaitez-vous même faire quelque chose comme accéder
au menu de pause. Maintenant, si vous deviez intégrer
certaines de ces fonctionnalités dans le schéma de
classe de personnage, que se passerait-il si votre
personnage est mort ? Par exemple, et si vous étiez de
retour ici pour contrôler Yoda ? Et cette fonctionnalité permettant
de mettre le jeu en pause existait dans le plan de votre classe de
personnage Yoda. Eh bien, une fois qu'il sera mort, il n'y aura aucun moyen
de mettre le jeu en pause. plans des manettes de jeu existent tout au long de votre session de jeu Et vous pouvez imaginer une
manette de jeu comme étant les cordes de marionnettes utilisées pour contrôler votre marionnette,
votre classe de personnage. Donc, toute sorte de fonctionnalité
partagée que vous pouvez avoir entre les classes de
personnages ou
toute fonctionnalité que vous souhaitez avoir pour vous, le joueur lui-même,
comme
la pause du jeu ou interaction
avec un écran de menu. Ce type de fonctionnalité que
vous souhaiteriez intégrer
au schéma de votre
manette de lecteur. Bref, les choses à retenir
avec une manette de jeu, contrôleurs
Blueprint sont des acteurs
non physiques qui peuvent posséder un étang ou une classe
dérivée d'un étang, comme un personnage. Par défaut, il existe une relation
biunivoque entre les manettes, une manette de joueur et
un pion, c'est-à-dire un personnage. Chaque contrôleur
ne contrôle qu'un seul bassin à la fois. Et les contrôleurs de jeu sont
mieux utilisés pour implémenter fonctionnalités centrées sur
l'utilisateur
, comme l'affichage d'un menu de pause
ou d'un écran d'inventaire Ou pour des fonctions de
personnage partagées, comme utiliser un sabre laser si tous vos personnages peuvent
faire ce genre de choses. Ou sauter, si en fait tous les personnages possibles
peuvent également sauter, toute sorte de fonctionnalité
spécifique au personnage, ce type de fonctionnalité devrait exister dans votre bassin ou personnage le plan de classe lui-même et non le contrôleur du joueur. D'accord ? Si vous
ne possédez
pas encore manette de joueur, Blueprint a été créé plus tôt
dans le cours. Vous pouvez en créer un maintenant
en cliquant avec le bouton droit. Contrôleur de jeu de
classe Blueprint. Et nous avons appelé ce gars
BP Player Controller. Et encore une fois, vous souhaitez intégrer cela dans votre framework. Vous pouvez le faire
dans les paramètres de votre projet, accessibles
ici sous Paramètres, paramètres du projet, et
sous Cartes et modes, vous pouvez l'insérer directement là. Sinon, dans votre
mode de jeu, créez le plan lui-même. Et encore une fois, c' est le mode BP Game qui
domine notre projet ici. Dans cet atout lui-même, le plan du mode de jeu. Sur le côté droit, vous pouvez y insérer votre
manette de jeu. Vous le modifiez ici,
vous le
changerez également dans
les paramètres de votre projet. Revenez également dans votre éditeur de niveau, si vous passez sous le bouton
Blueprints juste ici
et que vous vous développez
dans les paramètres du projet, le mode
jeu, la manette du joueur. Ici, vous pouvez modifier votre manette de jeu
actuelle, créer une toute nouvelle ou sélectionner une existante. Maintenant, si vous ouvrez votre manette de lecteur
BP ici, plus tôt dans le cours, nous avons sélectionné la
classe par défaut à l'intérieur de notre manette de lecteur BP. C'est là que nous avons vérifié
la possibilité
d'afficher un curseur de souris pour activer les
événements de clic et les événements de
survol de la souris. Nous pouvons également activer les événements
tactiles. Il existe donc des éléments très
spécifiques au jeu, moyens d'interagir
avec votre jeu et vos menus qui se trouvent
dans le plan de votre
manette de jeu. Avant le début de cette vidéo, j'ai créé
des fonctionnalités à l'intérieur de notre
manette de lecteur BP. Je voulais montrer
comment nous pouvions écrire des fonctionnalités de script pour
certains personnages à l'intérieur de notre manette de jeu. Maintenant, n'oubliez pas que lorsque
vous jouez à une partie, manette de
votre joueur s'attache
à n' importe quel pion.
C'est le pion ou le personnage que vous contrôlez
chaque fois que vous l'avez
configuré dans votre
valeur par défaut. Classe Pawn. Maintenant, mon script est de
faire en sorte que lorsque j'
appuie sur le bouton Up, j'obtienne mon personnage
de
joueur actuel, celui que je
joue et je lance
simplement le personnage. Maintenant, la cible est un
personnage, pas un étang. Cela ne fonctionnera donc que pour les personnages que
je contrôle. J'aurais également pu appeler
cette fonction de saut qui
existe également dans le plan de ma
classe de personnage. Mais je voulais faire
ce personnage
de lancement parce que c'est cool. Et b, parce qu'il montre une autre
fonction spécifique au caractère que nous pourrions utiliser. Vous devez obtenir le
personnage du joueur et le
faire glisser si vous êtes
le premier pour le trouver. Et tout ce qui va se
passer ici, c'est quel que soit le personnage que
je possède ici. Si j'appuie sur la touche haut ici, plan de
ma manette de joueur, je vais simplement
lancer le personnage que
je contrôle sur l'axe Z en
utilisant cette valeur. C'est un peu comme
des super sauts. Donc, si je devais juste jouer
ici, je configurerais mon débogage. oppose à ma manette
de jeu prêtée Fais appel à mon personnage
une fois de plus. J'ai encore quelques personnages que nous utiliserons bientôt. Maintenant, quand j'appuie sur la touche
haut de mon clavier, c'est comme un super saut. Cela
prouve donc que je peux fonctionnalités spécifiques aux
personnages ici dans le plan de mon
manette de lecteur. Très bien,
reconsidérez maintenant
ce scénario dans mon éditeur de niveau. J'ai placé deux autres
personnages féminins de BP dans mon niveau lui-même. Je les renomme simplement
personnage féminin vert et un
caractère féminin rouge. Et je change simplement le
zéro matériel pour que l'un d'
entre eux soit vert. Et je l'ai fait en sélectionnant
le maillage de caractères, en changeant l'élément
zéro en vert, et en sélectionnant l'autre, j'ai sélectionné le maillage de caractères et changé l'élément zéro pour qu'il soit lu. Ensuite, avec chacune
d'entre elles sélectionnée, je l'ai fait une par une. Je suis allé dans mon Level Blueprint et j'ai créé ce
script ici. Il y a une référence à
mon personnage ou à ma femme. Je pense que c'est la bonne. Je dois le mettre à jour. Je vais cliquer dessus
avec le bouton droit de la souris et actualiser ce nœud. Il y a le rouge,
il y a le vert. Vous, tant que vous
les avez sélectionnés dans votre niveau,
comme votre niveau rouge ici,
vous pouvez revenir
au plan de niveau, vous pouvez revenir
au plan de niveau touche Alt
enfoncée et cliquer avec le bouton gauche de la souris. Vous pourriez faire de même avec
le vert femelle. Et notez ma configuration ici. Si j'apporte un nœud de contrôleur Get
Player, je peux trouver des nœuds, des nœuds de
fonction pour
ne pas posséder une cible puis en
posséder une autre. Alors jetez un œil à cette
prise en main que
j'ai ici à l'intérieur
de mon plan de niveau. Quand j'appuie sur les trois touches, la toute première fois, nous allons
en tirer une sortie. Dans ce cas, nous allons nous
procurer notre manette de jeu. C'est quelle
que soit la manette nous utilisons à l'époque, notre manette de joueur BP, nous allons et possédons cible qu'
elle contrôlait. Dans ce cas, ce
sera sans prétention. Dans mon monde, je suis en train de faire apparaître
un personnage féminin de BP. Ce sera sans prétention
ce personnage féminin. Ensuite, on vous dit de posséder. Ce contrôleur de joueur
transférera la possession sur deux joueurs. Mon personnage de BP, une femme rouge. Ensuite, la deuxième fois que j'
appuie sur les trois touches, nous allons tirer sur
la broche de sortie B parce que la
bascule passe à a, puis B plutôt qu'à B.
Donc, la deuxième fois que vous appuyez sur les trois touches
tirez hors de la poutre. Nous allons le faire, je suis possédé chaque fois que nous contrôlons maintenant, ce
qui dans ce cas
sera le caractère rouge. Et nous
transférerons ensuite la possession
au personnage féminin green. On demande donc à notre manette de jeu de
posséder un personnage
et d' en posséder un nouveau. Alors
parlons-en en haut à gauche ici. Je vais cliquer sur Play. Ajoutez notre
objet de débogage à notre carte de test. Et alors jetez-y un coup d'œil. Donc, si j'appuie également sur le bouton
Up en ce moment, j'ai cette fonctionnalité de super
saut intégrée à mon personnage de
joueur. C'est une super
capacité à sauter. Cela sera transféré à
n'importe quel personnage que je possède. Donc j'appuie sur la touche. Bien, maintenant je
vais appuyer sur les trois touches en plein vol. J'ai transféré la possession à mon personnage rouge ici. Jetez un œil à cela. Si j'appuie sur la touche haut, fonctionnalité de
ma manette de lecteur transférée et vous
pouvez voir mes autres, Cotton Flight, ils
appuient sur les trois touches. J'appuie sur la touche F3. Quand j'étais en vol, j'ai
transféré la possession par le joueur. La manette
contrôle maintenant mon
personnage féminin green. Et bien sûr,
les fonctionnalités que j'ai intégrées à l'intérieur de ma manette de
lecteur BP seront également transférées. Donc, si j'appuie sur la touche haut tout en contrôlant
le caractère vert, je peux également faire un super saut. C'est donc une démonstration qui
montre qu' à l'intérieur de ma manette de
lecteur BP, je peux créer des
fonctionnalités pour toutes les fonctionnalités que je veux que
tous les personnages partagent, tous les bassins à partager. Cependant, j'ai des
fonctionnalités très spécifiques à un
personnage ou à un pion. Il
serait préférable de placer ce type de script dans l'
étang ou le personnage individuel. Très bien, maintenant, j'ai aussi
mentionné que créer
quelque chose comme les interactions avec l'
écran , la
mise en pause du jeu, etc., est
excellent à intégrer dans le
plan d'une manette joueuse. car les pions, les personnages qu'ils peuvent
mourir, les contrôleurs des joueurs existent tout au long de votre
session de jeu. Je vais donc trouver un
espace vide ici. Je vais cliquer avec le bouton droit. Je vais faire une recherche clavier et
faire quelque chose sur la touche P, P. Et je vais faire en sorte
que lorsque j'appuie sur la touche P, je fasse apparaître
un nœud de bascule. Ainsi, la première fois que nous appuyons
dessus, nous tirerons à partir d'un. La deuxième fois que nous appuyons
dessus, nous tirerons sur un battement. Et tout ce que je veux faire ici,
c'est mettre le jeu en pause. Contrôle C, contrôle V. Ainsi, la première fois
que nous appuyons sur la touche P, nous voulons mettre le
jeu en pause. La deuxième fois que vous
appuyez sur la touche P. Nous voulons qu'il n'y ait pas de pause. Maintenant, c'est très important. Vérifiez cela avec votre touche
P sélectionnée ici. Vous devez vous assurer
de cocher cette case pour l'exécuter en cas de pause. Parce que si nous ne cochons pas
cette case, vous pourrez appuyer sur
la touche P pour mettre le jeu en pause. Mais comme le jeu est suspendu, il ne reconnaîtra pas que
vous appuyez à nouveau sur
la touche P pour le remettre en pause. Vous devez donc vous assurer
que cette case est cochée si vous voulez pouvoir l'utiliser pour faire
une pause et une relance. Alors jetez un œil à ça. Je joue au jeu. Je peux courir, appuyer sur la touche P, le jeu est gelé. Appuyez à nouveau sur la
touche P le débloquer. Je vais appuyer sur les trois touches, passer à mon caractère rouge
ici, appuyer sur la touche P,
faire une pause, appuyer à nouveau sur la
touche P en pause, et transférer de même la
possession à mon caractère vert. Appuyez sur la touche P, faites une pause, appuyez à nouveau sur la touche P,
relancez la pause,
fonctionnalités partagées, le tout dans le plan de la
manette du lecteur. Vous avez
peut-être remarqué que notre modèle de
manette de lecteur
reconnaît et
traite les événements d'entrée sans
aucune configuration spéciale. Nous n'avons pas eu à
entrer dans les paramètres par défaut de nos classes et à faire quoi que ce soit de spécial
pour que cela fonctionne ou
pour que cela fonctionne. Maintenant, le personnage et les étangs font la même chose que notre
Level Blueprint. Ils traitent tous ces événements
d'entrée par défaut. Alors, que se passe-t-il si
j'utilise dans ce cas, disons l'événement UP dans
une manette de jeu, dans un plan de personnage
et un plan de niveau. Que se passe-t-il ? Quelle est la priorité ? Eh bien, lançons un scénario ici à l'intérieur de ma
manette de jeu. Si j'appuie sur la touche haut, je lance le personnage. Installons-en dans notre personnage de
BP féminin, que je contrôle actuellement ici dans mes
paramètres de monde, c'est-à-dire. Ma classe de manette de joueur. Je vais juste apporter la touche haute. Je dois
chercher le clavier vers le haut. Et je vais juste
m'éloigner d'ici. Et je vais imprimer de la chaîne. Et je dirais du caractère. Les femmes vont simplement l'
imprimer à l'écran pendant
20 secondes, par exemple . Juste pour se donner
un peu plus de temps ici, nous allons le changer pour qu'il soit rose pour le rendre beau et visible. Très bien, compilez, sauvegardez ça. Et puis, à l'intérieur de
notre Level Blueprint, je vais également augmenter le clavier. Et à l'intérieur, nous allons
simplement émettre un son et
faire une explosion, n'est-ce pas ? Très bien, alors compilez, sauvegardez. Maintenant, j'ai intégré la touche
up à nos plans de
niveau, notre personnage et à notre
manette de jeu.
Lequel d'entre eux
sera prioritaire ? Je vais donc continuer
et cliquer sur Play here. Et j'appuie sur la touche haut
et j'ai sauté très haut. Je n'ai
rien entendu et je n'ai vu aucun texte imprimé
en haut à gauche. Le contrôleur du joueur
est donc la priorité absolue. Et si je voulais que
cette clé soit également traitée dans mes
autres plans. Comment pourrais-je configurer cela ? Sortons d'ici rapidement. Et maintenant que ma touche Up est sélectionnée
ici, mes événements d'entrée, cette entrée de consommation est la
touche qui détermine que seul cet
événement d'entrée est traité dans ma manette de lecteur
et non dans les autres plans. Tant que cette option est cochée, cela consommera cette entrée, ce
qui signifie que c'est le seul endroit où elle sera enregistrée. Il va le manger et ne le reconnaîtra dans aucun plan de moindre
priorité. Si je décoche cette case et
que nous essayons de jouer à nouveau, et que j'appuie sur la touche haut. Vous pouvez maintenant voir que j'ai fait
le Super Jump et que vous avez également entendu ce bruit d'explosion. Ce qui s'est passé ici, c'est que j'ai appuyé sur
la touche haut et que j'ai dit : OK, lancé avec le personnage, nous ne consommons pas cette entrée. Et voici ma carte des tests de niveau. Il a également traité l'entretien, mais il a également indiqué que nous allions consommer cette entrée, qui signifie qu'elle s'arrête là, ne permettra à aucun autre
plan de les traiter. Donc, la commande est passée. Notre manette de
jeu a la priorité, le plan
de niveau la deuxième priorité, puis votre étang et vos
personnages ont la troisième priorité. Donc, si je voulais que cela soit traité
ici aussi chez ma femme, ici avec ma carte de test de niveau, je dois
m'assurer que j'ai sélectionné, ne pas consommer l'entrée. Notre configuration se trouve donc maintenant dans
la manette du lecteur. Nous ne consommons pas cette contribution. Nous l'autorisons à filtrer vers le bas dans mon
Level Blueprint. Nous ne consommons pas
cette contribution. Nous l'autorisons à filtrer l' intérieur de mon personnage féminin. Ça n'a pas vraiment d'importance ici.
Il s'agit de la troisième priorité. On peut aussi le consommer ici. Il l'
imprimera à l'écran. Alors maintenant, quand je joue, j' appuie sur la touche haut, je
vais faire un super saut. Vous allez voir ces textes pour les personnages féminins
ici. Et cette explosion sera également
entendue. On y va. Personnage féminin de Super Jump Explosion 12.3. Très bien, donc pour résumer, le
plan de la manette du joueur est celui qui peut être intégré à
votre mode de jeu. joueurs contrôleurs sont
des acteurs non physiques qui peuvent posséder un étang. Ils ont une
relation individuelle contrôlant un étang ou un personnage à la fois. Et les manettes de jeu
sont mieux utilisées pour implémenter des
fonctionnalités centrées sur l'utilisateur, comme l'affichage d'un menu de
pause ou pour toute fonctionnalité partagée entre personnages ou bassins que vous
pourriez emprunter. contrôle de. Les gars qui feront l'
affaire pour vous proposer celui-ci, nous vous verrons dans le prochain.
103. Instance du jeu: Bienvenue. Dans cette vidéo, notre objectif est de
découvrir et de démontrer utilisation du
plan d'instance de jeu dans Unreal. C'est ce type juste en bas. Maintenant, c'est personnellement l'un de mes
plans de framework préférés dans tout ce qui est irréel, car
il agit comme un excellent conteneur de stockage
fiable vers
lequel vous pouvez accéder pour accéder à des
variables et à tout le reste, quel que
soit le niveau. tu es partante. Maintenant, je ne sais pas si cela est techniquement considéré comme
un schéma directeur car ce n'est pas l'un de ces plans qui est
intégré à notre mode de jeu. Maintenant, vous vous souvenez que, comme précédemment dans notre discussion sur
les plans de
cadre, c'est le mode de jeu qui
détermine le reste de ces plans,
tels que notre classe de pion par défaut, joueur contrôleur, etc. L'instance de jeu est
distincte de celle-ci. Cela ne fait pas du tout partie de votre mode de
jeu. Nous pouvons voir que
mon mode de jeu BP est ouvert en
haut de la page. Et si je devais sélectionner nos classes par défaut ou plutôt une
classe par défaut. Nous pouvons le voir dans
la classe de section, il n'y a rien ici pour une instance de
jeu, des plans. Qu'est-ce qui rend ce
plan si spécial ? Eh bien, il est unique
en ce sens qu'il n'est pas détruit lorsque vous changez de
niveau dans votre jeu. Il persiste tant que
votre jeu est en cours d'exécution. Très bien, à ce stade, vous vous demandez probablement pourquoi le
plan de l'instance de jeu est si précieux. Qui
se soucie de savoir s'il persiste, s'il existe tout au long de
ma session de jeu ? Eh bien, ce qui rend
l'instance de jeu si précieuse, c'est qu'elle transporte des données variables un niveau à l'autre. Sans être réinitialisé. Vous voyez toutes les variables que vous avez définies dans votre étang, votre
manette ou votre mode de jeu, elles seront réinitialisées à leurs valeurs par défaut lorsque
vous changerez de niveau, instance de
jeu ne l'a
pas problème. Il stockera et
transmettra les données variables niveau
à l'autre sans
que ces variables ne soient réinitialisées. n'a pas vraiment
aidé à comprendre ce point. J'ai mis en place un scénario que
nous allons tester ici. Remarquez mon mode par défaut, classe
Pawn et ma classe de
manette de joueur ici. Mode de jeu Bp, pion BP et manette de joueur
BP. Dans chacune d'elles,
j'ai créé, et je vais
commencer par mon pion BP ici, une variable Lives. Par défaut, il démarrera
à zéro. Et à l'intérieur, j'ai simplement créé ce script ici. Je vais donc
appuyer sur la touche 6. Nous allons sauver notre vie. Ce nœud va
l'incrémenter. C'est une note
spéciale qui va
nous sauver la vie et qui
va immédiatement nous faire reculer. Donc, la première fois que j'appuie sur six, ça va changer
ça pour un, puis deux, puis trois,
et cetera, et cetera. Et nous allons l'imprimer
à l'écran. Nous allons faire le
même type de configuration ici à l'intérieur de notre manette de
lecteur BP. J'ai donc simplement copié et collé ce bout de script dans la manette de
mon lecteur. J'ai simplement échangé
la touche de saisie. Ma vie est également
variable. Maintenant, dans mon mode de jeu, le mode de jeu ne
reconnaît pas les événements d'entrée. Cependant, dans mon mode de jeu, j'ai créé une variable Lives. Je vais également commencer
par zéro. Maintenant, parce que je ne pouvais pas
l'incrémenter ici. Laissez-moi le compiler et
l'enregistrer rapidement. Je le fais dans
mon Level Blueprint. Alors je suis allé ici, suis entré dans l'ouverture de mon
plan de niveau, et grâce au plan de niveau,
je peux appuyer sur l'achy, obtenir mon mode de jeu, lancer, mon mode de jeu, accéder à cette
variable de vie qui dans le plan de ce
mode de jeu. Je peux l'incrémenter et l'
imprimer à l'écran à partir de là. Donc, dans trois
plans différents, mon pion BP, ma manette de
joueur et mon plan de niveau, où j'accède à cette
variable dans mon mode de jeu, je vais incrémenter
cette variable de vie. Ensuite, ce que je vais faire au-delà cela, c'est ici, dans mon
Level Blueprint, que j'ai configuré ce script. Lorsque j'appuie sur la touche L, je vais ouvrir un nouveau niveau. Le niveau que je
vais ouvrir est ce niveau minimal par défaut. C'est un niveau que l'on trouve dans mon dossier de cartes de contenu de
démarrage, ce gars juste là. Et je veux que vous
sachiez que dans
mon plan de niveau minimal par défaut, j'ai configuré le
même script afin que nous puissions incrémenter nouveau
nos modes de jeu bp lies
variable. Donc, ce que vous allez voir
avec ces trois éléments, que je vais incrémenter
ces variables et les transférer
sur une nouvelle carte. Ensuite, je vais essayer d' incrémenter
à
nouveau ces variables après le transfert
sur la nouvelle carte, vous verrez que
ces dénombrements vous verrez que
ces dénombrements recommencent à zéro. C'est donc l'
inconvénient de stocker certaines variables dans un
pion, une manette de jeu ou un mode de jeu si vous
transférez des niveaux, ce que les jeux font
souvent à partir du niveau
1 Au niveau 2, les variables à l'intérieur de ces trois plans vont revenir à leur valeur par défaut. Très bien, alors on y va. Voici notre
test de jeu, en cliquant sur Play. Très bien, je vais donc
commencer par appuyer sur la touche 6. Comme vous pouvez le voir, j'
incrémente mon spawn. Les variables
de la durée de vie de mon pion y totalisent 25, et je vais
appuyer sur la touche 7. La variable Lives à l'intérieur de ma manette de jeu peut atteindre 25. Maintenant, je vais
appuyer sur la touche 8. Et la variable mensonges dans
mon mode de jeu a maintenant été
incrémentée jusqu'à 25. Je vais maintenant
appuyer sur la touche L pour passer à un nouveau niveau. Je suis là. Maintenant, parce que j'
ai configuré dans les paramètres de
mon projet qu'il s'
agit de mon mode passerelle par défaut, ma classe de pion par défaut par
défaut, de la manette de jeu. Tout cela va être transféré
pour
contrôler le mode de jeu, classe de
pion et la manette de
joueur avec
lesquels je joue ici
dans ce nouveau niveau. Alors jetez-y un œil. Je vais appuyer sur la touche 6. Vous pouvez voir que mes vies étaient
variables à l'intérieur de mon étang et qu'elles reprenaient zéro. Je vais appuyer sur la touche
sept au lieu que la manette de mon lecteur
redémarre à zéro,
donc je dois
compter à
nouveau à partir de zéro , puis
appuyer sur le bouton endolori. Mes vies variables dans
mon mode de jeu ont également redémarré
depuis le début. C'est donc là que l'
instance de jeu est vraiment utile. Si vous voulez qu'une variable Lives soit transférée
d'un niveau à l'
autre , souvenant de la valeur avant d'
entrer dans le nouveau niveau. Très bien, alors allons-y et créons notre plan d'
instance de jeu. Nous pouvons le faire ici dans les paramètres de notre projet, sous les
cartes et les modes, les instances de jeu. Vous avez ce bouton
plus juste ici pour créer une
nouvelle instance de jeu. Cependant, je vais
revenir à mon navigateur de contenu. Et à l'intérieur de mon dossier de
framework de script, je vais cliquer avec le bouton droit de la souris
et laisser de l'espace vide. Et dans la classe Blueprint, je ne vais pas
voir une instance
de jeu dans cette zone
n'est pas très courante. Mais dans la section Toutes les
classes, nous pouvons saisir Game Instance. Et vous voulez choisir
ce type ici, instance de
jeu, pas
jeu de plateforme, mais c'est juste
une bonne vieille instance de jeu. Sélectionnez cette option et
je vais appeler cette instance de
jeu BP Underscore. Très bien, ensuite,
allons-y et insérons
cela dans les paramètres de notre
projet. Si vous avez oublié où
accéder aux paramètres du projet, vous pouvez y accéder ici. Ou sous Modifier les paramètres du projet. Vous souhaitez accéder à des
cartes et à des modes. Et c'est juste
ici, en bas. En cliquant sur ce menu déroulant,
je vais l'insérer dans mon instance de jeu BP. C'est génial Pas de bouton Enregistrer ou quoi que ce soit d'autre ici, nous pouvons simplement quitter les paramètres de notre projet ou revenir à notre navigateur de
contenu. Je vais double-cliquer sur l' instance de jeu
IBP
ici pour l'ouvrir. Et nous allons
ajouter une nouvelle variable, et je vais l'appeler lives. Et nous allons faire en sorte
que ce soit un entier. Nous allons procéder à la
compilation et à l'enregistrement. Et nous allons
laisser cette valeur par défaut à zéro pour le moment. Maintenant, ce que je peux faire
ici, c'est
imprimer à l'écran le nombre de vies que
j'ai. pourriez penser qu'un moyen de le faire Vous pourriez penser qu'un moyen de le faire est cliquer avec le bouton droit de la souris et
de rechercher Begin Play, et vous découvrirez
que cela n'existe pas. Ce que vous voulez faire, c'est qu'ici dans le plan d'une
instance de jeu, vous devez rechercher un
événement appelé event in knit. C'est un peu comme si
l'événement commençait à se dérouler. Dans BP Game Instance, dans le plan d'une
instance de jeu, cela se déclenchera
dès le début de notre jeu. Donc, si j'imprime une chaîne, je peux la faire glisser vers l'arrière. Je vais taper, ajouter. Dans le a, je vais mettre
une instance de jeu. Faisons une instance de jeu. Existe pour la valeur b. Permettez-moi d'ajouter quelques espaces
par la suite. instance de jeu vit
à double espace. Ensuite, je vais simplement
glisser-déposer ceci dans notre graphique, l'
obtenir, et le brancher
sur le B, un nœud de conversion
entrera également. Donc, si je compile, que je sauvegarde
et que je joue, vous pouvez voir immédiatement
en haut à gauche que Game Instance vit à zéro. Très bien, allons-y, soyons généreux et disons qu'
au lieu de zéro vie, vous commencez
par trois vies. Et nous allons dire
qu'ici, dans notre niveau, je vais compiler
et enregistrer cela très rapidement dans notre plan d'
instance de jeu, disons que dans notre niveau, nous allons faire en sorte
que lorsque votre personnage atteindra cette boîte de déclenchement que
nous avons eue dans notre niveau, nous allons lui attribuer une vie
supplémentaire, un bon travail. Vous avez atteint
la fin du niveau. Donc, de retour dans mon
plan de niveau ici, vous pouvez accéder au
plan de niveau comme ça. Je vais modifier un peu ce
script ici. En fait, je vais complètement mettre
fin à tout ça. Si longtemps. Et tant que votre volume de déclenchement
est
sélectionné ici dans
votre sélectionné ici dans plan de niveau, nous
allons cliquer avec le bouton droit de la souris. Nous allons
ajouter des événements lorsque nous commencerons à les chevaucher. Faisons un casting pour que je
doive lancer sur BP pawn,
lancer pour être P pond parce
que c'est actuellement le cas. L'étang que je
contrôle dans mon jeu. Ce sera donc faire
le chevauchement. Je n'ai aucun paramètre mondial qui remplace le
mode de jeu pour le moment. Je voulais juste que ce
soit clair. Lorsque nous chevauchons cette
boîte de déclenchement avec notre pion BP,
nous cliquons avec le bouton droit sur
Obtenir une instance de jeu. Ensuite, nous allons
lancer sur BP Game Instance. Dans notre instance de jeu BP, nous avions une variable appelée lives. Et
allons-y, sortons-en et incrémentons-le simplement. Très bien, donc tout
va bien se passer. Donc c'est génial. Cela devrait être imprimé. Je vais, en fait, l'imprimer à l'écran, imprimer une chaîne. Et nous imprimerons les montants
mis à jour ici. Ainsi, lorsque nous superposons
cette boîte de déclenchement, nous allons ajouter une vie et imprimer à l'
écran, compiler, enregistrer. Allons-y et le test de
jeu se fera rapidement. Laissez-moi définir mon objet de débogage. Et j'ai vu très
vite que lorsque nous avons commencé à jouer, cette
instance de jeu vivait à trois. Je vais donc
superposer ce look en haut à gauche ici comme je le fais. Nous avons donc à nouveau quatre
chevauchements, 56, ça y est, 67, etc. Voici le problème
avec notre configuration actuelle. Si j'appuie sur la touche L
pour transférer des cartes, je n'ai aucun moyen d'imprimer la valeur de
notre vie actuelle à l'écran. Je veux dire, sur notre événement, l' événement initialisé, nous
l'imprimons à l'écran. Et lorsque je superpose
ce volume de déclenchement, nous l'
imprimons à l'écran. Mais dans ma nouvelle carte, je n'ai aucun moyen de
l'imprimer à l'écran. Juste parce que j'ai
envie de jouer à l'intérieur de ma manette de jeu, je vais faire apparaître la valeur de
vie de
notre instance de jeu BP. Nous avons donc beaucoup de
communication avec Blueprint ici. Donc, à l'intérieur de ma manette de
lecteur BP, je vais modifier
ce script ici. Quand j'appuie sur la touche sept, je vais simplement lancer instance
jouée
sur notre instance de jeu bp. Nous allons obtenir la
variable de durée de vie qui vit
à l'intérieur de cet endroit. Et nous allons simplement l'
imprimer à l'écran. Comme ça. Je vais donc
compiler et enregistrer ici. Comprenez donc ce qui se passe ici dans
notre instance de jeu bp, existera tant que
notre jeu sera vivant, que nous
transférions le niveau ou non. Ainsi, à l'intérieur de notre instance de jeu
BP, lors de l'initialisation de notre jeu, nous allons imprimer nombre de vies
que nous devons afficher. Ça fera trois. Lorsque nous nous chevauchons, cela déclenche un volume juste à l'intérieur
de notre plan de niveau. Nous allons accéder
au plan de notre
instance de jeu, saisir nos vies, l'incrémenter et l'imprimer
à l'écran. Et puis quand je
passerai à un nouveau niveau voici un nouveau niveau qui
respectera les paramètres de notre
projet ici, y compris notre classe de
manette de joueur. Et dans notre nouveau niveau. À l'intérieur de notre manette de jeu, je vais appuyer sur
la touche sept pour obtenir notre instance de jeu
et cela nous montrera que nos
vies mises à jour et modélisées sont conservées. Alors on y va. En appuyant sur Play, l'
instance de jeu vit à trois. Nous allons
chevaucher ce 456,7. Je vais appuyer sur la
touche L pour transférer des niveaux. Maintenant, souvenez-vous qu'ici, dans
ma manette de jeu, la manette de jeu
va continuer, même si la valeur
des variables qu'elle contient
va être réinitialisée. Notre contrôleur de joueur BP
va réexister ici dans ce niveau, c'est ce qui
domine notre pion ici. Donc, à l'intérieur
de notre manette de jeu, je vais appuyer sur
la touche sept. Maintenant. Je vais configurer mes objets de débogage sur ceux qui sont apparus dans la manette
du joueur. Maintenant, lorsque j'appuie sur la touche sept, vous pouvez voir que cette
variable a continué. Nous avons sept vies dans notre instance
de jeu BP. Avant de terminer
cette vidéo, je voulais vous montrer à
quel point elle était puissante,
en particulier en ce qui
concerne les plans de widgets. Donc, dans mon dossier de
widgets de script, je vais ouvrir mon HUD WPP et l'onglet graphique MEW BP HUD. Ce que j'ai fait
entre les coupures de caméra ici vient d'Event Construct. J'ai mon instance de jeu. Je lance un casting sur une instance de jeu BP. J'ai cliqué avec le bouton droit sur cette
épingle et je l'ai promue en variable afin de capturer mon instance de jeu dans une variable. Si vous faites cela, cela vous permettra de revenir dans votre onglet Designer
pour créer
directement des liaisons , deux variables liées à l'intérieur de votre instance de
jeu BP, par exemple si je devais faire glisser
un texte. widget ici, au lieu de dire
bloc de texte juste ici dans le panneau Détails, je pourrais passer sous l'
endroit où il est dit liaison. Et maintenant, parce que j'ai
créé une référence à mon instance de jeu BP,
jetez un œil à ça. En tant qu'instance de jeu BP, je peux lier cela à
ma variable lives. Cela indiquera toujours
text-block par défaut. Mais si je compile et sauvegarde, je pourrais alors créer ce morceau de script, d'
événement, de commencer à jouer, de
créer un widget, créer votre HUD via cela, puis d'ajouter à la fenêtre d'affichage. Et alors, ce que cela me
permettrait de
faire , c'est de jouer à mon jeu. Et à l'intérieur de mon HUD B, W BP, mes vies devraient être représentées
ici même dans mon HUD. Alors allons-y et jouons à ça. Et vous pouvez voir que l'instance de
jeu vit trois fois et cela
se reflète désormais dans le HUD. Cela va sans dire que les vies variables à l'intérieur de
notre instance de jeu. Si je devais passer en revue
cela pendant cinq, vous verrez également cette
mise à jour. Et je vais appuyer sur la
touche L pour transférer les niveaux six. Il est toujours présent ici
, dans mon nouveau niveau également. Très bien, alors voilà, les plans des instances de jeu. L'un de ses principaux avantages
est qu'il ne
réinitialise pas les variables entre les changements de niveau. À noter ici, si jamais vous êtes suffisamment
avancé pour créer et implémenter un système de
sauvegarde dans Unreal, ce qui sort évidemment
du cadre de ce cours. Le plan de l'instance de jeu permet souvent de récupérer des
données
d' un fichier de jeu enregistré
et de les importer dans
votre jeu actuel,
ainsi que d'écrire des données à partir d'un jeu en cours. vers une sauvegarde de jeu. Il agit en quelque sorte comme un intermédiaire. Très bien les gars, ça va tout
faire pour cette vidéo, on se voit dans la prochaine.
104. Compiler: Bienvenue. Cette vidéo sera
entièrement consacrée à la compilation. C'est ce bouton situé tout
en haut à gauche des plans. Nos objectifs seront donc les suivants. Premièrement, nous allons présenter des
méthodes de démonstration pour compiler des plans. Deuxièmement, nous allons
apprendre à localiser rapidement un problème lorsque votre
plan ne parvient pas à être compilé. Et troisièmement, nous
allons montrer comment combiner les actions Compiler et Enregistrer dans
un plan afin que vous n'ayez pas
à compiler,
enregistrer, compiler, enregistrer, compiler, enregistrer, compiler,
enregistrer de manière obsessionnelle enregistrer, compiler, enregistrer, compiler, enregistrer, compiler,
enregistrer tout
doit être fait en une seule étape. Très bien, j'ai ouvert
mon onglet
ThirdPersonCharacter en haut parce que
je vais bientôt travailler à
l'intérieur. Mais commençons par parler ce qu'est la compilation, ce qui se passe lorsque nous appuyons sur ce
bouton de compilation. Eh bien, lorsque vous
compilez un plan, vous lancez le
processus
de conversion
des propriétés et de tous les scripts votre graphe d'actifs de plan tels que en tant que
personnage à la troisième personne ici, dans une classe, à savoir notre classe de personnages à la
troisième personne. En
programmation informatique, lorsque vous compilez du code, le compilateur, qui est généralement un
autre programme , prend le programme
que l'humain Rhodes, dans ce cas, notre script et toutes
les propriétés et
des variables et ainsi de suite. Et il va le convertir
en un programme que l'ordinateur peut
réellement comprendre. Maintenant, je peux vous aider à
comprendre ce point un peu plus loin en faisant ceci J'ai ce script de saisie de saut ici dans notre
ThirdPersonCharacter. Si je devais cliquer avec le bouton gauche de la souris
et faire glisser le pointeur sur
tous ces nœuds, contrôler C. J'ai une application bloc-notes
ouverte en bas. Je vais juste faire un
Control V à l'intérieur. C'est tout le code qui soutient l'ensemble de notre
script sauté ici. Donc, essentiellement, lorsque vous créez des scripts via ces nœuds
que vous reliez entre eux, il y a du code qui soutient tout
cela lorsque vous
compilez votre vérification pour vous assurer que votre code dans toutes les
propriétés, variables, etc., que vous êtes, qui toutes partie de tout cela, qui
sont prêtes à l'emploi, que c'est propre et
qu'il n'y a pas d'erreur, que la machine peut le lire, qu'
elle sait exactement quoi faire et qu'elle peut
l'utiliser ainsi. Très bien. Maintenant,
il est important de
savoir que
lors de la compilation d'un plan, nous pouvons être mis au courant des problèmes liés à nos scripts de
plan. Cependant, notez qu'il
ne détectera pas toutes les erreurs car certaines zones sont
simplement de nature humaine. Par exemple, ici, j'ai introduit un
système d'apparition au niveau du nœud de localisation. Maintenant, je peux dire, oui, je veux créer ce système, cette
particule de Niagara ici même. Mais que se passe-t-il si mon échelle est
réglée sur 000 et qu' un événement essaie de faire apparaître ce système,
mais que je ne le vois pas ? Je me demande peut-être
ce qui se passe. Il doit y avoir un
problème avec mon script. En fait, il n'y a peut-être rien de mal à mon script. Cependant, je n'
obtiens pas le résultat auquel je m'attendais parce que j'ai réglé
l'échelle sur des zéros, zéros, zéro, ce qui signifie
que je ne le verrais pas. La compilation d'un plan
ne détectera donc pas de telles erreurs. Très bien, ici, dans mon graphe d'événements
ThirdPersonCharacter, j'ai mis en place un scénario dans lequel je vais créer intentionnellement un
mauvais script ,
puis essayer de le compiler. Je vais faire en sorte
que lorsque j' appuie sur le bouton B, je fasse apparaître un acteur. Allons-y et
disons : « Prends une potion ». Cependant, je vais
intentionnellement laisser cette entrée de
transformation de spawn vide si j'
essaie de compiler maintenant, vous verrez
que lorsque je le ferai, cela va générer
une erreur ici. Et en fait, cette info-bulle
indiquera qu'il y a eu une erreur lors de la compilation.
Consultez le journal pour plus de détails. Donc, par journal, pointe vers cet onglet Résultats du compilateur qui vient d'apparaître
en bas de mon écran. Et cela me fera
savoir que, hé, vous avez quelque
chose à régler. Dans ce cas, mon
code PIN de création d'une transformation n'
est pas valide pour que nous puissions faire
apparaître un homme qui répartit, nous devons lui indiquer
où apparaître. Maintenant, si vous ne voyez pas cet onglet Résultats du
compilateur en bas, ou si vous le
fermez accidentellement, vous pouvez le récupérer de la
manière dont vous récupéré ou à
peu près n'importe quel autre onglet manquant
c'est que vous passez sous votre fenêtre et que vous
pouvez trouver ici les résultats du compilateur. Rallumez-le. Les résultats de votre compilateur affichent désormais les
erreurs ou les avertissements lors de
la compilation d'un plan. Et ce qui est bien, c'est
qu'il contient des hyperliens sur lesquels vous pouvez cliquer pour
accéder au point névralgique. Nous pourrions donc cliquer ici
sur notre transformation d'apparition. Et cela ne fera que nous montrer
où se trouve ce point névralgique. Donc, si vous êtes quelque part là-bas dans votre graphique et que vous vous demandez : «
Où est cette erreur ? Allons-y, cliquons dessus et il vous redirigera directement vers elle. Maintenant, regardez ce qui arrive
à notre bouton Compiler, notre icône ici, lorsque
nous répondons de spawn et de transformation aux exigences
de spawn et de transformation de cet
acteur de spawn à partir du nœud de classe. Je vais juste intégrer
la
transformation du monde de notre point de terminaison
Line Trace. C'est juste un
élément d'erreur que j'ai ajouté à mon personnage à la troisième personne qui se
trouve juste
devant notre personnage. Je vais le brancher ici. Notez que
dès que je l'ai branché,
l' icône au-dessus de notre
bouton Compiler a changé. Nous voyons maintenant un point d'
interrogation en jaune. Ainsi, lorsqu'il passe à cette icône, cela signifie que certaines modifications ont
été apportées à
notre plan ici. Cela se produira chaque fois que quelque chose de nouveau est ajouté à un graphique, à une nouvelle
variable ou fonction, macro
ou à un nouveau composant
. Cela vous permet de savoir, hé, que
quelque chose est différent. Maintenant, il existe plusieurs
façons de compiler un plan. Vous pouvez cliquer dessus ou un raccourci clavier
y est
associé. Appuyez sur F7
pour compiler également. Je ne vais pas
vraiment appuyer sur un sept pour le moment parce que F7 est mon raccourci clavier pour démarrer et arrêter mon
enregistrement ici. Mais sachez simplement que F7 est ce que
vous pouvez utiliser comme touche de raccourci. Je vais donc continuer
et cliquer sur Compiler ici. Cette coche verte
signifie que vous pouvez y aller. Et vous pouvez également le voir
dans l'infobulle. Discutons maintenant de quelques options
de compilation. Ces trois points
juste ici les révèlent. Nous pouvons économiser sur la compilation
et nous ne pouvons jamais le faire. Nous pouvons le faire en cas de succès
uniquement ou toujours. Si ce n'est jamais le cas, c'est
ce que j'ai eu pendant
la majeure partie de ce cours. Nous devons compiler. Et puis, si votre
compilateur fonctionne, vous devez l'enregistrer directement après afin de vous
assurer que toutes les modifications
apportées à votre plan ou
réellement enregistrées uniquement en cas de succès seront enregistrées uniquement lorsque votre
plan est compilé avec succès. Et cela signifie toujours qu'il va
l'enregistrer, que cette
compilation soit réussie ou non. Nous avons également cette option d'accès
au nœud d'erreur. Vous pouvez activer ou désactiver cette option. Il s'agit en fait d'une coche
que vous pouvez cocher ou désactiver. Je vais l'activer ici. Et cela va être
très intéressant de nous faire savoir où se trouve une
erreur dans notre graphique. Ça ira droit au but si
on en fait un. Je vais donc le
déconnecter rapidement. Vous pouvez maintenir la
touche Alt enfoncée
et cliquer avec le bouton gauche, puis je vais
naviguer vers un endroit aléatoire dans mon graphique, comme celui-ci. Alors maintenant,
quand je compilerai , je vais y accéder directement. J'aime
beaucoup cette option fortement recommandée
qui passe au nœud d'erreur juste en dessous de
ces trois points. Maintenant, juste un petit mot à propos de cette option de nœud sauter à Err. Cela revient à cliquer sur l'un de vos hyperliens d'erreur ci-dessous. C'est plutôt cool. Il ne peut évidemment pas accéder à
toutes les erreurs en même temps. Si, en fait, vous
avez plusieurs erreurs, serez redirigé vers l'erreur
en haut de la liste. Il s'agit de la dernière erreur
découverte. De plus, je voulais revenir sur cette option Enregistrer lors de la compilation. Si je vais sur mon
plan de niveau et que je clique sur
ces trois points ici. Je peux voir que si je passe sous
l'option Enregistrer lors de la compilation, tout cela est grisé. Vous allez constater que
ces options ne sont disponibles à aucun niveau ni
à aucun sous-niveau. Cela est dû au fait que l'
enregistrement d'un niveau ou sous-niveau enregistre lui-même le
plan qui lui est associé. ai donc pensé
que je devais le souligner ici. Vous pouvez appuyer sur F7, c'
est-à-dire la touche de raccourci dans un plan de
niveau ou de sous-niveau. Notez que cela
enregistrera également le niveau ou le sous-niveau lui-même. Enfin, je voulais juste souligner une fois
de plus que résultats de
votre compilateur
ne montreront pas toutes les erreurs humaines. Donc, revenons ici, mon
ThirdPersonCharacter Blueprint. Nous pouvons dire que oui, en effet, c'est
ici que nous voulons faire apparaître cet homme, une potion devant
notre personnage. Cependant, si je devais casser
ce fil ici, je vais maintenir la
touche Alt enfoncée et cliquer avec le bouton gauche de la souris. Je vais commencer à compiler. Et ce sera comme si,
oui, c'était bon à partir. Même si vous pensez peut-être que pendant que vous jouez
au jeu, j'appuie sur la touche B, mais je ne vais pas faire apparaître de potion à
aucun homme. Encore une fois, irréel,
je ne peux pas connaître tes désirs les plus profonds. Il ne
sait pas si vous
vouliez réellement le déconnecter
ou le connecter. ne détecterai donc pas de telles
erreurs. Très bien les gars, ça va faire l'affaire sur cette vidéo et sur cette compilation. Nous vous verrons dans la prochaine.
105. Points de rupture: Très bien, bon retour à tous. Dans cette section du cours, nous allons apprendre à
mieux résoudre les problèmes liés à
nos plans. C'est ainsi qu'il faut les déboguer. Nous allons commencer par parler de points d'arrêt. L'objectif de cette vidéo
est d'apprendre à
créer et à utiliser des
points d'arrêt dans nos scripts afin de
nous aider à analyser ce
qui se passe lors de l'exécution d'un
script. Maintenant, j'ai mis en place un scénario ici. Je vais
contrôler l'étang IBP, je vais superposer l'une de mes portes rotatives spécifiques que nous avons créées
plus tôt dans le cours. Et vous remarquerez que notre jeu va se bloquer,
mais intentionnellement, pas involontairement. Alors regardez, je vais
superposer le volume de déclenchement. Croyez-moi, il y a un
volume de déclenchement devant
cette première porte. Rien ne semble se passer, mais je vais superposer ce deuxième volume de déclenchement
devant cette porte. Et voilà, nous bloquons le jeu. Nous avons atteint un point critique. Alors, qu'est-ce qu'un point d'arrêt ? Il s'agit d'une pause ou d'un
arrêt intentionnel que vous créez dans un script, comme indiqué par ce point rouge sur ce
nœud juste ici. Le but de
cette opération est maintenant de savoir si le script fonctionne
comme prévu. Peut-être qu'un événement que nous nous
attendons à déclencher ne l'est pas. Peut-être qu'une fonction que nous nous attendons à déclencher
ne se déclenche pas. Peut-être qu'une variable dont
nous nous attendons à avoir une valeur n'a pas encore
été définie. Essentiellement, un
point de rupture nous donne un délai pour examiner de plus près le comportement de
nos scripts. Très bien, je vais
quitter notre jeu et expliquer comment configurer des points d'arrêt
dans vos propres plans. Cliquez donc sur le
bouton Stop juste ici. La première chose que vous devez
comprendre, c'est que vous voulez vous
assurer que vous
évaluez le plan directeur approprié, la bonne instance
du plan. Je suis en train de
regarder ma porte rotative BP Maintenant, notez que dans mon niveau,
j'en ai deux. J'ai ce type, porte rotative
BP
et le second, la porte rotative
BP, à présent le plan de la porte
rotative MIB. Et voici un plan
que nous avons mis en place lors de notre vidéo sur les rotateurs
variables. J'ai défini un
point de rupture pour le moment où nous
commencerons à superposer
ce composant de boîte. Maintenant, en haut, si je clique sur ce menu déroulant, je noterai que je suis en
train d'évaluer, je suis en train de déboguer la porte
rotative BP et vous pouvez le voir
entre parenthèses juste là. C'est celle que j'ai
actuellement sélectionnée. Cela signifie que
si je
superpose ce composant de boîte pour la porte
rotative numéro un BP ici, cela ne s'arrêtera pas. Cela n'arrêtera pas l'exécution
de mon jeu car je suis en train d'évaluer la porte
rotative numéro deux de BP. Il est donc important
de comprendre cela. Si vous avez, par exemple, 50 instances d'un plan donné, cela arrêtera
l'exécution uniquement lorsque vous
superposez cette instance donnée, cette copie donnée
du plan. Voici donc la porte
rotative BP numéro deux. Maintenant, comment ai-je obtenu
ce point de rupture, ce point rouge sur ce
nœud pour commencer ? Eh bien, il y a
plusieurs façons de le faire. Vous pouvez cliquer avec le bouton droit sur un nœud. Et vous pouvez voir dans
notre menu contextuel que
nous avons des options de point d'arrêt. La première année que je vais
utiliser est de changer de point d'arrêt. Il y a un raccourci clavier
F9 associé à cela. Donc, comme c'est actuellement activé, je peux le désactiver
et vice versa, je peux cliquer avec le bouton droit de la souris, le
réactiver. Encore une fois, avec ce
nœud sélectionné sur F9, nous allons le désactiver, l'activer
, le désactiver, l'activer. Je pourrais à nouveau cliquer
dessus avec le bouton droit et supprimer le
point d'arrêt comme ça. Je pourrais appuyer sur F9 pour le
réactiver,
je pourrais cliquer dessus avec le bouton droit de la souris
et désactiver le point d'arrêt. Cela signifie que le point
d'arrêt sera maintenu ici. Cependant, cela n'
arrêtera pas l'exécution de notre jeu lorsque je chevauche la porte rotative
BP numéro deux, ceci ou que je rentre chez moi sur ce point, je peux cliquer dessus et
superposer cela et vous le voyez,
c' est un feu éteint, mais il Je n'ai
pas du tout mis mon jeu en pause. Il a maintenu ce
point d'arrêt,
mais il n'a pas mis le jeu en pause. Maintenant, vous vous demandez peut-être pourquoi je ne me suis pas complètement débarrassé de
ce point d'arrêt ? Pourquoi est-ce que je l'ai simplement désactivé ? Eh bien, parfois, vous
voulez avoir une liste de vos points de rupture
que vous pouvez consulter afin de ne pas les perdre de vue. Si je tombe dessus,
Debug est juste
là et j'amène mon débogueur
Blueprint. Dans cette fenêtre
, vous pouvez voir qu'il y a ma porte pivotante. Voici mes
listes de points de rupture. Et vous pouvez voir que j'ai
ce point d'arrêt juste ici,
qui correspond à ce type. Donc, si je double-cliquais
dessus, cela le mettra en évidence. Ce cercle vide
indique qu'il s'agit d'un point d'arrêt
désactivé. Je vais l'ancrer
ici. Et si je devais cliquer avec le bouton droit sur ce nœud et
activer le point d'arrêt, jetez un œil maintenant dans notre débogueur de
plan
sous les points d'arrêt, nous pouvons voir maintenant qu'il
s'agit d'un point rouge rempli, ce nœud et
activer le point d'arrêt,
jetez un œil maintenant dans notre débogueur de
plan
sous les points d'arrêt,
nous pouvons voir maintenant qu'il
s'agit d'un point rouge rempli,
est un point d'arrêt actif. Donc, tous les autres points d'arrêt
que nous avons ici seront listés ci-dessous. Et encore une fois, c'était sous
Debug Blueprint Debugger. Il y a ma
porte tournante et ma liste de
points d' arrêt peut être activée et désactivée directement
sur place. Très bien, nous pouvons maintenant
voir que nous avons configuré
ces points d'arrêt pour le moment où nous
commencerons à superposer
ce composant de boîte pour cette porte rotative. Deuxièmement, voyons ce qui se passe lorsqu'un
point d'arrêt est atteint. Je vais
cliquer sur Play up here. Maintenant, notez que c'est
la porte rotative numéro un. Je fais double emploi
et rien ne se passe. Je vais superposer la boîte pour faire pivoter la porte numéro deux. Le jeu s'arrête immédiatement. Nous ouvrons notre graphique des événements pour la porte tournante
numéro deux ici. Et nous pouvons voir que nous
avons chevauché cette boîte. Cependant, nous ne savons pas encore
exactement ce qui se chevauchait. Nous pouvons donc poursuivre
notre script pour évaluer plus en détail cette flèche rouge indiquant le nœud actuel sur lequel nous nous trouvons. Nous
chevauchons actuellement cette case. Si nous cliquons ici, nous pouvons passer au nœud
suivant de notre chaîne d'exécution, FTN. La touche de raccourci nous permettra
également de vous y rendre. Notez donc cette astuce. Donc, en superposant cette case, nous allons vérifier si c'est le ThirdPersonCharacter
qui nous chevauche. Maintenant, je contrôlais
nos BP Pons, donc ce casting devrait échouer. Maintenant, parce que ça échoue. Nous n'avons rien connecté à notre
panneau
de champs CAS ici. Cela devrait nous permettre de partir
d'ici parce qu' il n'y a rien d'autre
à faire pour continuer. Notre script est en train de
mourir ici même. Allons-y et essayons
de passer au nœud suivant. Comme vous pouvez le constater, il n'est
pas passé à notre nœud suivant. En fait, si j'ouvre à nouveau notre fenêtre de
jeu, permettez-moi de minimiser cela. là que nous pouvons voir que nous sommes de
retour à notre jeu. Très bien, allons-y,
quittons notre jeu ici, revenons à notre moteur. Et maintenant, faisons en sorte que
dans les paramètres de notre projet, nous n'utilisions plus par défaut
la classe Pawn de BP pond, mais que nous ajoutions notre
ThirdPersonCharacter. Et la raison pour laquelle
nous faisons cela est que dans notre script de porte
rotative, nous vérifions
ici si c'est le ThirdPersonCharacter
qui nous chevauchait. Remarque : dans notre niveau, j'ai également effacé les paramètres de notre
monde. Nous allons donc respecter les paramètres
du projet,
les paramètres de projet que nous
avons pour notre
framework, les plans, le mode de jeu
BP, BP
ThirdPersonCharacter, contrôleur de lecteur
BP. Et maintenant, si je devais jouer
à notre jeu, nous allons continuer et chevaucher le volume de déclenchement de la porte
BP numéro deux. Cela va atteindre
notre point de rupture ici. Maintenant, parlons de
ces différentes options qui s'
offrent à nous .
Lorsque nous atteignons un point de break, ce type nous ramènera directement
dans notre jeu. Il s'agit essentiellement de dire, hé, je suis content que tu aies arrêté le jeu. Merci beaucoup,
mais nous aimerions continuer à jouer. Laisse-moi juste recouper ça. Encore une fois. Cela arrêtera le jeu une fois de plus
pour nous. Ensuite, nous avons cette
avancée, une image unique. Alors je vais juste nous faire passer
au nœud suivant. Si l'un d'entre eux n'est pas
du tout sensible au temps. Ensuite, nous avons ce bouton
Stop juste ici, qui fera la même
chose que d'appuyer sur Escape. Vous
quittez essentiellement votre jeu et vous
retournez dans votre éditeur. Je ne vais pas faire
pression pour l'instant. Ensuite,
je vais laisser tomber
ce type tout de suite. Nous avons obtenu cette adresse pour localiser les nœuds
actuellement actifs. Donc, si nous étions sur notre
nœud Cast to ThirdPersonCharacter comme nous le sommes actuellement, c'est celui
que nous évaluons. Ensuite, nous avons décidé de naviguer dans
un endroit aléatoire comme celui-ci. Si nous cliquions sur ce bouton, nous retournerons directement à
notre nœud actuellement actif. Ensuite, nous avons cette
étape dans le nœud auquel est
associé un raccourci clavier F11. Je vais vous le
montrer dans notre prochain exemple. Ce n'est pas un bon
exemple ici. Ensuite, nous devons passer
au nœud suivant, F dix. ce que nous ferons également. Je vais appuyer sur F2 pour le faire. Et une chose à noter ici, fur et à mesure que vous
parcourez les choses, vous pouvez évaluer les
différents bits de données
transmis en passant la souris
sur ces épingles de données. Donc, par exemple, je peux voir que la clé
ici est évaluée à faux. Je sais donc que notre script
va essentiellement se terminer ici parce que nous ne ferons que quelque chose en
dehors de la vraie branche. Nous n'allons
rien faire à partir de cette fausse branche. Maintenant, cette étape en sortant du bouton, nous allons également explorer cela dans
notre prochain exemple car c'est une bonne
configuration pour le montrer. Cependant,
je tiens à souligner un autre point. Pendant que nous sommes ici,
vous pouvez visualiser le pouls orange de
l'exécution jusqu'à présent, qui est très pratique lorsque
vous évaluez un script. Et encore une fois, il ne s'agit
pas seulement de voir quels nœuds sont arrêtés
et exécutés, mais aussi d'évaluer les
données, de les transmettre, de passer souris sur ces différentes
épingles et de voir si les données transmises correspondent
à ce que vous attendez. Très bien, arrêtons-nous maintenant
avec cet exemple. Nous allons maintenant passer à notre
ThirdPersonCharacter, cliquant sur Arrêter ici
pour montrer un autre exemple. Maintenant, la raison pour laquelle nous nous dirigeons ici
est que nous avons certaines fonctions créé
certaines fonctions
personnalisées
plus tôt dans le cours. Nous pouvons entrer et sortir de ce que nous n'avons pas pu faire
dans notre dernier exemple. Allons-y et introduisons
notre fonction de modification de la santé. Nous l'avons échangé dans la section des
fonctions du cours et nous allons
proposer un événement de clavier. avec le bouton droit sur le clavier Faisons quelque chose en
appuyant sur la touche fléchée. Donc, lorsque nous appuyons sur le zéro, santé du modificateur de
Kayla, disons de 0,1. Sortons une
chaîne d'impression de peur, traînée vers l'arrière. Ajoutons. Et ajoutons
le mot santé,
deux-points à double espace, à
notre état de santé actuel. Cela amènera un nœud de
conversion
passant de float à une chaîne, comme ceci. Ensuite, laissez-moi ajouter un point d'arrêt à notre nœud d'événement ici,
vous devez appuyer sur F9. Maintenant, si vous voyez un point de rupture
avec un point d'
exclamation à l'intérieur. Cela pourrait signifier qu'il s'
agit d'un point d'arrêt non valide. Je ne sais pas pourquoi celui-ci
s'affiche comme tel. Toutefois, si vous vous
demandez s'il
s' agit d'un point d'arrêt valide, vous pouvez continuer
et compiler ici. Je sais que celui-ci va
être bon et il l'est. Alors allons-y et
essayons ceci en cliquant sur Play. Vous pouvez vous
assurer d'avoir votre ThirdPersonCharacter comme option de débogage pour voir ce script se lancer
en temps réel si vous le souhaitez. Réintroduisons notre
fenêtre de jeu. Et lorsque j'appuie sur la touche fléchée, nous arrêtons notre exécution. Nous pouvons passer à autre chose. Et maintenant, c'est une
fonction dans laquelle nous avons configuré
certaines fonctionnalités. Donc, si je clique sur ce
bouton ici, raccourci F11, nous pouvons
entrer dans ce nœud. Et maintenant, nous pouvons parcourir les nœuds de la
fonction elle-même. Nous pouvons voir que onglet Modifier
la
fonction de santé est ouvert en haut maintenant et que nous
pouvons maintenant parcourir celui-ci un par un. Nous pouvons voir si c'est
vrai ou faux ? Passons à autre chose une fois de plus. Et maintenant, comme nous sommes
entrés dans ce nœud, je peux sortir de ces notes. Permettez-moi de sortir
de cette fonction. Vous pouvez voir maintenant que nous passons à notre
prochain nœud de la chaîne, qui est notre chaîne d'impression. Ainsi, en entrant
et en sortant des boutons, vous pouvez accéder à quelque chose
comme une fonction personnalisée, voir chaque étape de cette fonction, puis en sortir
si vous le souhaitez. Maintenant, il ne reste que quelques
notes. L'option Step Into, s'il s'agit
d'une fonction ou d'une macro personnalisée, elle approfondira cette question. Toutefois, s'il ne
s'agit pas d'une fonction ou d'une macro personnalisée, elle
passera simplement au nœud suivant. En ce qui concerne la sortie, si vous entrez dans un nœud, passerez au nœud
suivant de la chaîne,
dans ce cas, vers notre nœud de chaîne
d'impression. Cependant, s'il
n'y a rien qui puisse en sortir deux, c'est
qu'il n'y a aucun autre nœud
dans votre chaîne. Il reprendra simplement le jeu. Maintenant, LastNode, nous pouvons également activer notre option de
débogage du plan de débogage. À partir de là, nous
allons faire apparaître cette fenêtre. Encore une fois, j'aimerais l'ancrer
le long de la jambe inférieure. Donc je me rends compte que je
joue toujours au jeu ici. Voici mes points de rupture. Vous pouvez voir
que je pourrais cliquer dessus pour y accéder directement. Cependant, si vous l'aviez remarqué lorsque j'ai cliqué sur cette option de
débogage juste ici, nous avons la possibilité de
désactiver tous les points d' arrêt et de
supprimer tous les points d'arrêt. Si vous avez de nombreux
points d' arrêt définis
dans votre graphique, c'est un moyen très pratique
de tous les effacer. Encore une fois, vous pouvez
ajouter des points de rupture et pas seulement sur
des nœuds d'événements comme celui-ci, vous pouvez également les définir sur
une fonction. Sur cette fonction également. Donc, si tu te mets en place sur les
trois et que tu te dis :
« Hé, je veux juste me
débarrasser de tout ça. Allez-y,
supprimez tous les points d'arrêt, et tout à coup ils disparaîtront tous. Et voilà, vous l'avez. C'est la vérité
sur les points de rupture. Les points d'arrêt sont une pause
ou un arrêt
intentionnel que vous créez dans un script afin de
pouvoir
évaluer de plus près vos scripts
étape par étape. Les gars, ça
suffira pour cette vidéo, on se voit dans la prochaine.
106. Valeurs de montre: Très bien, bon retour. Dans cette vidéo, notre objectif est d' apprendre comment
contrôler plus facilement les valeurs de données lors du
débogage d'un script. Maintenant, cela peut être fait en
désignant variables à surveiller à l'intérieur d' un plan. En disposant
d'un moyen simple de voir et d'évaluer les valeurs de données à l'intérieur de nos plans, nous pouvons rapidement voir si
les données circulant dans les scripts
R sont conformes ou non. Maintenant, pour cet exemple, je vais travailler un peu à l'intérieur
de ma porte rotative BP, ainsi qu'à l'intérieur de mon ThirdPersonCharacter
. Donc, tout d'abord, afin de surveiller
les variables de plus près, nous allons utiliser
notre débogueur de blueprint. Maintenant, je vous ai montré comment procéder dans la dernière vidéo,
mais si vous avez oublié ou
ignoré
cette vidéo à l'intérieur
d' un Blueprint, la
porte rotative BP fera très bien l'affaire. Nous pouvons cliquer sur Debug, Blueprint Debugger,
et cela ouvrira notre fenêtre de
débogage de Blueprint. J'aime bien l'avoir sur un
deuxième moniteur si je l'ai,
mais comme ce n'est pas le cas si vous
avez un seul moniteur, j'aimerais
juste le placer ici. Maintenant, notez qu'à l'intérieur de notre
débogueur de blueprint, nous pouvons spécifier quel plan
nous voulons déboguer. Donc, même si nous sommes à l'intérieur
de notre porte rotative bp, je pourrais définir ce sera mon ThirdPersonCharacter
à déboguer si je le voulais. Cependant, si vous l'avez fait et que
vous atteignez un point d'arrêt
tel que notre touche zéro à l'intérieur de
notre ThirdPersonCharacter. Cela vous ferait passer de ce graphique à votre graphe
ThirdPersonCharacter. Je ne vais pas vous le
démontrer ici, mais juste
pour votre information. Très bien, j'ai
ce kit pour mes portes
rotatives BP et j'
ai un ensemble de points d'arrêt. Alors maintenant, je vais configurer
quelques variables à surveiller. Je vais regarder cela a une variable
clé ici. Et pour ce faire, cliquez avec le
bouton droit de la souris et choisissez
de regarder la valeur du baril. Maintenant, quand je ferai cela, vous allez voir apparaître
une petite
icône de loupe dessus. Mais vous
verrez également cette fenêtre juste haut qui affichera la valeur vraie ou la valeur fausse chaque fois que ces informations seront demandées par notre nœud de branche. Chaque fois que cela sera exécuté, nous allons
découvrir si c'est vrai ou faux et l'imprimer
directement dans cette bulle. Je vais également
configurer une valeur de surveillance sur notre nœud rotateur
ici, la valeur de retour, je
puisse voir où nous en sommes dans
cette rotation allant de
0 à 90 degrés dans le Ya, je vais cliquer dessus avec le
bouton droit de la souris. Nous allons surveiller cette
valeur. C'est assez simple. Si je souhaite supprimer
l'une de ces montres, vous pouvez simplement
cliquer dessus avec le bouton droit de la souris. Arrêtez de regarder cette valeur. Ou si vous voulez arrêter de regarder toutes vos montres,
vous pouvez accéder à,
déboguer et supprimer toutes les montres
qui peuvent également s' déboguer et supprimer toutes les montres en débarrasser
. Maintenant, avant de montrer cet exemple, je voulais
noter que dans mon ThirdPersonCharacter ici, ThirdPersonCharacter,
j'ai défini ce booléen de clé sur true. Donc, si vous ne l'avez pas
déjà fait et que vous voulez jouer le jeu
chez vous au sein de BP. Caractère à la troisième personne,
B possède un booléen clé. Je l'ai défini sur true,
j'ai compilé et enregistré. Et me voilà en train de regarder
cette variable. Cette variable se trouve dans
mon ThirdPersonCharacter, mais je peux la regarder
directement à partir d'ici. Très bien, alors
allons-y et jouons à notre jeu. Et je vais superposer ce composant de boîte pour notre porte
tournante numéro deux, c'
est-à-dire cette porte située juste à notre niveau qui est la porte
rotative numéro un. Cependant, nous évaluons la porte
rotative numéro deux. On y va, en cliquant sur Play, en
chevauchant cette porte. Très bien, nous avons atteint
ce point critique. Maintenant, dans la dernière vidéo,
je vous ai montré que vous pouviez passer à travers les choses en
cliquant ici, F dix fera très bien l'affaire. Je peux également avancer
d'une image à la fois. Cela
m'arrêterait donc également dans ce cas , car il ne s'agit
pas d'un nœud sensible au temps. Cependant, notez que dans le débogueur de
votre Blueprint, vous disposez des mêmes commandes. Alors montrons cela
parce que nous pouvons,
vous pouvez le voir en bas, nous avons heurté notre porte tournante. Deuxièmement, le
point d'arrêt a été atteint. Cette flèche jaune
indique que je vais l'
étendre en appuyant sur ce petit triangle
déroulant. Tout de suite. Nous pouvons voir que nous avons des montres
configurées ici car elles ont une clé et aussi cette valeur de retour sur ce nœud de boucle juste là. Cela indique donc que
nous avons configuré certaines montres. Notez que pour l'instant, cette bulle
ne dit
rien car ses informations
n'ont pas encore été demandées. Je vais passer
au nœud suivant
en cliquant ici. Ce flux d'exécution. Nous allons
passer à un autre. Maintenant que nous avons atteint
ce nœud de branche, ces informations pour la
condition ont été demandées. Nous pouvons donc voir que nous
surveillons cette valeur et qu'elle
montre maintenant clairement qu'
elle est évaluée à la réalité. Maintenant, je pourrais simplement
survoler cette épingle sans la montre et découvrir que
cette information est également vraie. Cependant, en
installant des montres de cette façon, cela devient très évident. C'est un moyen de
voir plus facilement quelles données sont
transmises directement. Maintenant, si je voulais
désactiver cette montre, je pourrais, pendant qu'elle
fonctionne ici, nous la
déboguerons. Je pourrais cliquer sur cette
petite icône
en forme de loupe et la désactiver. Et je peux cliquer avec le bouton droit
et le
rallumer une fois de plus, au revoir. Le choix de la valeur des montres y apparaît une fois de plus en bas. De plus, si j'avais dû naviguer
quelque part bien au-delà de cette façon, si je devais cliquer sur
cette montre en bas, cela me
ramènerait directement dessus. C'est donc très pratique. Continuons à aller
droit
au but, car
nous pouvons voir que nous n'avons pas encore
atteint notre deuxième
quart de surveillance ici. Donc, en appuyant dessus. Très bien, maintenant nous atteignons
un nœud sensible au temps, cette chronologie, qui fait 1 s. Donc, si vous supprimez toujours
ici ou f dix, cela me fera passer immédiatement au nœud suivant. Cependant, je pourrais également avancer
une seule image à la fois. Donc, ce faisant, je
vais cliquer avec le bouton gauche de la souris. Vous pouvez voir que nous avons fait 0,01 s parce que nous n'avançons qu'
une image à la fois. Nous pouvons voir que nous surveillons
cette valeur de retour ici. Et au fur et à mesure que nous incrémentons
cela une par
une, une image à la fois est surveillée. Votre valeur
augmente petit à petit. Nous pouvons donc voir
comment cela
s'ouvre en 1 s.
Maintenant, s'ouvre en 1 s. nous pouvons continuer
et cliquer sur Reprendre juste ici pour voir le
résultat final se dérouler, qui s'est déroulé pendant le
reste de celui-ci. chronologie, c'est une chronologie. Nous pouvons donc voir cette valeur. Le Ya, notre porte
s'est ouverte à 90 degrés. C'est peut-être ce à quoi
tu t'attendais. Peut-être pas, mais ces montres vous
aident à déterminer si
cela produit réellement
la valeur de retour que vous attendez. Il y a donc un aperçu rapide et simple de ce que sont les
montres et de la façon dont elles peuvent être réglées et utilisées lors du
débogage de votre script. Encore une fois, si je devais m'arrêter ici et enlever ces montres, arrêtez de regarder. Arrête de regarder. Vous pouvez toujours voir
la valeur
de sortie de ces broches de données en
atteignant ce point de rupture. Permettez-moi de répéter
cela une fois de plus. Avancez, avancez en passant
la souris dessus comme ça. Cependant, en installant des montres, cela la rend
un peu plus visible et plus facile à voir. Laissez-moi aller
jusqu'au bout. Encore une fois, nous pouvons voir que êtes
tous rouges
et que vous obtenez 90. Mais ces montres
les rendent encore plus visibles
et plus faciles à voir. Les gars qui se feront un plaisir de vous
proposer cette vidéo, on se voit dans la prochaine.
107. Journal des messages: Très bien, bon
retour à tous. Dans cette vidéo, notre objectif
est de montrer le rôle du journal des messages dans
le
débogage de vos scripts. Bien qu'il s'agisse d'une fenêtre
qui peut afficher toutes sortes d'informations relatives
à vos projets, telles que les résultats d'éclairage
lors de la construction de votre niveau. Ici, nous allons simplement
explorer son utilité pour nous assurer que nos scripts fonctionnent
comme prévu lors de l'exécution. J'ai donc un exemple
à montrer dans notre personnage à la troisième personne. Alors pourquoi ne pas vous retrouver sous votre troisième personne dans le dossier
Blueprints, trouvez votre ThirdPersonCharacter. Au fait, un
conseil amusant pour vous ici. Si vous maintenez la touche Ctrl enfoncée
et que
vous utilisez cette molette de défilement, vous pouvez agrandir ou réduire ces
images miniatures. Nous allons double-cliquer
dessus où j'ai déjà
configuré
certains scripts avant cette vidéo. Ce que nous allons faire,
c'est appuyer
sur une touche. Et puis, juste une fois, je vais faire apparaître
l'effet de feu. Ensuite, je vais le
promouvoir en tant que variable. Je ne l'ai donc pas encore fait, alors je voulais juste me montrer. Nous pouvons le faire à nouveau
en cliquant avec le bouton droit sur cette épingle. Nous allons le promouvoir
en tant que variable. C'était un acteur de spawn de
Class Node d'ailleurs. Donc, si vous recherchez
le nom de ce nœud, c'est spawn actor from class. Cela le changera en
Blueprint Effect Fire. Une fois
que vous avez intégré cet effet de plan, le plan
de
feu à partir du contenu de départ
favorise la variable. Nous allons simplement appeler cela un incendie. Il y a son nom juste en bas et on peut voir qu'il est
du type Blueprints effect fire. Et ce que nous
allons faire ici c'est en appuyant sur les deux touches, nous détruirons le feu que nous avons créé lorsque
nous appuyons sur la touche 1. Je peux donc
le faire glisser directement au-dessus de la cible de notre fonction
Destroy Actor. Cela le connectera
automatiquement comme ça. Nous allons faire apparaître
notre journal des messages sur autre chose
que je vais faire tout de
suite , c'est qu'après avoir
détruit notre acteur, je vais remettre à zéro
notre Do Want Snowwed. Et cela va juste me
permettre d'appuyer à nouveau sur la
touche 1 pour faire apparaître un autre
plan, créer un feu. C'est donc ce qui se passe ici. Nous allons appuyer sur la touche unique ,
puis nous allons juste faire apparaître
cet effet de
feu de plan à l'endroit,
la transformation du monde,
devrais-je dire, de notre main simulée, c'est-à-dire
composant juste ici. Cela va juste l'apparaître
à ce moment-là dans le monde, où que nous soyons à ce moment-là, nous économisons dans une variable. Et ensuite, lorsque nous appuierons sur les deux
touches, nous détruirons tout cela. Maintenant, je vais
compiler ici et enregistrer. Et allons-y et exécutons-le. Définissez mon objet de débogage ici sur
mon ThirdPersonCharacter. D'accord, donc ce sont les tests que nous
allons faire. Je vais donc d'abord appuyer sur l'un d'eux pour créer un tir juste ici, et vous verrez la cadence de
tir du script ci-dessus.
Alors on y va. La seule clé,
c'est l'effet de feu. Maintenant, je vais appuyer sur deux. Cela va
détruire le feu que nous avons créé et allumé à l'intérieur de
cette variable ici même. Alors voilà, les deux
clés, elles ont disparu. Nous avons également réinitialisé
cette opération une fois connue. Maintenant, je vais appuyer à nouveau sur
les deux touches. Je vais donc essayer de
détruire ce feu. Maintenant, j'ai appuyé dessus et vous
pouvez voir qu'il est en cours d'exécution. Mais maintenant, quand je sors d'ici, je m'
évade, je regarde ce qui se passe. Le journal des messages nous est présenté. En fait, nous avons
de nombreuses erreurs. Maintenant, si
je fais de nombreuses erreurs c'
est parce que cela me
crie dessus que j'ai essayé de détruire ce
feu qui n'existait pas. Ce qui se passait ici, c'est la première fois que j'ai
appuyé sur une touche, que nous avons repeuplé cette variable, cette variable de
feu à effet de plan. Avec cet effet de
plan créé, le feu. Une fois qu'elle est remplie, on comprime les deux touches puis on la détruit. Maintenant, lorsque j'appuie à nouveau sur
les deux touches, nous n'avions pas encore réinitialisé le contenu de cette
variable pour qu'il soit quelque chose. C'était donc une variable vide. Il s'agit d'un message très courant qui vous est craché
dans le journal des messages. Le journal des messages peut désormais recracher toutes sortes d'erreurs différentes qui se produisent avec votre script. Mais c'est une situation très courante où l'
on
vous crie que le contenu d'une
variable est introuvable. Je vais le glisser-déposer
en haut ici. Examinons de plus près notre message d'erreur ici. Vous pouvez maintenant voir que ces messages
d'erreur apparaissent dans la section Lire dans l'éditeur
de notre journal des messages. Et cela se répète à de nombreuses reprises parce que
j'ai appuyé plusieurs
fois sur les deux touches pour essayer détruire le feu
qui n'existait pas. Maintenant, ce qui est utile à propos de ce journal des
messages, c'est qu'il contient des hyperliens sur lesquels vous
pouvez cliquer pour
vous diriger vers l'endroit, l'air. Maintenant, si vous cliquez sur
Event Graph ici, je vais simplement cliquer sur Event Graph. Cela nous amènera au graphique des événements
approprié. Si nous cliquons à l'endroit où il est
écrit Exécuter Uber BP, ThirdPersonCharacter, cela nous fera également passer sur
le graphique des événements. Et si vous cliquez sur BP
ThirdPersonCharacter, vous accéderez également à ce graphique d'événements. Cependant, si vous deviez cliquer à endroit où il est écrit Destroy
Actor juste ici, cela indiquera exactement où
le problème s'est produit. Ce nœud Destroy Actor
essayait de trouver une cible valide. Cependant, ce
journal des messages indique
qu'il s'agissait d'une cible non valide. La cible n'était pas valide. Et c'était encore une fois, parce que la première fois que nous avons créé notre feu, nous avons
pu le détruire. Mais plus on appuie sur deux touches, on ne peut pas détruire un
feu qui n'existe pas, qui n'a pas été allumé à l'intérieur
de cette variable de tir. Alors, comment pouvons-nous corriger un tel
scénario ? Eh bien, vous pouvez vérifier si le contenu d'une
variable est valide. Et pour ce faire, nous pouvons sélectionner notre
variable de feu ici, feu à
effet de plan
qui est peuplé ici, qui se met en place
juste ici. Nous pouvons cliquer
dessus avec le bouton droit de la souris et le
convertir en un fichier validé. Maintenant, notez qu'une fois cela
fait, ce nœud passera
d'un nœud
ressemblant à une pilule à un nœud qui nous
oblige à nous y connecter,
en fil d'exécution. Maintenant, nous pouvons avoir
un script comme celui-ci. Si on appuie sur les deux touches, ça va d'abord faire une vérification. Si cela est valide, est-à-dire qu'il y a quelque chose défini à l'intérieur de cette variable, nous allons continuer et détruire tout ce qui n'a pas été
défini à l'intérieur de cette variable. Cependant, si nous appuyons sur les deux
touches et que ce n'est pas valide, cela signifie qu'il n'y a rien
à l'intérieur de cette variable. Nous pouvons faire autre chose. Dans ce cas, je vais simplement
faire glisser et imprimer la chaîne. Et je dirais simplement
viré, non valide. Comme ça. Donc maintenant, si je compile et que je sauvegarde, et que nous jouons à nouveau, avant même que j'appuie sur une touche. Allons-y,
appuyons sur les deux touches et regardons en
haut à gauche de ma fenêtre. Ça va dire que le feu n'est pas valide et je peux
continuer à le spammer. Maintenant, elle n'est pas encore valide
car nous n'avons pas défini le contenu de
cette variable de feu. Il n'a été
peuplé de rien. Maintenant, si j'appuie sur la touche 1, nous avons maintenant défini le contenu
de cette variable de tir. Alors maintenant, lorsque j'appuie sur la touche
Tab, elle sera valide. Alors regardez par ici. Il s'est enflammé,
c'est exact. Cela a détruit l'acteur, et tout va bien. Maintenant, cette
fenêtre du journal des messages apparaîtra automatiquement si elle détecte
une telle erreur, elle s'ouvrira pour vous. Toutefois, si vous
souhaitez que cet onglet du journal des messages soit
ouvert à tout moment, laissez-moi simplement le fermer afin
que je puisse le réactiver. Vous pouvez simplement passer
sous une fenêtre. Et puis, juste ici,
dans la catégorie des journaux, vous pouvez choisir de connecter
ce message. Très bien les gars, ça
va suffire pour cette vidéo sur la fenêtre du journal des
messages. Nous vous verrons dans la prochaine.
108. Recherche: Très bien, donc si vous avez regardé toutes les vidéos jusqu'à ce
stade du cours, vous devenez assez efficace avec les scripts de
plan. Passons maintenant à un
niveau supérieur en matière de création
de scripts en découvrant
quelques astuces de productivité. Dans cette vidéo, notre objectif est
d'explorer plusieurs méthodes de recherche d'objets tout en
travaillant avec des plans. Nous allons rechercher un
plan, des acides eux-mêmes découvrir où ils se trouvent
ici dans notre navigateur de contenu, ainsi que rechercher des
éléments qui peuvent exister à l'intérieur d'un plan, tels que des
variables, des fonctions, etc. Maintenant, vous voulez être
bon dans ce domaine simplement pour des raisons d'efficacité au travail. Plus vite vous pouvez localiser les actifs, les fonctions,
les variables, etc. Plus vite vous pouvez vous
assurer d'avoir négocié plans de
qualité
exempts d'erreurs. Maintenant, pour démontrer certains de ces concepts, nous
allons explorer ici. Je vais le
faire dans mon ThirdPersonCharacter. Vous pouvez le faire depuis l'intérieur de n'importe quel plan, mais
c'est parfaitement bien. En double-cliquant sur mon personnage à la
troisième personne, la première chose que nous allons apprendre
à faire est naviguer vers cette ressource de plan. Souvent, lorsque je
travaille avec des étudiants, ils ont un plan ouvert, mais ils n'ont aucune idée de l'endroit où se trouve
ce plan dans
le navigateur de contenu. Ils peuvent être désactivés dans
un dossier aléatoire. Et si je leur demande de localiser leur ThirdPersonCharacter
Blueprint, ils ne savent pas où il se trouve. Eh bien, il y a plusieurs façons
de le trouver. Voie. Premièrement, vous
avez des filtres. Vous êtes dans votre navigateur de contenu. Vous pouvez cliquer sur
le dossier de votre choix. Et vous pouvez choisir le dossier de
contenu, car ce dossier contient tous les
autres dossiers. Et cliquez sur Filtres, classe
Blueprint,
et vous êtes déjà prêt à faire les choses. Laissez-moi simplement maintenir la touche Contrôle
et la molette de défilement enfoncée. Et immédiatement, nous pouvons voir notre ThirdPersonCharacter
est là. Pour désactiver un filtre. Vous pouvez simplement le désactiver. C'est avec elle éteinte,
c'est avec elle allumée. Très bien, l'un des moyens de
localiser rapidement les ressources consiste à les filtrer dans
votre navigateur de contenu. Mais je voudrais maintenant parler de la
façon de trouver cet atout si vous êtes dans ce
ThirdPersonCharacter lui-même. Eh bien, vous avez
plusieurs moyens. numéro un se trouve Le numéro un se trouve en haut de votre
éditeur de plans, vous avez ce
bouton Parcourir juste ici. Si vous cliquez
dessus, vous serez redirigé directement
à l'endroit où se trouve cette
ressource dans votre
navigateur de contenu, ce qui est très pratique. De plus, si vous êtes à l'intérieur d'ici et que vous
utilisez simplement Control plus b, cela vous permettra également d'y accéder
directement. Donc, Control plus b, était que hockey, Alright, Next, à l'intérieur d'un plan, vous devriez avoir un onglet
Rechercher des résultats ouvert par défaut dans
votre éditeur de plan. C'est ce type
juste en bas. Maintenant, c'est génial parce que vous pouvez trouver des
informations à puces ici. Vous pouvez trouver des éléments
tels que des fonctions,
des événements ,
des variables, toutes sortes de choses simplement en les recherchant
ici. Encore une fois, cela devrait
être activé par défaut, mais il existe en fait quatre
façons d'accéder à ce panneau. Encore une fois, la première méthode est qu'elle
devrait être activée par défaut, mais supposons qu'elle soit désactivée. Vous pouvez également l'afficher depuis la barre d'outils en cliquant sur le bouton
Rechercher situé juste ici. Ils vont ouvrir cet onglet. Permettez-moi de cliquer
dessus une fois de plus, nous pouvons également y accéder
en sur l'
option fenêtre ici. Et vous avez également la
possibilité d'activer votre
panneau de résultats finaux. De plus, si vous ne l'avez pas activé, vous pouvez déplacer ce bras en
utilisant la touche Ctrl F, c'
est-à-dire que le raccourci clavier
et F
ouvriront cette fenêtre de
résultats de recherche. Maintenant, il s'agit
de notre outil de recherche dans l'éditeur Blueprint
qui nous permet de retrouver rapidement une variété d'éléments tels qu'un nom de nœud, un nom de plume, un commentaire de nœud, un nom de propriété,
un valeur de la propriété. Nous allons donc le démontrer. Shelly. Je vais juste faire une
recherche pour modifier la santé, modifier la santé, et appuyer sur Entrée ici pour voir tous nos différents résultats
correspondant à « modifier la santé ». me suffit donc de
double-cliquer sur l'une de ces options ici
pour voir ce que nous trouvons. Il y a une
fonction de santé modificatrice qui
y est placée dans le graphique. C'est un modificateur de
fonction de santé qui s'y trouve. Et cela nous mènera même
à la fonction dans ce cas que nous avons créée et appelée modifier la santé en double-cliquant ici, c'est ma fonction d'aide à la modification. Et encore une fois, nous avions
un modificateur d'aide à
la fonction pure que nous pouvions localiser
en cliquant ici également. Essayons d'autres résultats
de recherche. Clarifions-le. Je vais taper le mot spawn et regarder tous
ces résultats de recherche. Maintenant, il convient de noter que si vous passez la souris sur
ces différentes icônes, cela vous indiquera à quoi
elles sont associées. C'est donc une épingle d'exécution. Double-cliquez dessus
, regardez ça. Il est question de ces épingles
d'exécution de spawn ici.
Je peux passer la souris dessus. Il s'agit d'une transformation d'apparition, structure, double-cliquez sur
cette transformation d'apparition. Il s'agit donc de trouver ce mot spawn, et je peux voir que c'est un nom de
plume juste là. Qu'est-ce qu'on a d'autre ici ? Nous avons un
son de spawn attaché. Je peux double-cliquer dessus,
c' est un
nœud de fonction juste là. Et cela nous permet de savoir
qu'il s'agit d'un nœud. Le F sophistiqué est égal à une fonction. Ça y est. Beaucoup d'amendes ici
dans nos résultats de recherche. Option, d'accord, essayons de taper quelque chose
comme une variable. Appuyez sur Entrée. Et notez que
j'ai un commentaire sur les résultats. Donc, si je
double-clique sur ce commentaire, oui, en effet, je peux même trouver des commentaires contenant ce mot. Dans ce cas, il s'agit de trouver cette variable de mots
juste là-haut. Essayons le mot
ciblé, car de nombreux nœuds contiennent le mot
cible. Comme vous pouvez le constater, de nombreux nœuds de fonctions ont
ce mot cible dessus. Celui-ci cherchait
un objet de personnage, qui
cherchait des objets de type pion. Encore une fois, vous pouvez obtenir
de nombreuses informations en passant la souris sur les différents résultats
de recherche et en double-cliquant sur un
élément pour y accéder. Essayons également de trouver la valeur
d'une propriété. Je vais taper le mot cinq cents parce que je crois avoir ici quelque part
et où ? 500 ? Oui. J'ai indiqué la vitesse de
marche maximale par défaut ou la vitesse de marche
maximale à
une valeur par défaut de 500 plus tôt dans le parcours. Il peut donc même trouver la valeur de la
propriété. Permettez-moi donc de
double-cliquer dessus. Cela me montrera
exactement où cela se trouve. Cela peut donc aussi être pratique. Si tu es comme moi, j'ai mis cette
valeur 500 quelque part. C'était où encore ? Maintenant, tout cela va très bien. Être capable de
rechercher des objets rapidement et efficacement dans un plan
est en fait une compétence clé. Cependant, il est plus puissant
de trouver une fenêtre de résultats ici en permettant de
rechercher dans tous vos plans. Et oui, tu peux le faire. Pour ce
faire, cliquez sur ce bouton avec
l'icône
des jumelles juste ici, que vous trouverez dans tous les plans. Cela devient particulièrement
important lorsque
vous communiquez d'
un plan à l'autre. Peut-être avez-vous une variable de santé comme nous le faisons à l'intérieur de notre personnage à la
troisième personne ici, qui est référencée dans un autre plan,
tel que notre exemple de collecte de santé, ce bilan de santé que nous avons
créé plus tôt dans le cours. Ainsi, pour savoir où cette variable de santé peut exister
tout au long de votre projet, vous pouvez simplement effectuer une
recherche sur la santé. Il entre. C'est ici que cela est référencé dans
ce plan. Mais si je clique sur ce
bouton juste ici, trouverai où
le mot santé est référencé dans
chacun de nos plans. Nous l'avons donc référencé
ici dans notre HUD WPP. Il y a notre exemple de ramassage
ou de ramassage d'enfants, etc. Il suffit de double-cliquer
sur l'un de ces éléments pour accéder directement à l'intérieur du
plan en question. Permettez-moi de
double-cliquer dessus. Obtenez
de la santé à l'intérieur de notre exemple de
pick-up de BP qui l'
ouvrira juste en haut. Nous pouvons voir où cette
variable de santé depuis l'intérieur de notre ThirdPersonCharacter
est obtenue, puis
également définie. Astuce super pratique. Très bien les gars, cela va tout faire
pour effectuer une recherche ici dans les plans d'Unreal
Engine. Nous vous verrons dans
la prochaine vidéo.
109. Marque-pages: Accueillir et
parcourir les plans rapidement et efficacement est une compétence essentielle pour
tirer le meilleur parti de l'utilisation d'Unreal
et de vos favoris. Les signets Blueprint sont l'
un des outils que vous pouvez utiliser pour
gagner en efficacité. Dans cette vidéo, nous
allons apprendre
à définir des signets de plan, à les localiser, puis à démontrer pourquoi c'est même une chose utile à faire. Alors, qu'est-ce qu'un signet ? Vous pouvez considérer un signet de
plan comme un moyen d'identifier
une section d'un graphique. Il se peut que
vous souhaitiez
accéder rapidement à
votre graphe d'événements ou au script de construction . Maintenant, c'est un peu comme placer une épingle ou un
marqueur sur une carte. Ensuite, en sélectionnant simplement
ce marqueur dans une liste, vous pouvez accéder directement
à cet endroit sur votre carte ou, dans ce
cas, sur votre graphique. Donc, avant le
début de cette vidéo, j'ai créé un signet
appelé Overview à l'intérieur de mon BP
ThirdPersonCharacter. Et juste pour vous montrer
rapidement comment cela fonctionne, si je double-clique
sur mon signet, trouverai
exactement où j'ai placé ce signet dans ce BP, un ThirdPersonCharacter
Blueprint. Maintenant, laissez-moi sortir de mon onglet de favoris ici et créer un signet à partir de
zéro juste pour que vous
puissiez suivre
ce processus. Très bien, donc à l'intérieur
de n'importe quel plan, vous pouvez créer un signet de
plan en cliquant juste en dessous. D'accord ? Maintenant, je vais zoomer un ensemble donné de nœuds
ici. Hé,
peut-être que je veux créer
un signet juste là. D'accord, alors peut-être que
je travaille sur un script et qu'
on m' appelle et je me
dis : « Tu sais quoi ? Je ne veux pas oublier
ces nœuds ici. Permettez-moi de
créer un signet. Alors tu viens juste en dessous. Nous allons créer un signet et je vais
simplement l'appeler mon favori de santé. Cliquez sur Ajouter ici. Maintenant, il
va mémoriser ce niveau de zoom ainsi que ce positionnement dans
notre graphique ici même. Il ne me reste plus qu'à accéder à
mon favori pour y revenir. S'il m'arrive de m'
éloigner de ça, comme ça. Maintenant, chaque fois que j'
ouvre cet onglet Signets qui
se trouve dans le menu Windows,
juste ici, des signets. Et ici, vous pouvez
voir votre marque-page nommé. Donc, si je double-clique sur la santé, cela me redirigera vers
cet ensemble de nœuds, le même niveau de zoom. Maintenant, vous remarquerez également que dans
cette fenêtre de favoris, nous pouvons voir que nous avons
des nœuds communs. Chaque fois que vous créez
un nœud de commentaires. Et je parle ces boîtes communes comme cette maille statique
attachée
à une prise manuelle. Ils apparaîtront
juste ici, dans la section des nœuds de commentaires
de votre fenêtre de favoris. Ainsi, chaque fois que vous créez une zone de commentaire, et encore une fois, vous pouvez créer une zone de commentaires
en mettant en évidence une
série de nœuds comme
celui-ci , puis en appuyant sur la touche C, puis en créant
un commentaire. juste ici. Vous pouvez voir que
dès que j'appuie sur ce CQI, il a ajouté ce commentaire juste ici
, dans la section du nœud de
commentaires. Je vais appeler cela ma création HUD. Et donc, chaque fois que vous créez
une zone de commentaires comme celle-ci,
tout ce que vous avez à faire, et comme vous pouvez le voir, elle
ne l'a pas mise à jour. Si vous compilez hover, cela sera mis à jour. Donc, si vous double-cliquez sur ce nœud de
commentaires juste
là, vous y serez également redirigé. Ainsi, par défaut, en créant
également des nœuds de commentaires, ces zones de commentaires, vous créez une sorte de signet. Maintenant, une dernière remarque, vous pouvez également les créer dans un
script
de construction. Sur le côté droit, vous verrez où se trouve ce
signet. Nous les avons tous définis
dans notre graphique des événements. Mais si nous
les avions créés dans notre script de
construction, cela nous permettrait de savoir
qu'ils se trouvent également à l'intérieur de notre script
de construction. Très bien les gars, ça va
suffire pour proposer des favoris ici, nous vous verrons tous
dans la prochaine vidéo.
110. Palette / Panneau de préférences: Bienvenue à tous. Dans cette vidéo, nous
allons montrer où accéder
au
panneau du palais dans un plan, comment ajouter des nœuds à la partie
des favoris de ce panneau. Comme vous pouvez le voir
sur le côté droit, j'ai ouvert le panneau de la palette. Je suis dans mon plan
ThirdPersonCharacter. Vous pouvez toutefois ajouter ce
panneau à n'importe quel plan. Mon mode de
jeu à la troisième personne est également ouvert ici. Et vous pouvez voir que je l'ai
ouvert là aussi. Comment accéder à ce panneau ? Il se trouve juste en dessous du menu
Fenêtre ici. C'est ainsi que vous pouvez l'activer. Donc, si jamais elle explose, vous pouvez simplement la
réactiver en cliquant sur
Fenêtre et en faisant apparaître votre panneau de palette. Ce panneau affiche une liste non
contextuelle des différentes fonctions et événements qui peuvent être utilisés
dans votre plan. Et ce panneau se compose
de deux sections. En commençant par le haut, nous
avons notre section préférée. C'est un
peu trompeur car si nous passons la souris sur
le mot favoris, cela indique qu'il s'agit d'une liste de vos nœuds préférés et
les plus utilisés. Vous pouvez maintenant définir
les nœuds comme étant vos favoris, et je vais vous montrer comment
procéder dans un petit moment. Cependant, il détectera
les nœuds que vous
utilisez le plus. Et c'est très pratique,
car au lieu de rechercher ces nœuds
dans votre menu contextuel, vous pouvez simplement effectuer une recherche
ici , dans votre section
préférée. Et si vous utilisez
quelque chose comme obtenir tous les acteurs de
classe couramment, vous pouvez simplement le glisser-déposer dans votre graphique de la manière suivante. Cette liste de
vos favoris est maintenant partagée par tous les plans. Donc, si je devais passer à mon plan du mode de
jeu à la troisième personne de BP. Et vous pouvez voir que j'ai ouvert mon panneau de
palettes ici. Vous pouvez voir que j'ai cette même
liste de nœuds favoris. Maintenant, une chose
un peu
décevante, c'est que vous
ne pouvez pas réorganiser vos favoris en les faisant glisser et en les déposant. Ce serait une
fonctionnalité intéressante, mais hélas, elle n'existe
pas encore. Ci-dessous, nous avons notre section
Trouver un nœud qui
vous permettra de filtrer par classe, vous trouverez un nœud d'
événement ou de fonction donné. Vous pouvez
maintenant cliquer ici
pour déterminer la classe que
vous souhaitez rechercher. Ou avec ce paramètre défini
sur la classe all, vous pouvez cliquer sur l'un de ces triangles déroulants
pour voir ce qui est disponible, par exemple si je viens dans la
section des personnages juste ici, vous pouvez trouver des nœuds comme
s'accroupir et sauter, par exemple
, comment ajouter des nœuds à votre section
Favoris ici. ce faire, vous pouvez utiliser le menu contextuel de plusieurs manières Pour ce faire, vous pouvez utiliser le menu contextuel de plusieurs manières. Si vous deviez cliquer avec le bouton droit de la souris
et rechercher un nœud donné, je vais simplement taper
une chaîne d'impression juste là. Lorsque vous passez la souris sur
ces différents nœuds, vous voyez ce petit
triangle étoilé sur la gauche. C'est ainsi que vous pouvez ajouter quelque chose à
vos favoris. Notez donc qu'une fois que
j'ai cliqué
dessus, une étoile remplie s'affichera. Et cela va maintenant le montrer dans ma
section préférée, juste là-haut. Chaîne d'impression. Faisons également imprimer du texte. Vous voyez que cela apparaît également. Si vous souhaitez les retirer, il
vous suffit de cliquer
ici pour les retirer. Ou vous pouvez me laisser simplement
cliquer dessus. Vous pouvez cliquer dessus avec le bouton droit dans votre section préférée, et vous pouvez choisir de
les supprimer de vos favoris. Vous pouvez également choisir
d'ajouter des notes à vos favoris en accédant à la
section Rechercher un nœud. Et tout comme nous pourrions le faire
avec le menu contextuel les
mettant en évidence ici, lorsque vous passez la souris sur une
fonction ou des événements donnés, vous pouvez également les ajouter à vos favoris
en cliquant sur ces étoiles. Vous pouvez également cliquer
dessus avec le bouton droit de la souris dans la section des notes et choisir de les
supprimer également de vos
favoris. Maintenant, s'il devait y avoir toute
une catégorie de nœuds que vous aimeriez
ajouter à vos favoris. Vous n'êtes pas obligé de commencer
chacune d'entre elles. Vous pouvez simplement cliquer avec le bouton droit sur cette catégorie et je vais choisir le
personnage ici,
cliquez dessus avec le bouton droit de la souris. Nous pouvons dire Ajouter des favoris de catégorie
2. Et puis,
en haut, vous verrez que tous ces nœuds, jump,
launched, character, etc., ont été ajoutés
à notre section Favoris. Et comme
tout est répertorié par ordre alphabétique, vous devrez peut-être faire défiler la page vers le
haut ou vers le bas pour voir tous les nœuds que
vous pouvez voir en position accroupie, ici également. Accroupissez-vous juste là, arrêtez de sauter, arrêtez de
sauter, et cetera. De même, si
vous souhaitez supprimer tous ces nœuds de
votre section préférée, vous n'avez pas à
le faire un par un. Vous pouvez simplement cliquer avec
le bouton droit ici et supprimer cette catégorie
de vos favoris, et elles seront toutes supprimées
de votre liste de favoris. Autres options à noter ici, si vous souhaitez supprimer un
nœud donné de vos favoris, vous pouvez simplement
cliquer dessus avec le bouton droit de la souris. Je vais cliquer avec le bouton droit sur
mon nœud Les ici et le supprimer
de nos favoris. Vous pouvez également
cliquer avec le bouton droit de la souris et choisir d'effacer
tous les favoris. Ça va tout effacer. Une autre option que
vous avez ici est cliquer avec le bouton droit de la souris et de
choisir de charger un profil. Et si vous choisissez le profil
par défaut, il vous suffit de récupérer
tous les favoris associés au profil
par défaut. Très bien,
voilà, le panneau palatin affiche une liste sans contact
de toutes les fonctions et événements qui peuvent être utilisés dans les plans. Il contient également cette
section Favoris qui
vous permet d'
accéder facilement à vos nœuds préférés et/ou aux nœuds les plus utilisés. Les gars qui feront l'affaire pour
offrir celui-ci. Rendez-vous dans la prochaine.
111. Nœuds à effondrer: Très bien, bon retour à tous. Dans cette vidéo, notre
objectif est de montrer comment réduire les
nœuds d' un graphique dans un
souci de propreté
et de lisibilité. Maintenant, après un certain temps, je reçois
un plan tel que mon ThirdPersonCharacter
Blueprint ici. Il peut commencer à avoir beaucoup
de nœuds et de réseaux de nœuds, ce qui rend sa lisibilité un peu difficile. Désormais, en réduisant les nœuds, vous pouvez garder votre gazon
propre et condensé. Très bien, bien
plus tôt dans le cours, nous avons créé ce script de traçage de
lignes à l'intérieur de notre troisième personne
et de Character Blueprint. Et c'était bien. Cependant, vous souhaiterez peut-être nettoyer des sections de votre graphique, comme celle-ci
, juste pour en simplifier la lisibilité. En fait, la présence de tous
ces nœuds peut
avoir tendance à surcharger le
recensement de temps à autre. Existe-t-il donc un moyen d'
améliorer la lisibilité
de ce document en un coup d'œil, nous savons que tout fonctionne. Réduisez quelque peu ce
réseau de nœuds. Eh bien, oui, il le peut. Ce que je vais faire
ici, c'est cliquer avec le bouton gauche de la souris, faire glisser
et surligner tous
ces nœuds ici, sauf mes entrées de touche zéro ici. Donc, avec tous ceux surlignés, je peux cliquer dessus avec le bouton droit de la souris
, puis sur mon menu contextuel Et j'aurais pu
cliquer avec le bouton droit sur n'importe lequel de mes nœuds sélectionnés ici. J'ai la possibilité
de réduire les nœuds. Je vais donc y aller
et le faire maintenant. Et quand je le ferai,
nous verrons que l'ensemble de ce réseau de nœuds a été
condensé en un seul nœud. Nous pouvons maintenant le nommer et, en fait, cela nous incite
à lui donner un nom. Donc je vais juste appeler
cette ligne trace, comme ça. Et maintenant, nous avons un graphique très
simplifié. Nous avons réduit tous ces nœuds en un
seul nœud effondré. En fait, il dit qu'il s'
agit d'un graphique réduit. Si nous zoomons sur Obama ici, vous pouvez
maintenant voir que je passe la souris sur cet
ensemble de nœuds effondrés, nous avons un petit
aperçu dans notre fenêtre. C'est donc pratique en un coup d'œil. Vous pouvez en quelque sorte voir ce qu'
il y a à l'intérieur, même s'il est très petit. Mais si vous voulez
avoir une vue complète, vous
suffit de
double-cliquer dessus et regarder en haut.
Vous vous trouvez maintenant dans un onglet qui
indique trace de ligne. C'est exactement le
même nom que ce que nous avons appelé ce graphique réduit. Et voici notre réseau de nœuds. Nous avons un nœud d'entrée. Voici tout l'intérieur
de ce graphique, puis nous avons
un nœud de sortie. Maintenant, rien n'est nécessaire pour cette sortie car nous
n'avions rien
qui soit nécessaire pour
transmettre des données ou
quoi que ce soit de ce genre. Maintenant, vous vous demandez peut-être ce qui est arrivé
à notre Event Graph. J'aimerais donc attirer votre
attention sur le panneau
Mon plan, situé
juste ici. Et sous notre section
graphiques, en cliquant sur cette
petite flèche vers le bas, en cliquant sous la section
Event Graph, nous n'avons pas seulement
accès à l'un de nos nœuds d'événements que nous avons placés dans un graphe
d'événement artistique. Mais nous avons également un
accès rapide à notre ensemble de nœuds
de traçage linéaire que nous venons de créer. Maintenant, en haut,
j' ai aussi cette
flèche arrière et cette flèche vers l'avant. Maintenant, regardez cette flèche arrière. Ce sont des mots illuminés. La flèche vers l'avant est un
peu grisée ici. Si je clique dessus,
rien ne se passera. Mais si je clique sur ma flèche de
retour ici, cela
me ramènera hors de mon graphique linéaire
réduit ici, pour
revenir sur l'herbe de mon événement. Donc, encore une fois, si je
double-clique sur mon graphique
réduit de trace linéaire, cela changera
mon onglet
Event Graph mon ensemble de nœuds Align Trace
Collapse. Si je clique sur Retour ici, cela me ramènera
au graphe des événements. Maintenant, je peux aussi
simplement cliquer
ici sur mon
graphique d'événements pour y revenir. Et maintenant, de retour dans
le panneau Mon plan, je peux revenir à cet
ensemble de nœuds de réduction de trace de ligne en double-cliquant ici. Ça me ramènera là-bas. Et je peux également revenir
à mon graphique d'événements
en double-cliquant sur
l'
option Event Graph ici également. Il suffit donc
de montrer différentes manières de naviguer dans votre
graphique. Maintenant, si vous avez toujours voulu créer
votre graphique réduit ici, il vous
suffit de me
laisser zoomer en arrière sur ma ligne. Il suffit de cliquer avec le bouton droit de la souris sur le graphique Vous avez là des
nœuds étendus, alors cliquez dessus. Et cela remettra tous ces
nœuds dans votre graphe, comme vous l'aviez fait auparavant. Et vous remarquerez également
que ce
graphique réduit n'
existe plus sous la section Graph des
événements
greffés du panneau Mon plan. À présent, nous allons faire une démonstration de nœuds
repliables sur lesquels
d'autres nœuds sont branchés et
déconnectés des nœuds de compression. J'ai donc une configuration juste ici. Si j'appuie sur la touche A,
je vérifierais que les énumérations que j'ai configurées plus tôt dans le cours sont une énumération de l'état de santé, dans laquelle j'ai les
valeurs possibles de super ok. Et elle, très mal. Et en
fonction de ce que c'est réglé, si c'est super, j'allais
changer de personnage. Composants du mouvement. Sautez une vélocité qui
contrôle la hauteur que mon personnage peut atteindre 1 400 si mon état de
santé est excellent, si tout va bien, je le
laisserai à 700. Et si ce
set me faisait très mal,
je réglerais mes sauts
sur la Velocity 2350. Maintenant, je vais juste
montrer une fois
de plus ce qui se
passerait si je devais réduire des nœuds
sur lesquels d'autres nœuds branchés et déconnectés
des nœuds de réduction. Maintenant, pour le démontrer,
je vais simplement sélectionner ces trois nœuds ici. Remarquez donc ces fils
ici, ici et là, et
même ici, ils doivent avoir
quelque chose à brancher. Donc, quand je
réduis ces nœuds et que
j'ai même quelque chose qui coule
dans ces nœuds de sélection. Je vais donc
cliquer dessus avec le bouton droit de la souris. Je vais détruire
ces nœuds. Et maintenant, vérifiez-le. Mon nœud d'effondrement
ressemble à ceci. J'ai une broche d'entrée, mais j'ai aussi
quelques broches de sortie parce
que nous devons
transmettre
ces informations sur les mouvements de ce personnage à cet ensemble de sauts, c'est-à-dire, avis de
vélocité, et
nous doivent également transmettre ces recenseurs. Je vais donc nommer
ce graphique en particulier,
mon graphique de santé réduit. C'est un beau nom. Et maintenant, si je devais double-cliquer
dessus et l'ouvrir, nous pouvons voir que nous avons
une épingle de saisie d'exécution, et nous pouvons le vérifier en
revenant à
notre graphe d'événements. Il y a mon seul pin d'entrée d'
exécution. Permettez-moi de double-cliquer
dessus. Encore une fois. Laisse-moi
nettoyer ça un peu. Mais il a automatiquement configuré certaines broches de sortie sur
ce nœud de sortie. Nous avons donc trois
broches de sortie
d'exécution et un composant de
mouvement des caractères, ainsi qu'une broche de
sortie. Maintenant, cela vous permet de les
nommer si vous ne vous
aimez pas, vous savez, nouveau recenseur six, je pourrais très bien les
nommer deux. Et elle, très mal. En fait, ce ne
serait pas une mauvaise idée de
simplement clarifier les choses. OK ? OK. Et nous allons
changer cela pour faire très mal. Donc maintenant, si nous devions
revenir à notre graphique des événements, cela semble un
peu plus logique. Très bien, alors voilà, vous l'avez fait s'effondrer, sachez que c'
est quelque chose que je
ne recommande généralement pas tant que vous êtes pas dans les dernières étapes
de votre projet. Et vous êtes satisfait de
tous vos scripts et vous souhaitez
simplement nettoyer un peu
vos graphiques, juste pour des raisons de lisibilité. Belle astuce pratique que
vous pouvez emporter avec vous et qui fera
tout pour cette vidéo. Rendez-vous dans la prochaine.
112. Mise en page personnalisée: Très bien, bienvenue à tous. Eh bien, après avoir passé du
temps à travailler dans Unreal, vous trouverez sans aucun doute votre propre façon
de faire les choses,
votre propre flux de travail, si vous
voulez, votre propre façon de présenter votre propre façon
de faire les choses, votre propre flux de travail, si vous
voulez, votre propre façon de tous ces différents
des panneaux d'information, pas seulement à l'intérieur d' un éditeur Blueprint comme
je l'ai ouvert ici, mais aussi à l'intérieur de
n'importe quel éditeur d'Unreal,
qui concernent votre éditeur de niveau, les éditeurs de
Static Mesh, les éditeurs de
matériel, tout ce genre de choses. La question qui se pose alors est de savoir s'il existe un moyen de sauvegarder une mise en page personnalisée que
je voudrais peut-être charger plus tard. La réponse à cette question est
oui, bien sûr que vous le pouvez. Pour ce faire, vous pouvez trouver cette option dans
le menu Windows. Si vous vous trouvez sous Fenêtre dans
l'un de vos éditeurs ici, fenêtre sous la section mise en page, c'est ici que vous pouvez créer et enregistrer une mise en page personnalisée. Vous pouvez charger cette mise en page, vous pouvez supprimer cette
mise en page, etc. Nous allons donc vous montrer
comment procéder dans cette vidéo. Maintenant, je tiens à souligner
que pendant que je suis dans l'éditeur de niveaux, j'ai cette option dans la section
Fenêtre ici. Si je devais me lancer dans mon personnage à
la troisième personne. Je suis donc dans un plan de
classe de personnage et je passe sous la fenêtre. Je peux voir les
options de mise en page et je peux également
créer une mise en page
personnalisée ici. Et passons également à
un autre
éditeur aléatoire. Je ne sais pas, je
vais entrer dans contenu
commencé, peut-être demande ce bon vieux fauteuil Static Mesh Editor.
Ouvre ça. Bien sûr. Et sous l'
option fenêtre ici, j'ai également ces
options de mise en page. Donc, ce que je vais faire avant créer ma propre
mise en page personnalisée, c'est d' ajouter différents panneaux de fenêtre ici et de
les organiser à ma guise. Et je vais commencer ici dans mon filet statique et l'infirmière
passera sous la fenêtre. Je vais allumer, disons mon journal des messages. Bien sûr. Je dirais que je veux l'
ancrer
à côté de mes panneaux, juste ici. Je passerai ensuite à mon plan de
personnage à la troisième personne. Allons ouvrir une autre fenêtre. Voyons voir, je vais
apporter mon journal de sortie. Bien sûr, je vais l'ancrer ici. Je vais mettre
mes favoris de niveau à
côté de mon panneau de plans. Comme ça. Je vais prendre mon panneau de palette et le placer également à
côté de mes composants. Bien sûr, pourquoi pas ? fait, vous avez l'avantage
de faire une pause, afin de voir et de vous souvenir où je place
tous ces panneaux. Ensuite, je passerai à
mon éditeur de niveaux. Ma fenêtre de niveaux est ouverte depuis le début du cours. Je l'ai remis en place. J'ai également activé les paramètres de mon
monde. Et si j'introduisais également le panel des acteurs de la
place. Et voyons ce que j'ai
d'autre ici ? Je vais créer, allons
créer World Partitioner. C'est le cas si vous
travaillez avec des paysages. Je vais donc l'
ouvrir ici également. OK, donc avec toutes
ces mises en page, personnalisez la façon dont je cite entre
guillemets, comme ça. Je vais passer sous
ma fenêtre d'option ici. Et je vais passer à la
section Sauvegarder la mise en page. Et je peux enregistrer ma mise en page car cela fera apparaître un
petit dialogue ici. Et je vais simplement appeler ça
mon costume. Et pour ma description ici, bien
sûr, elle est
facultative, comme indiqué, je vais simplement appeler cela
mon exemple de mise en page. Je vais continuer
et cliquer sur Enregistrer. Faites-moi savoir qu'
il a été enregistré dans ce répertoire
juste en bas. Et maintenant, je vais passer
sous une fenêtre. Et dans mes options de mise en page de chargement, vous pouvez voir ma mise en page personnalisée. Mais c'est ce que j'ai mis en place
actuellement. Je vais donc revenir
par défaut à page par défaut de
l'éditeur. Maintenant, lorsque vous faites
cela, votre moteur va fermer
votre moteur et, par défaut, tous vos panneaux de fenêtre retrouveront leur
position par défaut. Voici donc mon éditeur de maillage
statique, mon personnage à la troisième personne. J'ai mon
panneau de détails ici. Vous pouvez voir que le panneau de la
palette a disparu. Où sont mes fenêtres ici ? Ils sont tous partis. Et de retour ici, dans mon éditeur de
niveaux lui-même, il me manque
l'onglet « niveaux » ici. Où se trouve mon navigateur de contenu ? Il me manque les
paramètres de mon monde, la partition du monde. Tout est revenu aux paramètres par défaut de l'
éditeur. Maintenant, je retourne sous une fenêtre. Je peux charger cette mise en page. Et wallah, tu peux voir que mon palais est de nouveau
là où je l'ai mis. Mon panneau de favoris est de
retour ici. Tout est
revenu là où je l'avais. Éditeur de niveaux,
acteurs du lieu, panneau, niveaux, onglets, paramètres du monde,
partition du monde, etc. Il convient donc de noter
ici que lorsque vous créez votre
propre mise en page personnalisée, une fois que vous l'avez enregistrée,
vous enregistrez la mise en page et
pas uniquement pour l'éditeur actuel dans lequel
vous travaillez. Dans ce cas, ce
serait mon éditeur de niveau, mais vous enregistrez également
cette mise en page pour tous les autres
éditeurs. Y compris dans mon cas ici, ces éditeurs de mash statiques et les
éditeurs de plans,
pour supprimer l'autorisation, vous deviez simplement passer sous Window Remove Layout. Voici ma mise en page personnalisée. Lorsque je sélectionne cette option,
une boîte de dialogue s'affiche ici disant : Êtes-vous sûr de
vouloir le faire ? Maintenant, si vous cliquez sur OK, vous remarquerez que
rien n'est arrivé à ma mise en page personnalisée car c'est la mise en page que
j'utilise actuellement. Cela ne
supprimera donc pas la mise en page que
vous utilisez actuellement. Donc, si je voulais vraiment
supprimer la mise en page de mon cousin, je devrais d'abord
revenir à une autre mise en page. Dans ce cas, je vais revenir
à la disposition par défaut de mon éditeur. Et maintenant, si je devais passer
sous notre option de fenêtre, dans la section de mise en page, j' essayais de
charger cette mise en page. Vous pouvez voir qu'il n'existe plus. Pendant que nous sommes ici, je voulais
également
souligner que vous pouvez importer une
mise en page existante ou que, lorsque vous enregistrez une mise en page, vous pouvez également envisager d'exporter
une mise en page. Je ne vais pas le
démontrer ici, mais je voulais
vous en informer. vous recommande vivement de créer vos propres
mises en page personnalisées car cela vous
aidera à améliorer votre flux de travail. Les gars, ça
suffira pour cette vidéo. On se voit dans la prochaine.
113. Conseils et astuces: Bienvenue. Dans cette vidéo, l'
objectif est de
vous fournir des
conseils et astuces supplémentaires vous aider
à travailler plus efficacement avec les
plans dans Unreal, non de vous présenter ces trucs
et astuces sur lesquels je vais travailler à l'intérieur de Maya, personnage à la troisième personne de
BP. Notez toutefois que
vous pouvez travailler sur n'importe lequel de vos plans. Très bien, notre
personnage à la troisième personne étant ouvert, je voulais attirer
votre attention sur ces deux flèches juste haut de mon graphique d'événements. Ce sont des flèches
vers l'avant et vers l'avant, comme vous le voyez dans n'importe quel type
de navigateur Internet. Cela vous permet de
passer d'un graphique à l'autre. Maintenant, en ce moment, c'est grisé. Et si j'essaie de cliquer dessus, rien ne se passe parce que
nous l'ouvrons simplement. Cependant, lorsque je clique sur différentes zones de
mon panneau de plans ou ma zone de favoris,
je l'ouvre
ici sous les signets de la fenêtre. je commence à cliquer sur
certaines de ces choses, comme je l'ai dit, sautez jusqu'à l'
endroit où se trouve ma touche de saisie zéro. J'entre dans ma fonction
Turbo Run. Ou je navigue vers l'une de mes interfaces
Blueprint ici, Allons-y, la fonction d'interaction, ou l'une de mes macros en feu, ou je passe à l'un de
mes favoris ici, je vais accéder à mon favori de santé ou même mon marque-page d'aperçu. Maintenant, vous m'avez vu cliquer sur une
variété de choses. Maintenant, j'ai créé un historique et je peux maintenant utiliser ces boutons de
retour et de marche pour accéder aux éléments sur
lesquels j'ai cliqué. Donc, si je reviens ici,
je vais revenir à mon
favori de santé, à ma macro ici, Maia on fire, macro, à nouveau à mon interface d'
interaction. Et comme vous pouvez le constater, il fonctionne comme n'importe quel navigateur
Internet, les boutons précédent et suivant, avant ,
arrière, avant, arrière, etc. Maintenant, lorsque vous passez la souris dessus, vous pouvez cliquer dessus avec le bouton droit de la souris pour voir un historique complet. Je sais qu'à un
moment donné, cela fonctionnait. Cependant, si j'essaie de
cliquer avec le bouton droit de la souris pour le moment, je ne peux pas voir cet historique complet. Je dois imaginer
que la fonctionnalité va retrouver son chemin. Très bien, ensuite, je
voulais vous montrer comment
copier et coller des valeurs dans Unreal. Maintenant, c'est quelque chose que je sais, vous savez comment
faire grâce à de nombreuses autres
applications informatiques. Contrôle C pour copier, contrôle V pour coller. Mais c'est l'une de
ces astuces qui pour une raison ou
une autre, échappent à l'esprit de nombreuses personnes,
car elles sont même possibles. Ce que je vais faire ici,
dans mon panneau de composants, et je vais passer
à ma fenêtre d'affichage ici parce que ce sera un
peu visuel par nature. Je vais ajouter un
tout nouveau composant. Je vais ajouter un joli système de particules
Agora. Cela va être attaché
à mon composant de capsule. Je vais laisser ce nom de Niagara. Ça va très bien se passer. Je vais installer un actif du
système Niagara ici. En cliquant sur cette liste déroulante, je vais définir l'une de ces
options magiques. Bien sûr. Actuellement, il
apparaît juste
au centre
car il se trouve à l'emplacement 000 par rapport
à notre composant de capsule. Ceci est rattaché à mon élément de
conseiller. Mais disons que je voulais que cette
particule apparaisse juste à l'emplacement du composant
simulé de ma main. Eh bien, ce serait aussi simple
que de copier cet emplacement. Il s'agit d'un emplacement relatif. emplacement
relatif de cette composante par rapport à notre composante
catholique. Et pour ce faire, je peux simplement
cliquer avec le bouton droit de la souris ici sur l'emplacement, cliquer avec le bouton droit sur Copier. Vous pouvez voir Shift Plus Rice. bouton droit de la souris est le
raccourci clavier pour le faire ici. Ensuite, je peux accéder à
ma particule de Niagara, cliquer avec le bouton droit ici,
et je pourrais la coller. Donc, pour une raison ou une autre, c'est une
astuce très pratique qui échappe à l'esprit des gens car elle est
même possible. Mais croyez-moi, j'ai utilisé
cette astuce tout le temps. Ensuite, j'aimerais attirer
votre attention sur le panneau My Blueprint où se trouve
cette icône représentant un engrenage. Et si je clique dessus, je veux parler de
cette option la plus populaire affichant les variables
héritées. Actuellement, je l'ai
vérifié. Maintenant, si je coche cette case, vous
remarquerez que de nombreuses catégories de variables
vont disparaître ici. Et la raison pour laquelle
elles disparaissent est qu'il s'agissait d'une catégorie de
variables héritée qui a été
héritée de notre
classe de caractères mère. Maintenant, la raison pour
laquelle
il est important savoir est
que si vous
créez une classe de base et que vous héritez
de cette classe, vous vous demandez peut-être : « Hé, où » toutes les variables que
j'ai configurées dans cette classe de base, où existent-elles ? Maintenant, pour vous
aider à comprendre ce point, je vais vous présenter
un autre plan. Plus tôt dans le
cours, nous avons créé ce plan de personnage pour enfant, hérité de mon personnage à la
troisième personne. Alors laisse-moi ouvrir ce
type très rapidement. C'est un enfant. Si vous voyez cela,
vous pouvez
l'ouvrir dans l'éditeur de plan complet en
cliquant ici. Vous pouvez voir que la classe
parentale ici est mon personnage à la troisième personne BP. Maintenant, si nous regardons dans la section
variable de l'enfant. Par exemple, attendez une minute,
où toutes les variables de
ma classe parent sont ici, j'ai créé toutes
ces variables. J'ai sélectionné Actor Variable, une chaussette et une variable. Ce sont des variables
que nous avons créditées tout au long du cours.
Où sont-ils ? Eh bien, si je vais dans l'
enfant, que je clique sur cette icône en forme d'engrenage dans le panneau Mon plan et que j'
affiche les variables héritées. Et nous ouvrons notre catégorie de
variables ici. Nous pouvons maintenant voir toutes les
variables que nous avions configurées dans
notre classe parent. Ensuite, j'aimerais attirer votre
attention sur une icône
en forme d'engrenage située tout en
haut à droite de notre panneau Détails. Si vous cliquez dessus,
vous verrez également une variété d'options. Je vais vous parler de
certaines d'entre elles que j'aime beaucoup utiliser, comme n'afficher que les propriétés
modifiées. Si vous cochez cette case, vous réduirez votre panneau de
détails pour
n'afficher que les propriétés
que vous avez modifiées. C'est très pratique
pour savoir : « Qu'est-ce que j'ai réellement changé à propos de ce composant ? Je trouve cela particulièrement
utile pour quelque chose comme le
composant de mouvement des personnages, car le composant de mouvement des personnages contient toutes sortes
de propriétés. Donc, si je veux
découvrir celles que j'ai modifiées, je peux cliquer ici et
n'afficher que les propriétés
modifiées, au lieu de cocher
cette énorme liste de les propriétés qui me
sont présentées sinon, certaines des autres
options que j'aime explorer dans ce menu, nous devons afficher tous les détails
avancés. C'est quoi ce bordel ? Eh bien, dans chacune
de ces catégories, nous avons des
propriétés avancées qui sont moins
connues, moins utilisées, etc. Vous pouvez cliquer et
les afficher manuellement de cette manière. Cependant, si vous
ne vouliez pas faire comme je le fais en ce moment, et les exposer
tous un par un. Vous pouvez simplement accéder à
cette icône en forme d'engrenage et
afficher toutes les informations avancées. Et toutes
ces
catégories avancées seront activées immédiatement afin que vous n'ayez pas
à toutes cliquer dessus. C'est pratique. Laisse-moi
juste le désactiver. Quelque chose d'autre
que j'aime utiliser ici se trouve dans cette catégorie, je peux réduire toutes les catégories
ou élargir toutes les catégories. Une fois de plus, j'
ai
sélectionné les composantes des
mouvements de mon personnage ici. Il y a beaucoup de
catégories différentes ici. Mouvement du personnage, saut,
chute,
mouvement des personnages par composante ,
tique, réseautage, nombreuses catégories différentes. Donc, si je
veux les réduire toutes, je pourrais simplement cliquer
dessus et voir toutes les
catégories individuelles afin de pouvoir ouvrir uniquement celles
qui m'intéressent. Et bien sûr, je peux
faire le contraire, c'
est-à-dire élargir
toutes les catégories. C'est donc un
moyen facile de
tous les ouvrir sans avoir
à le faire un par un. Très bien, ensuite, j'aimerais
parler de ce que fait ce bouton de
masquage sans rapport dans
la barre d'outils d'
un éditeur de plan. Maintenant que cela fonctionne
vraiment, vous devez vous trouver dans
votre Event Graph votre script de construction, votre fonction
ou une macro, quelque chose avec quelques nœuds. Je vais mettre en évidence
mon composant de capsule au sein de ce réseau de nœuds. Et je vais
cliquer sur ce bouton. C'est comme un bouton
marche/arrêt juste ici. Lorsqu'il est bleu,
il est activé. Lorsqu'il est gris,
il est désactivé. Laisse-moi juste le réactiver. Ce que cela a fait,
c'est qu'il est devenu gris. Tous les nœuds sont masqués. Tous les nœuds qui ne sont pas liés à celui que j'ai sélectionné, un ou à ceux que
j'ai sélectionnés. Alors pourquoi tout cela est-il encore
illuminé ? Eh bien, mes nœuds
à deux composants attachent ici, ils dépendent de la composante
capitale parce qu'ils sont connectés à
l'entrée parent. Ils font apparaître des acteurs à partir des nœuds de
classe situés ici. Ils dépendent de la
transformation du monde que nous apporte
la composante catholique. Ils sont donc également
illuminés. Maintenant, si je devais
zoomer ici, vous pouvez voir que
tous les autres nœuds sont également masqués
car ils ne sont pas liés à celui que j'ai sélectionné actuellement,
ce composant catholique. C'est extrêmement utile si vous avez un enchevêtrement de fils, il est difficile
de comprendre ce que fait votre script. Et vous essayez vraiment de
faire briller la lumière pour vous concentrer sur un
sous-ensemble de nœuds donné. Maintenant, je voulais également
souligner ici que, juste à droite de notre bouton Masquer les liens sans rapport, nous
avons ces trois points. Si vous cliquez dessus, vous avez la possibilité de
verrouiller l'état du nœud. Maintenant, si je clique
et que je l'active, nous pouvons maintenant voir que c'est
activé avec cette coche. Cela va faire en sorte que tous les nœuds dans leur état actuel soient
surlignés ou dosés. Cela signifie donc que si je devais cliquer ailleurs et cliquer
sur un autre nœud, tous les
autres nœuds resteraient absents. Et ceux que j'avais
verrouillés pour être illuminés resteront allumés jusqu'à ce que je les déverrouille. C'est donc bon à savoir. Très bien, les gars, il
y a quelques
trucs et astuces pour travailler avec les plans d'
Unreal Engine. J'espère que vous les trouverez utiles. Nous vous verrons tous
dans la prochaine vidéo.
114. Raccourcis de productivité: Très bien, bienvenue à tous. Dans cette vidéo, notre
objectif est de résumer tous les
raccourcis qui améliorent la productivité intégrés à l'éditeur
Blueprint afin que
vous puissiez créer et parcourir vos scripts de manière plus efficace. Pour commencer, je
vais vous montrer où sont définis les raccourcis clavier dans Unreal afin que vous puissiez personnaliser vos raccourcis clavier
pour
augmenter la productivité pour toutes les zones du moteur, pas seulement à l'intérieur de
des plans, mais partout. Alors, où pouvez-vous
personnaliser ces raccourcis clavier ? Eh bien, cela se fait dans les préférences de
votre éditeur. Vous pouvez accéder à vos préférences
d'
éditeur en
cliquant ici sur le bouton Modifier. Préférences de l'éditeur. Et
avec cet onglet ouvert, je vais juste
l'
ouvrir en haut à droite, ici. Sur le côté gauche, vous trouverez des raccourcis clavier. Vous cliquez ici. Et c'est là que tous les
raccourcis clavier sont définis pour chaque
zone du moteur,
chaque éditeur, chaque éditeur de Blueprint. C'est ici que nous voyons quelques
raccourcis clavier tels que la compilation de F7. Vous avez un espace arrière
pour accéder à un graphe parent et F va faire apparaître
ce menu de recherche, etc.
Maintenant, c'est évidemment
génial parce que si vous vous
retrouvez à faire une
action donnée encore et encore, vous pouvez créer des
raccourcis clavier pour vous-même. Vous pouvez également personnaliser les
touches de raccourci à votre guise. Et en fait, c'est
utile pour moi de le
faire ici, car la touche F7, qui est actuellement destinée à la compilation, est également le raccourci clavier que j'avais associé à mon
logiciel d'enregistrement OBS pour démarrer
et arrêter je joue. Donc, si je voulais
changer cela, je pourrais simplement cliquer ici et dire que
je veux que ce
soit le fait de cliquer sur cet
espace pour passer à F8. Et vous pouvez également ajouter
une deuxième reliure. Je peux donc dire, bien sûr, que
F9 le fera également. Maintenant, il n'y a plus de
bouton Enregistrer ou quoi que ce soit d'autre ici. Donc, si je devais entrer dans mon plan de
personnage à la troisième et apporter une sorte de modification,
comme couper ce fil, puis le rebrancher. Maintenant, vous pouvez voir qu'il me
demande de compiler. Donc, si je devais appuyer sur
F8, cela compilerait. Mais laissez-moi encore une fois l'extrait
et le reconnecter. Et si je devais appuyer sur F9 et que vous ne me
voyez évidemment pas appuyer dessus. Tu vas juste lui faire confiance. Je suis en train de le faire. F9, ça va aussi le
compiler. C'est donc un
moyen très pratique de personnaliser vos raccourcis clavier pour différentes
zones de l'éditeur. Très bien, donc une fois
cela fait, je vais vous
montrer comment exécuter un tas de raccourcis clavier
dans des plans. Ils seront spécifiques aux plans que vous
devriez connaître. Maintenant, j'en ai parcouru beaucoup tout
au long du cours. Mais ce sera un excellent résumé. Donc, pour en revenir à mon
personnage à la troisième personne, il suffit de trouver une sélection de nœuds, si vous voulez, pour
jouer à la maison. Si vous souhaitez sélectionner un nœud, il suffit de cliquer
dessus avec le bouton gauche de la souris pour le sélectionner. Si vous souhaitez ajouter des éléments
à une sélection donnée, il
vous suffit de maintenir
la touche Shift enfoncée. Je vais maintenir la touche Shift enfoncée
et cliquer avec le bouton gauche de la souris comme ça. Si vous
souhaitez modifier une sélection, vous pouvez maintenir la touche
Contrôle enfoncée tout en cliquant avec le bouton gauche de la souris. Comme ça. Pour créer une sélection en zone de sélection, il
vous suffit de cliquer avec le bouton gauche de la souris
et de la
faire glisser pour obtenir cette petite zone en
pointillés. Et chaque fois que cela se touche, vous allez sélectionner ce
que vous allez
sélectionner cliquez avec le bouton gauche de
la souris et faites glisser le pointeur de la souris. Si vous souhaitez ajouter à votre sélection de zones de
sélection ici, vous pouvez maintenir la touche Maj
enfoncée et cliquer avec le bouton gauche de la souris, puis y ajouter
des nœuds de cette manière. Si vous souhaitez supprimer sélections de votre sélection de
cadrage, il
vous suffit de maintenir la touche
Contrôle enfoncée, de cliquer avec le bouton gauche de la souris
et de faire glisser le pointeur pour supprimer tout ce que votre sélection touche. agissait donc d'un modèle de commandes
de sélection. Très bien, les commandes de navigation que
vous devez connaître. Vous avez le
bouton droit de la souris enfoncé. Nous allons vous déplacer sur
l'ensemble du graphique. Vous avez cette icône en forme
de main que vous pouvez déplacer comme ça. Si vous souhaitez
zoomer sur la sélection, il
vous suffit d'appuyer sur
la touche d'accueil votre clavier pour zoomer sur ce que vous avez sélectionné. Cadrez-la si vous voulez. Si vous souhaitez zoomer
et dézoomer sur votre graphique, suffit de le faire défiler vers l'avant et
vers
l' comme cette
molette de défilement vers le haut et vers le bas. Maintenant, si vous souhaitez
zoomer au-delà de l'échelle 1.1. Voici donc votre niveau de zoom dans le coin supérieur droit Zoom un, deux-points un. Si vous
souhaitez zoomer au-delà, maintenez la touche Ctrl enfoncée, puis vous pouvez
zoomer Passat jusqu'à
niveau de zoom de plus sept. Très bien, voyons
quelques commandes génériques vous devriez connaître à propos de
control plus b. Cela vous permettra de
porter cet atout. Dans ce cas, le
personnage à la troisième personne se
trouve dans le navigateur de
contenu. Laisse-moi y retourner
. Vous avez le contrôle plus un S qui
enregistrera votre plan. Ensuite, nous avons
des commandes informatiques génériques où si vous deviez faire quelque chose comme Control plus y, cela refera quelque chose, Control plus z qui
annulera quelque chose. Explorons donc cela en déplaçant
simplement un peu ce nœud
vers le bas. Je vais utiliser Control Z pour annuler cela, Control Y pour le refaire, pour trouver quelque chose dans ce plan, vous pouvez
faire Control plus F. J'ai aussi cette
belle fenêtre de résultats ouverte juste en bas.
Laisse-moi clore ça. Donc, si je devais faire le
contrôle plus F, cela me donnerait
mes résultats finaux. Si je devais essayer de trouver
quelque chose comme Disons « Mon » tout ce qui a trait à la santé,
je pourrais le rechercher. Ils se situent juste dans le cadre de
ce plan. Cependant, si je voulais trouver
quelque chose dans n'importe quel Blueprint, je ferais Control Shift et F, qui figureront dans le menu de
n'importe quel plan ici. Et si je saisissais
santé maintenant et que j'appuyais sur Entrée, je pourrais découvrir où
le mot santé est référencé dans tout
type de plan. Personnage à la troisième personne, mon WPP, exemple de HUD,
pick-up, etc. Maintenant, comme vous vous en souvenez
plus tôt dans le cours, F7 est le raccourci clavier par défaut pour
compiler votre plan. Je l'ai changé
pour moi personnellement, dans mes préférences d'éditeur, je l'ai changé en F8, F9, mais F7 est la
méthode par défaut pour compiler vos actions variables, d'
accord, que
vous devez connaître. Laisse-moi juste aller
dans un espace vide. Je vais juste créer
rapidement un nœud publicitaire. Opérateurs, ajoutez un moyen d'obtenir
et de définir une variable rapidement. Si vous comptez le brancher
du côté de la saisie,
vous pouvez simplement cliquer avec le bouton gauche de la souris
et faire glisser le pointeur en haut d' une épingle comme celle-ci pour obtenir le
contenu de cette variable. Toutefois, si vous souhaitez
faire glisser et déposer sur le côté sortie d'un nœud, cliquez avec le bouton gauche
de la souris sur cette épingle pour faire
automatiquement apparaître le
centre de cette variable. Vous devez également savoir
que si vous maintenez
la touche Ctrl
enfoncée et que vous cliquez avec le bouton gauche de la souris sur
Ctrl et cliquez avec le bouton gauche faites glisser cette dernière dans un graphique
et déposez-la n'importe où. Vous pouvez obtenir cette variable en maintenant
la touche Alt enfoncée, en cliquant avec
le
bouton gauche de la souris et en la faisant glisser .
Vous pouvez placer le
centre de cette variable. Et si vous n'êtes pas sûr de ce que vous voulez faire avec
cette variable, vous pouvez cliquer avec le bouton gauche de la souris le bouton droit de la souris pour
obtenir ou régler. Et c'est une façon décider à la volée ce que
vous voulez en faire. Maintenant, ce que beaucoup
de personnes
ignorent à propos des variables
du panneau Mon plan, vous pouvez les réorganiser en les faisant
simplement glisser. Donc, si je voulais placer toutes
mes variables flottantes les unes à
côté des autres, je peux simplement
cliquer avec le bouton gauche de la souris et les faire glisser. Donc, quel que soit celui sur lequel vous allez
le faire glisser, il le sautera
juste au-dessus, comme ça. Vous pourriez donc faire
quelque chose comme ça pour organiser vos variables, très
bien dans votre section
myvariable. Ensuite, je vais vous présenter les
différentes actions
que vous pouvez effectuer sur les nœuds. Et je vais
supprimer quelques-uns de ces getters et
setters ici. Je vais laisser ce nœud d'
ajout ici. Je vais également
cliquer avec le bouton droit de la
souris et ajouter un événement personnalisé. Je vais laisser cela sous
un nom générique tout de suite. Je vais également intégrer l'une de mes fonctions
personnalisées, ma
fonction Modify Health. Très bien, nous avons d'abord un menu contextuel spécifique au
nœud. Si je devais cliquer avec
le bouton droit sur un nœud donné, je ferais apparaître un
menu contextuel
spécifique à un nœud . Ce que je peux
faire avec ce nœud donné, je pourrais ajouter un point d'arrêt
ou activer un point de rupture. Il s'agit de deux actions très
courantes. rupture des liens entre nœuds est
une action très courante. actualisation d'un nœud est
une action très courante. De toute évidence, vous avez
votre copie et vous pouvez couper, dupliquer, tout ce
genre de choses également. Notez cependant qu'il s'agissait mon menu contextuel pour
ce nœud de fonction. Si je devais cliquer avec
le bouton droit de la souris sur ce nœud d'ajout, consultez l'une de mes options spécifiques à ce nœud. J'ai la possibilité d'ajouter une épingle. Je pourrais ajouter une épingle
spécifique à ce nœud, celle-ci n'est pas disponible. Cependant, si je clique sur ce
nœud de fonction ici, différents nœuds peuvent avoir des actions de nœud
différentes comme ce
nœud d'ajout ici. Certains nœuds
vous permettent désormais de double-cliquer
dessus pour accéder au nœud
associé ou à un graphique. Il s'agit d'une fonction personnalisée. Donc, si je devais double-cliquer sur cette fonction que
j'ai créée plus tôt dans le cours,
cela ouvrira cet onglet de fonction donné pour me
montrer ce que
contient cette fonction. Il est donc bon de
connaître les nœuds Timeline. Tu peux le faire aussi. Pour ouvrir l'éditeur de chronologie, déplacez une note, vous savez que vous pouvez
déjà cliquer avec le bouton gauche souris
et la faire glisser comme ceci. Cependant, vous pouvez également
utiliser les touches fléchées de
votre clavier pour le déplacer vers le haut et vers le bas, vers gauche et la droite, etc. Pour supprimer un nœud,
vous pouvez simplement le sélectionner comme ceci et appuyer sur la touche Supprimer pour renommer un
nœud, par exemple un événement personnalisé. Notez à nouveau que cela n'est pas
disponible sur tous les nœuds donnés, mais sur les événements personnalisés où
vous pouvez le nommer. Vous pouvez simplement cliquer avec
le bouton gauche de la souris sur le titre ici. Et cela vous permettra de le
renommer en tant qu'événements costumés. Appuyez sur Entrée. pouvez également appuyer sur F2 avec l'option sélectionnée, ce qui vous permettra
de le
renommer également en tant qu' événement personnalisé. Les autres commandes ici, laissez-moi simplement
les supprimer et ajouter
quelques nouveaux nœuds, vous allez cliquer avec le
bouton droit de la souris pour introduire
la touche sept, disons la touche sept. Nous allons modifier certains états de santé. Et permettez-moi de revenir ici, double-cliquant dessus
accidentellement. J'ajouterai également un nœud de
temporisation. Vous devez donc savoir
maintenant que si vous sélectionnez le nœud et
appuyez sur la touche F9, vous pouvez ajouter un
point d'arrêt pour cela, et je peux le faire
pour chacun d'entre eux. Chacun d'entre eux a donc
un point d'arrêt. Pour effacer tous les points d'arrêt, je peux utiliser Control Shift et F9, qui les élimineront tous
immédiatement. Pour couper une sélection, je peux simplement utiliser Control X. Évidemment, contrôler un
V, c'est le coller. Pour copier une sélection donnée. Je peux juste
sélectionner
quelques nœuds , comme ce
contrôle C, contrôle V. Vous devriez le savoir
à partir de n' importe quel type d'
application informatique. Voyons comment dupliquer
une sélection. Je vais donc simplement
les sélectionner et faire Control plus D, et cela les dupliquera. Enfin, vous
devez savoir maintenant que vous pouvez ajouter
un commentaire une sélection
en sélectionnant simplement les nœuds autour desquels vous souhaitez créer un commentaire. Comme tous ces trois, appuyez sur la touche C pour ajouter une zone de
commentaire, ma boîte de commentaires. Et encore une fois, une fois que vous avez créé une zone de commentaires dans votre fenêtre de
favoris, accessible par Windows. Signets. Vous devriez alors être en mesure de trouver cette boîte de commentaires
quelque part là-dedans, tout en bas
, appelée Commentaire. Cependant, si je compile, puis que je mets à jour ma boîte de commentaires, si je devais m'en
éloigner, je pourrais double-cliquer dessus
pour accéder à ma zone de commentaires. Très bien, différentes actions d'épingle que
vous devez connaître. Ajoutons ici quelques
nœuds pour faciliter cette discussion. Vous savez quoi, je
vais faire appel à
un acteur de Spawn de Class Node parce que c'est un
bon acteur pour faire une démonstration. Si je devais cliquer avec
le bouton droit sur une épingle donnée, comme ma
transformation d'apparition ici. Je vais afficher un menu des différentes actions d'épingle
que je peux effectuer, afin de promouvoir
cette variable en une action d'épingle très courante. Vous pouvez voir que, sur à
peu près n'importe quelle douleur favorise également une variable avec une transformation d'apparition,
un vecteur ou une épingle rotatrice. Si vous cliquez dessus avec le bouton droit de la souris, vous pouvez diviser l'épingle de
structure car une transformation comprend
des données de position, de
rotation et d'échelle. Foster fait donc un clic droit dessus. Je peux essentiellement exposer les composants donnés
de cette broche, savoir l'emplacement, la rotation et les données
d'échelle de cette transformation. Si je ramène mon
nœud d'ajout ici,
je vais cliquer avec le bouton droit de la souris pour insérer ce nœud d'ajout. Si je devais cliquer avec
le bouton droit sur ces stylos gris, ce sont des épingles génériques. Je pourrais cliquer dessus avec le bouton droit de la souris. Et je peux également effectuer
différentes actions
d'épingle ici Même si elles ne
figurent pas dans la liste des actions sous-jacentes, je les considère comme des actions d'épingle. Je peux convertir le stylo
en un type de données donné. Donc, si je sais que je veux que ce
soit un entier plus, disons, un stylo flottant, je peux
les modifier en conséquence. Maintenant, parfois, lorsque vous commencez à
créer du code spaghetti, vous avez des fils qui circulent dans
tous les sens. Parfois, vous
voulez simplement mettre l'accent sur un fil connecté pour qu'il soit plus facile à lire, pour ainsi dire. Donc, si je devais brancher
un de mes fils ici, laisse-moi prendre n'importe quel
flotteur ici
en santé, en le traînant
dessus. Si je passais la souris sur cette épingle, tu verras comment elle illumine
ce fil juste là. Et cela fonctionne dans les deux sens. Peu importe le côté du fil sur lequel je passe
la souris, mais vous pouvez voir
que peu à peu, ce fil gagne en force et
s'illumine un peu plus. Cela peut donc simplement aider à des fins de
lisibilité. Disons maintenant que je souhaite
connecter cette variable
à un autre stylo. Je pourrais couper le
stylo en maintenant la
touche Alt enfoncée et en cliquant avec le bouton gauche de la souris sur l'extrait de l'outil
Pen comme ça. Cependant, si je voulais le déplacer,
je pourrais maintenir la touche
Ctrl enfoncée et le faire glisser vers une autre
entrée. Et encore une fois, cela fonctionne des
deux côtés de notre
connexion ici. Donc, si je voulais également déplacer
cette épingle, je pourrais maintenir la touche Contrôle enfoncée, cliquer avec le bouton gauche de la souris et la déplacer. Ou si vous voulez
couper ce fil, maintenez la touche Alt enfoncée, cliquez avec le bouton gauche de la souris, et cela coupera ce fil. Très bien, et enfin,
montrons les raccourcis clavier pour ajouter certains des nœuds les plus couramment utilisés
à votre graphe. Nous devons maintenir
le B enfoncé et cliquer avec le bouton gauche de la souris. Nous allons ajouter un nœud de branche. Si vous maintenez la touche
D enfoncée et
que vous cliquez avec le bouton gauche de la souris, vous obtiendrez un nœud de temporisation, utilisez-le tout le temps. Maintenez la touche S enfoncée et
cliquez avec le bouton gauche un nœud de séquence, le GT, puis cliquez avec le bouton gauche de la souris pour obtenir un nœud de porte, le M, M comme dans Mary, et cliquez avec le bouton gauche de la souris
pour obtenir un nœud à portes multiples. Si vous maintenez la touche
F enfoncée et que vous cliquez avec le bouton gauche de la souris, vous obtenez un pour chaque boucle. Si vous maintenez la touche
N, N enfoncée comme dans la touche Nancy, vous cliquez avec le bouton gauche de la souris et cela
fera apparaître un nœud do n. Si vous maintenez la touche 0 enfoncée et que vous cliquez avec le bouton gauche de la souris, je
veux qu'il soit enneigé. Et si vous maintenez la touche
P enfoncée et
que vous cliquez avec le bouton gauche de la souris, vous ferez apparaître
Event Begin Play s'il n'
a pas déjà été
ajouté à votre graphique J'utilise ces
touches de raccourci tout le temps. Eh bien, les gars, ça
suffira pour cette vidéo. Nous vous verrons la prochaine fois.