Transcription
1. Vidéo de présentation: J'adore les jeux en 0,5 D. Il y a quelque chose
dans le fait d'avoir le style artistique à deux D tout étant capable d'interagir
dans un testament en trois D. Voici donc un bref aperçu du coût de
développement d'un jeu en 2,5 D. Nous abordons une grande partie de
ce que vous allez
apprendre afin que vous puissiez
passer, vous savez, d' vision
du
développement de jeux vidéo à petite échelle à une plus grande échelle dans son ensemble. Donc, la première chose que
vous allez
apprendre fondamentalement est mon processus simple en quatre étapes pour concevoir et créer des
éléments pour votre jeu. En gros, il est conçu, créé l'art,
puis ajouté l'audio. Ce sera au
cœur de tout ce
qui s'additionne et de la façon de créer
et d'implémenter un personnage en deux D avec du mouvement
puis un peu de combat. Donc, avec ce personnage, il est capable
d'effectuer un combo à trois coups, y compris des combos aériens. Et lorsque vous aurez créé
le personnage, vous apprendrez à
configurer les commandes pour PC
afin de pouvoir contrôler le afin de pouvoir contrôler personnage à l'aide de
la
souris et du clavier. Et en plus de cela, vous allez
également apprendre à
créer ces commandes de personnage à créer ces commandes de personnage l'aide d'une manette. Vous aurez donc
ces deux options. Et toutes ces
fonctionnalités
seront basées sur le moteur
Unreal Engine et
en utilisant le système de plans, de sorte que vous n'avez besoin que d'une
compréhension de base de la logique pour pouvoir
créer le personnage Maintenant, l'avantage
des plans, c'est que vous
allez pouvoir rapidement apporter des modifications
à votre code Et en cas de problème, vous pouvez facilement voir le
code vivant en temps réel. Maintenant, chaque fois que je réalise
une animation d'attaque, je peux voir quelle ligne de
nourriture est appelée. Voici un exemple simple
d'attaque à trois coups. Je peux donc savoir quand l'
attaque rapide est lancée seule, ou lorsque le joueur a
appuyé sur les trois attaques et qu'il combat, lieu de
lancer le combo complet, et vous l'apprendrez également
dans le didacticiel. Maintenant, avant de
parler de certaines des autres fonctionnalités du didacticiel,
une chose que j'aime
dans l'apprentissage, c'est la clarté. Je n'étais pas content
de la plupart des autres tutoriels que j'ai moi-même achetés lorsque j'
apprenais le développement de jeux vidéo. Mais ne vous inquiétez pas cette fois, il y aura beaucoup
de clarté pour celui-ci. Donc, une chose que vous allez
beaucoup voir , c'est beaucoup zoomer Cela signifie donc que la plupart du temps, je vais zoomer exactement
sur l'endroit où se trouve ma souris, et je vais vous
montrer les
détails de ce que
je fais afin que
vous puissiez avoir une idée assez claire
et cool de tout ce que je suis en train de changer. Chaque variable, chaque
fois que je tourne un cadran, il y a un
zoom avant pour vous donner la clarté
dont vous avez besoin pour savoir exactement
ce que je fais. J'aime également que
mes explications soient très
claires et contenues. Mais maintenant, passons à autre chose, je vais
également en apprendre davantage sur
les ennemis et l'IA ennemie. Oh, regardez, il y a
un ennemi à distance. L'une des choses que vous
allez apprendre est comment attraper ennemis et les créer qui infligeront des dégâts
au joueur,
y compris un ennemi à distance
qui attaque de loin et
un ennemi beaucoup plus
rapproché qui inflige dégâts au joueur en s'
approchant et en attaquant Mais il ne s'agit pas seulement
d'être attaqué par des ennemis. Vous allez également
apprendre à donner une longueur d'
avance aux ennemis pour qu'ils
puissent mourir lorsqu'ils subissent des dégâts. Notre joueur a donc la capacité de
riposter, ce qui est cool. Donc les ennemis sont le charbon
et tout le reste, non ? Mais une autre chose
que vous allez
devoir faire est le level design. Je vais donc vous
apprendre, étape par étape, comment concevoir les niveaux
correctement et
créer des niveaux adaptés aux concevoir les niveaux
correctement et joueurs,
ainsi que les bases de la manière d'
intégrer des actifs dans Unreal Engine, de les utiliser
et d'
apporter différentes modifications à l'
éclairage et à l'environnement OK. Et lorsque vous aurez
fini d'apprendre tout cela, vous vous retrouverez dans un projet final dans lequel
vous allez
créer un personnage de boss que vous
utiliserez pour vos propres jeux. Et une fois
que vous aurez créé ce personnage, vous aurez parfaitement appris
tout ce que vous devez savoir sur le développement de
jeux en 2,5 D. Cela couvre donc à peu près tout ce que vous
allez apprendre dans le didacticiel. Je vous souhaite bonne chance et
assurez-vous de prendre votre temps, tout
apprendre étape par étape,
et bon, le jeu de vos rêves
ne se réalisera pas tout seul. Je te souhaite bonne chance
et tu me retrouveras dans la prochaine vidéo.
Allons de l'avant.
2. 001 Obtenir Unreal Engine et démarrer le projet: D'accord, donc pour commencer, nous devons nous assurer de mettre de
côté les éléments de base. Vous aurez besoin de
NRL Engine 5.4. Procurez-vous simplement le lanceur Epic
Games. Assurez-vous de
télécharger UnrelEngine. Tu peux aller à la bibliothèque. Et depuis la bibliothèque,
vous savez, en gros, vous avez la possibilité de choisir
différentes versions du moteur, vous savez, d'obtenir les dernières. OK ? Tu n'as
besoin de rien d'autre. Prends juste le dernier. La dernière date
d'enregistrement est la version 5.4. J'ai organisé les plans pour assurer qu'ils
fonctionneront au minimum avec n'importe quelle version d'Unreal d'
ici 2025.
Ils
modifient très rarement le code du plan, puisqu'il s'agit simplement de C plus
plus collecté Une fois cela fait,
lancez le moteur, et une fois que
vous l'aurez lancé, vous pourrez
cliquer ici sur Jeux. Il va donc vous demander,
vous savez, de configurer
votre projet de jeu. Maintenant, configurez-le en
tant que projet vide. Nous ne voulons pas commencer
avec des fichiers modèles. Partons d'une page blanche. Ensuite, sur le côté droit, assurez-vous que la plate-forme
cible est un ordinateur de bureau, puis
configurez-la pour Blueprint Si vous cliquez sur
CIPlusPlus, nous
devrons beaucoup écrire en C
plus,
mais il est beaucoup plus rapide de
commencer à partir de là avec le code
Blueprint Il est beaucoup plus facile de
commencer. En ce qui concerne les préréglages de qualité, ils ne sont pas très pertinents Tu peux les laisser tels quels. Vous pouvez omettre le contenu de
démarrage, et vous pouvez laisser de côté le
retraçage pour le moment Nous n'aurons pas vraiment besoin de
traçage pour ce projet, est très gourmand
en ressources graphiques. Avec toute cette configuration, il
vous suffit de vous rendre ici et de
sélectionner le nom de votre projet. Je vais simplement appeler cela des vidéos
mises à jour pour la plateforme
2.5 d car toutes
ces vidéos sont mises à jour à partir des vidéos
originales du cours, puis vous pouvez choisir
le nom du projet. Je vais l'appeler 2,5 d Oh, je ne peux pas mettre de barres d'espace. Non, je vais appeler
ça un voyage de héros. Oui, c'est
ce que j'appellerai le projet. Avec cette configuration, nous pouvons maintenant
entrer dans Unreal Engine.
3. 002 Configurer le niveau de développeur: Et une fois qu'Unreal
Engine
aura démarré, c'est
ce qui vous attend. Donc, la première chose à
faire est de fermer cette fenêtre de
navigateur de contenu et de voir comment Unreal
Engine organise les choses Vous remarquerez donc en haut
à droite
que c'est notre projet. Ensuite, nous avons un grand écran
au milieu qui est notre fenêtre d'édition. C'est notre point de vue, notre vision du monde que
nous allons créer Si on clique dedans. Donc en ce moment, j'ai
cliqué dedans. Vous pouvez regarder autour de vous à l'aide votre souris après avoir maintenu
le bouton droit de la souris enfoncé. Vous pouvez donc y voir ma souris. Je tiens le bouton
droit de la souris enfoncé et je peux regarder autour de moi. Ensuite, en utilisant WAS D, je vais pouvoir me
déplacer de l'intérieur du monde. Maintenant que
nous avons le bouton de la souris, nous pouvons utiliser W A pour nous
déplacer vers la gauche, pour nous déplacer vers l'arrière, et
D pour nous déplacer vers la droite. Donc, avec ces deux-là, nous pouvons
essentiellement faire le tour du monde en avion. OK. Mais le monde est vaste, et nous n'avons pas besoin d'
un vaste monde ouvert. Et en fonction de votre PC, celui-ci peut même
être stressé. Supprimons donc ce monde ouvert afin d'avoir quelque chose d'un peu plus simple à utiliser lorsque
nous nous lancerons
dans ce projet. Maintenant, pour ce faire, il ne nous reste plus qu'
à créer un nouveau niveau. Maintenant, pour créer le nouveau niveau,
ce que vous allez faire, c'est de passer
du coin supérieur gauche
au coin supérieur gauche, cliquer sur Fichier
et après avoir cliqué sur le fichier, nous allons simplement
créer un nouveau niveau. Maintenant, cela va nous ouvrir
quelques options. Nous pouvons créer un niveau sauvage
ouvert. Nous pouvons créer un niveau de base. Cliquez sur Basic. Il suffit
de définir un niveau de base. Ah, parfait. Maintenant que nous avons
ce niveau de base, je vais revenir en arrière. Remarquez qu'il ne s'
agit que d'un seul
objet rectangulaire ici. C'est une skybox. Nous
pouvons regarder autour de nous. Il y a un beau soleil et des nuages sont prêts à être utilisés et à partir desquels
nous
pouvons commencer notre jeu. C'est le bon point
de départ dont nous avons besoin. Mais maintenant que nous avons
créé notre niveau, nous allons devoir l'
enregistrer dans notre contenu. Alors, qu'est-ce que je veux dire par contenu ? Si vous entrez et que vous appuyez sur Ctrl et
sur la barre d'espace
en même temps, un navigateur de contenu s'ouvrira. OK ? Maintenant, dans ce navigateur
de contenu en bas à gauche, remarquez qu'il nous montre du
contenu. Alors cliquez dessus. Ce sont tous les fichiers que vous utiliserez
dans votre jeu. Ensuite, nous voulons
créer un nouveau dossier. Et appelons cela les niveaux de
dossier. OK ? Nous avons donc maintenant
notre dossier de niveaux ici. Maintenant, nous voulons simplement
enregistrer notre niveau actuel, ce niveau de plan
dans ce dossier. Notez que chaque fois que vous cliquez, vous devez appuyer à
nouveau
sur Ctrl et sur la barre d'espace pour l'ouvrir. Maintenant, pour enregistrer ce niveau, nous allons revenir à l'endroit où
nous pouvons sélectionner Fichier, et remarquer qu'il est possible
d'enregistrer le niveau actuel sous. Sauvegardons donc le niveau actuel sous. OK, ça ouvre la fenêtre. Nous allons entrer dans les niveaux, et appelons-le simplement. J' aime utiliser des chiffres
lorsque je nomme des niveaux. Maintenant, le niveau que nous sommes en
train de créer sera le niveau
développeur. Je vais donc l'appeler zéro, zéro, zéro, un espace. Oh, oui, un tableau de bord et un niveau de
développeur parce que c'est le niveau nous allons utiliser pour créer tout ce qui sera
intégré au jeu. Maintenant, notre niveau de
développeur est prêt, mais il nous reste une dernière
chose à faire. Nous devons le configurer de telle sorte que
lorsque nous démarrerons Unreal Engine, nous arrivions exactement à ce niveau, et nous devons également configurer papier Z D que nous allons utiliser car cela
nous aidera à gérer plus facilement les sprites à deux
D. C'est ce que nous allons faire dans
la prochaine leçon.
4. 003 Installer Paper Zd et charger le niveau développeur au démarrage: Maintenant que nous avons
configuré notre niveau initial, nous allons
ajouter un Fermez
donc le vrai moteur et
revenez au lanceur Epic Games Allez sur le marché et une fois que vous êtes sur
le marché, nous effectuerons simplement une recherche. Les termes de recherche que j'
utilise sont Z et D. N'est-ce pas ? Et vous devriez obtenir
immédiatement le papier Z, en fait, qui
devrait être le papier Z D, papier, le Z et le D. Ce sont donc
les termes de recherche que j'utilise. Vous pouvez voir que le papier
Z D est apparu, et il apparaîtra. Et il dit : « Hé, papier Z D », et il vous suffit de
cliquer sur Installer dans le moteur, et il vous
demandera également quel moteur vous souhaitez installer. Bien entendu, installez-le sur dernier moteur
que vous avez sélectionné. C'est un téléchargement relativement
petit, seulement 71 mégaoctets,
puis c'est fait Et maintenant, après un certain temps, le téléchargement devrait être terminé. Il est entièrement installé sur Engine. Ce n'est peut-être pas le cas ici, mais nous pouvons aller dans la bibliothèque, et nous pouvons vérifier, voyons voir, les plugins installés. Il vous montre
Quicksabidge et Paper Z D. C'est parfait. Fermez-le simplement, puis nous pourrons
lancer Unreal Engine Maintenant, une fois que vous êtes de retour
dans Unrel Engine, il vous
indique qu' un nouveau
plug-in est Je vais donc simplement passer à la
gestion des plugins. Je vais taper Z D ici. UnRel va donc chercher,
et nous y voilà. Nous avons le plugin Paper Z D. Et il va dire : « Hé, redémarrez
simplement pour que l'éditeur apporte les modifications,
puis redémarrez UnrelEngine Parfait. Maintenant, le moteur a redémarré et ce
plugin fonctionne maintenant Mais remarquez qu'une fois que nous sommes
revenus dans Unreal Engine, il nous montre maintenant
ce niveau ouvert, qui n'est pas ce que nous voulons Nous voulons que notre niveau de
développeur actuel soit la première chose que nous voyons lorsque
nous démarrons Unreal Engine Pour résoudre ce problème, allez dans le fichier, allez dans Modifier, puis dans
les paramètres du projet. Alors ce que vous voulez rechercher, faisons-le rapidement geler. Je vais lui donner une seconde. OK, il est dégelé. Donc, ce que vous voulez
rechercher, c'est que je vais taper le terme de départ. OK. C'est donc le
terme que j'ai utilisé pour rechercher. Mais en gros, il va vous
montrer les options de la carte de démarrage de l'
éditeur, et pour le
moment, il est configuré sur OpenWorld Vous pouvez donc simplement cliquer dessus, et là, nous avons
notre niveau de développeur Je vais
donc le définir au niveau
développeur. OK. Maintenant que
j'en ai fini avec ça, je vais le fermer et je vais redémarrer
Unreal Engine une fois C'est bon. Maintenant, je l'ai
rechargé dans Unreal Engine, et nous y voilà, nous
en sommes au niveau développeur Alors maintenant, il est correctement configuré. Vous avez les plugins. Vous avez votre carte, je presse. Je vais appuyer sur
Ctrl et sur la barre d'espace, et je remarque que vous avez
notre joli contenu avec un niveau vide, pas entièrement vide, mais c'est
un bon point de départ, et nous sommes maintenant prêts à
commencer à ajouter quelques éléments de
gameplay. Nous allons commencer par ajouter
un élément de gameplay, qui sera
le personnage du joueur. Ensuite, nous passerons en revue un peu la philosophie de planification et de
développement de jeux. Bien que cette vidéo
soit très courte, elle ne sera pas trop longue
. Ensuite, nous
reviendrons à ce
niveau de développeur et commencerons à créer les composants de
notre jeu de plateforme en 2,5 D. C'est ce que nous allons faire dans la vidéo
suivante. Allons-y.
5. 004 Ajouter un personnage joueur au monde: C'est bon. Maintenant que nous sommes
dans Unreal Engine, nous avons notre configuration de
base Nous allons ajouter
le tout premier objet. Et juste pour nous
assurer que c'est quelque chose
de vraiment important, nous allons commencer par ajouter
un personnage de joueur. Donc, pour ajouter un personnage de joueur, nous allons rester
très simples, d'accord ? Tout ce que vous avez à faire est d'appuyer sur Ctrl et
sur la barre d'espace pour
faire apparaître ce menu, d'accord ? Maintenant, une fois que ce
menu est ouvert, nous voulons sous-contenu. Nous voulons venir ici et nous
allons créer un nouveau dossier. Juste pour garder les choses organisées, nous avons créé un nouveau dossier. Maintenant, pour garder les choses organisées, je vais appuyer sur F deux après avoir sélectionné et je vais
appeler cela des personnages. OK. Nous avons donc un
dossier pour les niveaux, un autre pour les personnages. Je vais double-cliquer sur
le dossier des personnages et créer un autre dossier. Maintenant, ce dossier, nous
allons l'appeler player. C'est essentiellement cela parce que c'est le voyage du héros et que nous allons avoir
un personnage de joueur que nous utiliserons dans le monde. Je vais double-cliquer
à l'intérieur du lecteur, puis je vais
cliquer avec le bouton droit de la souris et je veux
rechercher une classe de plan Cela va
nous donner quelques options. Maintenant, parmi les options, vous remarquerez qu'il
y a un personnage, pan, un acteur. Il vous suffit de sélectionner
un personnage. OK. Maintenant, avec cela, il
a créé pour nous un petit
dossier, un plan Je vais le sélectionner à nouveau F deux, puis je vais
l'appeler héros. Hein ? Maintenant, nous savons que ce
héros sera
notre personnage de joueur. Ensuite, nous allons mettre
ce héros au monde. Je vais juste cliquer dessus et le
faire glisser dans le monde. Et boum, ça y est. Cet objet simple qui est en fait totalement invisible
est notre héros actuel. Maintenant que nous
utilisons un plan, toute modification apportée à un plan
change Maintenant, permettez-moi de cliquer
à nouveau sur le héros. À l'heure actuelle, il ne s'agit que d'une
capsule basique invisible. Ajoutons-y un objet. Je double-clique sur Hero. Notez qu'il charge une fenêtre
totalement différente. Personnellement, je préfère qu'il ne soit pas sur une
autre fenêtre. Je clique dessus,
je le fais glisser vers l'extérieur et
je le fais glisser ici. Maintenant, je peux passer
du niveau développeur au plan du
héros, d'accord ? Maintenant, dans le plan du héros, il y a certaines choses que
nous pouvons examiner Sur la droite, il y a quelques détails. Nous avons les détails ici, et il contient également quelques éléments
différents que
nous allons utiliser. Cela change fondamentalement les
choses sur le personnage. Et puis, sur le
côté gauche, nous avons des composants. Les composants concernent tous les différentes parties
du personnage. Désormais, le composant de base du
personnage est livré avec une capsule. Cet
objet est une capsule ici, d'accord ? C'est un collisionneur. Nous y reviendrons plus tard. Et puis il a un composant de
flèche qui indique essentiellement
la direction. OK. Et après le composant
flèche, il y a un maillage de caractères de base, puis il y a un composant de
mouvement des personnages. La composante de mouvement du personnage est quelque chose que nous utiliserons pour ajuster le mouvement
du personnage de gauche
à droite et pour sauter. Mais pour le moment, nous
allons ajouter un autre composant
car actuellement le joueur est totalement invisible et nous ne voulons
pas qu'il le soit
complètement. Si je clique
ailleurs et que j'arrive ici, remarque que le joueur n'
est qu'un maillage, et si je clique sur Jouer sur le
jeu, il n'y a rien. Je me déplace dans le
monde entier avec WAS D et je fais un clic droit sur ma souris et il
n'y a rien. Laisse-moi appuyer sur une touche pour
sortir par cette fenêtre. C'est totalement invisible. Commençons par ajouter un composant simple afin de
voir où se trouve le joueur. Je vais ajouter un simple cube. Maintenant que j'ai
ajouté un simple cube, je ne vais rien toucher à
part le cube. Je vais sélectionner le cube. OK. Et puis sur le côté
droit, sous les détails, remarquez qu'il y a l'échelle, qui est l'axe X , l'axe
Y et l'axe Z. L'axe Y, plutôt, l'axe X est la
largeur, l'axe Y est la profondeur, puis l'axe Z, comme vous l'avez peut-être
deviné, est la hauteur Je vais réduire
sa taille sur l'axe X jusqu'à ce qu'il soit à peu près
à l'intérieur du collisionneur Je vais réduire sa
taille sur l'axe y. Maintenant, j'utilise
Worst D chaque fois que j' écris, cliquez sur Worst
D pour que je puisse le voir. C'est généralement à peu près. Je ne pense pas avoir besoin de
faire autre chose ici. Je vais maintenant cliquer sur compiler. Et puis revenons au niveau du
développeur. Au moins maintenant, quand je regarde autour de
moi, je peux voir le personnage du joueur. C'est donc notre personnage de joueur en
ce moment. Nous pouvons le voir. La prochaine chose que nous
allons faire est de nous
assurer qu'une fois que nous avons cliqué sur le bouton « jouer », au lieu d'être sur la caméra de développement
flottante, nous sommes attachés au personnage
du joueur Et c'est très simple de le faire. Il vous suffit de cliquer
sur le personnage du joueur ici. Ensuite, accédez à votre panneau de
détails. Ensuite, dans
le panneau de détails, nous voulons regarder sous recherche. En fait, laissez-moi vous
montrer exactement pourquoi c'est le cas sans chercher. Vous voulez faire défiler l'écran vers le bas, et ce que vous voulez rechercher, c'est l'option « posséder »
ou « posséder automatiquement ». Maintenant, en regardant vers le bas,
voyons pourquoi c'est la possession automatique. Vous allez faire défiler la page. Maintenant,
cherchons-le. Possession automatique. Ici, vous remarquerez que ce sont les
termes de recherche en possession automatique, qui nous offrent plusieurs
options différentes Il indique que l'
IA est autopossédée dans le WIL. Disons simplement handicapé. Je ne devrais jamais être
possédé par l'IA. C'est un pion. Au lieu de cela, nous allons simplement dire
autoposess player. Joueur zéro, c'est suffisant. OK ? Maintenant, si nous entrons
maintenant et que nous appuyons sur Play. Remarquez, je clique,
je me déplace. Laisse-moi essayer de montrer à nouveau ce que j'appuie
sur le clavier. J'en suis au pire
jour et rien ne se passe car nous avons pris le contrôle du personnage du
joueur, mais nous n'avons pas encore implémenté les contrôles pour le personnage du
joueur. Mais c'est un début
assez simple. Au moins, nous avons maintenant un objet de personnage de
joueur. Dans la vidéo suivante, nous allons y ajouter une caméra , puis nous y
ajouterons des œuvres d'art.
6. 005 Importation d'art dans Unreal Engine pour le personnage joueur: C'est bon. Nous avons maintenant notre personnage de base
qui est juste en face de nous. Il est possédé
dès le début du jeu. Ainsi, lorsque nous cliquons sur Play, nous sommes connectés à cela. Nous sommes prêts à
en prendre le contrôle. Maintenant, nous allons simplement ajouter une caméra au personnage du
joueur. Nous avons une jolie
vue en deux D du personnage. Nous allons donc revenir
au plan et
ajouter un autre composant Maintenant, ce composant sera simplement
doté d'un bras à ressort, n'est-ce pas ? Montrez-moi le bras à ressort. Maintenant, le composant du bras à ressort, vous pouvez remarquer qu'il est
juste là, n'est-ce pas ? Maintenant, en cliquant sur le composant du bras à
ressort, c'est essentiellement comme un bras hépatique, peu comme un bras de caméra
cinématographique Nous allons maintenant ajouter
un autre composant et nous allons simplement
chercher une caméra. Nous y voilà. Nous y voilà donc. Nous avons la caméra, nous avons le bras à ressort. Alors compilons ça. Et puis quand nous
revenons dans le jeu, remarquez qu'une fois que vous avez sélectionné
le composant joueur, maintenant en bas à droite, il y a une petite
caméra qui vous montre. Ce que
voit la caméra, non ? La caméra que vous avez
connectée au lecteur. Permettez-moi de revenir un peu en arrière. Vous pouvez voir que c'est
là que se trouve la caméra. Et tel qu'il est
actuellement configuré, il est configuré de telle sorte que le mouvement, la caméra regarde le personnage depuis
le côté gauche, ce qui signifie que
pour que le joueur
se déplace de gauche à droite, il
se déplace de gauche à
droite sur l'axe Y. C'est cet axe vert, et la profondeur serait
gérée par l'axe X. OK. Maintenant, à partir de là, il suffit d'appuyer sur Play. Vala, nous sommes maintenant connectés directement
au personnage du joueur, et c'est plutôt
la caméra qui est attachée au personnage du
joueur C'est cool. Maintenant, avant passer
à un processus de planification plus approfondi, ajoutons également quelques illustrations au
personnage du joueur. C'est bon. Maintenant, pour ajouter des illustrations
au personnage du joueur, un dossier vous a été fourni. Compressez-le, entrez, récupérez tous les sprites
et copiez-les, puis allez dans
le dossier « hey,
a hero's journey », a hero's journey », puis allez dans
le dossier « hey,
a hero's journey »,
qui devrait être le dossier d'
après le nom que vous lui avez donné Entrez dans le contenu, entrez
dans les personnages. Nous l'avons organisé de cette façon. Passez au lecteur et à l'art, puis vous allez
coller toutes les illustrations ici. Et une fois que c'est fait,
passez à Unreal Engine. Maintenant, dans Unreal Engine, vous remarquerez qu'après avoir
collé cette illustration,
une petite fenêtre contextuelle indique que
124 modifications ont été détectées dans une petite fenêtre contextuelle indique les fichiers de contenu source Vous souhaitez les importer ? Et c'est très simple, il
suffit de dire « importer ». Unreal Engine
va donc importer tous
les fichiers
que nous avons importés Maintenant que nous avons
ces fichiers ici, nous allons simplement
passer à l'illustration. Je remarque nous avons tous ces sprites
différents que nous allons utiliser pour
notre personnage de joueur Ce sont de
très bons sprites, des sprites de base
que nous allons utiliser Maintenant, pour
avancer ici,
la première chose à faire est
que vous voulez contrôler A, vous avez sélectionné
tous les sprites, puis vous allez
cliquer avec le bouton droit
et après avoir cliqué avec le bouton droit, vous allez accéder
à Sprite Actions, et vous voulez simplement appliquer les paramètres de
texture du papier en deux D. Sympa. Alors maintenant, vous
remarquerez que vos sprites ont les bons paramètres d' arrière-plan
et
de transparence Cela signifie que les
sprites sont désormais utilisables. Maintenant que vous avez importé
les sprites et appliqué certains
paramètres des sprites, nous allons maintenant
appliquer un sprite de base
à notre
7. 006 Comment configurer une animation simple en inactivité et gérer les sprites et les flipbooks: C'est bon. Maintenant que nos sprites sont intégrés à
Unreal Engine, il est temps de les
utiliser réellement Pour ce faire, revenons au plan
du héros À partir de là,
nous allons ajouter un autre composant et nous allons simplement
rechercher un composant sprite, et nous avons un composant sprite moulé sur du papier
et sprite en papier Maintenant, nous allons simplement cliquer sur le composant sprite en
papier, et c'est tout ce que nous avons à faire Maintenant que nous avons
sélectionné le sprite, plusieurs options s'offrent à
nous En ce qui concerne les détails
du sprite, notez que nous avons
la possibilité de
sélectionner parmi un tas de
sprites que nous avons créés Commençons par
créer un Sprite. Si j'appuie sur Ctrl
et sur la barre d'espace, c'est pratiquement universel
si vous voulez vous retirer. Barre de contrôle et d'espace, cela fera apparaître
notre sélection de fichiers. Et puis je viens ici. Disons que je suis simplement
venue ici pour le Air Tak, que je suis sortie, que je suis allée Sprite Actions et que j'ai
cliqué sur Create Maintenant, ce seul PNG
deviendra un sprite. Si je clique, je
reviens à la source des sprites ici. Je peux faire défiler l'écran vers le bas et cela affichera l'attaque aérienne d'
aventure. Au départ, nous
avions créé un cube, mais maintenant il recouvre
nos sprites Je vais donc simplement
appuyer sur Supprimer car nous n'avons plus
besoin de ce cube. Je vais donc cliquer à nouveau sur le sprite en
papier. Ah, il y a un problème
de positionnement. heure actuelle, sélectionnez Je
sélectionnais le ressort lorsque
j'ai sélectionné le sprite Alors laisse-moi le traîner et le remettre sur
le collisionneur à capsules En fait, permettez-moi de
le supprimer très rapidement. Je ne vais pas régler ce problème en post. Je vais laisser cette
erreur là. J'y retournerai, il suffit d'
ajouter un sprite en papier. OK, je vais donc
ajouter un sprite en papier. Ça y est. Il est maintenant
dans la bonne position. Et puis parce que sa position
doit être au centre, je change
le sprite source pour l'attaque aérienne, et le voilà Notre attaque aérienne est maintenant arrivée. Et si je passe au niveau
développeur, remarque que notre attaque aérienne est là, mais que nous devons changer la direction de la caméra, car
si nous appuyons sur Play en ce moment, nous ne voyons rien parce que le sprite est
regardé sous un angle Nous reviendrons donc ici. Nous allons sélectionner le bras à ressort. Une fois le bras à ressort sélectionné, nous
allons revenir ici et modifier
la rotation. Nous voulons maintenant le faire
pivoter de 90 degrés. Non, c'est sur l'axe X. Nous voulons qu'il soit à 90 degrés,
voyons l'axe Y. Non, c'est le tien. Nous voulons qu'il fasse 90 degrés. Parfait. Nous voulons qu'il soit négatif de 90
degrés sur l'axe Z. C'est moins 90. Vous pouvez voir ce que
j'ai sélectionné ici. Donc cette fois-ci, lorsque nous revenons
ici et que nous appuyons sur Play, vous
remarquerez que vous voyez le sprite juste
là. C'est une bonne chose. Maintenant, il y a deux ou trois
choses que nous allons faire. Premièrement, nous
allons ajuster
la mise à l'échelle pour que le
sprite soit en bas et qu'il soit de la bonne taille Je sélectionne donc
le sprite en papier. J'ajuste sa position pour elle
soit plus basse que son point de départ initial. Ensuite, je vais
augmenter son échelle. Je vais cliquer sur
ce journal pour qu'il ait
une échelle uniforme verrouillée, puis je vais
augmenter son échelle. Alors je vais
l'évoquer un peu. Parfait, et cliquez dessus. Et maintenant, lorsque nous cliquons sur Jouer, nous voyons cette
attaque à l'épée comme notre sprite Ce n'est pas ce que nous allons
réellement utiliser, mais il est simplement bon de savoir comment
les systèmes fonctionnent ensemble. Maintenant, avec tout cela, nous allons revenir au héros et nous allons réapparaître
tous nos sprites Maintenant, nous allons
taper ce que nous
voulons rechercher, c'est le sprite inactif Nous allons donc cliquer de
Idle zéro à Idle 3. OK, de l'IDO
zéro à l'IDO trois, puis nous
cliquerons à nouveau et cette fois,
nous allons créer Sprite Actions nous allons créer Sprite Nous avons donc maintenant ces sprites. Ce sont les vrais sprites. Notez que les noms
auront un sprite à côté d'eux. Ce ne sont pas des images,
ce sont des sprites. Ensuite, je vais simplement cliquer
de zéro à trois, puis je vais cliquer à nouveau avec
le bouton droit de la souris. Mais cette fois, au lieu
de créer un sprite, nous allons
créer un flipbook Un flipbook est un ensemble de sprites
regroupés. Maintenant, remarquez, si vous regardez le flipbook, laissez-moi
cliquer un peu. Permettez-moi de l'ouvrir à nouveau. Vous devriez pouvoir le voir
clairement de votre côté. Lorsque je le survole, l'animation du
sprite
s'affiche C'est fantastique. Maintenant,
au lieu d'avoir un sprite, nous voulons un flipbook d'
animation inactif Maintenant, pour implémenter cela
dans un vrai moteur, nous allons simplement revenir
au sprite source OK. Et vous
remarquerez tout de suite qu'il ne nous montre pas de sprites Au contraire, il ne
nous montre pas le flipbook. Il ne fait que
nous montrer les sprites, et c'est ce que nous
allons changer Alors maintenant, nous allons revenir. Nous allons supprimer les sprites en papier car nous avons compris comment les insérer dans le jeu OK, nous allons simplement le supprimer. Et cette fois, ce que nous voulons, c'est un flipbook en papier
, puis nous l'ajoutons Voici donc notre flipbook. Maintenant, je vais sélectionner le flipbook ,
puis il va
rechercher le flipbook source Je vais l'ouvrir, et je vais cliquer sur Adventurrer Idol Flip Book Voyons maintenant à quoi
cela ressemble dans le jeu. Maintenant, lorsque vous appuyez sur Play, vous pouvez voir que
notre petit aventurier se déplace de haut en
bas en
fonction du flipbook Nous allons suivre
le même processus de base. Nous allons entrer, nous voulons déplacer
le flipbook, notez. Voyons voir, environ 70 unités
négatives semble être le bon montant. Ensuite, nous allons
bloquer la balance et l' augmenter à environ quatre
fois, je pense,
c'est suffisant, puis la réduire tout de suite. Vous voulez qu'il s'agisse simplement de toucher le bas de notre car c'est
vraiment ce qui compte. ,
c'
est cette collision ici, plus important,
c'
est cette collision ici, cette capsule. Permettez-moi d'augmenter ce chiffre
à cinq Perfect. Donc, à cinq unités et à environ
20 unités sur l'axe X, cela semble
fonctionner parfaitement Maintenant, lorsque nous appuyons sur Play
Notice, notre personnage est là. Mais l'animation de l'identifiant est
assez rapide, non ? Je vais donc simplement chercher un identifiant d'
aventurier, le flipbook. Et puis ce que je vais faire, c'est une
fois que vous aurez double-cliqué sur
le flipbook à partir d'ici, maintenant l'identifiant de l'aventurier est là sur le côté droit
et les détails,
nous pouvons réduire la fréquence d'images. Je vais simplement cliquer
dessus et je vais baisser la fréquence d'images pour me
permettre de la ramener à neuf. OK, c'est une bien
meilleure idée d'animation. Je pense que c'est beaucoup
plus réaliste. Sur ce, je vais appuyer sur
Ctrl S pour enregistrer. Maintenant, je pense que c'est une
bonne animation de flipbook. Nous avons maintenant notre monde et notre caractère fondamental. Ensuite, nous allons voir
comment commencer à
ajouter du code parce que vous avez
maintenant un
caractère simple. C'est prêt. Nous avons appris
à utiliser les sprites, mettre
dans le jeu, les
associer au personnage d'un
joueur Mais si je montre ce qu'il y a
sur mon clavier, le moment, nous
ne sommes toujours pas en mesure de nous
déplacer et d'interagir. Nous allons donc apprendre à
faire tout cela après
une petite session sur la façon de planifier et d'exécuter le game design. Passons à cela ensuite.
8. 007 Comment planifier votre jeu: C'est bon. Nous
devons donc maintenant passer revue un concept de base qui vous
sera très utile à l'avenir. Cela fonctionne dans tous les domaines de la vie, mais dans le développement de jeux, c'est particulièrement utile, d'accord ? Permettez-moi donc de commencer par dire
que la planification est maîtrisée OK. La planification est bonne.
C'est aussi simple que cela. Et par planification, je
veux juste dire que vous allez apprendre
à écrire
des choses et à les suivre. Cela signifie que lorsque
vous décidez
du fonctionnement du jeu, des
personnages ou de n'importe quel système, il vous
suffit de le noter et
d'essayer de lui donner vie. Permettez-moi maintenant de vous expliquer un peu plus en détail comment je
vais vous montrer comment procéder pour vous
assurer du succès car la plupart des
causes de l' échec des
projets de jeux indépendants, projets de
jeux, des projets de
jeux, des échecs
généraux en
général, sont le manque de planification et de suivi
appropriés
et clairs D'accord ? Maintenant, permettez-moi de vous expliquer
cela un peu plus en détail. C'est bon. Donc, pour le développement de
jeux, il faut utiliser un
système simple que j'aime
appeler D a A. D'accord ?
C'est comme ça que je l'appelle. Je l'appelle D, a A. C'est essentiellement le
système que nous allons utiliser pour le développement de ce
jeu, et cela devrait vous sembler logique. Maintenant, Design. Le design signifiera,
disons, que nous décidions que le personnage de
notre joueur doit être capable d'attaquer avec
une épée et de sauter partout. C'est fondamentalement
cela, et plus tard nous lui donnerons un arc et des flèches
pour un engagement à longue distance. C'est le design de base,
le level design. Tu dessines juste des trucs. Une fois que vous aurez terminé
cette étape de base, nous passerons au code. Dans cet exemple, le terme « code » signifie plans », «
apprendre à utiliser les plans Nous savons donc où nous
voulons qu'il saute. Quels plans devons-nous
organiser pour qu'il puisse
sauter, d'accord ? Nous savons donc : Hé, je dois
organiser ce nœud de plan, ce nœud de plan, celui-ci, puis le saut sera disponible,
d' Une fois que nous en avons fini avec
le bit de codage, nous passons à l'art. L'art, c'est avant tout les sprites,
l'animation des sprites. Plus tard, si vous réalisez
un projet de conception en trois dimensions, il inclura de la
modélisation et de l'animation,
mais il sera condensé en œuvres d'art. Enfin, le dernier point, mais
non le moindre, est l'audio. L'audio consiste à obtenir
le son adapté au jeu. Maintenant, avec cet exemple simple que je veux que vous gardiez à l'esprit, commençons par travailler
sur le personnage du joueur, concevant un peu manière à comprendre
ce que nous voulons qu'il fasse, puis nous passerons au code. Après le code, nous
allons passer
à l' art, puis à l'audio. OK. Faisons-le immédiatement. Maintenant, restons
vraiment très simples. D'accord ? Alors laisse-moi le recopier. Nous sommes donc en train de concevoir un personnage de
joueur, n'est-ce pas ? Alors, que voulons-nous
qu'il fasse, n'est-ce pas ? Donc, pour commencer, nous voulons
qu'il se déplace à gauche et à droite. OK. Ensuite, nous voulons
qu'il attaque avec une épée. Après cela, nous avions également besoin d' une barre de santé de base, n'est-ce pas ? Il doit être capable
de subir des dégâts. Appelons cela
barre de santé et dégâts. Et puis, juste après l'attaque avec l'
épée et la barre de santé, nous voulions également
avoir un arc et des flèches. Pour tirer à distance. C'est la fin de
la phase de planification. C'est un plan très simple. Il s'agit d'un plan de base, et nous allons
passer en revue chacun des 11 plans. Oh, attends, bouge à gauche
et à droite, et saute. OK, parfait. Il peut également sauter. Dans cet esprit, passons immédiatement à la vidéo suivante
où nous allons apprendre un peu plus sur le mouvement, configuration des commandes, et
commençons les choses à partir de là.
9. Explication détaillée de la façon d'ajouter des entrées de contrôleur: C'est bon. Commençons rapidement par la première chose à
faire est de se déplacer gauche et à droite, puis de sauter. Commençons. Revenons-en à
Unreal Engine. OK. Maintenant que nous sommes de retour dans Unreal Engine avec
notre personnage, nous voulons pouvoir nous déplacer
à gauche et à droite, et nous allons
commencer par les commandes Maintenant, juste pour vous montrer visuellement, j'ai mon clavier Vous serez
donc en
mesure de savoir quand j'appuierai sur AWS et D. Nous allons principalement nous
concentrer sur A et D pour commencer. Et puis en plus de cela, lorsque vous voudrez travailler sur Controller, je vous montrerai également comment
faire en sorte que le mouvement
soit basé sur le positionnement de votre
manette et vos boutons. Maintenant, pour commencer, ce que
nous voulons faire, c'est appuyer à nouveau sur Ctrl et sur la barre d'
espace, et en dehors des caractères, revenons au dossier du contenu
général, et juste ici, nous allons créer un nouveau
dossier et l'appeler Controls. Si nous l'appelons
commandes, c' est parce qu'
il contiendra tout ce que nous
utilisons pour déterminer les
boutons sur lesquels le joueur peut appuyer. OK ? Alors allons-y. Donc, à l'intérieur des commandes, commençons par
une commande simple, qui se déplace à gauche et à droite. Vous allez donc cliquer avec le bouton gauche de la souris. Et après avoir cliqué avec le bouton gauche de la souris, vous voulez accéder aux entrées. C'est là, et ce que vous
voulez, c' est que vous voulez
une action de saisie. Nous allons commencer par un seul. Et nous allons l'
appeler Move Right. Donc, cette action de saisie ou
ce bouton
va faire avancer
le joueur dans la bonne direction. Ensuite, nous allons
revenir aux intrants. Mais cette fois, ce que
nous recherchons, c'est un contexte de mappage d'entrée.
Nous allons cliquer dessus. Et nous allons simplement
l'appeler carte des joueurs. Nous avons donc Move wight, qui est une action de saisie unique, et nous avons une carte des joueurs La carte du joueur est essentiellement, comme vous pouvez le
voir sur les icônes, un ensemble d'actions
de saisie sur
lesquelles vous pouvez appuyer. Maintenant, pour nous
assurer que Move Wright
fonctionne correctement, nous allons d'abord
double-cliquer sur Move Right, et cela va
ouvrir cette fenêtre. Vous pouvez donc commencer par une
simple description de l'action, et nous pouvons simplement la
décrire comme les mouvements du joueur. C'est vrai. Tu peux le garder comme ça. Et puis devrait-il se
déclencher lorsqu'il est en pause ? Non, il ne doit pas se
déclencher en cas de pause. Ensuite, réservez tous les mappages. Vous pouvez essentiellement
faire en sorte que cela ne puisse pas être annulé,
ou maintenant nous allons le laisser Et puis tapez la valeur,
c'est important. Maintenant, nous pouvons changer
le type de valeur. À l'heure actuelle, nous utilisons
un booléen numérique. Vous pouvez le voir juste là. Les booléens
sont essentiellement des uns et des zéros. Donc, si nous le définissons sur un booléen, il est activé ou désactivé Nous pouvons également le définir comme Axis un D ou Aces deux
D. Mais en gros, le
définir sur Aces un D garantira une valeur de 0 à 1 Par souci de simplicité
et à titre de démonstration, nous allons commencer par faire en sorte
qu'il ne s'agisse que d'une couche de livres numériques Maintenant que c'est fait, nous allons simplement le fermer. Puis, une nouvelle fois, la barre d'
espace de contrôle, nous allons ouvrir la carte du joueur. Remarquez maintenant sur le côté gauche
qu'il y a quelques mappages. Nous allons simplement en ajouter un en
cliquant sur le signe plus, et lorsque nous faisons défiler la page vers le bas, remarquons qu'il
nous indique le mouvement vers la droite. Cliquez sur ce mouvement à droite,
puis à partir d'ici, nous pouvons simplement cliquer sur cette
petite flèche pour faire défiler la page vers le bas. Cela nous montre maintenant qu'aucune
action n'y est attachée. Cependant, ce que nous
pouvons faire, c'est simplement cliquer dessus et
nous devrions être D. J'ai
donc cliqué sur
D sur le clavier OK ? C'est ce que
vous pouvez faire, car moteur
Unreal est
essentiellement capable d'
écouter votre clavier Donc, si je clique à nouveau dessus
et que je clique sur la barre d'espace, cela changera l'
entrée en barre d'espace Si je clique
à nouveau dessus et que j'appuie sur W W, c'est essentiellement le concept. Nous pouvons le laisser à D pour le moment. Ensuite, nous
cliquerons simplement sur la classe, ce qui ajoutera une autre liaison. Cette fois, je veux cliquer
sur le clavier. Je vais simplement
ouvrir ma manette, appuyer
sur sélectionner cette valeur, et appuyer sur le et bouton
droit de
la manette de jeu de ma manette J'ai insisté là-dessus et cela l'a
conservé ici même, ce qui va être une bonne chose. C'est tout ce que nous devons
faire à partir d'ici, d'accord ? avons donc maintenant configuré de manière à ce qu'
il y ait une action de saisie « déplacer vers la
droite ». Et dans les détails de la carte du joueur, si vous appuyez sur D, le mouvement sera
exécuté à droite. Si vous appuyez sur le
bouton droit de votre clavier, mais plutôt, désolé, de
votre manette, le personnage du
joueur se déplacera vers la droite ou
exécutera l' action « déplacer vers la droite ». Une fois tout cela fait, nous pouvons maintenant accéder au plan
du joueur et y
ajouter ces commandes Alors, allez voir le plan du héros. Et maintenant, nous avons commencé apporter des modifications au plan du joueur
lui-même Maintenant, la première chose que
nous allons faire est de nous assurer d'une barre d'espace
de contrôle. Nous voulons nous assurer
que la carte du joueur est le contexte d'entrée
utilisé dans Unreal Engine Nous allons maintenant le faire sur un nœud connu sous le nom de nœud de
début de jeu. C'est ce nœud. Commencer à
jouer signifie que c'est le code qui est déclenché lorsque
Unreal Engine démarre ou lorsque cet objet
apparaît dans le monde Alors faisons-le. Maintenant, la première chose que
nous allons faire est d'un simple clic droit, nous voulons obtenir le contrôleur. C'est ce que nous voulons. Remarquez Paw, procurez-vous la
manette, c'est bien. Ensuite, à partir de la valeur de retour, ce que nous voulons, c'est
lancer une manette à deux joueurs. Cela
signifie essentiellement que nous demandons à
Unreal Engine d'
accéder à toutes les commandes
de ce joueur, puis le casting consiste à le
connecter afin que chaque fonction
passe par cet objet lancé C'est une façon généralisée
de voir les choses. Ensuite, nous connecterons
le début la
partie à la manette
du joueur. Une fois cela fait,
notre manette est maintenant chargée, nous
y sommes intégrés afin que nous puissions accéder aux
fonctions à partir de celle-ci Maintenant, en tant que manette du joueur, vous voulez la faire glisser
et
taper « amélioré ». Et voilà, passez à la deuxième option, qui est d'améliorer le sous-système de joueur
local C'est ce qui va nous
permettre de sélectionner les différentes entrées que
nous allons utiliser. Une fois cela fait, nous allons le faire glisser une dernière fois, et nous voulons ajouter un contexte de
mappage. Vous pouvez simplement taper Ajouter une carte après avoir cliqué avec
le bouton droit de la souris pour
ajouter le contexte de mappage. Nous allons donc connecter
ce nœud ici. Ensuite, descendez et nous
voilà sur la carte des joueurs. N'oubliez pas que le contexte de saisie de la
carte du joueur est celui que nous sélectionnons. Maintenant que nous l'avons sélectionnée, voyons rapidement
comment ce code s'exécute. Event Begin Play
signifie qu'il va commencer le jeu en procédant ainsi. En gros, il s'agit de suivre le plan du personnage du
joueur Mais comme le personnage du
joueur est dans le monde
au début du jeu, il commencera par le faire. Cela va de soi lorsque
l'événement commence à jouer. Ensuite, il s'agit
de récupérer la manette, d'accord, puis de la transformer
en manette de joueur. Nous avons donc accès
à ces fonctions. Nous obtenons le
sous-système du lecteur local pour les entrées, d'accord. Ensuite, nous disons : « Hey, utilise la carte du joueur comme contexte
de mappage ». Maintenant que tout cela est
fait et configuré, nous sommes maintenant en mesure d'utiliser
l'entrée que nous avons configurée. Maintenant, permettez-moi de faire glisser tous
ces autres
nœuds vers le bas afin que nous puissions en avoir une vision
claire. La prochaine chose que nous
allons faire simplicité et
pour nous
assurer que cela fonctionne, nous allons cliquer avec le bouton droit de la souris et
rechercher cette entrée. Maintenant, cette entrée que nous l'avons
appelée se déplace vers la droite. Donc, tapez, déplacez et
remarquez
que cet événement d'action est déjà
configuré ici. Comme il s'agit d'un booléen,
c'est comme : « Hé, lorsqu'il est déclenché par une action de
saisie améliorée, déplacez-vous vers Faisons-le
simplement glisser et nous voulons
commencer par imprimer. Imprime cette chaîne. Et dans le texte, nous
allons dire : « Hé, joueur se déplace vers la droite ». Et c'est tout. Voilà, très bien. Maintenant, avec cela, nous allons
pouvoir tester et voir si cela
lit nos entrées. Donc, ce que vous voulez faire à
ce stade, c'est cliquer sur Compiler, puis passer
au niveau développeur. Maintenant, lorsque vous appuyez sur Play, sur le côté gauche,
à chaque fois que vous appuyez, commençons par le clavier. Je vais donc appuyer sur D sur
le clavier. C'est une bonne chose. Nous savons donc que cela
fonctionne correctement. Permettez-moi de zoomer pour que
le texte soit clair. Dès que j'appuie sur D sur le
clavier et que je suis dans Aldon, je dois appuyer sur Play Appuyons sur Play. Nous y voilà. Maintenant que le jeu est lancé, lorsque j'appuie sur D sur le clavier, il imprime
ces actions en imprimant ce texte à l'écran. C'est dire : « Hé, le jeu
va bien ». C'est une bonne chose. Mais maintenant,
testons cela avec le contrôleur. J'ai ajouté la manette. J'ai appuyé sur play o juste ici, j'
ai appuyé sur play. Revenez ici et
voyons si le texte apparaît. Donc, lorsque j'appuie directement
sur la manette, oui, cela indique
que le joueur est en mouvement. Lorsque j'appuie sur D sur le
clavier, il est en cours d'enregistrement. C'est donc la base
fondamentale pour permettre à
vos entrées d' être lues plutôt que
dans Unreal Engine Maintenant que c'est fait, ajoutons le mouvement. Mais juste avant d'
ajouter le mouvement, je voulais également vous le montrer
. L'un des avantages
des plans. Alors maintenant, remarquez, je
vais appuyer sur Play. Nous sommes maintenant dans ce monde. Je clique sur le héros, et vous pouvez voir ce que font
les plans Je le fais glisser vers l'extérieur juste pour
qu' il soit un peu plus à
droite de l'écran C'est un
moyen utile de débugger et voir comment les plans
fonctionnent réellement Maintenant, en arrière-plan, j'ai cliqué sur le jeu Maintenant, je suis dans le jeu. Laissez-moi sortir du jeu. Maintenant, en tant qu'objet de débogage, je vais sélectionner Hero Maintenant que c'est sélectionné, je vais appuyer sur Play. Maintenant, nous jouons en jeu. Remarquez qu'au moment où j' appuie
sur le bouton droit de mon clavier, cela indique que l'on appuie sur le bouton
droit pour se déplacer vers la droite. Permettez-moi de vous montrer ma manette et certaines de mes pires journées pour
que ce soit beaucoup plus clair. Je clique à nouveau sur Play. Remarquez donc que lorsque j'appuie
sur ma manette, vous pouvez voir visuellement les plans montrant
ce qui fonctionne Vous pouvez donc voir que cela a été lancé et qu'il fonctionne. Lorsque j'appuie sur D,
il s'éteint et fonctionne. Quand j'appuie sur un autre
bouton, rien ne se passe. Quand j'appuie sur autre chose sur le clavier,
rien ne se passe. Ainsi, vous pouvez facilement définir votre plan sur un deuxième écran,
peut-être l'autre côté
de votre écran, lorsque vous souhaitez effectuer une double vérification de
base, il est bon de
voir votre code visualisé Ajoutons maintenant le mouvement
au personnage de notre joueur. Pour ajouter l'
entrée de mouvement,
vous allez essentiellement utiliser le nœud d'entrée de mouvement
ARD. Juste ici, après
la chaîne d'impression, faites-la
simplement glisser vers l'extérieur, puis vous utiliserez le mouvement
ARD
et à partir de
là, faites défiler la page vers le bas, et vous remarquerez qu'il y a
une entrée de mouvement. Cliquez sur Ajouter rapidement cela. Ensuite, en ce qui concerne la direction sauvage, nous devons choisir direction dans laquelle
nous nous dirigeons. Maintenant, nous savons pertinemment que pour le
personnage de notre joueur, si nous regardons ces directions, le Y contrôle la profondeur, le X contrôle le mouvement
gauche et droit, et Z le mouvement vertical. Puisque nous savons que
pour nous déplacer vers la droite, cela signifie
que nous voulons nous déplacer
positivement dans la direction X. Nous
déciderons simplement que pour la direction sauvage, nous allons simplement dire un
dans le sens X. Maintenant,
cliquez sur compiler,
puis revenez au niveau
développeur et jouez. Et maintenant, chaque fois
que j'appuie sur
D sur le clavier et que ça va dans la bonne
direction, c'est bien. Je suis en train d'appuyer dessus
sur ma manette de jeu, et il fait la même chose. Maintenant, laissez-moi le
visualiser pour vous. Vous devriez voir exactement
la même chose sur votre écran si vous
avez suivi correctement. En cas de problème, revenez
toujours en arrière et référez-vous. Donc, sur ma manette, j'appuie sur la droite. Le
personnage se déplace à droite. Sur mon clavier, j'appuie sur D. Le personnage déplace D
et Whoop D hors du monde OK, j'ai appuyé sur Escape
pour sortir de là. Mais oui, c'est bon. Nous avons donc effectué une saisie
de mouvement de base. Dans la vidéo suivante, nettoyons-le pour le déplacer vers la
gauche et la droite et ajoutons quelques touches supplémentaires au
mouvement pour l'améliorer. Allons
10. 009 Mouvement de gauche et de droite avec le clavier et le contrôleur: C'est bon. Maintenant que personnage du joueur est capable de
se déplacer vers la droite et que
vous comprenez le fonctionnement
des entrées,
nous allons ajouter un mouvement
gauche-droite
au personnage et laissez-moi vous expliquer comment le
faire correctement. Au départ, nous avons
commencé par ajouter une entrée « Move Right ,
puis en l'
ajoutant simplement à la carte des joueurs. Nous allons maintenant apporter un
changement avant d'aller de l'avant. Renommons-le rapidement
de déplacement vers la droite simplement
appelons-le mouvement Parce que nous voulons avoir
une seule action de saisie qui déplacera le personnage du
joueur à la fois vers gauche et vers la droite. Je l'ai donc simplement
appelé mouvement. OK. Ce
sera notre point de départ. Une fois que vous aurez fini de
changer ce nom, nous allons
maintenant l'ouvrir,
et il suffit de double-cliquer dessus. Et remarquez qu'à l'heure actuelle, il est simplement configuré en tant que Blayer
numérique, n'est-ce pas ? Maintenant, changeons cela en
un vecteur de l'axe trois D. C'est essentiellement
ce que nous voulons L'axe 3 D nous permet de
lui attribuer une valeur sur les axes X, Y et Z pour
déterminer son mouvement. fois cela fait, la
prochaine chose que nous allons faire est d'accéder à
la carte des joueurs. Actuellement, la
carte du joueur s'affiche sous forme de mouvement. D, laisse-moi ouvrir et m'
assurer que mes clés sont visibles. Il est actuellement réglé sur le pavé D
à droite, c'
est-à-dire pour le déplacer dans la bonne direction, et également sur D sur le clavier. Mais ce que nous voulons, c'est
pouvoir
utiliser les
sticks analogiques pour commencer. Nous voulons pouvoir utiliser la gauche
et la droite sur les boutons, puis nous voulons également pouvoir
utiliser A et D. Maintenant, pour que cela fonctionne avec le vecteur trois
D actuel sous lequel nous l'avons configuré, nous allons devoir
apporter une modification mineure. Nous allons donc commencer par
laisser D ici. Ensuite, nous allons en fait
ajouter un certain nombre d'autres boutons. Laisse-moi faire glisser ça. Je peux
facilement le faire glisser vers le haut pour ne masquer
aucun de ces boutons. Je vais simplement le
sélectionner très bien et le faire glisser vers le
haut. J'ai cliqué dessus Je vais l'appeler A parce que
nous aurons besoin de A et nous aurons besoin de D. Ensuite, il y a le pavé
directionnel à droite, puis je vais
appuyer sur la gauche en fait. Permettez-moi d'abord d'appuyer sur la gauche,
puis d'écrire sur le pavé D , puis il y aura
une autre entrée, qui sera
l'axe X du joystick L'axe X du joystick est
essentiellement dû au fait que j'ai cliqué sur NRLenginet Listen,
j'ai appuyé un peu
sur mon axe X
vers j'ai appuyé un peu
sur mon axe X Si je clique dessus et que j'appuie
dessus, il
écoutera l'axe Y. Mais nous n'en avons pas besoin. Nous avons besoin de l'axe X, je l'ai
donc configuré correctement. Maintenant qu'il est configuré exactement dans
sa forme actuelle, permettez-moi de
vous montrer rapidement ce que vous
retireriez des mouvements de votre
personnage. Maintenant, en revenant au plan du
personnage, vous remarquerez qu'
il y a eu un changement Maintenant, notre plan
montre la valeur de l'action ici. Supprimons rapidement
cette chaîne d'impression. Ce n'est pas nécessaire et
connectez le déclencheur directement à l'entrée de mouvement. OK. Maintenant que cela est
connecté directement, nous allons également connecter
la valeur de l'action. Notez la valeur de l'action. Il montre X zéro, Y zéro et z zéro. Nous pouvons le relier directement à Wild Direction,
juste là. Maintenant, avec cette
seule modification de base, nous allons rapidement enregistrer et compiler. Ensuite, laissez-moi le faire
glisser pour que nous
puissions le voir de manière visible En l'ouvrant, j'appuie
sur Play pour simuler. OK. Alors maintenant, remarquez que lorsque j'utilise les sticks
analogiques, d'accord ? J'utilise actuellement les sticks analogiques de la
manette. Laissez-moi le configurer à nouveau. Le stick analogique de la manette est désormais capable de déplacer le personnage
du
joueur d'une valeur négative sur X
et d'une valeur positive sur X, et vous pouvez voir que le
plan réagit Cependant, si j'appuie sur la gauche sur
le pavé D, il avance. Si j'appuie à droite sur le
clavier D, il se déplace vers la droite. Si j'appuie sur D sur le pavé D, plutôt que si j'appuie sur D sur le
clavier, il se déplace vers la droite. Si j'appuie sur la touche A du clavier, il se déplace toujours vers la droite. Maintenant, c'est quelque chose que nous
allons corriger tout de suite. Permettez-moi donc de
double-cliquer rapidement sur le héros pour que le jeu
me ramène ici, contrôle et sur la barre d'espace
pour l'ouvrir, et je double-clique à nouveau
sur la carte du joueur Nous apportons maintenant un changement
assez simple. Sous A, A signifie sous le pire D, ce qui devrait essentiellement
vous déplacer vers la gauche. Nous allons trouver des modificateurs, puis sous modificateurs, vous allez ajouter un scaler Tu peux le taper. Donc scalaire ouvrez-le ,
puis nous voulons le
mettre à moins un Ensuite, nous avons terminé
de configurer A ,
puis la manette de jeu gauche
fera la même chose Allez ici, ajoutez un
modificateur scalaire pour modifier l'échelle qu'il utilise afin que négatif sur l'axe X
se déplace vers la gauche Configurez-le comme négatif. Et avec ça, c'est terminé. Nous appuierons rapidement sur la
touche Ctrl S pour servir. Et maintenant, notre mouvement
devrait fonctionner correctement. Je vais m'
assurer que mon clavier est
affiché et que ma manette appuie sur Play
à gauche, plutôt qu'à droite
sur la manette J'espère que vous pouvez entendre
ce cliquetis. gauche fait la bonne chose, puis sur le clavier, A fait la bonne chose. D fait le bon
choix, c'est bien. Alors je suppose que mon bâton
a un peu de dérive, mais ça va. Ce n'est qu'un petit
coup de bâton. Vous verrez cela à gauche, à droite, et c'est terminé. Maintenant que nous en avons fini avec le mouvement
gauche-droite, revenons rapidement à la façon dont
nous planifions les choses. Alors très rapidement, n'oubliez pas,
concevez du code art. Nous en avons maintenant terminé avec
le design de base. Nous savons ce que nous voulons. Nous voulons un
mouvement de base entre la gauche et la droite. C'est simple Nous en avons terminé avec le code de base. À l'heure actuelle, le mouvement
fonctionne et fonctionne correctement. Ajoutons maintenant des
illustrations dans la vidéo suivante afin que l'animation
fonctionne correctement. Faisons-le à l'avenir. Et une fois que nous en aurons terminé, nous ajouterons l'
audio. Allons-y.
11. 010 Ajouter une contrainte, corriger la dérive du bâton et définir la position du joueur: OK, alors faisons quelques
corrections mineures avant d'aller de l'avant. Maintenant que nous commençons
à utiliser le mouvement, sélectionnez le personnage du joueur. Après avoir sélectionné le personnage du joueur
juste dans les détails, transformons-le et
veillons à ce que l'axe Z le laisse, tout en veillant à ce qu'il soit à
zéro, zéro sur les X et Y, tout en veillant à ce qu'il soit à
zéro, zéro sur les X et Y,
afin de savoir que c'est endroit
sauvage lorsque
le jeu commence
zéro, zéro, c'est en fait le
centre du monde entier. Ensuite, nous allons
rapidement corriger la dérive du joystick de la
manette. À l'heure actuelle, lorsque
vous jouez pour la première fois ,
lorsque vous vous déplacez, il y a toujours un
petit coup de bâton. Maintenant, corriger la
dérive du stick est simple : il suffit aller sur
la carte du joueur, d'aller ici, accéder aux modificateurs
et aux modificateurs, d'ajouter le modificateur et d'
ajouter le
modificateur connu sous le nom de zone morte Une fois que vous avez trouvé la zone morte, je l'ai déjà fait ici, laissez les valeurs telles quelles. Ainsi, il n'y aura plus
de stack drift, comme nous le voyons dans
la vidéo précédente. Maintenant que cela est fait,
il va y avoir une dernière chose que nous devons renforcer avant
d'aller de l'avant. Vous allez accéder au plan
du joueur. Vous allez sélectionner le composant
de la capsule. Et la première chose que
nous allons
rechercher , c'est que nous voulons ajouter une contrainte et ce que
nous voulons faire, c'est l'appliquer aux plans Z et X. Ce que nous voulons faire, c'est
connaître sa position sur le Y. Et cela signifie que le personnage du joueur ne
peut plus se déplacer
le long de l'axe Y. Cela va être
très important. Permettez-moi de
cliquer sur le héros lui-même et de fixer sa
position le long de l'axe Y. Cela signifie que ce sera correctement deux D. Il ne
peut plus se déplacer vers le haut ou vers le
bas le long de l'axe y, uniquement le long du X,
assurons-nous simplement de ne rien avoir
foiré C'est parfait et c'est bien. Maintenant, dans la vidéo suivante, ajoutons rapidement le mouvement gauche-droite pour le personnage du joueur
en ce qui concerne les animations. Allons
12. 011 Configuration de Paperzd pour la gestion de l'animation: C'est bon. Ensuite, nous allons ajouter une animation en cours d'exécution. Maintenant, pour ajouter cette animation en
cours, la première chose que
nous allons faire est retourner dans
le dossier principal. Nous allons revenir
aux personnages, le joueur, puis sous le joueur, retournera
dans le dossier artistique. Maintenant, dans le cadre de l'art, nous allons faire
une recherche rapide. L'un des avantages des sprites
bien organisés c'est que nous sommes capables de les taper Notez maintenant que nous avons
notre animation de course, plutôt que nos sprites de course, qui vont de 0 à 5, il suffit de les
sélectionner tous Ensuite, faites des actions Sprite
et créez Sprite. Terminé. Maintenant, je tape à
nouveau Run in, en le gardant organisé, et je vais sélectionner 0-5 puis cliquer avec le bouton droit de la souris
et créer un flipbook Nous avons donc maintenant ce
flipbook d'Adventure Run. Double-cliquez dessus et voyons. Maintenant, les
cinq animations se déplacent simultanément,
c'est bien Maintenant, je vais rapidement prendre la décision de réduire ses
images par seconde de 15 à 5 OK, maintenant ça regarde. Il n'y est pas encore. Environ sept heures. Environ dix. OK, je pense que dix
images par seconde, c'est une
animation raisonnable. Maintenant que nous avons cette animation
de course de base, comment allons-nous l'
appliquer au personnage de notre joueur ? Parce qu'à l'heure actuelle, le personnage
du joueur est toujours là. Et ce que nous voulons, c'est que lorsque le personnage du
joueur se déplace, nous voulons passer
à ce sprite OK ? Pour ce faire, nous allons passer à autre chose, et c'est là que l'utilisation
du papier Z D pour créer ces parcours d'animation nous
simplifie la vie. Nous allons donc revenir
dans le lecteur tout de suite, laissez-moi terminer, supprimer ce texte. À l'heure actuelle, c'est notre
côté principal du joueur. Nous avons ici de l'art, et c'est un bon
dossier à avoir. Nous allons créer
un autre dossier, et nous allons
appeler cela une animation. Maintenant que le
dossier d'animation est créé, nous pouvons accéder au dossier
d'animation et nous allons commencer à créer
des éléments Z D en papier. Passez donc directement au papier Z D, et la première chose que
vous allez ajouter est ce que l'on appelle
une sauce d'animation. Tu devrais le voir
là-bas. Maintenant, ce que nous allons faire, c'est
l'appeler Hero Animation Sauce. Je vais donc appeler ça un héros. Sauce Paper Z de Animation. Nous allons juste
en rester là. Maintenant, lorsque nous
double-cliquons rapidement sur
cette sauce d'animation, nous
remarquons que nous avons un grand espace, mais que nous n'avons aucune
nouvelle animation ici. Donc, ce que
nous allons faire, c'est passer le coin supérieur gauche
et ajouter une nouvelle séquence d'animation. OK. Et nous allons simplement
l'appeler ainsi. Je vais le renommer. Je vais dire que c'est inactif. Maintenant que notre idole est prête, j'ai cliqué dessus
sur le côté droit, elle montre une séquence d'animation Je vais faire défiler la page vers le bas et je
remarquerai que vous avez immédiatement accès Id et
Adventurer Cliquez sur Idle, et cela
affichera l'animation inactive. La prochaine chose que nous allons
faire est d'ajouter une nouvelle séquence d'animation
et de l'appeler Exécuter, suivre le même processus, sélectionner l'animation Exécuter. Maintenant,
nous avons plutôt animation inactive et nous
avons l'animation exécutée. Assurez-vous qu'il n'est pas défini comme une séquence
multidirectionnelle. Nous traiterons de la
directionnalité de cette question ultérieurement. Double-cliquez sur Exécuter.
C'est la course. Vous pouvez voir où se trouve
sa position. On dirait que c'est
un peu en avance par rapport au centre. Nous sommes inactifs. Le mode Idle est
réglé à 100 % au centre. Exécutez et ralentissez. Tout
semble aller pour le mieux. Ils sont
correctement alignés. C'est une bonne chose. Nous avons donc maintenant la barre d'espace de
contrôle. Nous avons notre sauce d'animation
ZD en papier. Notez qu'il a créé
un autre dossier avec des animations ou des séquences. Nous
n'avons pas besoin d'y toucher. Et notre animation, en gros, notre
sauce d'animation Hero Paper Z D contient une animation inactive et une animation courante. C'est parfait. C'est
ici que tout commence. Maintenant que nous avons la source
d'animation, il s'agit essentiellement d'une collection de toutes les animations que Paper
Z D va utiliser. Maintenant que c'est fait, nous allons maintenant créer
un plan d'animation, barre d'espace de
contrôle une fois Maintenant, cette fois, passez au papier Z D, et ce que vous voulez, c'est le
papier Z D, nommé BP. Remarquez donc qu'une fois que vous avez
cliqué dessus, une nouvelle fenêtre s'ouvre ,
qui vous demande, alors, quelle sera la sauce
d'animation parent et sélectionnez
simplement la sauce d'animation Hero
Paper Z di Animation. C'est donc dans ce conteneur que toutes les animations
seront extraites. Maintenant qu'il est là, je vais
simplement le renommer. Je vais le renommer
Hero Paper Zi Anime BP. Maintenant, je vais rapidement
double-cliquer sur ce plan
d'animation Et nous voici maintenant dans un graphe
d'
animation qui
sera responsable et
contrôlera d'
animation qui
sera responsable et toutes
nos animations. Il y a l'étoile
sous forme de graphique d'événements, puis il y a un graphique
d'animation ici. Et nous allons
voir comment utiliser
ces deux outils efficacement. Maintenant, ici, le graphe d'animation
est l'endroit où nous allons configurer toutes nos
différentes animations. Mais avant cela, effectuons une configuration de base dans
le graphe des événements. Ainsi, dans le graphe d'événements, il y a un nœud appelé event
on int ou on
initiate, et c'est le premier nœud
avec lequel nous devons interagir. Nous devons donc lui dire
quoi faire au moment de l'initiation. Donc, ce que nous voulons vraiment faire, c' est qu'il démarre immédiatement, qu'il configure le
lecteur en tant que variable et qu'il s'assure que le
graphe d'animation y est connecté Maintenant, pour que cela fonctionne,
la première chose à faire est que
nous allons avoir besoin de l'acteur qui possède
cet objet, d'accord ? Nous allons donc trouver
le propre acteur, c'est la première chose que
nous allons faire. Donc, quel que soit l'objet
auquel
nous l'attachons, qui sera notre héros
, c'est ce que nous allons faire ensuite. Ce sera
l'acteur propriétaire. La prochaine chose que nous allons
faire est casting
vers le joueur. OK, en fait, non, nous ne
voulons pas passer au joueur. Nous voulons le plan. Nous appelons le plan héros, nous voulons
donc adopter le plan de héros qui sera notre
personnage de héros Une fois que nous aurons fini de
choisir le personnage du héros, nous allons simplement le
promouvoir en tant que variable, appelons-le, appelons-le héros. Nous allons simplement passer
au statut de variable. Nous y voilà, et ça dit
set et Hero. Maintenant, avec cette configuration, vous remarquerez qu'
il y a maintenant une variable
appelée hero sur le côté gauche . C'est bien et c'est tout ce dont
nous avons besoin d'ici. Nous allons maintenant passer
au graphique d'animation. Maintenant, ce graphique d'animation
fonctionne de manière assez simple. Voici l'animation
de sortie, et nous devons connecter
un nœud au résultat. Pour le moment, cela n'a peut-être pas le plus de sens, mais ne vous inquiétez pas. Au fur et à mesure que vous le maîtriserez, fur et à mesure que vous l'utiliserez, cela
prendra tout son sens Et au cas où quelque
chose vous embrouillerait, envoyez-moi un message et
je vous contacterai. Mais je vais tout
expliquer étape par étape pour que
cela ait du sens. Continuons dans
la leçon suivante. Maintenant, avant de passer à autre chose, juste pour dissimuler,
assurez-vous que votre événement figure sur le graphique de votre événement, nous choisissons l'acteur propriétaire, héros et le
définissons comme héros en tant que variable. Assurez-vous que vous disposez de
votre source d'animation contenant l'animation inactive et
l'animation exécutée, l'animation inactive et
l'animation exécutée. Une fois ces deux éléments
configurés et organisés, c'est tout ce dont vous aurez besoin
pour aller de l'avant.
13. 012 Jouer à l'animation en mode inactif avec Paperzd: C'est bon. Maintenant que nous avons configuration de base de
notre
plan d'animation, nous allons revenir au plan
du héros Maintenant que nous avons
configuré notre flipbook, compilez-le rapidement. Nous allons ajouter un nouveau composant et
nous allons taper Z D. Ce que nous voulons, c'est un nouveau composant d'animation
papier Z D. Avec ce composant, nous
allons regarder vers la droite, et il y aura plusieurs options. Nous allons laisser le nom de la variable, un Zed di papier et remarquer qu'il demande une classe
d'instance d'animation, et nous y voilà. C'est le plan de Hero Paper Zi
Animation que nous avons créé dans
la dernière vidéo Et maintenant, il demande également
un composant de rendu, d'accord ? Donc, celui que nous allons sélectionner, nous voulons sélectionner
le flipbook papier Parce que le flip
book va être le composant sur lequel nous allons être celui-ci ici, c'est celui
sur lequel nous
allons rendre l'ensemble des images. Maintenant, juste pour nous assurer que tout
fonctionne comme prévu, la première chose que nous allons
faire est de venir ici et d'aller à la source
du flipbook Actuellement, il est défini comme
Adventure Idol. Nous allons juste
venir ici et nous allons clarifier pour que le flip book ne
soit plus rendu par quoi que ce soit. Nous allons utiliser le papier Z D pour gérer
toutes nos animations. Donc, si nous
revenons directement au niveau, remarquez
maintenant que
rien n'est montré. OK ? y a absolument rien
et on se déplace de gauche à droite, et il n'y a rien,
c'est bon. Maintenant, avec toute cette configuration, nous sommes prêts à commencer
à ajouter les différentes animations. Nous allons donc revenir
au plan d'
animation papier Z D, puis
au graphe d'animation, et c'est là que nous commençons à
travailler sur les animations Nous allons donc appuyer sur le bouton
droit de la souris et taper State. Et nous allons
ajouter une nouvelle machine à états. La machine d'État, nous allons
simplement l'appeler, lui donner le nom de héros. Tu peux le nommer
comme tu veux. Ce ne sont que les
noms que j'utilise puisqu'il s'agit du voyage d'un héros. Je vais me connecter du
héros à l'animation de sortie. Maintenant que nous avons notre machine d'état
initiale, et ce qu'est une machine d'état
réside essentiellement dans son nom. C'est la logique qui détermine l'état dans lequel se trouve
le joueur. Allons donc double-cliquer sur
la machine à états pour entrer. Et vous remarquerez qu'
au début, tout ce qu'il a est en panne. C'est bon. Nous allons simplement le faire glisser. Et nous allons ajouter une autre statistique
d'animation. Appelons ce premier
état d'animation inactif, car en gros, une fois que vous l'aurez chargée dans
le jeu, la première chose que vous
verrez sera, vous savez, le personnage
qui reste inactif. Maintenant que l'animation
inactive est définie, je double-clique à
l'intérieur de celle-ci, puis je
clique avec le bouton droit de la souris et je vais
demander qu'elle passe en mode inactif. OK. Il essaiera donc de
jouer cette animation inactive. C'est le résultat. Compilons-le rapidement, puis
revenons au graphique
d'animation. Donc, la façon la plus simple d'y
penser est la machine à états produit des animations de
sortie. À l'intérieur de l'
état des héros en ce moment,
dès le début, c'est-à-dire depuis sa sortie,
tout
ce que l'on voit, c'est l'idole. Et à l'intérieur d'Idol, tout ce que ça fait, c'est comme : « Hé, joue
juste l'animation inactive ». Ce sera le résultat. Cela signifie qu'à l'heure actuelle, une fois que nous sommes revenus dans le
niveau et que nous avons cliqué sur
Play, nous ne devrions voir que
l'animation inactive. Et donc, une fois que vous avez appuyé sur Play, Boom, nous avons l'animation
inactive. Maintenant, n'oubliez pas que, compte tenu de
la façon dont l'animation inactive est attachée, n'est connectée à
notre flipbook papier aucune animation
n'est connectée à
notre flipbook papier. Il n'en est vraiment rien. C'est l'animation papier Z D, dédiée au héros
Paper Zed Blueprint, qui contrôle tout cela Pour l'instant, revenons
au plan d'animation. C'est ce qui
contrôle notre animation. Maintenant que cela fonctionne
correctement et devrait fonctionner
correctement,
assurons-nous ensuite que
si le joueur se déplace à une vitesse dans
le sens horizontal, il joue l'animation
en cours.
14. 013 Jouer à l'animation de course avec Paperzd: D'accord. Maintenant que
nous l'avons configuré pour que Pepa z gère
notre animation inactive, notre prochaine tâche consiste à simplement
jouer l'animation en cours Pour ce faire, revenons
au plan d'animation Donc, pour être clair, depuis le graphique d'animation, double-cliquez sur le héros. Maintenant, nous sommes dehors. Maintenant, il est assez simple de
créer un autre état d'animation. Nous allons simplement le faire traîner. Nous allons créer un nouvel état
d'animation. Et cet état, nous
allons l'appeler « run ». C'est tout ce que nous allons faire. ce que nous appellerons « run ». Maintenant, remarquez qu'il y a quelque chose
ici qui dit : «
Hey, idle to run ». Parce que maintenant, dans
le graphe d'animation, nous allons passer
d'une animation à une autre Alors, que faudrait-il
pour passer du mode inactif à exécution ? Nous allons ajouter ce
code, puis passer à la couche externe
d'exécution et le faire glisser avec le
clic droit et un clic gauche, désolé, pour revenir au mode inactif. Ici, tout va donc passer de l'
état de fonctionnement à l'inactivité. Ici, tout va
passer du mode inactif au mode de fonctionnement. Voyons ce que cela
va signifier au niveau du code. Passons donc rapidement à
l'animation Idle. Tout ce que cela fait, c'est qu'il joue l'animation inactive et
c'est le résultat. Bien. Maintenant, revenez au héros, passez à l'animation de course. Il n'y a actuellement aucune course. Donc, la prochaine chose que
nous allons
faire est d'un simple clic droit, nous allons jouer à Run. C'est ce que j'ai tapé
pour qu'Unreal Engine le trouve. Et comme cela se trouve dans notre source d'animation
que nous avons configurée, vous pouvez simplement lier la séquence
à l'animation de sortie. Maintenant c'est fait. Maintenant, si vous deviez
compiler ici, d'accord, compilez rapidement. Même si vous revenez en arrière
et que vous vous déplacez, l'animation de course ne sera pas diffusée. Ainsi, l'intérieur du plan sera simplement inactif pour s'exécuter Et il recherche
une valeur positive pour indiquer qu'il doit entrer dans cette transition, un booléen
positif Maintenant, je vais juste
partager avec vous la logique pour rester
simple, d'accord ? La première chose que nous allons
faire est récupérer notre variable héros
et de la faire glisser vers l'extérieur. Nous allons donc devenir des héros, d'accord ? Nous allons l'obtenir. Ensuite, nous allons le traîner
à nouveau, et nous voulons obtenir sa vélocité. Faisons en sorte de faire défiler la page vers le bas. Vous voulez
obtenir simplement de la vélocité. D'accord ? Maintenant que nous avons
obtenu sa vitesse, nous voulons le diviser en
une goupille structurelle. Maintenant, gardez à l'esprit que le déplacement vers la gauche
et la droite se
fait uniquement sur X. Nous voulons
donc faire glisser la valeur X, et ce que nous voulons
rechercher n'est pas égal. En d'autres termes, s'il n'
est pas égal à zéro, il peut passer à la transition
suivante. Maintenant, pour expliquer à nouveau
la logique, nous demandons au personnage du
joueur vérifier sa vélocité. Dès que sa vitesse n'
est pas exactement nulle, je peux entrer dans
cette transition. Et en quoi consiste cette transition ? Il s'agit de l'animation de course que nous avons
configurée
ici pour
exécuter l'animation de course. Maintenant que tout est
configuré comme ça, compilons-le
et testons rapidement. Le joueur est donc immobile. Maintenant, lorsque vous vous déplacez, cela entre dans l'animation de course. Mais vous remarquerez que même si
nous sommes en pleine animation, nous n'allons pas nous en sortir. Nous devons donc revenir
au plan directeur. Nous avons ajouté le code
passant de l'état inactif à l'état d'exécution. Venons ici et
copions le tout. J'appuie sur
Ctrl C pour copier tout cela. Alors sortons-en de ça,
partons à la course au ralenti. Il indique littéralement
que le moteur tourne au ralenti. Nous en avons fini avec idle to run. Travaillons sur run to idle. Et pour faire simple, je vais simplement coller
tout ce qui
précède, à l'exception d'un
petit changement. Au lieu de dire : « Hé, si la vitesse n'est pas nulle, ce que nous voulons vérifier,
c'est que nous voulons être égales, d'accord ? Donc, si la vélocité est
exactement égale à zéro, elle disparaîtra de
l'animation d'exécution. Revenons à l'animation inactive. que c'est configuré de cette façon, Une fois que c'est configuré de cette façon,
revenons à
la logique. Cela commence par passer directement à l'animation inactive et par la
lecture de l'animation inactive. Si la vélocité sur X
est supérieure à zéro, l'animation de course sera exécutée. Si la vélocité atteint zéro, elle revient en arrière et joue
l'animation inactive. Une fois cela fait dans du papier, ce
plan d'animation, revenons en arrière et vérifions-le
pour de vrai dans le jeu Laisse-moi sortir ma
manette pour ça. Test de vérité. J'ai cliqué sur Play. Parfait Lorsque je bouge, l'animation de course est diffusée. Quand je m'arrête, l'animation
s'arrête. C'est excellent. Les animations sont
correctement alignées. C'est une bonne nouvelle. Sautons rapidement du pont. OK. C'est parfait.
C'est une bonne chose. Ensuite, permettez-moi de
double-cliquer rapidement sur le joueur pour que je
sois redirigé ici. Maintenant, bien que l'animation
fonctionne correctement, vous remarquez que le personnage du
joueur n'
est pas orienté dans la
bonne direction. Maintenant, ce
sera un simple changement. Faisons-le dans la vidéo suivante.
15. Direction du sprite changine 014 en fonction de la direction du mouvement: C'est bon. Dans l'
état actuel du jeu, si vous vous déplacez vers la gauche, avec le contrôle
si vous vous déplacez vers la gauche, le joueur joue toujours l'
animation vers la droite. Si vous vous déplacez vers la
droite,
le joueur a généralement
raison. Réglons ça. Pour résoudre ce problème, il suffit de lire
le plan du héros et
vous y allez ici Maintenant, l'endroit où nous
voulons placer le code qui
va corriger cela se trouve
plus près du côté droit. La première chose que
nous allons faire est gagner en vélocité. Faites défiler rapidement, pas
le volume, nous voulons de la vélocité. Nous allons obtenir la
vélocité. Nous y voilà. Maintenant que nous avons
obtenu la vélocité, nous pouvons la placer
juste là. Nous voulons diviser
l'épingle de la structure pour obtenir la valeur. Maintenant, puisque nous nous
déplaçons dans le X, ce que nous voulons, c'est la vitesse du X. Nous allons simplement obtenir la valeur et nous voulons faire
une simple vérification. Et ce que nous voulons, c'est faire une double vérification. Est-il supérieur à zéro ou est-il négatif ? Commencez simplement par une vérification
de base pour savoir s'il est supérieur à zéro. Ensuite, nous allons faire glisser ce nœud et le
configurer sur une simple branche. Maintenant, une branche est essentiellement un nœud utilisé pour
vérifier les booléens Si le résultat est
positif, en d'autres termes, si la vitesse X est
supérieure à zéro, alors ce sera vrai. S'il est inférieur à zéro, ce sera faux. Maintenant que
nous en avons fini avec ça, ce que nous voulons, c'est
retourner ici. Nous allons prendre le
flip book en papier puisque c'est ce qui va
contenir nos animations, nous allons le faire glisser et le
déposer juste là. Une fois que nous avons terminé, nous pouvons le faire glisser vers l'extérieur, puis nous
voulons définir la rotation. Et nous voulons définir une rotation
sauvage. Maintenant que nous l'avons configuré
pour définir la rotation sauvage, nous allons le copier-coller, le
déposer ici et connecter
le flip book ici également, car nous allons
définir la rotation sauvage deux fois. Nous dirons donc : « Hé, si c'est vrai, cela suivra
la première rotation sauvage ». Si c'est faux, cela suivra
la deuxième rotation sauvage. Maintenant, souvenez-vous que lorsque vous
retournez quelque chose,
vous le retournez
le long de l'axe Z. Permettez-moi de vous le démontrer rapidement. Permettez-moi donc de configurer rapidement ce classeur en papier pour qu'il
montre le sprite qui court Donc, ce que nous voulons faire, c'est faire pivoter le long de l'axe Z. OK. Ainsi, par exemple, il
s'agit de zéro degré ou suffisamment
proche de zéro. Il fait 180 degrés. Donc, ce que nous voulons, c'est que lorsque la vitesse
X est positive, elle reste
à zéro degré. Lorsque la vitesse X est négative, en d'autres termes, elle se
déplace vers la gauche, d'accord ? Nous voulons qu'il fasse 180 degrés. Permettez-moi de le remettre à zéro. Et remettez les choses en ordre afin que rien n'
interrompe les journaux par jour. Retournez dans le graphique des événements. Maintenant, nous allons dire : Hé, si la vitesse X est
supérieure à zéro, la rotation
définie sera nulle. Si sa vitesse X
est inférieure à zéro, ce qui signifie qu'elle est négative, nous voulons régler sa rotation sauvage
à moins 180 degrés. Maintenant, c'est un changement très
simple. J'espère l'avoir bien
expliqué. Nous allons revenir au niveau
développeur, appuyer sur Play, et maintenant nous remarquons
que lorsque je me déplace vers la gauche, le sprite suit et il
ne revient pas à zéro tout de suite. Lorsque je me déplace vers la droite,
le sprite suit cette rotation et s'arrête.
C'est fantastique. C'est exactement ce que nous voulions. Nous allons maintenant passer
à l'ajout
de sons et de sons de pas
à notre personnage de joueur.
16. 015 Ajouter des fichiers audio en cours: Nous avons actuellement notre personnage. Il peut se déplacer à gauche et à droite, et nous l'avons prêt. Revenons maintenant aux principes de
base que nous utilisons. Maintenant, nous en avons terminé avec le design. Nous en avons terminé avec le code de
cet élément en particulier. Nous en avons maintenant fini avec l'art
pour cette chose en particulier. Nous devons maintenant passer à l'
audio de l'animation de course. Faisons-le maintenant, en ajoutant un peu d'audio
à la course. C'est donc ici que nous abordons
quelques recommandations de base. Premièrement, je vous
recommande vivement , en tant que développeur
indépendant, apprendre
à ajouter votre propre son Nous allons donc ajouter
un son de course. Il existe de nombreuses façons d'
obtenir des sons de pas. Certains d'entre eux se lancent
et achètent des actifs, mais en tant
que développeur indépendant,
je pense qu'il sera très important de pouvoir créer son
propre son Alors voyons à quoi cela
ressemblerait, d'accord ? Maintenant, j'ai ouvert une application gratuite
appelée Audacity Passons maintenant à Audacity. Audacity
vous permet donc d'éditer et de modifier
différents clips audio, d'accord ? Maintenant, remarquez que le clip
audio que j'ai introduit s'appelle «
Je marche dehors s'agit essentiellement de
quelques bruits de pas, que j'ai enregistrés en sortant, en posant mon téléphone à
peu près à l'endroit où
je marchais, et j'ai l'
impression que j'avançais, mais en réalité, j'
étais au même endroit Maintenant, il suffit
d'écouter le son. D'accord. Nous avons tous ces
différents extraits audio de moi en train de faire un pas. Maintenant, je n'aborderai pas
tout ce que l'on peut faire avec Audacity
car, comme je l'ai dit, il existe de nombreuses manières d'
obtenir des sons Mais une chose qui est vraiment utile, c'est de rejouer ça. OK, je veux le
décomposer fondamentalement pour pouvoir
simplement le capturer. Laissez-moi essayer et je veux juste
capturer un seul pas. Alors laisse-moi le glisser
ici et jouer. Laisse-moi essayer de remettre ma
souris à l'écran, je devrais me simplifier l'
explication de ce que je fais. Je fais simplement glisser le pointeur sur une
zone, puis j'appuie sur Play. Il ne jouera
que ce segment sonore. OK, donc c'est un pas. Sympa. Mais ce que je veux, c'est capter le son dès
le premier moment où
le pied émet du son. OK, donc c'est ici
pour ici. C'est ce que je veux. C'est le vrai bruit des pas. Je vais donc simplement
le copier. Permettez-moi de faire un zoom arrière. Je vais cliquer sur
Tracks, ajouter un nouveau titre. Laissez-moi le considérer comme une piste mono. Ensuite, en bas,
je vais cliquer sur retour ici pour revenir à la tête de lecture
, et je vais coller Oh, oui, je l'ai enregistré
en stéréo. Donc, lorsque j'ajoute une piste, je dois ajouter une
piste en stéréo. OK, maintenant, cliquez avec le bouton gauche de la souris et collez. Alors laisse-moi venir ici, couper le son, venir ici, et puis c'est moi qui marche Je vais le ramener. Laisse-moi jouer ce son. C'est
un vrai pas unique Sympa. Maintenant que j'ai
isolé un seul pas, je vais passer au fichier et je vais
exporter le son Maintenant, il dit : « Hé, est-ce
que je veux le mettre sur audio.com ? C'est cool. Non, je souhaite
l'exporter vers mon ordinateur. Maintenant que j'ai
fini de l'exporter, je vais travailler
dur pour
exporter environ cinq sons de pas
différents Personnellement, je trouve
qu'environ cinq bruits de pas
est le chiffre idéal, et je ne vais
pas vous expliquer tout
le processus car
ce serait un peu ennuyeux Je vais inclure ces
sons dans le projet, mais je voulais juste les
mettre ici. Passons maintenant
à l'étape suivante. Une fois que les
sons de pas sont exportés. Et lors de l'
exportation, exportez-les sous forme de fichiers WAV. C'est toujours mieux
avec Unreal Engine. Et maintenant, grâce à la magie
du voyage dans le temps, j'ai organisé ces
cinq sons de pas Maintenant, je suis parti et j'ai créé
un dossier appelé Audio. Tu trouveras ça. Il sera téléchargeable
pour vous. J'ai créé un autre
dossier dans la section audio, et je vais l'appeler
Footsteps, d'accord. Donc, dans le dossier des pas, je vais coller Let's see
control V. Nous y voilà. Je vais coller les étapes 1,
2, 3, 4 et 5 D'accord. Maintenant que nous l'avons
, une fois que vous l'avez obtenu, il
vous suffit de les copier et de les
coller dans un dossier pour notre
projet dans Unreal Engine Donc, en trouvant notre dossier de projet, allez-y, allez dans le contenu. Maintenant, remarquez qu'il y a des niveaux, des commandes, des personnages.
C'est cool. Comme tout ce son est
pour un seul personnage, j'aime aborder
les personnages, il y a le joueur, l'
animation, l'art. Je vais simplement créer un nouveau dossier et je vais l'appeler audio. Je préfère avoir le son dans un dossier distinct pour chaque personnage, ce qui me
permet de trouver plus facilement des informations. Je sais que certains développeurs aiment
avoir un seul gros dossier
pour tous les fichiers audio, mais je n'aime pas le fait qu'
il soit trop désorganisé Je vais donc passer à l'audio. Je vais créer
un autre dossier et je
vais appeler ce
dossier footsteps. D'accord. Ensuite,
c'est
dans le dossier des pas que je vais coller. Je colle avec Control
via Windows, mais vous pouvez coller cela est le cas si vous êtes sur MAC, cela
peut être un peu différent Maintenant que nous l'avons placé dans le dossier
de contenu de notre jeu, passons à Unreal Engine et voyons comment les implémenter OK, alors maintenant nous sommes de
retour dans le vrai moteur. Et remarquez que juste ici, cela commence par dire : « Hé, trois éditeurs d'actifs ont été ouverts avant sa dernière fermeture. Rouvrons-les ici, puis cinq modifications du contenu
source ont
été détectées En d'autres termes,
il
a identifié cinq
nouveaux fichiers ici. Il s'agit donc de demander si
vous souhaitez les importer ? Oui, je
souhaite les importer. Faisons donc rapidement les
importer et c'est fait. Nous allons donc passer au niveau
développeur, appuyer sur la
barre d'espace de contrôle pour l'augmenter. Et maintenant, vous remarquerez que
sous lecteur, bien sûr, il a
correctement identifié le dossier
audio pour les traces de pas,
et c'est parti. Nous avons les étapes 1, 2,
3, 4 et 5. Écoutons rapidement chaque extrait audio. D'accord. Bien. Bien.
Bien. OK, nous avons donc cinq
sons audio audio
distincts disponibles pour nous. La raison pour laquelle je recommande d'en avoir au moins cinq,
car vous pouvez en utiliser un. Mais si tu n'en joues qu'un, ça ne sonnera
pas bien. La prochaine étape sera donc simplement d'ajouter ces sons à notre
personnage, car le personnage n'émet actuellement aucun son lorsqu'il fonctionne. Corrigeons cela dans la vidéo suivante lorsque nous
ajouterons ces sons.
17. 016 Ajouter un son spatial lorsque le pied du sprite atterrit: Il ne nous reste qu'à ajouter un
composant audio pour commencer. Le composant audio est
appelé file d'attente audio. Une file d'attente audio
n'est qu'un
moyen intelligent de rassembler
plusieurs sons. Maintenant, ce signal sonore, appelons-le simplement
player. Quelles étapes. Ce sera donc le
nom de la file d'attente audio. Maintenant, si vous
double-cliquez sur cette file d'attente audio, cela ouvre la
file d'attente audio dans le moteur annuel, et c'est notre résultat. Si vous appuyez sur Play,
vous ne devriez
rien entendre maintenant car aucun son
n' a été connecté
à la sortie. Maintenant, ce que nous allons faire, je vais
simplement les rassembler tous. J'utilise Shift et Click, et je vais tous
les faire glisser en même temps. Maintenant, faisons rapidement un petit test pour voir si
cela fonctionne correctement. Nous allons ajouter la
première étape de saisie, d'accord ? Et une fois que nous en aurons
fini, jouons le signal sonore. OK, donc celui-ci fonctionne
correctement. Laisse-moi le casser. Essayons le troisième. OK, ça fonctionne correctement. Essayons le cinquième. Si cela fonctionne, c'est qu'ils
fonctionnent tous correctement. Parfait. Maintenant que tout
fonctionne correctement, il
suffit de les randomiser. Maintenant, pour les randomiser, il suffit de cliquer avec le bouton droit de la souris
et de faire une recherche aléatoire Ce qui devrait vous amener à graver un nœud sonore appelé random Donc, avec ce nœud aléatoire, je vais pousser la sortie vers le haut, amener ce nœud aléatoire ici et me laisser ajouter
quelques entrées. Ils doivent être
cinq. C'est une bonne chose. Je connecte donc tous
nos différents sons de pas au nœud aléatoire afin qu'il puisse les répartir
aléatoirement pour
une variété de Connectez-le à la sortie. Maintenant, écoutons à quoi cela
ressemblerait. Parfait. Notre file d'
attente audio est maintenant correctement configurée. Maintenant
que la
file d'attente audio est correctement configurée, nous allons contrôler S pour enregistrer, nous allons la fermer et nous devons maintenant passer à
notre personnage principal. Allez voir notre personnage.
La première chose que je vais faire est de laisser
l'aventurier sans rien
faire pour qu'à chaque fois que
nous viendrons dans le monde,
nous puissions au moins y faire pour qu'à chaque fois que
nous viendrons dans le monde, voir le personnage Nous allons maintenant ajouter un nouvel élément
à notre personnage. Maintenant que c'est fait,
passons rapidement au flipbook papier, et nous voulons faire glisser notre signal
sonore vers le J'utilise la
barre de contrôle et d'espace pour augmenter ce paramètre. Je maintiens
ce signal sonore enfoncé et je le dépose sur le dessus
du classeur en papier. Maintenant c'est là, joue
ici les pas. Il est prêt à être utilisé. Maintenant, en ce qui concerne la position, elle commence par être au
milieu du personnage. Je veux le faire
tomber un peu
près du sol, mais pas en dessous, pour qu'il ne s'accroche pas. Ensuite, après l'avoir
sélectionnée, descendez sur le signal
sonore et
assurez-vous qu'elle
est désactivée ici, activez automatiquement Nous ne voulons pas qu'il
s'active automatiquement. Maintenant que cette configuration de
signal sonore est telle quelle, nous voulons également
modifier l'atténuation. Ici, il y a une atténuation de
remplacement.
Il suffit de cliquer dessus. Cela transforme le son en un son spécial, sorte que le son disparaîtra. L'un des meilleurs moyens d'obtenir son de
qualité est, en
matière de spécialisation,
de passer son
linéaire à un son naturel C'est à peu près ça. Ensuite, nous reviendrons et modifierons les détails ultérieurement. En parlant de son, une
moto très bruyante est passée devant
mon bureau. C'est cool. Quoi qu'il en soit, une fois tout
cela fait et configuré, vous avez les traces du joueur, configuration des signaux
sonores ici. Maintenant, nous devons
simplement faire en sorte que lorsque le joueur bouge,
il joue ce son. Maintenant, pour ce faire, nous avons configuré
tous les sons dans le lecteur. Nous devons simplement indiquer au
plan quand les jouer. Nous allons donc passer
à nouveau au joueur. Nous allons passer à l'animation. Vous pouvez cliquer sur Source
d'animation, ou vous pouvez simplement accéder à
ce dossier contenant des séquences
d'animation et
double-cliquer sur Exécuter. Vous remarquerez maintenant que
notre animation de course est en train de jouer.
Permettez-moi donc de faire une pause. Il y a ici une piste appelée
one, que nous allons utiliser. Je vais donc prendre
la tête de jeu, à droite, et je vais simplement la
faire glisser vers le haut jusqu'à ce que je voie le pied
toucher le sol. Boom, juste là.
Ici, environ 1 seconde, d'accord ? Cette première image d'animation lorsque le pied
touche le sol, je vais
ensuite ajouter
une animation Notify. Je vais d'abord cliquer avec le bouton droit de la souris. Assurez-vous que je vous
avertisse, puis je viendrai ici. Ensuite, je vais cliquer à nouveau avec
le bouton droit de la souris, puis je vais dire
« Hé, nouvelle notification ». OK. Il existe maintenant
plusieurs notificateurs , mais nous allons simplement utiliser une nouvelle notification Il s'agit essentiellement d'
informer le vrai moteur. Nous voulons faire quelque chose
sur ce cadre, puis je vais l'
appeler footstep sound En fait, permettez-moi
d'être un peu plus long. Bruit de pas du joueur.
À ce stade, nous avons créé un notificateur
pour émettre le son des pas Avançons dans le
jeu, puis encore une fois. Je vais donc cliquer sur
le son du pas, puis sur Ctrl C pour le copier Viens ici, Control V. Il le mettra juste là. Nous avons donc deux points sur
lesquels nous voulons jouer le son. Nous y voilà. Boom, joue le son. C'est tout ce dont nous avons besoin
pour cette animation. Cela devrait donc fonctionner correctement maintenant. Avec la configuration de ces notificateurs de
sons de pas de joueur,
il suffit ensuite de passer au papier à la source d'animation, n'est-ce pas ? Plutôt que la source,
nous passons au plan. Maintenant, à l'intérieur du plan, remarquez qu'il y a
maintenant de nouveaux notificateurs, cliquez sur celui qui
porte le nom correct, du pas du joueur. Et par ici, nous sommes prêts. Donc, la première chose que
nous allons faire, c'est trouver
notre personnage de héros, le
traîner
ici. Devenez un héros. C'est une bonne chose. Ensuite,
retrouvons le héros. C'est ce qu'on appelle les traces du joueur. OK. Alors allons-y, et nous voulons connaître les traces des
joueurs. Oh, désolée. Obtenez les traces des joueurs. Voilà les traces des
joueurs. Il s'agit du composant audio,
puis faites-le glisser vers l'extérieur, et nous voulons l'activer. Voilà, activate Activate rend
essentiellement actif. Une fois cela fait, nous voulons
maintenant jouer le son. Je vais suivre les traces des
joueurs et je vais taper
play, et le voici. Jouez, pour qu'il
joue ce son. Laissez-moi le connecter
ici. Associez les deux. Juste après son activation, il émet ce son, heure de
départ zéro. C'est une bonne chose. Faisons un bref aperçu de ce que
nous avons ici. Nous devons donc, après avoir
reçu Notify en tant que héros, les traces du joueur,
c'est ce que nous avons comme composant audio,
l' activer et jouer. Cela dit, nous devrions maintenant entendre les pas des
joueurs. Maintenant, allons-y. Parfait. Nos pas sont maintenant liés à
notre animation de sprites en deux D. Maintenant, ce qui est cool,
c'est que nous l' avons
spécialement atténué Si je
vais dans le héros, dans la caméra et que j' augmente sa position
pour le déplacer vers l'arrière, disons environ 500 unités, soit moins 500
unités 500 unités négatives. Vous remarquerez que le son
est nettement moins fort. C'est pourquoi nous avons recours à la spécialisation car si vous vous contentez de
jouer le son, aurez l'impression qu'il se trouve
partout dans le monde. Mais lorsque vous utilisez l'atténuation, sons
seront basés sur la localisation, et nous avons également
veillé à positionner la file d'attente audio dans
un endroit naturel C'est une bonne chose.
Passons maintenant à l'animation du saut. Nous allons commencer par
configurer le code dans la vidéo suivante.
18. 017 Utilisation des commentaires pour organiser les nœuds du plan: Très bien, maintenant le personnage de notre
joueur peut se déplacer à gauche et à droite, et nous pouvons les entendre. La prochaine chose que nous
allons faire est
d'ajouter une fonction de saut rapide
à nos plans
19. 018 Configuration du contrôle et code pour ajouter un saut: Très bien,
ajoutons donc l'entrée de saut. Nous avons donc notre mouvement là-bas. Nous allons simplement entrer dans les entrées, puis nous allons
ajouter une action de saisie. Nous appellerons cela un saut
d'action en entrée. Ce Jomo ? Où est le P.
D'accord, ça s'appelle sauter. Maintenant, double-cliquons rapidement
sur l'action de saisie du saut. Donc, description de l'action,
je pense que nous allons la décrire comme une entrée de saut. Je pense que c'est assez simple. Est-ce qu'il se déclenche en cas de pause ? Non Quelle est sa valeur
booléenne numérique Pour une action de saut, je pense que le booléen
convient parfaitement Maintenant, avec toute cette
configuration, nous allons fermer tout cela. Maintenant que
nous avons configuré le saut ici, revenons à la carte
des joueurs, la carte d'entrée. Il a des entrées complètes pour le
mouvement. C'est cool. Nous allons ajouter un autre Whoa. Nous partirions, ajouterions
une autre cartographie. Ce mappage
sera donc une action d'entrée. Venons-en ici, et celui que nous
voulons sélectionner est le saut
puisque c'est l'actif que nous
venons de créer. C'est cool. Nous allons passer au saut, et maintenant nous devons
décider
de ce que nous voulons que ce soit le saut ? Je vais le régler sur le clavier pour
qu'il soit W W, c'est bien.
Ajoutons-en une autre. W est un noyau. Il ne cesse de les étendre. Quoi qu'il en soit, permettez-moi également d'
en faire une barre d'espace. Je pense que cela fonctionne
parfaitement bien. Mais laissez-moi
connecter rapidement ma manette. Alors maintenant, le contrôleur
est connecté. OK. Oui, NRL Engine a reconnu que j'ai
connecté ma manette Nous allons donc en ajouter un autre. Et je suppose que le joueur appuie sur A, mais que c'est A sur Xbox ou X sur X, vous savez, non, c'est A sur
Xbox, X sur PlayStation. Cela devrait donc
fonctionner correctement. Maintenant, notre
action de saut est configurée. Cela fonctionne lorsque nous appuyons sur W. Cela fonctionne lorsque nous
appuyons sur la barre d'espace, et cela fonctionne lorsque j'appuie sur le bouton X de la manette
ou sur A, si vous êtes sur Xbox. Quoi qu'il en soit, avec
tout ce que vous avez configuré, revenons
au plan du joueur Et nous allons
ajouter du code pour gérer le saut.
Alors, zoomons. Je veux chercher un saut, puis je vais redescendre et il devrait s'agir d'événements d'action
améliorés. Nous y voilà. Permettez-moi de
zoomer un peu plus. Action de saisie améliorée, blocage. La valeur de l'action est une valeur booléenne, elle est
donc activée ou désactivée Donc, une fois
que c'est fait, il
suffit de faire glisser déclencheur et de
dire : « Hé, saute ». Essentiellement, nous avons un saut
effectué uniquement sur ces deux nœuds. Donc, pour le tester, contrôlez S pour enregistrer, puis je vais
venir ici et compiler. Passons maintenant au niveau. Allez jouer dans le niveau. Et ensuite, testons-le
sur spaceb. C'est cool. Space B fonctionne, mais
ce n'est pas ce que je voulais. Permettez-moi de désactiver cet enregistrement,
étant donné que non, non, non,
je n'en ai pas besoin. Appuyez sur Appuyez sur la barre d'espace ? OK, on fait un saut. Bouger vers la
gauche, aller vers la droite, cool. saut avec la barre d'espace fonctionne, saut avec W fonctionne Et puis attendez, le contrôleur
Exon ne
fonctionne pas. C'est un problème. Revenons en arrière et vérifions-le
rapidement. Cela peut être
entièrement un problème M. Oh, pas ici. Je dois vérifier les informations saisies dans la carte des joueurs. Oh, contrôlez S pour enregistrer et vérifier
à nouveau, cliquez dessus. Manette de jeu, face, bas,
bas. OK, cool. J'imagine que j'ai dû
faire quelque chose de mal. Manette de jeu, parfaite. OK. Cela devrait
fonctionner correctement maintenant. Encore une fois, test rapide. W fonctionne, Spaceb fonctionne. X sur la manette ou plutôt le bouton orienté vers le bas
fonctionne. OK, cool. Maintenant que le saut
fonctionne en termes de code, la prochaine chose à faire, n'oubliez pas le
DCAA, le design code art animation Ensuite, allons-y et
ajoutons un peu d'art.
20. 019 Ajout d'une animation de démarrage: Maintenant, ce qui est beau,
c'est que vous
avez déjà de jolis
sprites pour le saut Nous allons simplement revenir en
arrière sur les personnages, sur l'illustration du joueur, et tout
cela, c'est de l'art. Nous
allons rapidement taper jump. OK, nous avons
donc deux animations de
saut différentes, d'accord ? Nous allons donc simplement sélectionner
ces trois, d'accord, ces sauts d'aventure zéro, zéro pour sauter 003.
Elles fonctionneront. Ensuite, une fois tout cela
organisé,
nous allons simplement cliquer avec le bouton droit sur
Sprite Actions, puis,
vous savez, créer des sprites Maintenant que nous avons
créé ces sprites, nous allons taper à nouveau jump, il suffit de vérifier et de voir Voilà, nous l'avons. Nous
avons ces trois sprites. Il suffit de cliquer
sur chacun d'entre eux, puis de venir ici
et de créer un flipbook Nous allons créer un flipbook il est
écrit
« Adventure jump » pour le moment Nous pouvons l'appeler Jump Start. La raison pour laquelle nous l'appelons Jump Start, vous pouvez le
voir là-bas. C'est l'animation,
car l'animation du
démarrage du saut peut
être différente de
l'animation lorsqu'il descend et nous y reviendrons
ensuite, mais c'est suffisant
pour commencer, nous allons simplement la sélectionner et
c'est génial Maintenant que nous avons cette configuration d'animation de
base, revenons à nouveau aux
personnages. Passons maintenant au texte, à l'animation
du joueur, et nous allons passer à la source de l'animation, le papier D. Il y a déjà notre idole. C'est notre point de départ, et nous allons
simplement en ajouter de nouveaux. Et double-cliquez dessus. Permettez-moi de le renommer.
Nous allons l'appeler jump, dash start. D'accord, parce que
ce ne sera que pour le
début du saut. Après avoir cliqué dessus,
venez ici, puis là, nous
démarrons . Et c'est l'animation. Nous avons donc notre point de départ. Nous avons notre animation de course, notre animation d'inactivité,
puis notre animation de saut. Ouais. Donc, la prochaine chose que nous allons
faire,
c'est tester cela. Nous allons éventuellement
revenir et ajuster les cadres pour qu'ils
correspondent mieux au personnage, mais c'est
suffisant pour commencer. Ensuite, nous allons
revenir au héros. Nous y voilà, nous avons
ce saut de base. Maintenant, une fois que c'
est déclenché, nous voulons jouer à
cette animation de Hey, le personnage saute. Quand le personnage
est en l'air, nous voulons savoir
s'il saute. Maintenant que nous l'avons, nous avons ici et
nos animations. Ouvrons également le plan
d'animation. Nous l'avions reçu lors de la réception de Notify. On peut fermer ça. Nous sommes de
retour ici. Nous sommes de retour ici. Nous avons notre période d'inactivité, nous avons une course, puis nous allons
créer un nouveau set d'animation, que nous
appellerons « jump start ». OK. Parce qu'il
n'y a que le début , puis il y a le moment où le
personnage tombe
par terre. Nous allons maintenant passer de l'état
inactif au point de départ. Nous allons également passer de la course
à pied au point de départ, d'accord ? Et nous allons partir de, voyons voir, dès le départ, mm mm. Voyons voir. Non, pourquoi déménager ? Allez, bouge. Je veux déménager. Tu vas bien Donc ça y est. Voici donc notre carte pour le moment.
21. Logique des transitions d'animation saut 020: Nous avons maintenant ce bon
ensemble de nœuds prêt. Nous allons
double-cliquer à l'intérieur
du jump start pour pouvoir réellement joindre l'animation de
sortie
, puis nous allons simplement
appuyer sur play jump start. Donc, ces premières images après le saut du personnage. Maintenant que je l'ai enregistré,
nous allons revenir au graphique. Donc, chaque fois que nous ajoutons le code, il passe de inactif à hey, il commence à sauter. Maintenant, pour
savoir quand le personnage
doit passer de l' inactivité au
saut, c'est d'entrer à l'intérieur. Nous allons faire ressortir le
héros, comme toujours. Maintenant que nous
y avons accès, nous allons venir ici et
nous allons gagner en rapidité. Et nous voulons avoir
accès à sa vélocité. C'est le moyen le plus simple de savoir quand un
personnage saute. Ensuite, nous dirons un plus grand tant que c'est
supérieur à zéro, il devrait pouvoir entrer cela. Alors compilons. Donc, en gros, si sa vitesse verticale
est supérieure à zéro, nous devrions voir cette animation de
blocage. Maintenant, montrons rapidement ceci. Donc, en ce moment, les personnages
d'Ido ont appuyé sur la barre d'espace. Remarquez qu'il joue
l'animation du saut, mais elle ne sort pas
de l'animation du saut. Donc, pour nous assurer que cela
ressorte de l'animation du saut, nous revenons au plan Nous allons cliquer et faire glisser
le curseur pour revenir au mode veille. Et puis dans
Idle, en fait, je préfère simplement le copier pour ne pas avoir à tout
retaper. Mais à l'intérieur, je vais ajouter le même
code en partant de « hey as
the hero », la vélocité. Mais cette fois, au lieu
de dire : « Hé, es-tu plus grand que ça »,
je vais simplement dire :
« Hé, es-tu égal à ? » Donc, s'il est égal à zéro, il peut redevenir inactif. Compilons cela rapidement, revenons au niveau. À IDO, nous sautons, nous revenons à l'identification. Nous pouvons marcher. Nous revenons au ralenti, nous pouvons nous promener,
sauter, nous déplacer. OK. C'est cool. En fait, ce n'est pas
mal, pas mal du tout. Maintenant, il existe de nombreuses façons
de gérer ce saut. Une façon de gérer
ce saut est simplement de voir où
se trouve
le saut que nous faisons au moment du saut. Continuez à taper Jumo
pour une raison ou une autre. Nous allons donc passer au point de départ. Nous allons passer à ce flip book. Une façon de le
gérer est de simplement venir ici et de le régler environ trois images
par seconde pour commencer. OK, c'est bon.
Sinon, je peux simplement supprimer la
première image clé configurer pour qu'elle ne joue que
les deux dernières images. Permettez-moi donc de supprimer également
le second. Alors maintenant, il ne joue que ce genre d'
animation flottante Permettez-moi de l'augmenter à
six images par seconde. Il semble donc que
c'est ce qu'il fait, alors nous pouvons simplement le fermer. Alors maintenant, je pense que c'est une animation de saut beaucoup plus réaliste et
raisonnable. Mais remarquez que si nous nous déplaçons de
gauche à droite et que
nous sautons, cette animation n'
est pas transférée uniquement lorsque nous sommes chez IDO que
nous sommes en mesure de le faire Pour résoudre ce problème, nous revenons
au plan et nous utiliserons le même
type de logique, revenant au graphe d'animation à l'
intérieur de cette machine à états Maintenant, nous pouvons passer de Run
et nous allons essentiellement obtenir le même code, en entrant
ici, en copiant tout ça. Pour passer de la course au démarrage, tant que la vélocité Z
est supérieure à zéro, elle sera intégrée à cette animation Ensuite, nous copierons le même code. Alors maintenant, oh, non,
non, c'est passer du départ au point de
départ à la course à pied. Collez ceci. Ainsi, chaque fois
que la vitesse Z est
exactement égale à zéro, elle revient à
cette animation. Maintenant, voyons à quoi cela
ressemble. Nous y voilà. Remarquez que j'ai sauté et qu'il joue
cette animation de saut. Il fait donc un peu
froid dans l'air. Et c'est essentiellement la manière simplifiée et
fondamentale configurer
votre animation de
saut. Nous avons maintenant notre animation de saut. Nous avons le code du saut. Le code du saut
se trouve essentiellement ici. Et si vous souhaitez modifier l'une des caractéristiques du
saut, il
vous suffit d'accéder à la composante de mouvement du
personnage, puis sur le côté droit, sous les détails, vous trouverez
de nombreuses variables avec lesquelles jouer. Permettez-moi de taper rapidement jump pour que nous puissions en
voir certains. Et vous pouvez simplement voir beaucoup de choses que cela vous montrera. Je vais vous montrer la vitesse de saut. Vous pouvez augmenter cela, arrêter
la décélération, et il y en a quelques autres Maintenant, nous pourrons y revenir
plus tard lorsque nous commencerons à
parler de la création de niveaux et leur conception, car en
général, vous basez vos niveaux sur la façon dont vous voulez que votre personnage se déplace. Nous allons donc entrer dans le vif du
sujet. Mais pour l'instant, vous avez une idée de base. La prochaine chose que nous
allons faire, n'oubliez pas que le
DCAA est maintenant d'ajouter du son, car nous voulons qu' un son
soit diffusé juste après que le personnage
saute. Entrons dans le vif du sujet.
22. 21 Son de démarrage rapide: OK. Maintenant, allons-y et ajoutons
simplement un son de saut. Maintenant, dans
vos fichiers de cours, j'ai ajouté quelques sons
de saut de base. Permettez-moi donc de passer rapidement à l'audio et de créer un
dossier distinct appelé jump. Et à l'intérieur, il y a
deux sauts. Le premier est le point de départ. OK, c'est un peu trop silencieux, mais il y a un son de démarrage, puis un son d' atterrissage lorsque
vous atterrissez au sol. OK, ce sont donc les deux
sons que nous allons utiliser. Mais commençons par un
simple son de démarrage. Donc, pour le moment,
permettez-moi de revenir en arrière. Si vous entrez, vous pouvez entendre ce son lorsque
vous vous déplacez à gauche ou à droite. Mais il n'y a pas de bon
son de mitrailleuse lorsque le joueur saute. Nous allons donc corriger cela. Revenons donc à
notre lecteur,
puis nous allons
ajouter ce son de saut. Allons-y.
Cette fois, nous n'
utiliserons donc pas le
plan d'animation pour ajouter son, car il
s'agit d'un son que vous ne souhaitez avoir qu'une seule fois Maintenant, il existe un moyen
d'ajouter le son. Nous allons simplement
commencer par la barre d'espace de contrôle. Nous avons le son «
jump start » de ce lecteur. Nous allons le sélectionner, puis ici, nous
allons créer une file d'attente. Maintenant que la file d'attente est créée, je vais donner un nom au joueur. Appelons ça Jump Start. C'est le début du saut. Maintenant, je vais le trouver
et je vais le faire glisser sous le flipbook
en papier Je le veux sous le
classeur en papier. C'est juste en
dessous. Je vais le sélectionner. Permettez-moi de revenir à
la fenêtre d'affichage. Il s'agit d'un emplacement raisonnable
pour le son. Je pense que c'est un bon endroit. Je vais le laisser
là-bas et, bien sûr, venir ici. Assurez-vous. Voyons comment annuler l'
atténuation est cliquée. Nous allons le laisser là et le
régler sur un son naturel. Ensuite, nous voulons nous assurer qu'il ne fonctionne pas au
démarrage. Nous allons donc faire défiler la page vers le bas. Nous recherchons l'activation automatique
et désactivons l'activation automatique. Maintenant que c'est fait,
disons à ce saut commencer à jouer lorsque
le joueur saute. Maintenant, il y a deux
façons de le faire. En fait, il existe de nombreuses
méthodes, mais je voulais juste vous
montrer
comment pense Unreal Engine Si on le fait glisser ici, qu'on le sort et
qu'on dit « Hey, play ». Nous lui avons essentiellement dit de
jouer. Nous lui avons dit de jouer. Si nous le connectons
sous déclenchement, vous avez dit que lorsqu'il est déclenché, faites l'animation du saut, puis
écoutez ce son. Si nous le connectons ici, compilez, entrez. Maintenant, écoute. OK. Maintenant tu peux vraiment l'
entendre. Je vais avoir besoin d'augmenter son volume et il
fonctionne correctement. Entrez. Mais il joue quand je
relâche le bouton. Laisse-moi mettre mes boutons à l'écran pour que tu puisses voir. Si tu déménages. Remarquez qu'il émet le son lorsque je relâche le bouton.
Ce n'est pas ce que nous voulons. Brisons ce lien. Nous voulons qu'il soit là dès le départ. Maintenant que nous l'avons configuré
pour qu'il fonctionne au démarrage, entrez. Ça joue immédiatement, ça démarre. Maintenant, pour améliorer encore le
son, passons au composant de
démarrage, d'accord ? Celui-ci est là. Ensuite, ce que nous voulons faire, c'est
augmenter le volume. Je vais donc augmenter le volume à
environ deux. Alors écoutons-le. J'espère que ce sera beaucoup
plus audible, car il y a certaines choses que vous
voulez vraiment que le joueur entende, comme le saut. OK. Oui, à deux fois le volume, le saut sonne bien. Maintenant que vous en avez fini
avec ça, passons à autre chose. Nous avons ajouté un son de saut. Maintenant, n'oubliez pas qu'il s'agit du DCAA, design, du code, de l'art et de l'audio Nous avons créé le code
pour le saut. Nous avons fait l'art, et
nous en avons maintenant terminé avec le son. Passons à autre chose. Et
dans la vidéo suivante, ajoutons simplement du son
lorsque le joueur atterrit.
23. 22 Son d'atterrissage avec saut: Très bien, bienvenue. Nous allons donc maintenant émettre un
simple son d'atterrissage. OK, donc pour ce faire, la première chose que nous
allons faire est de
passer au plan d' Iroharacter Donc, comme nous l'avons déjà organisé, il vous suffit de revenir
et de cliquer dessus, n'est-ce pas ? Et pour tous les autres, vous appuyez simplement sur la barre d'espace de
contrôle. Nous avons bien organisé nos
plans, revenez dans le lecteur Le plan du héros, et nous passerons à l'endroit où nous configurerons
notre gestion des sauts Maintenant, par souci de simplicité, je vais simplement copier cette
zone de commentaires de base, la mettre ici, puis je vais dire « Hey, jump landing sound », pour m'assurer que tout le code ici sert à gérer le son d'atterrissage. Maintenant que c'est fait, la
prochaine étape consiste simplement à revenir à l'endroit où nous avons indiqué les traces
du joueur, puis je vais choisir de le
dupliquer , car
nous avons déjà certains paramètres de base, tels gestion
audio, que je
souhaite conserver inchangés. Maintenant que c'est
fait, nous allons simplement appeler cela l'atterrissage par saut. Maintenant que cet
objet d'atterrissage par saut est configuré dans notre
lecteur, laissez-moi le compiler. Je vais le sortir et le
déposer ici. C'est là que nous
entrons en profondeur dans le
code de base. J'ai zoomé. Il existe un nœud d'atterrissage. Nous voulons faire traîner les choses en longueur. Après l'avoir fait glisser, je vais appuyer sur Play Nous allons donc sortir
le nœud de jeu. Nous avons donc notre saut
d'atterrissage et notre nœud de jeu,
ce qui est une bonne chose. Maintenant, nous avons simplement
besoin d'un moyen simple pour Unreal Engine nous indique
que le joueur a sauté Donc, le moyen le plus simple de le faire
est simplement cliquer avec le bouton droit de la souris et de taper et,
et
je remarque qu'il existe déjà un événement appelé On
event On Landed. Je vais le traîner. Je vais le
connecter pour jouer. Et nous en avons fini, fondamentalement, en quelque sorte, mais
nous ne l'avons pas encore complètement fait. Nous allons retourner à
l'atterrissage de saut. Maintenant que j'ai cliqué dessus, vous pouvez voir qu'à l'heure actuelle, il est toujours prêt à effacer les traces Je vais plutôt descendre.
Désolée, je sélectionne le son. À l'intérieur des actifs se trouve déjà l'atout pour le son du joueur qui
saute et atterrit. Maintenant, cliquez dessus. Mais maintenant, il est
configuré de telle sorte qu'il diffuse le son d'atterrissage du joueur Maintenant que c'est fait,
je viens ici. Une fois que tout est configuré, je compile, j'entre dans
le niveau, j'appuie sur Play. Oui, tu devrais entendre ça. Sympa. Maintenant, bien sûr, juste pour un test rapide,
rompez le lien. Allons-y vite. Avons-nous compilé ? Assurez-vous qu'il est compilé ? Aucun bruit d'atterrissage.
Revenez ici , puis connectez l'événement sur
Landed à cette pièce, compilez. Maintenant, il y a un bruit d'atterrissage. Oui, j'espère que c'est audible. Si vous ne l'entendez pas
clairement dans la vidéo, c'est peut-être parce que j'ai réduit
le son du bureau à un niveau trop faible. Je m'excuse, mais cela devrait être très facile à entendre dans le jeu. Ensuite, je vais
mettre en ligne de nouvelles leçons
sur la conception de plateformes
pour votre jeu en deux D. Maintenant, une chose que beaucoup d'entre vous ont peut-être
remarquée ou non si vous
suivez ce cours plus tard, c'est que j'ai disparu pendant environ un mois. En fait, j'étais à l'hôpital,
mais maintenant je suis de retour. Tous les autres, ne
vous inquiétez pas pour ça. Profitez simplement du reste
des vidéos. Allons-y
24. 23 Ajouter des plateformes pour les plateformes: C'est bon. Maintenant que certains mouvements de base fonctionnent, nous allons simplement ajouter des plateformes avec lesquelles nous voulons que
le joueur interagisse. Pour ce faire,
nous allons essentiellement venir ici pour ajouter
rapidement un objet, sélectionner des formes, et j'
aimerais ajouter un simple cube, et voici notre cube simple. Mais là où il se trouve actuellement, si je déplace le joueur, n'
interagira pas avec le cube. Je vais donc vouloir ce cube.
Je vais le sélectionner. Et puis, pour ce qui est
de sa position, je vais m'assurer que c'est bien l'objet
qui pose problème ? Non. OK. J'ai
sélectionné l'objet. Mettez-le à zéro sur l'axe y. En fait, un peu plus que zéro parce que nous voulons que ce soit
non, zéro est parfait. Donc zéro, puis sur l'axe X, je vais le mettre à zéro. Maintenant, cela le déplace
directement dans le joueur. Mettons-le donc un peu plus à droite, puis un peu
plus loin sur le sol. Donc, sur Z, je vais le régler à 50. D'accord, c'est donc une plateforme simple et
agréable. Maintenant, lorsque le joueur
saute, en gros, lorsque j'appuie sur le bouton haut, remarque que le joueur est maintenant
en haut de la plateforme Reviens ici, boum. Mais nous avons
un petit problème. Notez que
les pieds du joueur sont juste au-dessus de la plate-forme. Ainsi, lorsque le joueur est là, il est au-dessus de
la plateforme, ce qui n'est pas vraiment
ce que nous voulons. Cela
se produit parce que le collisionneur de capsules
interagit avec le monde. Nous voulons donc que les pieds du joueur touchent
réellement
la plateforme, et nous devons empêcher
le collisionneur de capsules qui entoure le joueur d'
interagir avec le monde Donc, lorsque nous nous approcherons un peu plus, vous remarquerez que vous
voyez cet espace, cet espace juste en dessous. Je veux me débarrasser de cet espace. Pour ce faire, nous allons simplement
changer la position du flip
book en papier de manière à ce que les pieds soient au sol. Passons donc au
personnage juste ici. Cool, c'est là que se trouve
notre flipbook. Ensuite, je sélectionne
le flip book, et je vais juste ajuster
légèrement sa position Z. Nous y voilà. je l'ai juste déposé
un peu sur la position z. Jetons maintenant un coup d'œil
à cela dans le jeu. Maintenant, on dirait que les pieds du personnage touchent le sol, la surface, ce qui est
vraiment très bien. OK. Il y a donc ce petit objet qui
est maintenant dans le mur, et nous pouvons sauter dessus, et nous pouvons commencer à envisager d'ajouter d'autres plateformes. Ici, nous sommes debout dessus, sautons dessus, nous en descendons. OK. C'est un début. Ajoutons maintenant un peu
plus à la plateforme. Puisque nous avons cette
plate-forme ici, nous allons simplement la sélectionner. Faisons un copier-coller rapide, et voyons comment le configurer. Nous savons que cette
plateforme sert à quoi ? C'est environ 50 sur l'axe X. Portons donc ce chiffre à
environ 100 sur l'axe X. Et déplacez-le un peu plus
vers la gauche pour voir si le joueur
peut faire ce saut ? Oui, il est possible
de faire ce saut, mais ce n'est pas possible
de le faire. Le saut du joueur en ce moment
est vraiment très court, et un saut court
signifie que nous ne pouvons pas vraiment faire autant de jeux de plateforme
sympas. Dans la vidéo suivante,
nous allons voir
comment ajuster la hauteur de saut du
joueur et quelques
autres éléments pour rendre le saut un peu plus
agréable pour une plateforme.
25. 24 Comment personnaliser le mouvement et le saut du joueur: Ainsi, lorsque nous examinons
notre meilleur atout, il y a ce
que l'on appelle la composante de
mouvement du personnage. C'est elle qui détermine toutes les propriétés du mouvement
du personnage. Maintenant, rapidement, si
nous examinons la question, il y aura deux ou trois choses. Nous avons la gravité. Donc, pour
le moment, la gravité est réglée sur un. Maintenant, si nous entrons dans le jeu
et que le personnage saute, c'est à cette vitesse qu'il
revient au sol Mais si nous revenons en arrière et que nous
changeons la gravité de 1 à la gravité de 1 à la gravité 5, nous
pouvons donc voir une grande différence. Quand nous y retournerons, compilons
rapidement. Lorsque nous revenons en arrière, le personnage revient très rapidement sur
le sol. Maintenant, si nous optons pour quelque chose d'un
peu plus doux, comme la gravité, je change simplement deux fois la
gravité. Maintenant, nous revenons et la
gravité est maintenant réglée à deux. La gravité détermine la rapidité le personnage de
votre joueur
retombe au sol. Maintenant que nous avons
augmenté la gravité, nous devons augmenter le saut. Nous voulons que le saut
soit beaucoup plus élevé. Maintenant, à l'intérieur de ces paramètres, remarquez qu'il y a
beaucoup d'accélération, facteur de
rupture
qui ralentit, masse
estimée, de mouvement
par défaut, ne vous inquiétez pas pour la natation. Nous n'en avons pas besoin
ici. Ensuite, nous parlons de marche.
Maintenant, qu'est-ce qu'une étape ? Une marche est la plus haute hauteur, votre personnage peut
franchir quelque chose. Vous avez de la friction au sol
et de la vitesse de marche. Vous pouvez toujours
les ajuster à votre guise. Ce que nous voulons vraiment
faire, c'est changer les règles. Actuellement, la vitesse Z du
saut est de 20 centimètres/seconde Comme nous avons doublé la gravité, pour obtenir la même hauteur de saut, nous devons doubler
la vitesse du saut z. Faisons huit à
40 centimètres, désolé, huit à 40 centimètres par seconde, soit 8,4 mètres/seconde,
ce qui est normal Maintenant, faisons un
zoom arrière rapide, compilons, revenons en arrière et voyons la différence
que cela fait dans notre saut. Remarquez donc qu'il saute haut
puis qu'il descend rapidement
au sol. Et maintenant, nous avons ce que
j'aimerais
appeler un mouvement raisonnable
pour un jeu de plateforme Nous devons cependant apporter
quelques modifications. Maintenant, remarquez, laissez-moi mettre mes entrées à l'écran pour que
vous puissiez voir sur quoi je presse. Notez qu'en ce moment, lorsque nous nous déplaçons à gauche et à droite
sur le sol, nous nous déplaçons à une certaine vitesse. Cependant, quand je saute, je perds en gros, j'ai sauté, j'appuie, c'est vrai, je ne peux pas. J'ai sauté, j'appuie sur la gauche, presque aucun mouvement, ce qui n'est pas vraiment fluide pour les
joueurs de plateforme Remarquez que si je bouge,
je peux faire ce saut. Cependant, si je ne
bouge pas et que je saute, je ne
peux pas faire ce saut. Cela est contrôlé par
ce qu'on appelle le contrôle aérien. Maintenant, lorsque nous
retrouverons notre héros, nous voulons rechercher le contrôle aérien. À l'heure actuelle, le contrôle aérien
est réglé sur 0,05. Réglons ça sur. Mettons-le à un. Et maintenant, lorsque nous
y retournons et que nous changeons la sensation
d'incarner un personnage, lorsque je saute, je remarque que j'ai sauté et j'
ai toujours ce mouvement. Donc, quand je suis ici, je peux appuyer sur Sauter et continuer à me déplacer vers la
droite tout en continuant à le faire. Maintenant, juste ces
quelques changements de base, je pense que nous avons créé une plate-forme suffisamment
raisonnable en termes de plateformes de base
que nous pouvons avoir. Cependant, comme nous
utilisons la philosophie DCAA, nous disposons
maintenant de quelques
plateformes de base que nous pouvons mettre en place C'est ainsi que vous
concevez les plateformes. Ce sont juste des choses que
le joueur doit
gérer et vous pouvez les configurer comme bon vous semble dans votre jeu. Nous devons maintenant déterminer comment ajouter de l'art
aux plateformes pour
qu'elles soient belles. Et nous allons apporter
un petit changement à
l'apparence de l'appareil photo, puis nous allons
intervenir et ajuster certaines œuvres d'
art sur les plateformes. Maintenant, pour ce qui est du changement de caméra, je vais simplement revenir
au plan du héros Je vais sélectionner la caméra, et l'une des modifications que
j'apprécie lorsque je travaille sur des jeux de plateforme est d' augmenter
légèrement la hauteur Z de
la Permettez-moi d'ajouter peut-être seulement 50
unités,
ce qui change . Cela signifie que maintenant, lorsque nous regardons la façon dont le joueur
est vu ici, la caméra est légèrement
au-dessus du personnage du joueur. Remarquez donc qu'il n'est pas
plat par rapport au sol. Nous l'avons
légèrement augmenté afin examiner plus facilement les
différentes plateformes, ce
qui est essentiel. Maintenant , nous pouvons également ajuster
légèrement la rotation. Maintenant, la rotation que nous allons
sélectionner est probablement,
laissez-moi vérifier. Est-ce X ? Non, ce n'est
pas une rotation en X. Ce devrait être la
rotation sur ce point, oui. Nous allons le faire pivoter de
moins dix vers le bas. C'est ça. Sur l'axe Y
jusqu'à la rotation. Ce qui signifie que la caméra
est légèrement pointée vers le bas. Comme vous pouvez le voir, lorsque j'
ajuste la rotation en Y, je peux la pointer vers le bas, je la
fais passer à moins dix. C'est un petit détail, mais cela aide
simplement le joueur à mieux
voir le niveau parce qu'il regarde légèrement
vers le bas Maintenant, après avoir apporté cette modification, nous pouvons réellement
augmenter la caméra,
laissez-moi la porter à
environ 80 unités. Cela devrait donc
nous donner une bonne vision
du monde lorsque nous
regardons vers le bas. C'est une bonne chose. Et vous pouvez y apporter toutes
sortes de modifications pour qu'il corresponde
parfaitement à ce que vous voulez. Maintenant, je pense que
je veux rapprocher un
peu
l'appareil photo. De moins 500 à peut-être moins 450 pour
qu'il reste beau. Et permettez-moi de
l'élever dans le ciel à environ 100 unités
sur l'axe Z. Sur l'axe Z, il est
en hausse d'environ 100 unités. C'est juste pour vous apprendre, n'hésitez pas à les ajuster à quelque chose avec lequel vous
êtes à l'aise. Mais pour moi, c'est
bon pour le jeu de plateforme. Nous avons l'occasion de voir une grande partie
du contexte. Nous pouvons voir le sol
des plateformes lorsque nous y sommes. C'
est assez cool. Bien, dans la vidéo suivante, ajoutons simplement un peu d'
art au monde car nous avons sélectionné un mouvement de base pour les
personnages. Nous avons des
mouvements et des sauts raisonnables, et nous avons vu comment installer
certaines plateformes dans le monde. C'est ce que nous allons faire dans la vidéo suivante.
26. 25 Ajouter des actifs de plateforme 3D à partir de Quixel: C'est bon. Lorsqu'il
s'agit d'ajouter des actifs, la première chose que
nous allons faire est un peu d'organisation. Assurez-vous donc de créer un
dossier dans votre dossier de contenu, et appelez-le environnement. J'ai également ajouté un dossier
intitulé Village parce que
vous voulez vraiment organiser
les
actifs de votre environnement
, puis créer un plan et l'
appeler Platform Village Et le type de
plan que vous devez créer est un plan
Actor simple Fortement recommandé. Maintenant, lorsque vous double-cliquez
dans ce plan. Oh, ouvrez l'
éditeur de plan complet, d'accord ? Notez qu'il s'agit d'un
simple objet vide de base. Et si j'entre dans le jeu, que je le fais glisser et que je le place
devant le joueur,
il n'y a rien. Ajoutons maintenant quelques actifs
environnementaux. Donc, si vous êtes un modélisateur 3D
et que vous en avez les compétences, vous pouvez simplement concevoir vos
propres modèles et les importer. Vous pouvez également les ajouter depuis
NRL Engine Marketplace. Personnellement, juste pour aujourd'hui, je vais vous montrer
comment utiliser QuislBridge Maintenant, dans Quisle, vous allez vous connecter à l'aide de votre compte de développeur UnrelEngine Ensuite, permettez-moi de taper
bridge puisque nous sommes à Quisle Bridge et de taper
search for bridges Et voyons ce que cela va apporter. Tout cela est essentiel. Laissez-moi sélectionner le pont de
pierre japonais, et je le ramène
en piètre qualité. Si je
le propose en
faible qualité, c' est parce qu'il
s'agit d'un jeu en 2,5 D et que je ne le
charge pas avec beaucoup d' actifs
inutiles en
termes de complexité Cela met beaucoup de pression sur le GPU VA. C'est une question d'optimisation, mais
vous pouvez faire ce que vous voulez. Une fois téléchargé, vous pouvez l'ajouter rapidement
au projet. Une fois que vous aurez terminé, en
l'ajoutant au projet, nous y retournerons
simplement. Notez qu'il y a maintenant un nouveau dossier « anciens
méga-scans ». Accédez à ce dossier, Japanese Stone Bridge, puis
double-cliquez sur le Japanese Stone Bridge. Maintenant que nous avons
cet actif ici, si nous le glissons et le déposons simplement
dans notre village de plateformes, il n'y
aura aucune collision. Donc, ce que vous voulez faire,
c'est dans les détails, rechercher une collision. Ce qui nous donne accès à
tous les paramètres de collision. Assurez-vous de sélectionner le maillage de collision simple
comme maillage de base, d'accord. Assurez-vous de le sélectionner afin que son maillage soit utilisé
pour ces collisions. Cela ne devrait être sur personne. Il
doit être sur son propre maillage. Ensuite, définissez sa complexité de collision pour utiliser la collision
complexe aussi simple que possible. En gros, cela garantit que
la collision ne fonctionne que sur la partie où se
trouve réellement un objet en trois D. C'est un changement très cool
et simple. Le joueur peut passer
par ici, mais tout le reste
fonctionne en cas de collision. Maintenant, avec ce setter, revenons à la plateforme Maintenant, à l'intérieur de la plateforme, j'appuie sur la barre de contrôle
et d'espace, et je suis juste un dragon qui le fait
tomber là-dedans. Et avec ce glisser-déposer, passons au jeu,
et le tour est joué. Et quand je clique sur Play, le joueur peut marcher
dessus, ce qui est vraiment cool. Ce qui est vraiment cool.
Et nous pouvons simplement l'obtenir copier-coller, puis le faire glisser ici. Maintenant, nous avons un petit pont en cours de construction, ce qui
est vraiment cool. OK, ce qui est vraiment
très cool et très, très simple à avoir. Et si nous voulons maintenant
commencer à créer des plateformes, nous pouvons simplement le
copier-coller, faire glisser ici
et le soulever vers le haut. Voyons si le joueur
peut faire le saut. Je viens ici. Boum, et le
joueur peut faire le saut. C'est le
moyen le plus simple d'importer des actifs, vous assurant qu'ils présentent
la bonne collision pour votre jeu de plateforme 2.5 Un dernier
conseil est d'essayer. Il y a quelques
autres choses que nous pourrions faire avec le jeu de plateforme,
comme renforcer la sécurité des sauts, mais je ne recommande pas de le
faire Je pense qu'il vaut mieux
tester vos sauts. C'est moins difficile pour vous en termes de correction de bogues
et autres problèmes, et il est
préférable de concevoir des niveaux propres afin que chaque
saut soit possible. Cela étant dit,
ajoutons un peu d'environnement au monde afin de
lui donner un peu plus de vie. Ajoutez donc un environnement de trois
jours.
27. 26 Comment ajouter des ressources à partir d'unreal engine store pour vos environnements: C'est bon. Nous sommes donc maintenant
dans la boutique Epic Games, et maintenant nous y sommes allés, et nous avons choisi
un environnement. Trouvez n'importe quel environnement
qui vous plaît. Dans ma bibliothèque, je trouve que j'ai
plusieurs environnements. Si vous voulez rester simple, vous pouvez vous procurer des échantillons gratuits de n'importe quel moteur
Unreal Donc, comme
en ce moment sur le marché, si vous y allez et que
cela change de semaine en
semaine en fonction de la date à laquelle
vous recevez ce didacticiel, il y a des cavins gratuits Il y a quelques autres atouts comme une rue de Paris
stylisée Vous pouvez les utiliser gratuitement
pour des projets d'apprentissage, alors n'hésitez pas à les utiliser. Mais pour aujourd'hui, l'
environnement que je
voulais vraiment ajouter était cet environnement
stylisé, et l'ajouter à un
projet est vraiment simple Il vous suffit de cliquer sur Ajouter au projet. Vous sélectionnez votre projet, et il l'ajoutera
au projet. Maintenant, dans la vidéo suivante, je vais
vous montrer comment accéder à tous
les environnements de votre projet, et nous allons
passer à d'
autres petits détails
techniques. Maintenant, allons-y. Je suis
ici en attente d'un téléchargement. Je ne vais pas faire une
longue vidéo car nous attendons tous. Il suffit de passer
à la vidéo suivante.
28. 27 Ajouter des ressources - Partie 2: C'est bon. J'ai donc ajouté le
temple Infinity Blade au projet. Alors allons-y et
voyons ce que nous obtiendrons. Vous remarquerez maintenant qu'il y a quelque chose dans Environment Park Two, qui propose des plans, des
effets, des cartes et du matériel Il y a tout, non ? Mais commençons par
les mesures, non ? Telles sont donc les mesures. Ce sont tous les trois
objets en D que nous pouvons utiliser. Et si nous regardons
le monde actuel, il y a
donc deux ou trois choses. Voilà la zone active. Et dans le jeu en 2,5 D, cette ligne est la zone active
où se trouve le joueur. Et puis il y a
tout ça ici. C'est le contexte.
Et nous voulons
donner un peu
de vie à l'arrière-plan. Faisons donc cela étape par étape. Pour commencer, ajoutons un
peu de vie au sol. Nous allons donc simplement
sélectionner le terrain. Et en termes de matériaux, nous allons changer de matériau. Je vais
chercher un matériau qui soit plus naturel. Alors laisse-moi fouiller le terrain. Il y a le sol, le matériau des barrages, le
terrain pour animaux de compagnie. Laissez-moi faire un barrage pour commencer. Voyons à quoi cela
ressemble. C'est bon. Alors maintenant, tout à coup, le sol sous le
joueur semble beaucoup plus granulaire, beaucoup plus réel Ensuite, la prochaine chose que nous allons faire, c'est d'ajouter un peu
d'arrière-plan. Alors laisse-moi voir. Donc, à l'intérieur, il y a un énorme pilier
ici. Permettez-moi d'ajouter cela. Ainsi, il suffit d'ajouter le
sol et le
pilier pour créer progressivement un environnement beaucoup
plus animé. Permettez-moi d'ajouter quelques
atouts supplémentaires. Je vais ajouter une petite
maison ici. Remarquez que c'est
une très grande maison. Je ne veux pas qu'elle soit ici sous forme de grande maison,
je vais la sélectionner. Non Intéressant Pourquoi est-ce le cas ? OK. C'était clairement
une interaction. Je vais le déplacer un peu plus en arrière avec vous Nous avons donc ce grand
temple en arrière-plan, et c'est ainsi
que vous ajoutez des actifs. Désormais, en fonction de
ce que vous voulez et de l'apparence que vous souhaitez donner à
votre environnement, vous pouvez ajouter différents
éléments au monde. Maintenant, autre chose, vous remarquerez qu'en ce
moment, nous pouvons voir les confins du monde. Ce que nous pouvons faire pour ne plus
voir les bords, c'est que vous pouvez sélectionner rapidement l'
objet au sol, à savoir le sol. Passez à l'échelle et
nous allons simplement la
redimensionner à environ 50 sur tous les côtés. Alors maintenant, tout d'un coup, il est complètement redimensionné, de sorte que
nous ne pouvons pas voir ses bords On dirait que le terrain
s'étire au loin. Si 50 c'est un peu
trop, c'est bon. On en fait 25, ça
aura toujours le même effet. Vous pouvez également le
configurer de manière à ce qu'il y ait plusieurs dalles de sol qui s'étalent dans
des directions différentes. Ne consommez simplement pas trop de
ressources. Maintenant, gardez à l'esprit qu'en tant que développeurs, nous voyons
tout cela, mais un joueur ne
le verra qu'ici. OK ? Nous allons maintenant ajuster le sprite pour qu'il s'adapte
un peu mieux
au monde tel qu'il est Nous voulons qu'il soit doté d'un matériau qui lui permette de projeter des ombres. Comme il y a tellement de
texture partout, le fait que le joueur projette des
ombres sera
meilleur pour le look. Nous y reviendrons
dans la vidéo suivante. Et en fait, avant
la prochaine vidéo, je veux que vous sachiez que
je vais faire quelques ajouts généraux d'actifs. Il ne s'agira pas d'actifs sur la ligne principale où se trouve réellement
le jeu, juste de quelques actifs environnementaux.
Tu peux le faire aussi. C'est juste de la façade pour l'arrière-plan de
la vidéo suivante.
29. 28 Regardez-moi réaliser un design de niveau de base et comment je pense des niveaux de base: OK, donc cette vidéo est juste
un
peu trop rapide , faute
de meilleur mot Je n'appellerai même pas
cela du level design, il s'agit simplement de placer
certaines choses dans le niveau et de les
ajuster. Est-ce que c'est du level design, je
suppose que c'est du level design. Mais il suffit d'utiliser ces actifs et d'essayer de les
positionner de manière logique ou en allant
du début à la fin
du niveau. C'est cool. Et puis je
veux juste que ça
fasse un trou. Oh, attends. Quoi ? OK. J'utilise donc
beaucoup le clavier. Permettez-moi même de vous montrer le
clavier, en fait, parce que j'utilise beaucoup de choses à
copier-coller. Euh, hein. OK, c'est cool. Mais ensuite, je veux, il y a cette jolie arche. Non, je suis en train de le supprimer.
Je n'en ai pas besoin. Essentiellement, je
veux simplement avoir un ensemble de quelques actifs
différents dont logique de
disposer pour il est logique de
disposer pour créer une
sorte d'environnement. OK, c'est juste une assiette. Maintenant, si la sève est bonne, nous avons
une certaine continuité. Ensuite, nous
ajouterons quelques falaises. Je vais les faire pivoter
car sans rotation, n'a aucun sens. Parfait. Ensuite,
déposez-le dans le sol, déplacez-le légèrement vers
la gauche, puis ramenez-le plus en
arrière. Nous l'avons donc. Je vais voir ce que le
joueur va voir. Le joueur verra comme un rocher, et oh, en fait, laissez-moi changer
la position du soleil. Je me souviens bien, ajuste-le. Juste un peu
la position du soleil. Oh, pour ajuster la
position du soleil, j'appuie sur Ctrl Il suffit de contrôler et L. Je veux dire, je ne peux pas faire complètement noir. La couleur ira bien pour le moment. Ce ne sera peut-être pas très bien. Pour une raison ou une autre, mon sprite
est super lumineux. Donc, tout ce que je vais faire, c'est
redevenir le héros. Je vais sélectionner ce papier, ce
classeur , masqué, éclairé Laisse-moi voir. L'éclairage
est généralement ce qu'il est. Oh, mon Dieu, non. Laisse-moi voir. C'est bien trop brillant. Voyons voir. Couleur vive. Permettez-moi de réduire sa valeur de
luminosité à partir d'ici. J'espère que cela contribuera à
réduire sa luminosité. Allons voir jouer. Non, j'ai un peu aidé,
mais c'est juste génial. Je pense que ce que je
dois faire, c'est
accéder aux paramètres du projet. Ensuite, je vais rechercher ce que l'on appelle l'exposition automatique. Oui, vous voyez que cette
voiture expose celle
qui nous embête. Je vais cliquer sur Désactiver l'exposition
automatique. Et avec ça, voyons à
quoi ressemble le monde. Oui, c'est beaucoup plus
raisonnable avec Auto Exposure O. Mais maintenant, laissez-moi régler Control L. Permettez-moi
de régler à nouveau la position du soleil. Oui, c'est beaucoup plus raisonnable. Et maintenant,
voyons quel matériau. Il utilise un masque éclairé par un
sprite. Nous voulons du matériel inspiré par des
sprites. OK, ça ne
me montre pas le matériel ici, mais pour régler ça,
je vais y retourner. Et puis je vais demander, laissez-moi voir les paramètres. L'un des paramètres
doit être l'un
des paramètres ici doit
être Afficher le contenu du moteur. OK, alors maintenant il
affiche le contenu du moteur. Maintenant qu'il montre le contenu
du moteur, je devrais voir plus de matériel. Donc je vais dire Sprite. Tu dois te moquer de moi. Non, j'ai besoin d'un
Sprite allumé. Oh, sprite. Bien que je doive m'
assurer d'utiliser le bon nom, masque
Unlight Sprite Material Et je l'ai masqué. Tu dois te moquer de moi. Oh, mon Dieu. Où est le matériau des sprites illuminés par le
masque Tu dois te moquer de moi. J'étais en train de taper ce texte. OK, donc ça ne me montre pas
ça ici. Laisse-moi y retourner. Je reviens ici dans les paramètres. Laisse-moi voir. Afficher la localisation, afficher le contenu pour les développeurs,
Afficher le contenu pour les développeurs. Cela ne devrait rien changer. En fait, laissez-moi
voir le contenu du moteur. Nan. Non, je n'ai pas
besoin de tout ça. Cela va en fait
être difficile à trouver. Où se trouve ce matériel ? Revenez au Hero Paper, Flipbook, recherchez
Shadow Cast Shadow Le flipbook est faux, je l'ai réglé sur vrai Alors voyons voir, est-ce qu'il projette
déjà correctement les ombres ? Cela projette une sorte d'
ombre, mais laissez-moi régler le
problème du soleil. Le soleil est là maintenant ? Oui Maintenant, il projette une
ombre un peu correctement. C'est très bien Cela
sera suffisant. Encore une fois, juste le soleil, mec, laisse-moi dézoomer un peu
pendant que je l'ajuste. Hein ? Où ai-je déplacé le soleil ? Ça y est. Là-bas. Je veux qu'il vienne ici. Vous savez, cela fonctionne, c'est essentiellement faire en sorte que le soleil se déplace dans
la direction négative. Je n'ai donc pas l'habitude de
bouger comme ça. C'est pourquoi j'ai un peu
de mal. Mais oui, nous voilà avec une ombre sur notre
dépit et un bon éclairage. Je pense que c'est beaucoup mieux. Cependant, examinons l'espacement
logique du monde. Donc, nous allons le
configurer tel quel, nous allons
faire en sorte que le
personnage du joueur commence ici. Donc, puisque cela commence ici, permettez-moi de masquer le contenu
du moteur. Ça fait tout claquer. Je vais sélectionner les mesures. Ensuite, je veux que le
joueur commence. Le joueur commence donc ici, ce qui signifie que je peux l'ajuster et le rendre
négatif de 90 degrés. C'est donc de là que le joueur
va commencer, d'accord ? Et puis je veux
qu'il y ait ça derrière ça. Il est donc clair : Oh, mec, c'est une sorte d'actif
terriblement bien placé Laissez-moi le
récupérer, le
copier-coller , le ramener ici. Je veux qu'il soit
clair pour le joueur qu'il n'est pas possible de
revenir en arrière à partir d'ici. OK. Mais c'est une coupure. Je
n'aime pas cette coupure Par découpage, je veux dire que
ces deux actifs sont liés d'une manière
qui ne semble pas naturelle Je vais donc le ramener. En fait, je pense que je
pourrais juste le faire,
et cela résoudra le problème de
découpage Cela semble un peu plus naturel. Laisse-moi peut-être
avancer un peu. OK. Parfait. Nous l'avons donc fait. Cela semble raisonnable. Et puis, quand je clique sur jouer, permettez-moi de déplacer rapidement l'actif
du joueur à partir d'ici. Maintenant, sélectionnons
cet actif du joueur et
déplacons-le en arrière. Je veux que ce soit
ici. C'est une bonne chose. J'ai cliqué sur Play. OK. Pas mal Cependant, je n'
aime pas cette collision. Je n'aime pas sa collision. Permettez-moi maintenant de faire une vérification rapide. Est-ce qu'il ajuste le
positionnement sur le X ou le Zaxs ? Cela semble-t-il
ajuster la position du joueur
sur l'un des axes ? Je n'aime pas ça parce que
cela signifie que cela va commencer à interrompre
la position du joueur Je vais donc le sélectionner à nouveau. Je vais modifier sa position. Déplacez la solution
ici pour qu'elle soit
nulle, zéro sur l'axe y. Cela peut vraiment rester
dans la même position. Cela ne changera rien. Oh, non, ça laisse un trou. Je ne veux pas qu'
il y ait ce trou. Faisons également
avancer les choses un peu. C'est donc ici
que le joueur commence. Mais pour des raisons de protection, nous
allons ajouter quelques limites. Maintenant, qu'est-ce que je veux dire par lié ? Ce que nous allons faire, c'est ajouter ce que
nous voulons appeler un bloc ? Oui, il s'agit d'un volume bloquant. Et nous allons le placer
juste ici. Est-ce au bon endroit ? Non
Faisons avancer les choses ici. En gros, c'est un mur
invisible, donc le joueur ne peut pas le traverser. Maintenant, quand je clique sur Play, le joueur ne peut plus traverser. Le joueur ne peut pas traverser, ce que je trouve vraiment
cool. C'est bon. Maintenant que c'est fait, je vais également
ajouter autre chose. Je pense que je vais
ajouter « laissez-moi voir ». Je vais venir ici pour
les effets visuels, le post-traitement. Brouillard d'une hauteur exponentielle. Maintenant, avec ce brouillard, voyons voir. Je voudrais ajouter un brouillard d'
une hauteur exponentielle. Densité du brouillard, permettez-moi d'augmenter
ce point, c'est bien pour les garçons. Ah. Ce brouillard n'
interagit pas bien avec le
monde, je vais donc le supprimer. Je vais venir ici pour voir
notre brouillard de référence à une hauteur
exponentielle Oh, il faut qu'il soit très haut pour
commencer à interagir. Je vais donc augmenter ce point un peu. J'essaie de me
remettre dans le monde. C'était mon acteur principal. Héros, double-clique sur lui
pour que je puisse me relever. OK, je vais donc sélectionner le brouillard à hauteur exponentielle,
puis je vais le soulever. OK, donc oui, ça
ajoute un peu plus de brouillard. Donc, à environ 3 000, c'est parfait. Je pense que c'est juste la
bonne quantité de brouillard. Nous devons maintenant
combler ces lacunes car il y a un trou dans le niveau
que je n'aime pas. Je vais peut-être capturer ça. Je vais le copier et le coller, faire glisser ici, le ramener, puis je vais le faire
pivoter un peu pour qu' il ne ressemble pas à
la même formation rocheuse. Cliquez dessus,
ramenez-le également. Voyons à quoi ça ressemble du
début à la fin. On dirait qu'il y a une formation
rocheuse là-bas. Encore une formation rocheuse. Et passons à autre chose. Écoutez, il y a une sorte de
tour de guet ici, mais je ne peux pas dire de quoi il s'agit. Nous sommes juste cela pour que ce soit plus près du sol
et pour voir cela. Ensuite, il y a ces
deux plateformes. Mais je veux qu'il y ait
encore plus de choses ici. Copiez et collez ce
chiffon ici. Non, ça ne sera pas assez beau. Mais permettez-moi de le faire pivoter un peu, voir s'il convient. OK, ça correspond un peu à une
sorte de poisson. C'est un peu
triste. Amène-le ici. D'accord ? Ça y va en quelque sorte. Quelqu'un remarquera-t-il cet écart ?
Je pense que les gens le remarqueront. OK, alors je vais sélectionner ceci. Je vais double-cliquer dessus, soulever un peu, déplacer légèrement vers l'arrière pour que cette
formation rocheuse soit là Je veux juste qu'on le fasse pivoter ensuite. L'axe X, non. Fais-le tourner un peu sur
le Y. Juste un peu. Je ne veux pas que le joueur
voie quelque chose de bizarre, mais il faut combler toutes ces
lacunes. À quoi ressemblera-t-il
vu du sol ? Oui, il y a un clip, donc je vais le déplacer vers l'arrière OK, donc maintenant il
n'y a plus de coupure. Cela ressemble à une
véritable formation rocheuse. Mais maintenant,
je vais les sélectionner tous les deux
en utilisant Shift, pour les rapprocher un peu plus ici. Et avec ces deux là, je vais les ajouter. Je veux un autre maillage. J'ai besoin d'un autre filet. J'ai besoin d'un autre filet,
donne-moi quelque chose de cool. Je me demande : qu'est-ce que je veux, un
escalier, peut-être une autre porte. Non Ce que je veux, c'est une montagne. Puisque je veux d'abord voir s'il y a une montagne
dans ces atouts. Nan. Donc, pour
avoir une formation montagneuse, je vais simplement
double-cliquer dessus, pousser vers l'arrière, puis
je vais l'agrandir Puis déplacez-le vers l'arrière, un peu
vers l'arrière. Alors laissez-moi le copier-coller. Ensuite, je vais
le traîner ici. Ensuite, je vais l'
insérer une
fois de plus pour qu'il
corresponde là-haut. Enfin et surtout, je vais le récupérer, puis je vais le
copier-coller. Mais le collage, je
vais le déplacer le long l'axe X d'environ quoi ? Déplacez-le. Permettez-moi de faire un petit zoom arrière. Laisse-moi juste
le traîner ici. Laissons le monde
continuer à partir d'ici. Faites-le sortir. Boum.
Alors je vais chercher ça. Copiez-le et collez-le
, faites-le glisser ici. Je vais le
faire tourner sur le Y, le
rapprocher, le
copier-coller à nouveau, faire glisser ici, le faire
tourner à nouveau sur le Y. pousser ici
puis le pousser ici Maintenant, d'accord, je pense qu'
en termes de conception de niveaux
super basique ou
plutôt de conception d'environnement, cela devrait fonctionner. Je vais donc
venir ici. Lorsque je clique sur Play, le
joueur commence à partir d'ici. Ils ne peuvent vraiment pas voir
grand-chose d'autre. Cela semble plutôt normal. Rien de très triste pour l'instant. Tu déménages. Voici quelques formations rocheuses. Si nous devons
y ajouter des plateformes pour lui donner un peu de vie. Mais ensuite, continuez : Oh, ce sont les petites
plateformes que nous utilisons pour tester le saut. C'est cool. OK, au revoir. Continuez à bouger. Oh, regarde ça. Il y a comme ces deux statues de
pierre ici. Je me demande ce qui va
se passer ensuite. Oh. Oh, ce n'est pas sur le terrain, mais c'est facile à réparer. Et puis bouge, bouge, bouge. Oh, région de Bosht. OK, attends. Attends, tiens le coup. Prends ça. Assurez-vous qu'il est dans
la bonne position,
enfoncez-le un peu dans le sol. Laissez-moi sélectionner le joueur.
Où est le joueur ? Le joueur, permettez-moi de le déplacer à 3 000, c'est-à-dire
juste ici. Je l'ai fait avancer.
Faisons donc ce test, rap, ra, ra, ra, boum. Et puis c'est dans cette zone que le combat contre les
boss sera rude. Et puis il devra y
avoir un volume bloquant. Pour que le joueur n'ait
jamais l'idée de franchir ce cap. Donc, pour ce faire, laissez-moi
voir ce que je voudrais
ajouter . Permettez-moi simplement de dire non,
non, non, en fait. Oui, non, je vais m'en servir. Non,
je ne veux pas m'en servir. Je voudrais utiliser autre chose, quelque chose de simple, qui bloquera
simplement cette zone. Oh, ça a l'air bien.
Ça a l'air bien. Je vais donc le
connecter ici. Et boum, le
joueur ne peut plus
passer par ici tant qu'il n'a pas
vaincu le boss final. Maintenant, nous allons également
l'étendre un peu. Maintenant que c'est redimensionné, permettez-moi de le reculer un peu Mets-le en avant et perfectionne-le. C'est ça. Je pense que
c'est la base de référence. D'accord, c'est une mise en page de niveaux
généralisée assez bonne. Maintenant, laissez-moi sélectionner le joueur. Faites-le
revenir en arrière. Par ici. Je joue. C'est donc ici que le joueur
commence et recule. OK, un instant,
quelqu'un est à ma porte. Je reviens d'avoir répondu à mon chien. D'ailleurs, ce sont des
activités de développement de jeux vraiment normales. Hum, la vie ne s'arrête pas
parce que tu fais de la plongée sous-marine. OK, donc quand je
regarde
ça maintenant, ce n'est pas la meilleure chose qui soit. Mais si vous le faites, vous pouvez toujours, avec plus de temps et d'amour, ajouter encore plus
de choses au monde. C'est cool. Hmm. Quoi qu'il en soit, passons à autre chose. Et dans la vidéo suivante, nous allons
approfondir
un peu plateformes et
voir comment procéder,
ainsi que, vous savez, gérer
un système de décès et de santé. Cela a été un peu différent. Il ne s'agit pas vraiment
d'un didacticiel vidéo. J'espère que tu as appris quelque chose. Je voulais
vous montrer comment
ajouter et organiser des actifs pour créer un niveau. Mais je suis sûre que tu peux faire quelque
chose de plus beau que celui-ci. Et quand tu le feras,
envoie-moi la photo, d'accord ? Je suis vraiment intéressée. Bon personnel, allons-y.
30. 29 Partager les commentaires sur la qualité de l'enseignement et de l'apprentissage: Maintenant que vous avez passé un certain temps à
suivre le cours et à apprendre, je souhaite
avoir votre avis sur la
façon dont l'enseignement est reçu et sur le déroulement de votre
apprentissage. Je sais ce que signifie passer
du bas
de la classe au sommet. Et quelles sont les stratégies utilisées. Donc, si vous rencontrez des
difficultés pour apprendre, contactez-moi. Je réponds à tous les messages
dans les 24 heures. Et puis, en ce qui concerne
mon style d'enseignement, veuillez me faire
part de vos commentaires si quelque chose n'est clair ou n'est pas bien
expliqué et démontré. Il est vraiment de ma
responsabilité de m'assurer que toutes les connaissances
sont
bien présentées et que vous avez
tout ce dont vous avez besoin. Qui mettent en pratique tout ce qui est
enseigné dans ce tutoriel. En outre, nous poursuivons
avec d'autres leçons sur la façon de
créer des systèmes de combat et de l'
IA pour la plateforme 2.5 d. Passons à autre chose et apprenons.
31. 30 Vérification des progrès du cours: Maintenant, dans cette vidéo, je veux que vous fassiez une vérification
rapide de vos connaissances, et vous n'avez qu'à
poser deux questions. Premièrement, tu peux le faire ? Deuxièmement, si vous
n'avez pas la capacité de le
faire, revenez en arrière,
réapprenez et entraînez-vous à le
faire une ou deux fois, puis vous pourrez
aller de l'avant. C'est la clé la plus
importante et la plus essentielle pour vraiment apprendre des choses. Passons ensuite en revue chacune des choses que
vous avez apprises jusqu'à présent. Nous avons donc commencé par
apprendre comment obtenir Unreal Engine et créer
un projet dans Unreal Ensuite, nous sommes passés
à la façon de créer un niveau de développement de base qui soit simple pour que nous puissions commencer à le
compléter avec ce dont nous avons besoin. Une fois que nous avons
fini de définir ce niveau de
développeur,
nous sommes passés à l'
installation de Paper Z D, plugin officieusement
compatible,
que nous allons utiliser
pour gérer
nos différents actifs de sprites
et animations dans que nous allons utiliser
pour gérer nos différents actifs de sprites
et animations Ensuite, nous sommes passés à l'ajout d'
un
personnage de base au monde, qui
sera utilisé pour interagir
avec notre monde de jeu. Il s'agissait de la
configuration initiale
sans ajouter la possibilité au personnage du joueur de se déplacer dans le monde. Ensuite, nous sommes passés à la façon
d'importer des sprites
dans Unreal Ensuite, nous sommes passés
à la configuration animations
inactives pour le
personnage du jeu. Une fois que cela a été fait et que nous avons interagi avec
Unreal Engine, nous sommes passés à quelques conseils
généraux sur la façon planifier vos
conceptions de jeu en tant que développeur de jeux, qui
visent essentiellement à
vous apprendre à réduire
le temps vous perdrez et à vous concentrer sur ce que vous avez
prévu pour votre Ensuite, nous avons étudié
le
fonctionnement des entrées du contrôleur dans Unreal Engine et
comment les utiliser. Maintenant que cela a été compris, nous avons examiné comment ajouter
du mouvement, latéraux
gauche et droit
au personnage du joueur Et juste après, nous sommes passés
à
l'ajout d' une animation pour courir lorsque le joueur effectue
les actions de mouvement. Et puis il y a
plusieurs vidéos sur la façon d' ajouter le bon
son pour sauter, atterrir et se déplacer dans le
monde en courant. Ensuite, nous avons étudié comment
ajouter trois actifs D
au monde, donner un peu de vie et comment éviter leur collision afin qu'
ils soient interactifs Et la dernière vidéo traitait de conception
générale des niveaux et quelques recommandations sur la façon d'organiser vos
actifs dans vos niveaux. Tout cela étant
terminé, c'est la fin des bases
générales du cours. Et maintenant que nous avons établi cette
base. Passons à autre chose et approfondissons notre
compréhension de l'IA du jeu, ainsi que des systèmes de combat. Si vous avez et avez une bonne compréhension de
tout ce qui a été abordé jusqu'à présent, n'
hésitez pas à passer à autre chose. Si rien n'est
encore fait, n'
hésitez pas à revenir en arrière et à
apprendre avant de continuer. Cela étant dit, avançons et continuons apprendre le
développement de jeux vidéo. Allons-y.
32. 31 Réinitialiser le niveau de développeur pour qu'il soit clair: Maintenant,
pour préparer
rapidement ce que nous allons
faire ensuite, nous allons maintenant mettre côté et séparer
le niveau principal,
qui est un niveau, qui est un niveau, nous aurons
créé à la fin de tous ces didacticiels, et
notre niveau de développeur. Vous remarquerez
maintenant que nous avons une tonne d'actifs placés ici, mais apportons quelques ajustements. Contrôlez donc la barre d'espace
dès maintenant sous les niveaux. Nous avons un
niveau de développeur, c'est celui-ci. Je vais simplement le sélectionner, et je vais le dupliquer. OK, il y a l'
option de duplication juste là. Et après avoir cliqué sur Dupliquer, je vais l'appeler
001 Dash Level 1. OK. C'est donc son nom. 001 Dash niveau 1. Ensuite, je sélectionnerai le niveau de
développeur. Effectuez un zoom arrière. Et ce que je veux, c'est
supprimer une grande partie de ces actifs. Donc, au niveau du développeur, je vais simplement le
supprimer, je ne le veux pas. Je vais supprimer ce volume. Je veux que le niveau
développeur soit aussi restreint que possible car je veux que le niveau
développeur comporte qu'une
poignée d'actifs C'est là que nous
allons tester notre MAI, il n'est pas nécessaire
qu'il contienne beaucoup de choses. C'est toujours bien d'avoir
du personnel juste pour apprendre
à placer les actifs. C'était le but
de cette vidéo. Mais maintenant, nous l'avons, puis je vais sélectionner
le personnage du joueur, et je vais
ajuster sa position sur
l'axe X à partir de moins 8 000, sélectionner notre héros à zéro. Alors maintenant, il est de retour ici. Ensuite, j'ai sélectionné le terrain. Et je vais remarquer
ce que je suis en train de cliquer ici. Je vais juste l'inverser
légèrement. Je vais donc
réinitialiser cette propriété. J'ai cliqué sur
Réinitialiser la propriété, et ça devrait être ça Maintenant que je l'ai
réinitialisé ici, je l'ai réinitialisé à son contenu par
défaut en cliquant sur cette réinitialisation
ici, en cliquant dessus. Faisons un zoom arrière. Je vais sélectionner cette plateforme supplémentaire
et la supprimer. Et maintenant, nous sommes de retour ici
avec notre personnage de base. OK. Maintenant que tout
est prêt, passons à autre chose et
passons à certains systèmes de combat. Cependant, vous remarquerez également que si nous
double-cliquons sur le premier niveau, c'est samedi, nous l'avons toujours. Ainsi, lorsque nous voulons
examiner tous ces actifs en
jeu, nous pouvons venir ici. Cependant, je voudrais
revenir au niveau direct du
développeur, où nous développerons
nos systèmes. C'est ça. Et je
recommanderai toujours
d'avoir un niveau de développeur pour
développer les systèmes, puis vous pourrez les
ajouter aux niveaux eux-mêmes. Cela fait, allons-y. Dans la prochaine vidéo,
nous allons
créer un système de santé simple.
33. 32 Création d'un système de santé simple Partie 0: Il s'agit d'une vidéo
mise à jour qui explique comment
créer un widget. Maintenant, tout d'abord, assurez-vous de garder
les choses organisées. Vous avez un dossier
appelé interface. Maintenant, le widget
est déjà créé. Elle s'appelle barre de santé, mais elle
vous montre comment la créer. Pour le créer, il vous suffit de
cliquer avec le bouton droit de la souris, puis de vous rendre dans l'interface utilisateur
et de sélectionner Widget Blueprint Ensuite, il dira : « Hé, créez un widget utilisateur ». Oui, et maintenant notre
plan est créé, et vous pouvez l'appeler barre de santé. Ici, je vais juste l'
appeler Health Br two. Maintenant que notre Widget
Health two est créé, il suffit de double-cliquer dessus. Cela nous amène maintenant à l'
interface du widget où nous pouvons décider de ce qui s'affiche sur l'interface utilisateur lorsque nous
appelons le widget. Cela aura beaucoup de
sens dans la prochaine vidéo. Il suffit de suivre. La première chose est que nous
voulons cliquer sur Zoom pour ajuster. C'est cette petite
icône là-bas. Cliquez sur Zoom pour
ajuster, c'est bien. Et nous voulons ajouter le premier
élément d'interface utilisateur pour le widget. Vous passez à la recherche et vous voulez rechercher Canvas. Maintenant, le panneau Canvas
va essentiellement nous
permettre de
glisser-déposer sur notre écran. Vous pouvez voir que l'
écran entier se trouve ici. Maintenant que l'écran est ouvert, nous allons simplement
ajouter du texte, revenir ici et rechercher du texte Je vais sélectionner le texte et je vais le faire glisser
ici. Maintenant que j'ai fait glisser ce
texte ici, je vais passer aux propriétés
du bloc de texte et je vais
le renommer en barre HeL. Ensuite, j'ai appuyé sur
Control S pour servir, et maintenant dans le jeu, vous avez un widget avec la barre de santé de texte
qui est utilisable. Passons maintenant à la
création du système de santé.
34. 32 Création d'un système de santé simple Partie 1: Dans cette vidéo, nous allons
créer
un système de santé très simple,
et la raison pour laquelle
la santé est
importante, laquelle
la santé est c'est parce que c'est
ce qui rend les jeux amusants, sachant que vous pouvez échouer et que votre
personnage clair peut mourir. À l'heure actuelle, notre personnage
de base peut simplement se déplacer et se coincer. Ajoutons-leur rapidement un peu de santé de base. Si nous fermons rapidement
toutes les autres fenêtres et
ouvrons le lecteur, n'est-ce pas ? Nous allons sélectionner le plan
du joueur, d'
accord, maintenant appelé Hero Pourquoi ce bruit de saut penche-t-il ? Ça devrait être un bruit
d'atterrissage, d'accord ? Maintenant qu'on en a fini avec
ça. Tout ce que nous allons faire, c'est
ajouter un nombre ou plutôt une variable qui contiendra
la santé du joueur. Pour l'instant, nous allons passer aux
variables, qui se trouvent ici. Nous allons cliquer sur AD. Nous allons sélectionner
au lieu de Bolean, définissons-le comme un entier OK ? Si nous voulons le définir sous la
forme d'un entier, c'est parce que nous voulons simplement que la
santé soit 100, puis ici, au lieu de l'appeler NUVA, appelons-la santé du joueur OK. Maintenant que nous l'avons maintenant pour ajouter le
widget à l'écran, nous allons simplement commencer par le deuxième niveau de la
séquence là-bas. Nous
allons le faire glisser et taper Create Widget, ce qui mènera au
nœud Create Widget. Et puis il
demande un cours. Nous allons simplement taper Health Bar qui est la
classe que nous avons créée. Et une fois que
nous aurons terminé, nous le ferons simplement glisser, puis nous
taperons simplement ajouter au port d'affichage, qui l'affichera. Nous allons donc l'ajouter à la fenêtre d'affichage, puis
renvoyer la valeur, nous la ferons glisser vers
la cible elle-même. Et avec ça, d'accord, nous
compilons, nous avons cliqué sur Compiler, puis nous sommes passés au niveau
développeur, et quand nous avons cliqué sur Play, maintenant, remarquez dans le coin supérieur gauche il y a un texte qui
dit barre de santé, et maintenant nous avons ce widget. Passons
d'un texte une véritable barre de santé,
numériquement parlant, puis nous
trouverons comment ajouter des dégâts afin de
voir cette
barre de santé claire descendre
35. 33 Création d'un système de santé simple Partie 2: Maintenant, une barre de santé, oui, nous revenons au widget de
barre de santé que nous avons. Une barre de santé est fondamentalement
une barre de progression. Un moyen simple d'y accéder est de simplement
taper la progression. Nous y voilà. Nous avons
notre barre de progression. Je vais obtenir cette barre de progression, et je vais la déposer
dans le panneau Canvas. OK. Maintenant, laissez-moi le
déplacer ici. Nous avons maintenant cette barre de progression. Laisse-moi le déplacer ici. Permettez-moi de l'étendre un peu, vous savez, d'augmenter sa largeur. Cette barre de progression sera donc celle qui
contiendra notre santé. La seule chose que
nous allons
changer pour commencer, c'est
qu'après avoir cliqué dessus, nous allons simplement le changer en rouge. Changez sa couleur pour qu'elle soit rouge. C'est tout ce dont nous avons besoin pour le moment. Ensuite, nous allons y apporter quelques modifications mineures. Le plus gros étant
dans la zone supérieure, notez qu'il existe une
option pour le rendre variable. Nous allons le rendre variable. Ensuite, nous allons l'
appeler barre de santé du joueur. C'est ainsi que nous
allons l'appeler. Maintenant que la
barre de santé de notre joueur est correctement nommée ici, nous avons le texte
disant barre de santé. Nous avons la barre de santé du joueur et notre canevas est prêt. Nous pouvons maintenant l'
ajuster pour que le joueur soit le seul à contrôler
la
distance de cette barre de progression. Dans l'état actuel des choses, si nous passons au
niveau développeur et que nous appuyons sur Play, remarquons que la barre de santé
n'indique aucune progression, qui n'est pas vraiment
ce que nous voulons. Nous voulons que cette
barre de
progression corresponde un à un à la
barre de santé. Pour ce faire, nous devons donc
lier ces deux éléments. Nous allons donc revenir au héros. Et ce que nous voulons vraiment, c'est que ce widget de barre de santé soit connecté au composant entier
de santé du joueur. Donc, à nouveau, dans le plan des
personnages du joueur, nous allons examiner
le point où tout continue d'être ajouté à la fenêtre d'affichage, qui se trouve ici Donc, juste après avoir créé
le widget Health Bar, nous l'ajoutons à la fenêtre d'affichage Cette fois, nous allons ajouter quelques étapes entre les deux. Donc, la première chose que nous allons
faire est d'étendre l'espace ici, car il va se passer encore
beaucoup de choses. Et à partir du widget Create
Health bar, dont nous
allons sortir. Et à partir du widget de barre de santé, gardez à l'esprit que ce widget de
barre de santé contiendra toutes
ces informations. Il a accès à ce texte, et il a accès à
la barre de santé du joueur que nous avons maintenant
transformée en variable afin que nous puissions y accéder. À partir de là, nous
allons d'abord créer une nouvelle variable. Créez un widget Health B, si vous cliquez avec le bouton droit de la souris, il y aura
une option appelée promouvoir en variable, sélectionnez-la. Maintenant, la promotion en
variable crée
une nouvelle variable. Ce
sera un élément distinct
qui stockera les
données du widget. J'espère que cela a du sens. Si ce n'est pas le cas, ne vous inquiétez pas, vous vous
y habituerez dans Unreal Engine Et nous allons appeler
ce widget de santé des joueurs. C'est ainsi que cette variable
va s'appeler. Maintenant que nous avons
ce widget de santé des joueurs ici et qu'il s'agit d'une variable, rompons rapidement ce lien et le
rompons également. Nous avons maintenant notre
widget de santé des joueurs juste ici. Maintenant, la prochaine chose que nous
allons faire est sortir du widget de santé du
joueur. Et ce que nous voulons, c'est
rechercher la barre de santé du joueur. Nous allons donc simplement, vous le voyez, obtenir la barre de santé
du joueur. Nous avons donc maintenant la barre de santé
du joueur. Et pour plus de clarté, la barre de santé du joueur
est cette barre ici, et c'est la même barre de
santé du joueur que nous avons transformée en variable
afin que nous puissions y accéder. Maintenant que nous avons créé cette barre
de santé du joueur, nous allons la faire glisser
et définir le pourcentage. Maintenant, voici ce
que nous voulons faire, noter le pourcentage défini. Nous allons donc simplement définir un
pourcentage et si nous regardons, il s'agit également de rechercher un pourcentage
pour définir la barre de santé. Maintenant, ce pourcentage fixé
ici, d'accord ? C'
est ce que nous
utiliserons juste là pour modifier le niveau de
santé de cette barre de santé. Maintenant, afin de
le faire efficacement, publions ceci ici. Permettez-moi de le faire glisser ici
pour des raisons d'organisation. Donc, après avoir créé
ce widget, faisons-le glisser ici. J'espère que vous pouvez le voir clairement. Donc, après avoir créé ce widget, nous allons
le définir en pourcentage, puis nous finirons d'
ajouter à la fenêtre d'affichage,
puis nous allons simplement
connecter cette barre de santé . Désolé, nous
obtiendrons cette valeur de retour, et ce sera celle
que nous ajouterons à la fenêtre d'affichage Maintenant, j'espère que tout
cela a du sens. Je vais y aller le plus lentement
possible car nous gérons
de nombreuses choses. La prochaine chose que nous
allons faire est de passer à
la santé du joueur. Actuellement, la
santé du joueur est définie comme un entier et elle est
fixée à 100. Nous allons simplement effectuer un ajustement au lieu
d'un entier binaire. Comme nous devons l'
utiliser sous forme de pourcentage, nous allons le définir sous forme de flottant car nous le transformons
en pourcentage. Ensuite, nous allons obtenir la santé du joueur,
nous allons la faire
traîner et nous voulons obtenir la santé
du joueur, puis la
faire glisser à nouveau. Et nous voulons rechercher la
fonction appelée diviser. Et tu devrais voir ça.
Nous voulons donc utiliser Divide. Et nous voulons diviser par 100, car c'est ainsi que l'
on obtient un pourcentage. Et comme 100 points de vie est le maximum d'un joueur, je vais le ramener
au pourcentage et c'est
essentiellement tout ce que nous devons faire. Maintenant, allons-y étape par étape. Donc, dès le
début de la séquence de jeu, la première chose à faire est de
créer un widget, une barre de santé. Ensuite, nous allons simplement configurer en tant que variable
appelée widget de santé du joueur. Nous allons cibler la barre de
santé qu'elle contient
et nous voulons
définir son pourcentage. Nous allons maintenant obtenir
la santé du joueur. C'est la variable
au sein du joueur. Nous allons le diviser par 100
pour obtenir le pourcentage. Il sera affiché dans le pourcentage que nous avions l'habitude de
définir comme barre de santé du joueur, puis nous l'ajouterons à la fenêtre d'affichage J'espère que je l'ai
vraiment fait étape par étape. Je ne veux pas que tu manques
quoi que ce soit. Nous allons maintenant le compiler, et lorsque nous appuierons sur Play, remarquons que la barre de santé est maintenant pleine. Nous avons une barre de santé complète, et si nous revenons
dans le héros, sélectionnons l'enfer du joueur et que nous l'ajustons pour que
la valeur par défaut soit 90, nous compilons. Maintenant, remarquez qu'il est
rempli à 90 %, il est rempli à 90 %. Si nous y allons et que nous fixons
la valeur par défaut à dix, elle est
maintenant remplie à 10 %. Nous avons donc maintenant une barre de
santé fonctionnelle où la variable de santé du joueur détermine le niveau de remplissage de
cette barre de santé. Maintenant, nous allons y retourner. Permettez-moi de définir cela sur
une base de référence de 100. Nous commençons donc par une barre de santé
complète. OK, nous commençons par
cette barre de santé complète. Et maintenant, nous
allons créer des obstacles simples où lorsque le joueur rencontre cet
obstacle, cela change le montant
de l'aide dont il dispose. C'est ce que nous allons faire dans la vidéo suivante.
36. 34 Création d'un système de santé simple Partie 3 Ajout d'un objet endommagé: Maintenant que nous avons une barre
de santé de base sur le personnage de notre joueur, nous allons l'ajouter d'une
manière simple pour infliger des dégâts au personnage. Donc,
après avoir appuyé sur la barre d'espace de
contrôle , j'ai créé un nouveau
dossier, que j'ai appelé objet endommagé, afin que nous puissions avoir un seul endroit où placer cet objet endommagé. Maintenant, dans ce dossier, je vais simplement écrire click et je veux créer une classe de
plan Et pour ce qui est de ce que c'est, je vais juste l'appeler
acteur de Blueprint, puis je vais simplement l'
appeler Damage Object Parce que ce sera
très simple à avoir. Double-cliquez donc sur
l'objet endommagé. Je vais maintenant ajouter un
cube à l'objet endommagé. Maintenant, il y a un cube
autour de lui, ce qui est une bonne chose. , je passe
au niveau développeur, puis je veux juste placer ce cube quelque part
dans le monde. Je l'ai donc placé quelque part dans le monde, juste
devant le joueur, en assurant, bien sûr, qu'il se trouve dans le bon axe, à
la bonne position. Maintenant, quand j'essaie de m'en approcher
, rien ne se passe. Cependant, je vais entrer dans le vif du sujet. Maintenant, je vais l'entourer
d'une boîte à chapeaux. Nous allons donc simplement cliquer sur Ajouter. Et puis ce que nous voulons, ajouter un box
collider, en fait Nous allons ajouter un box collider. Le box collider
est donc là en ce moment. Je vais simplement l'étendre. Donc,
remarquez simplement que je peux le faire trop
gros, ce n'est pas une bonne chose. Juste à l'extérieur de la boîte, d'accord ? Juste à l'extérieur. C'est parfait. Ensuite, pour ce qui est de la collision, je vais taper collision. Maintenant, je veux que ce ne
soit pas une dynamique de chevauchement. Je veux le configurer de
manière à ce qu'il ne chevauche que le pion C'est une très bonne
option à sélectionner, que le collisionneur
ne détecte que le pion Une fois cela fait, nous allons simplement compiler puis
entrer dans le graphe des événements. Maintenant, à l'intérieur de l'
objet lui-même, nous avons ce collisionneur de boîtes Je vais simplement l'
obtenir, puis cliquer avec
le bouton droit de la souris, puis ajouter un événement, puis sur le composant, commencer à se chevaucher. C'
est celui que nous voulons. Donc ça va le faire, ça
va soulever cette question. Lorsque les composants commencent à
se chevaucher, n'est-ce pas ? Cette boîte. Donc, une fois que nous l'avons
ici sur le composant, commencez le chevauchement, nous voulons
maintenant savoir quel composant se
chevauche et que devons-nous faire ? Commençons donc par quelque chose simple. Faisons traîner ça plus loin. Ensuite, nous dirons de
détruire Actorself. C'est tout ce que ça va faire. Une fois que nous commencerons à se chevaucher, il va se
détruire rapidement pour le tester. En fait, avant de continuer, apportons un changement. Nous avons déjà mis en place Begin
Overlap, Destroy Actor Self. Mais faisons
un autre ajustement, nous allons sélectionner à nouveau le box
collider et nous allons passer de la
superposition sur le pn Passons à cela. Nous recouvrons toutes les dynamiques. Pour que ce soit un
peu plus fiable. Alors maintenant, lorsque vous appuyez sur Play, il disparaît, il se
détruit tout seul. Donc, le hit play se détruit tout seul. Maintenant, revenons à
l'objet endommagé. Si nous rompons ce lien, quand nous entrons, regardez-le. Maintenant, il y reste. Mais nous savons pertinemment que la boîte à chapeaux qui
l'entoure fonctionne. C'est une bonne façon de
témoigner que Box fonctionne. Il se détruit tout seul. Maintenant, avec cette configuration, faisons en sorte que lorsqu'
elle chevauche le héros, elle inflige des dégâts au héros OK. Dans cet esprit, revenons
à l'objet endommagé, et nous voulons ajouter
d'autres nœuds. Plus de nœuds. Voici
comment nous allons le gérer. Désormais, le moteur Unreal intégré possède quelques fonctions
simples qui sont utiles pour savoir quand des
dégâts ont été infligés Il existe maintenant de nombreuses
façons d'infliger des dégâts. Nous allons utiliser
le plus simple. Maintenant, c'est simplement avec un
nœud appelé appliquer des dégâts. Maintenant, remarquez que lorsque nous
introduisons des dégâts, il y a quelques
autres connexions. Cela a endommagé l'acteur,
les dégâts de base, instigateur de l'
événement Casa,
rien de tout cela n' vraiment d'importance
pour nous en ce moment La seule chose que nous
voulons ajuster, ce sont les dégâts de base, qui sont des chiffres Nous allons
donc les appeler
dix. C'est un char. Il ne nous reste plus qu'
à choisir l'acteur endommagé, qui sera le héros,
et c'est terminé. Nous allons donc simplement entrer, puis l'autre
acteur le traînera et nous passerons au héros. Oh, désolée, il me manque. Deviens un héros. Et nous y voilà parce qu'
il comprend qu' il existe un personnage appelé
le héros. Et voilà. Nous avons donc préparé le casting pour le héros. Et en tant que héros, ce n'
est pas important. Nous allons
d'abord le connecter. L'acteur endommagé sera donc le héros, et les dégâts
de base seront de dix. Et une fois que nous en
aurons fini avec ça, nous détruirons l'acteur. Sur cette base, nous allons
rapidement compiler. Maintenant, remarquez que lorsque
nous revenons dans le jeu, si nous le touchons, il disparaît
tout simplement, mais aucun dommage n'est clairement indiqué
dans la barre de santé. C'est parce que la
barre de santé est le héros. La barre de santé n'a été mise à jour
qu'au début de l'événement. Notez que dès le début de l'
événement, la première chose
que nous faisons est de configurer la barre de santé et de
définir son pourcentage. Nous devons donc simplement ajouter
une autre fonction, qui permettra de maintenir
la barre de santé à jour. Il existe de nombreuses façons de le faire. C'est le dernier processeur
gourmand qui est bon à utiliser. Alors permettez-moi de le copier
et de le coller. En ajoutant un commentaire,
vous pouvez bien sûr le faire en appuyant
simplement sur C. OK. Mais j'aime bien parfois, comme il possède déjà les paramètres de
style que je souhaite, cela s'
appellera simplement mettre à jour la barre de santé en cas de dégâts. C'est ainsi que cela s'appelle. Ensuite, à l'intérieur d'ici, nous allons simplement
ajouter une fonction. On fait appel à elle en cas de dommage. Alors nous voulons des dégâts. Oui, c'est ce que
nous voulons. Nous voulons que cet événement se produise quel que soit le dommage. Faites-le glisser ici. Maintenant, une fois que l'événement est prêt à
infliger des dégâts, il suffit de le faire glisser, puis nous voulons commencer à ajuster la valeur de
santé du joueur. Le
mal a donc été fait immédiatement. La première chose que nous voulons faire, c'
est de réduire la santé des joueurs. Améliorons la santé des joueurs. Nous commençons par obtenir
la santé du joueur, puis nous allons
la faire traîner et nous allons la soustraire. Soustraire. Maintenant que cette
soustraction fonctionne, nous allons lier les dégâts
à ce que nous voulons qu'elle soustrait Nous soustrayons donc
les dégâts infligés santé du joueur
. C'est très important. Une fois que nous avons soustrait les dégâts infligés à la santé du joueur, nous
voulons extraire
cette valeur et la diviser. Par quoi la
divisons-nous Nous le divisons par 100. D'accord, parce que nous voulons qu'il
soit défini en pourcentage. Maintenant que nous l'avons, nous avons maintenant le pourcentage de santé dont dispose actuellement le
joueur. Laisse-moi apporter ça ici. Apporte-ça ici.
Ensuite, ce que nous allons faire, c'est obtenir le
widget de santé des joueurs et l'intégrer. voulons obtenir le widget de santé du
joueur, puis nous voulons le faire glisser vers l'extérieur et
rechercher la barre de santé du joueur. Nous voulons obtenir la
barre de santé depuis le widget. OK, nous obtenons la
barre de santé du joueur depuis l'écran, puis nous voulons simplement
définir son pourcentage. OK. Nous voulons donc
définir le pourcentage, et nous allons
le faire glisser en fonction des dégâts
qui viennent d'être subis. Et ça va être ça. Avec cela, nous pouvons
simplement en gardant cela à l'esprit, nous pouvons maintenant simplement relier l'
événement à n'importe quel dommage. Nous voulons mettre à jour
ce pourcentage. Laisse-moi y revenir encore une fois. Sur l'objet endommagé, nous voulons le lancer au héros, c'
est-à-dire au personnage du joueur. OK, je veux incarner le héros, c'est l'autre acteur. C'est l'acteur endommagé. Et après cela, il
va se détruire tout seul. C'est ce que va faire notre
objet endommagé. Et puis, du côté du
personnage du joueur, bien sûr, le meilleur niveau de dégâts a été fixé
à dix du côté du héros, quel que soit
le dommage, ce qui signifie que chaque
fois que des dégâts sont subis, nous les obtenons, nous les soustrayons de
la santé du joueur Nous divisons ce chiffre par 100. Ensuite, nous arrivons ici
, puis le widget de santé des joueurs, nous voulons mettre à jour
le pourcentage. Et en fait, il manque encore
une chose. Parce que pendant que nous
divisons les points de vie des joueurs, nous ne les avons pas encore correctement
mis à jour. Alors allons-y un peu plus loin. Entre
les deux,
nous allons simplement définir la santé du joueur Donc, cette valeur, faites-la glisser vers le haut sera
désormais la valeur de santé
du nouveau joueur. Ensuite, la
valeur de santé du joueur sera celle connectée au
pourcentage défini pour la barre de santé. J'espère que cela a du sens. S'il vous plaît, si cela n'a
pas vraiment de sens, révisez-le. J'ai essayé d'être aussi
précis que possible. Donc, avec ça,
testons-le dans le jeu. Alors maintenant, quand je passe en revue l'objet
endommagé, nous y voilà. Ma barre de santé a été réduite. Maintenant, disons que je comprends que ces
objets ont été copiés. Ils sont maintenant deux, copiez-collez. Ils sont maintenant trois, copiez-collez, laissez-moi zoomer un peu et faire glisser ceci ici,
quatre, copier-coller ,
cinq, puis 67, huit, neuf, dix. OK, j'ai donc fabriqué
dix objets endommagés. Le premier a réduit la santé du
joueur de 10 %. Deuxièmement, 20, 30, 40, 50, 60, 70, 80, 90 et 100 %. Nous avons maintenant trouvé comment infliger les dégâts au
joueur et nous
assurer que l' achat de points de vie
est correctement mis à jour. Maintenant, dans la vidéo suivante, nous allons ajouter
un simple écran de mort, puis nous allons
approfondir un peu plus l'IA par la suite. Dans la
vidéo suivante, nous allons créer un écran de mort de telle sorte que lorsque le joueur perd moins d'un
certain pourcentage de santé,
il meurt, et
c'est ce que nous voulons. Allons-y.
37. 35 Vérifier si le joueur est vivant ou mort lorsqu'il prend des dommages: OK, maintenant que
notre personnage a
sa barre de santé qui peut
être épuisée par des objets Ajoutons maintenant un état de mort
simple. Nous allons donc vérifier. Et une fois que la
santé du joueur passe en dessous de zéro, nous disons que le joueur est
décédé. Pour ce faire, revenons
au plan du héros. Mettons-les rapidement ici, alignons-les et
organisons-les pour qu'ils soient beaux. Juste un peu de propreté. Tu sais, ça
va beaucoup avec
ça ici, ça ici, et ça ici. Maintenant, n'oubliez pas qu'il s'agit de
mettre à jour la barre de santé dégâts, puis nous y arriverons. Ensuite, je vais simplement
copier cette boîte de dialogue. Bien sûr, comme
toujours, vous pouvez créer une autre zone de commentaire
en appuyant simplement sur C, mais j'aime un certain
style avec texte
noir parce que c'est
plus lisible pour moi. Et puis cela va
être vérifié si la couche est vivante. C'est tout ce que ça va faire. Donc, juste une fois cela fait,
ce que je veux faire, laisse-moi faire
glisser ici pour
lui laisser un peu d'espace. Ensuite, je vais
faire glisser cette séquence de
types parce que
je veux que ce soit un nœud de séquence de base. Ensuite, je vais
le traîner ici. Et puis ce que je veux
faire, c'est chercher une succursale BRA NCH, n'est-ce pas Maintenant, cette branche sera
essentiellement de
vérifier si le joueur
est toujours en vie, et comment allons-nous nous y prendre ? C'est très simple.
Nous allons augmenter la santé du joueur et nous voulons
la récupérer. Ensuite, ce que nous voulons
faire, c'est
rechercher ce qui est inférieur ou égal,
inférieur à égal. Nous verrons que s'il est
inférieur ou égal à zéro, ce sera notre condition. Cela signifie que si la santé du joueur est
nulle, c'est vrai. Si la santé du joueur
est inférieure à zéro, cela est également vrai. Maintenant,
disons simplement :
Hé, si c'est faux, commençons par quelque chose de
simple, comme une chaîne d'impression, et nous dirons que nous allons taper majuscules
en direct, d'accord ? Ensuite, contrôlons-le et
collons-le ici. S'il est vrai qu'il est
inférieur à zéro, nous pouvons simplement taper dead. Nous le faisons simplement
pour simplifier la vérification si cette vérification de base des branches
fonctionne correctement. Avec cela,
compilons, revenons au niveau
du développeur vivant, vivant,
vivant, c'est vrai. Il n'arrête pas de dire «
vivant », puis « mort ». Vous pouvez voir dans le
coin supérieur gauche de votre écran qu'il y a le texte
qui dit mort. Nous avons maintenant un
bon moyen de détecter que le joueur est vivant ou mort lorsqu'il a
fini de subir des dégâts. Maintenant que c'est fait, passons à
autre chose et ajoutons
un simple écran de décès.
38. 36 Création d'une interface utilisateur de l'écran de mort: Maintenant, pour ajouter un écran de mort, la première chose que nous
allons faire est de
créer un nouvel objet d'interface utilisateur. Ce sera très similaire
à la façon dont nous avons créé
la barre de santé, qui se trouve ici, et c'est ce que nous allons faire. J'ai donc appuyé sur la barre
de contrôle et sur la barre d'espace. Maintenant, je regarde dedans, et je suis ici dans
le dossier de contenu. Je vais
créer Laisse-moi vérifier l'intérieur du personnage dans
le joueur sous Interface. C'est en fait un très
bon endroit pour le mettre. Et sous interface, nous
avons notre barre de santé. Je vais créer
un nouveau widget. Ne me permettez pas de chercher ici. Interface utilisateur, plan
du widget. Il s'agit d'un widget utilisateur, que nous
appellerons ensuite écran de mort. OK. Donc un écran de mort. Maintenant,
double-cliquons sur l'écran de mort. Mettons-le dans la fenêtre principale pour
ne pas avoir à nous déplacer. Et puis, comme avant, la première chose que vous
allez mettre, insérer un panneau Canvas puis de cliquer sur
Zoom pour l'ajuster, d'accord ? Cette matraque Hera Zoom to Fit. Celui-ci, Zoom to fit. Il zoome
donc et s'adapte à l'écran. Maintenant, par souci de simplicité, nous allons ajouter
un fond d'image. OK. Et pour ce qui est des ancres, ancrons-nous dans le coin
supérieur gauche Nous lui donnerons les positions
zéro et zéro. De ce côté, nous allons
faire en sorte que ce soit zéro ou zéro. Taille, je vais le
faire en fait, non, laisse-moi l'aligner
sur tout. Et puis j'utilise
celui-ci, celui-ci ici. Cela va être bon pour le faire remplir tout
l'écran. Appuyez dessus.
Ensuite, en ce qui concerne le décalage, je vais décaler zéro
et décaler zéro. C'est bon. Maintenant, pour la couleur et l'opacité, je vais double-cliquer Je veux que sa couleur soit noire. Et puis c'est l'opacité. L'opacité est cette valeur inférieure,
RGBA, A correspond à Alpha ou à l' Je voudrais le ramener à quelque
chose comme 0,4. Ça va faire office d'un joli fond
sombre. C'est une bonne chose. Maintenant, avec cette image
là-bas, compilez simplement. La prochaine chose que nous
allons faire est d'ajouter du texte. Récupérons ce texte, faisons-le glisser ici,
et à l'intérieur du texte,
nous indiquerons que le joueur est mort. Maintenant, bien sûr, vous pouvez vraiment mettre le
texte que vous voulez. C'est juste pour
montrer comment vous le faites. Maintenant, avec ce texte ici, je vais sélectionner l'
ancre au milieu. Je vais changer sa
position à zéro, zéro, puis sa taille
sur X, voyons voir,
laissez-moi changer sa taille ici à 300 et sa taille Y également à 300. Non, laisse-moi augmenter ce 100 et ensuite l'
aligner ici C'est un texte de base. Maintenant, pour augmenter la
taille du texte, revenons à l'
endroit où se trouvent les propriétés. Tapons la taille. Je vais afficher la
taille de police du texte. Permettez-moi de le porter à
quelque chose comme 80. Oui, 80 c'est bien. Oh, désolée, j'ai cliqué
sur le mauvais endroit. Permettez-moi de cliquer à nouveau dessus. OK. Excellente. Maintenant,
je dois m'en assurer. Oh, non, ça se cumule. Tout ce qui est ci-dessus est
ci-dessous, pas de problème. Maintenant, contrôlez S pour enregistrer. Compilons rapidement. Nous avons maintenant un écran
de décès très basique. Mais cela ne suffit pas. Ajoutons quelque chose
d'un peu plus. Nous allons revenir à
l'art à l'intérieur de l'aventurier. Laisse-moi voir. Avons-nous des sprites de
la mort ? Non, nous ne le savons pas. Je vais ajouter laissez-moi simplement ajouter l'animation de la diapositive
murale, plutôt que la
diapositive murale ici. Et j'appuie sur Laisse-moi voir. Non, je dois escalader
ce toboggan mural. Maintenant que j'ai sélectionné
le toboggan mural, faites une apparition.
C'est l'apparence. J'ai maintenant sélectionné sa taille. À l'heure actuelle, il est fixé à 140. Permettez-moi de le fixer à environ le double de
ce montant, soit 280. OK. Toujours pas assez grand. Je pense que laissez-moi faire
maintenant 400 et 160 pixels. OK. Oui, cela fonctionne
assez bien. Posez-le ici. Voici donc notre écran de bureau. À l'heure actuelle.
Ajoutons encore une chose, qui est un simple bouton. Oh, ce n'est pas dans la hiérarchie. Je dois chercher
ici, rechercher un bouton. Ensuite, nous allons
glisser-déposer ce bouton
ici. Augmentez légèrement sa taille. Maintenant, je vais le récupérer
et ajouter un autre bouton, juste pour le copier
ici. C'est une bonne chose. Nous avons donc une image simple
indiquant que le joueur est mort, et nous avons deux boutons. Cool. Maintenant que nous
avons nos deux boutons, ajoutons du texte. J'ajouterai le texte
au premier bouton, puis je le ferai glisser à
nouveau vers le second bouton. Remarquez comment il s'est
positionné automatiquement au milieu. Et pour le premier bloc de texte, je vais sélectionner son texte ici. Je dirais que le texte
indiquera redémarrer. Et puis le dernier
bloc de texte s'
appellera exit.
C'est sur le texte. Maintenant, en ce qui concerne les boutons, je vais changer ce
bouton pour que le nom du bouton lui-même s'appelle exit. Et puis au redémarrage, le nom du bouton lui-même, je vais le changer pour
redémarrer, redémarrer, d'accord ? Maintenant que cela a changé, ce qui concerne la commande, notez que le texte n'
est pas important. Le vrai nom qui compte,
c'est le nom inscrit sur le bouton. Maintenant que c'est fait,
organisons-les de manière à ce qu'ils
restent alignés les uns avec les autres Nous allons donc rechercher ce qu'on appelle une boîte verticale. OK. Nous allons maintenant obtenir cette boîte verticale et la
faire glisser dans la scène. Et pour ce qui est des points d'ancrage, nous voulons l'ancrer
à la quatrième médaille Debout, un moment. C'est bon. J'ai réglé l'appel et tous les défis
qu'il a soulevés. J'adore être utile. Et lorsque vous développez des
jeux, vous devez organiser
votre vie. Revenons maintenant au didacticiel. Maintenant que j'ai mis
cette case verticale, remarquez qu'il n'y a rien
dedans pour l'instant, d'accord ? Oh, mon Dieu. Effectuez un zoom arrière. J'ai été distrait. Maintenant que
j'ai cette case verticale, j'ai sélectionné la case verticale. Ouvrons-le. Je pense que c'est une bonne taille. Nous voulons placer de nombreux éléments
à l'intérieur de la boîte verticale. Nous voulons qu'ils
y participent afin qu'il puisse les organiser. C'est le but d'une boîte
verticale en général. Il organise les éléments
en lui-même. Maintenant, mettons les éléments
à l'intérieur de la boîte verticale. zoomant sur la zone hiérarchique, nous allons simplement la resserrer. Tout ce que nous allons
faire, c'est obtenir ces deux boutons, les déposer
dans la case verticale puis nous aurons cette image du joueur
mort et cette image, qui devrait être le
petit graphique du joueur, et les déposer également
dans la case verticale. Et maintenant, quand on fait un zoom arrière, oh, regardez cette organisation. Ils ont modifié leur commande. Ils ont changé de taille. Nous devons donc maintenant ajuster la taille et l'ordre
pour que cela ait du sens. Pour commencer, nous
allons faire glisser le texte. Donc, pour faire glisser le texte, je veux que les joueurs soient morts, c'est la deuxième chose
à faire. Je vais donc sélectionner le texte des joueurs morts à l'intérieur
de la case verticale. Je vais le mettre ici, et maintenant regardez, il est en haut. Ensuite, je reviendrai
sur cette image. Je vais le faire glisser au-dessus du
texte, et je vais l'arrêter. Oh, non, ça va trop loin. Mets-le au-dessus du
texte, nous y voilà. Et maintenant, l'image
vient en premier, l'image en premier, et le
texte, puis les boutons. C'est exactement ce dont nous avons besoin. Maintenant qu'ils sont
organisés de cette façon, commençons par fixer
la taille de l'image. J'ai donc sélectionné l'image, et sur le côté droit, remarque qu'elle est réglée sur l' alignement
vertical et l'alignement
horizontal. Nous allons donc définir son alignement
vertical à ce qu'il soit centré horizontalement. Et juste en cliquant
au centre horizontalement, j'ai arrêté
d'être écrasée, d'accord. Et maintenant qu'il n'est pas
étiré, il est encore petit, mais il
n'est pas étiré. Maintenant, je vais sélectionner à nouveau l'
image, et nous voulons modifier légèrement
sa taille, car nous ne voulons pas que ce soit aussi
petit qu'ici Modifions-le donc maintenant et
agrandissons-le. Donc, l'image sélectionnée, nous voulons maintenant qu'elle
soit beaucoup plus grande. Il suffit de sélectionner l'image. Et puis dans le panneau
des propriétés, remarquez qu'il y a le pinceau. Passez dans le pinceau, puis il y a la taille de l'image. Il suffit donc de le changer de 32 par 32 à quelque chose comme 200 par 200. Cela devrait nous donner une image de taille beaucoup
plus raisonnable. J'aime beaucoup ça.
Faisons-le encore plus grand. Faisons en 300, 300. C'est une bonne chose. Faisons-le encore plus grand. Faisons 400 par
400, 300 semble le
faire apparaître clairement. Il s'agit d'une bonne taille d'image. Maintenant, cliquez sur le
texte de Play is dead. Assurons-nous que l'alignement
horizontal ici est au milieu. Et cela nous rend heureux. Ensuite, nous allons maintenant
sélectionner le bouton. La première chose que
nous allons faire est de changer la
couleur de ces boutons. Je pense que nous allons changer la
couleur pour quelque chose comme, d'accord ? Non, c'est le bouton. La couleur du texte, reste le
contrôle Z pour changer cela. Changez la
couleur de fond en quelque chose d'un peu plus. C'est bon. Les boutons peuvent être entièrement noirs. Je pense que je suis d'accord avec ça. Mais avec du texte blanc, ce qui est toujours bon
pour la lisibilité Je crois fermement aux
arrière-plans noirs, aux textes blancs. Et maintenant, ajoutons
un peu d'espacement entre le joueur
et la fin de la partie. Sélectionnez le texte mort lu. Sur le côté gauche, il y a
une option appelée rembourrage. OK. C'est ça. Et nous voulons ajouter un peu de
rembourrage en bas. Ajoutons environ 200 pixels, ce qui donne
cet espace, c'est trop, 50 pixels. Parfait. Donc, seulement 50 pixels de rembourrage
inférieur font l'affaire. Et maintenant, nous avons nos boutons. Je vais donc sélectionner deux fois les
boutons en maintenant la touche Shift enfoncée. Lorsque je clique sur les
boutons, nous pouvons modifier les valeurs
des deux boutons en même temps. Je viens donc ici
en apparence. Laisse-moi voir. Je voudrais
ajouter un peu de rembourrage Je pense qu'aux deux en haut, je vais ajouter 20 pixels pour leur
donner un peu d'espacement vers la droite, 50 pour leur donner peu d'espacement et 50 vers la gauche Oh, pas jusqu'au fond. Au bas, il devrait rester 20. Donc, à gauche et à droite,
nous aurons 50 pixels. Peut-être que nous allons en ajouter d'autres. Donc 100 à gauche, 100 à droite. Ensuite, compilez V. Voici notre écran de mort
tel qu'il est actuellement, et je peux juste
ajuster légèrement le cadre vertical, et vous verrez comment
le fait d'ajuster le cadre vertical va changer la position
de tout Nous avons
donc une interface
utilisateur raisonnable. Maintenant, je vais m'assurer que la boîte verticale est
ancrée en haut au centre. La position X me permet de
le mettre rapidement à zéro. OK ? C'est ce qui
va le mettre là. n'est pas ce que je veux. Alignons-le à nouveau correctement en
haut au centre. Et je veux que la
position verticale de la boîte soit beaucoup plus élevée. Oh, j'ai fermé ça. Revenons ici. Je veux que ce soit beaucoup plus que
quelque part entre les deux. Donc, il est en taille X, laissez-moi le
faire en taille X 700. Est de taille Y 800. Cela va donc
me permettre de le positionner avec précision. Puisque je sais que
sa taille X est 700, 700/2 est 350, je peux donc simplement entrer et le mettre en
position X sur moins 350 OK ? Maintenant, nous
avons un menu de base, qui fonctionne en cas
de
mort. Compilez rapidement ,
mais il ne fonctionnera pas encore, mais une fois ce joueur mort, nous voudrons voir
cet écran de mort. Passons à l'ajout de cet écran de
mort au jeu.
39. 37 Ajouter l'écran mortel sur la mort: Maintenant que nous avons créé
l'interface utilisateur, alors que l'écran est ici. Maintenant, nous devons simplement nous
assurer qu'une fois que la
barre de santé passe à zéro, l'interface utilisateur
s'affiche à l'écran. Revenons donc au personnage
du héros. Maintenant, nous savons comment
vérifier qu'il est mort ou vivant, et c'est ce que nous
allons utiliser. Supprimons maintenant la partie vivante. Nous savons déjà que cela
fonctionne correctement, et nous allons supprimer cette chaîne. Nous n'avons pas besoin de ces écrans
d'impression car nous savons
qu'ils fonctionnent correctement. Maintenant, la prochaine chose que nous
allons faire est d'ajouter simplement le widget
à l'écran. Maintenant, de la même manière que
nous l'avons fait pour la barre de santé, nous allons simplement le faire ressortir. Et la première chose que
nous allons
faire est de
mettre le jeu en pause. Nous allons donc définir la pause du jeu et définir la valeur de
la publication pour qu'elle soit vraie. OK. C'est ça. Nous avons défini la
valeur de la publication sur true. fois cela fait, la prochaine
chose que nous allons faire, nous allons le faire glisser, c'est créer un widget. Quel widget, c'est simple, ce sera le widget de l'écran de mort. Tapons donc l'écran de mort, et cela créera
l'écran de mort ici. Maintenant, pour ce qui est de posséder un joueur, nous allons procéder exactement de
la même manière que nous avons ajouté le
baro de santé ici Nous allons donc venir
ici et nous allons chercher le joueur local grâce à ID. Alors vas-y. Et nous voulons que ce
soit le joueur zéro. Nous avons donc créé ce widget d'écran de
mort. OK. Ensuite, nous
allons simplement l'ajouter type de fenêtre
d'affichage
et à la fenêtre d'affichage Et voilà. Et connectons-le ici. C'est la valeur de retour. étant fait, permettez-moi d'
étendre un peu ce point. Ensuite, nous allons configurer la trajectoire de la
souris pour qu'elle soit visible. Alors, traînons ça en longueur. Et nous voulons taper
set show mouse, en fait, set mouse
cosa. Non, non, non, non. En fait, ce que nous allons faire c'est obtenir le joueur
local depuis ID, puis à partir de là, nous le ferons glisser pour le joueur local. Nous allons régler la souris. Voyons Cursor.
Oui, nous y voilà. Non, ce n'est pas celui que nous voulons. Nous ne réglerons pas le curseur de la souris. Oui, nous sommes ici paramétrés Afficher le curseur de la souris. C'
est celui que nous voulons. Nous l'avons obtenu grâce à
l'identifiant Get Local player from ID. Et nous voulons que le
curseur de la souris soit visible. OK ? Ensuite, nous voulons changer le mode
de saisie afin
de ne plus entrer de données
dans le monde du jeu Nous allons simplement régler le mode de saisie. D'accord, et nous allons le
configurer uniquement sur l'interface utilisateur. Et quelle manette de
joueur sera cette même manette de
joueur. Et puis dans le widget pour se concentrer, nous voulons savoir où se trouve le widget
d'écran de bureau. Vous voulez vous concentrer sur le widget
de l'écran de mort. Et avec ça, d'accord, testons-le dans le jeu. Donc, niveau développeur,
ça joue en direct, vivant. En fait, accélérons les choses. Je vais sélectionner
l'objet endommagé, et je vais augmenter
les dégâts de 10 à 25 me suffit
donc de
passer au-dessus de quatre de ces objets pour en déclencher
un, deux, trois, quatre Regarde ça. Le joueur est mort, et maintenant il nous montre
l'écran. C'est cool. Donc, un, deux, trois, quatre. Boum. Le joueur est mort. Maintenant, l'écran de décès s'
affiche correctement. Maintenant que c'est là,
revenons à l'écran de mort et ajoutons quelques nœuds pour nous
assurer que ces boutons
font ce qu'ils disent. Nous allons faire en sorte que ce
bouton redémarre le niveau, et nous allons
faire en sorte que ce bouton quitte le jeu. Allons-y.
40. 38 Ajouter une fonctionnalité à l'écran mort: C'est bon. Maintenant que nous avons un écran de mort, donnons-lui des options de menu réellement utilisables et utiles. Tout d'abord,
passons directement à
l'écran de décès. OK. Et maintenant, nous
allons commencer par faire en sorte que les boutons de redémarrage et de
sortie fonctionnent réellement. Pour commencer, nous allons
venir ici et vous
voyez que c'est une variable, sélectionnez-la pour en
faire une variable. Et pour la sortie,
faites-en également une variable. En faire une variable est ce qui va nous
permettre d'
y accéder et
de l'utiliser pour différentes fonctions. Ensuite, descendez et remarquez
qu'il y a des événements ici. Créez rapidement un événement sur lequel vous n'avez pas cliqué. C'est pour la sortie. OK, alors le
voici OnClickedeIt. Revenons ensuite à la page de conception, puis cliquez sur
le bouton Redémarrer, puis notez ici, créez un autre événement sur lequel vous n'avez pas cliqué Nous avons donc OnClick
restart et OnClick Exit. Et maintenant, nous voulons ajouter des fonctions à ce
bouton, à ces boutons. Maintenant, les fonctions. Mmm, hum. Excusez-moi. Les fonctions
sont assez simples. Commençons par le plus
basique qui sort du jeu. Maintenant, pour quitter le jeu, ajoutons d'abord un commentaire, glisser vers l'intérieur ou vers l'extérieur. Et puis, comme d'habitude, changeons. J'adore le texte blanc
sur fond noir. Augmentez la taille du texte
à environ 50, mais il est grand et faites-le glisser vers l'extérieur. Je dirais de quitter le
jeu. C'est tout. Donc, en cliquant sur Quitter
, il suffit de le faire glisser vers l'extérieur, puis de taper Quitter le jeu. C'est tout. OK.
Alors arrête. Il suffit de démissionner. C'est tout. Sortez, quittez le jeu. OK. OK, très bien. Peut-être que la taille du texte est un
peu grande. Faisons en sorte qu'il soit 24. OK, c'est beaucoup mieux. Ensuite, je vais le
copier-coller. Faites-le glisser. OK, c'
est bien trop grand. Revenez ici. OK. Puis cliquez sur Redémarrer. Je vais donc vous dire de
redémarrer le niveau. OK. Maintenant, au redémarrage, nous allons devenir
un peu plus complexes. La première chose que
nous allons faire c'est de le
traîner ici. Ensuite, ce que nous voulons, c'est
obtenir le nom du niveau actuel, d'accord ? Cela va obtenir le
nom du niveau actuel. C'est la première chose que
nous allons faire. Maintenant que nous en avons fini avec cela, la prochaine chose que nous allons faire est de
vouloir ouvrir le niveau par son nom. OK. Et nous allons lier le nom
du niveau actuel au niveau ouvert par nom. Je suis sûr que
ce que cela va faire va de soi. Il obtient le nom du niveau et
indique « ouvrir le niveau », et ce sera le niveau
actuel dans lequel nous nous trouvons. C'est donc très bien. Et c'est fiable. Il existe de nombreuses façons de le faire, mais c'est la méthode la plus
fiable. Cela fonctionnera toujours.
Obtenez le nom du niveau actuel, ouvrez le niveau par son nom. Avec juste cela, cela fonctionnera. Mais ce que nous
voulons faire, c'est nous assurer que le
mode de saisie est correctement défini. Nous allons donc appeler, en fait, non, nous allons d'abord appeler, obtenir le joueur local par identifiant. Voyons voir, obtenir un
lecteur local à partir d'un identifiant, parfait. Et nous voulons que les joueurs soient nuls, puis nous allons le
faire glisser vers l'extérieur et définir les entrées. Voyons voir, régler le mode de saisie. Et nous voulons régler le mode de
saisie uniquement sur jeu. Ensuite, nous allons
le traîner ici. Et nous y voilà. Alors
allons-y. Quitter le jeu, c'est simple. Au clic, quittez le jeu. C'est simple. Cependant, pour redémarrer le
niveau en cliquant sur Redémarrer, nous commençons par le nom du niveau
actuel G, ouvrons le niveau par son nom, puis nous obtenons la
manette du joueur à partir de l'ID, et nous réglons le
mode de saisie sur jeu uniquement Passons maintenant
au niveau des développeurs. Je suis mort, je peux cliquer sur
Exit et je m'en vais. Cependant, je pourrais
aussi, une fois mort, cliquer sur Redémarrer, et
le niveau redémarre Redémarrer. Parfait. Nous avons donc maintenant un système
de mort par le travail. Le joueur peut mourir, puis il peut quitter le jeu ou le redémarrer Cela fonctionne fondamentalement bien
et fonctionne toujours Nous sommes en mesure de déménager,
tout le reste fonctionne. C'est une
ligne de base suffisante et fantastique. Passons maintenant
à la création du joueur, maintenant qu'il
peut subir des dégâts, donnons-lui la
possibilité d'infliger des dégâts en lui donnant une attaque et en
créant un mannequin d'entraînement, que nous pouvons toucher et réduire
sa santé à zéro Faisons-le dans la
prochaine série de leçons.
41. 39 Ajouter les entrées d'attaque du joueur: C'est bon. Dans cette vidéo, nous allons vous
expliquer comment ajouter
rapidement une entrée d'attaque à l'épée. Nous voulons simplement
configurer l'entrée. Maintenant, actuellement, dans le jeu,
lorsque iPressPlay, si iPressCKRather, cliquez avec le bouton
gauche de la souris sur la manette, remarquez qu'en
haut à gauche, le texte indiquant « attaque » s'affiche . Lorsque je me
déplace, j'appuie sur E, le
texte indiquant l'attaque s'affiche, puis sur ma manette, lorsque je me déplace vers la gauche ou la droite, je peux immédiatement appuyer sur
le bouton X de la Xbox et
le texte d'attaque s'affiche. Voici comment vous
allez le configurer. Maintenant, retournez à Controls, qui se trouve dans ce dossier. Il s'agit du même dossier
que celui que vous utilisez pour configurer votre saut, vos mouvements
et votre carte de joueur dans Unreal Engine Vous allez créer une nouvelle action de
saisie et l'appeler attaque
Mele , attaque MELEE Maintenant, lorsque vous y entrez, vous pouvez le laisser tel quel
et il peut rester
un booléen numérique Vous n'avez pas besoin d'
y apporter de modifications. Configurez simplement l'action,
appelez-la Melata. Une fois que vous avez terminé, vous devez accéder à la carte du joueur, qui est le contexte de
mappage d'entrée. Lorsque vous accédez à la carte
du joueur, au contexte de mappage d'entrée, vous voulez
vous assurer de venir ici et
d'ajouter une nouvelle cartographie. Une fois que vous aurez fini
d'ajouter cette nouvelle cartographie, vous l'ajouterez en tant que Mon attaque, que vous sélectionnerez
dans une liste déroulante. Trouvez l'action de saisie Mattach. OK. Une fois cela fait, ajoutez de nouvelles entrées, ajoutez le bouton gauche de la souris
pour déclencher la méta-attaque, ajoutez E sur votre clavier
pour déclencher la méta-attaque. Et puis si vous
avez une manette, si vous n'en avez pas, c'est bon,
vous pouvez ignorer cela. Mais si vous avez une manette, vous devez également
appuyer sur ce bouton, ou comme déclencheur pour le metack Une fois que vous avez terminé
cette étape, qui est très, très similaire à la façon dont vous avez
configuré le mouvement, d'accord. Une fois cette étape terminée, vous devez
maintenant trouver le plan de
votre joueur Maintenant, le
plan du joueur doit se trouver sous Personnages, joueur, et là se trouve notre classe Plan de
héros Maintenant, dans le plan du
héros, cette partie est très
facile à comprendre Bien entendu, créez une zone de commentaire qui contiendra
les données et dites : «
Hé, c'est ici que se
trouvent ces nœuds pour l'organisation ». Ensuite, vous allez
cliquer avec le bouton droit de la souris et rechercher mon attaque, ce qui fera apparaître
l'entrée « attaque moi ». Une fois cette entrée entrée, demandez-lui
simplement d'imprimer la chaîne et appelez
cette attaque de chaîne. Et avec ça, c'est terminé. Nous avons maintenant le code de base
pour notre configuration d'attaque Me. L'attaque des repas est donc prête. Nous sommes donc maintenant prêts à commencer à
ajouter et à implémenter, en
ajoutant la boîte de dialogue, puis l'animation. Mais revenons-en
à cela dans la prochaine vidéo.
42. 40 Création d'un mannequin de combat Partie 1: Maintenant que nous avons une idée de base de ce que sera notre attaque
,
nous allons avoir besoin de quelque chose contre lequel nous pouvons nous
entraîner. Pour ce faire, nous avons besoin
d'un mannequin d'attaque de base
, que nous allons utiliser Pour ce faire,
nous allons simplement retourner dans le dossier de notre
personnage. Et cette fois, nous allons
créer un nouveau dossier, et nous allons l'
appeler dossier. Nous allons appeler cette attaque de
dossiers factice, d'accord ? Parce que nous allons
ajouter et créer un dammi d'
attaque de base ici Nous allons donc créer
une classe de plan, et nous voulons que ce soit voir Nous voulons que ce soit une base.
Voyons voir, voyons voir. Voyons voir. Que voulons-nous ? Faisons en sorte que ce soit un
personnage, d'accord. Mais ce ne sera
qu'un mannequin d'attaque. OK ? Ce
sera notre mannequin d'attaque Et
double-cliquons rapidement sur le mannequin d'attaque. Et qu'est-ce que nous voulons vraiment avec
le mannequin d'attaque, n'est-ce pas ? Allons-nous y ajouter
un cube de base, c' est tout ce dont
nous avons besoin pour y ajouter. En ce qui concerne le matériau, je veux dire, nous pouvons choisir pratiquement
n'importe quel matériau. Ça n'a pas d'importance. OK. Cela n'a pas vraiment d'importance. Mais c'est ce que nous
allons utiliser, d'accord ? Alors compilons-le rapidement. Et avec cette attaque, Dummy, faisons-la
glisser dans le monde entier. Assurez-vous qu'il est égal à zéro
sur l'axe Y en termes de position, car je veux qu'il soit légèrement à droite
du joueur. C'est cool. Ensuite
, nous voulons y ajouter, vous savez, quelque chose d'
assez basique. Nous voulons y ajouter un
inconvénient pour la santé. Donc, à l'intérieur de l'attaque, bon sang, nous voulons avoir une barre de
santé à l'intérieur Maintenant, pour ajouter la barre de santé ici, la première chose que
nous allons
faire est d'accéder au graphique des événements, puis nous allons
entrer dans les variables, et nous voulons créer
une nouvelle variable. Et ce type de
variable sera un float. Et nous allons
appeler cette variable. Nous allons l'appeler
Dam Health. OK, ça va
être une variable. Et nous voulons configurer le Let's
call Let's make the
dummy Health 100, d'accord ? La satanée santé
va être de 100. Cela va rester simple. Maintenant que la
santé du dammi est de 100, nous allons
pouvoir ajouter la barre de santé
au barre de santé
au dammi lui-même afin qu'
il ait une barre de santé
au-dessus de sa tête Maintenant, lorsque nous avons
créé la barre de santé pour la dernière fois, en accédant à l'interface du joueur, nous avons créé cette
simple barre de santé pour le joueur de
cette façon, d'accord ? Nous allons donc faire exactement
la même chose, mais cette fois pour notre dammi Nous allons donc nous contenter de
rester organisés, nous allons nous lancer dans
la lutte contre les attaques. Nous allons
créer un nouveau dossier, et nous allons
appeler cette
interface de dossiers , pour le garder organisé. Donc, à l'intérieur de cela, nous allons écrire click et nous voulons créer
un élément d'interface utilisateur. Et l'élément que nous voulons
créer est un plan de widget. Vous devriez pouvoir le voir de votre côté,
Widget Blueprint, d'accord ? Et oui, nous voulons créer
un widget utilisateur. C'est très bien Et nous allons l'appeler
Dammi Health Bar. OK. C'est ainsi que
nous l'appelons. Nous l'appelons
Dammi Health Bar. Alors, double-cliquez sur
la barre de santé factice. Tout d'abord,
nous voulons ajouter
un panneau de toile, comme toujours. Et puis, après avoir ajouté
le panneau du canevas, nous
voulons avoir une barre de progression. Ragatin. Nous voulons l'ancrer nous voulons vraiment l'ancrer au centre. Vous pouvez donc choisir n'importe quel centre, mais j'aime le placer
juste au milieu. Et puis pour
la position et le décalage, je veux que ce soit un
décalage zéro ou un décalage zéro parce que ça
va être un peu
important, tu sais ? Ensuite, je veux augmenter sa taille Y à
quelque chose comme 300. OK, alors fais juste une bonne
grosse barre santé à la viande. Position des hanches zéro, zéro. Non, en fait,
fixons-le à une position négative 150. Donc, en gros,
ce que j'ai fait, c'
est le déplacer vers le milieu de l'ancre
, le décaler de gauche à zéro, le
décaler de droite à zéro. Et la position Y est négative 150
car sa taille Y est de 300, ce qui l'amène à cette taille. Ensuite, remplissez la couleur, je pense que ce sera jaune. OK. C'est cool. Maintenant que la
couleur de remplissage est définie sur le jaune, réfléchissons à sa progression. Son pourcentage sera Je pense
que son pourcentage sera
nul pour commencer.
OK ? C'est cool. C'
est donc maintenant notre barre de santé. Maintenant, remarquez qu'en ce moment, cela s'
appelle barre de progression. Changeons cela. Et en fait, nous ne pouvons
même pas le laisser progresser,
disons simplement que c'est de l'aide factice Barre de progression Maintenant que notre barre
DamihAlthPgress est définie, nous devons nous assurer de la configurer
en tant que Et une fois tout cela fait, nous en avons pratiquement
terminé ici. Maintenant, revenons à
l'attaque, bon sang, d'accord ? Nous voulons maintenant que notre dammi
d'attaque soit chargé
dans le monde.
OK, ce mannequin d'attaque, nous voulons qu'il ait une barre de
santé au-dessus de sa tête OK. Pour ce faire, nous allons entrer dans
le mannequin d'attaque et nous devons ajouter du code
au début de la partie. Maintenant, créez une grande boîte de commentaires, accord, pour que cela dise : « Hé, cela ajoute une barre de santé
au mannequin et nous partirons de l'événement pour
commencer à jouer, d'accord ? Je vais donc le faire glisser, et nous voulons créer
un widget, d'accord ? Donc, ce que nous voulons, c'
est créer un widget. Nous allons maintenant le sélectionner. Et la classe de widget que
nous voulons est DamiHealth Br. Vous pouvez voir la
barre DamiHealth là-bas parce qu' Areal sait bien
suivre ce que vous avez créé Maintenant que nous l'avons, nous avons le joueur propriétaire, va essentiellement
créer ce faux widget de barre de
santé Testons-le rapidement et voyons à quoi cela ressemble. OK. Maintenant, si nous compilons ici, il ne devrait y avoir
rien à l'écran. Donc, ce que nous devons faire
ensuite, c'est ajouter
à l'écran. Nous voulons donc ajouter à la fenêtre d'affichage. OK. Commencez donc par l'
ajouter simplement à la fenêtre d'affichage Assurez-vous au moins qu'
il apparaisse correctement. Doublons C. Et voilà. Donc, pour le moment, cela
fonctionne correctement, mais il est ajouté
à la fenêtre d'affichage Ajustons ça. OK. Maintenant que
nous avons confirmé notre barre
de santé peut apparaître correctement, supprimons
l'ajout à la fenêtre d'affichage, puis nous allons
venir ici et l'ajouter
au personnage lui-même Nous voulons donc ajouter un widget
et ajouter ce widget. Maintenant, rapidement,
passons à la fenêtre d'affichage, d'accord ? Vous allez donc voir qu'
il y a maintenant ce widget blanc en haut. Il y a cet objet ici, c'est
vrai, qui sera notre widget. Maintenant, ce que nous voulons faire,
c'est maintenant que nous l'avons, déplacer un peu vers
la gauche, attendre. C'est ce que nous voulons.
C'est le cube. C'est le widget que je veux sélectionner. Maintenant que le
widget est sélectionné, nous voulons sélectionner de quel
type de widget il s'agit. Donc, en sélectionnant le widget, si vous venez ici, vous remarquerez qu'il est
possible de
sélectionner la classe du widget et, bien sûr,
de rechercher la barre de santé
Dami, et voilà Il y a donc ajouté la barre de santé
dammi. Voyons maintenant à quoi
cela ressemble dans le jeu. OK. Donc, en gros, vous ne pouvez pas
vraiment le voir d'ici. OK, mais tu peux
voir où c'est. Revenons donc à l'endiguement
de l'attaque. Donc, pour le moment, cela montre que la barre de santé n'est pas visible d'ici, mais elle l'est d'ici. Faisons donc quelques mouvements de base. Nous allons donc sélectionner sa
rotation. Voyons voir. Et nous voulons le faire pivoter sur
l'axe Z de 90 degrés. OK ? Donc c'est par ici. Axe Z, 90 degrés. C'est cool. Et puis
une fois que c'est fait, réduisons-le légèrement. À environ 0,5. Maintenant c'est fait, puis nous voulons l'
augmenter en rotation. Je veux donc qu'il soit
légèrement plus élevé. Voilà, compilez ça. Et maintenant, en attendant, vous pouvez voir que ce
widget est là. OK ? Oui, le joueur a été
déplacé à cause de la zone de frappe, mais nous en
parlerons un peu plus tard. OK. Donc, en gros, ça
y est. Maintenant que nous l'avons, vous pouvez voir cette barre là-bas. Diminons
légèrement sa hauteur. Je veux que ce soit une barre de santé, pas un gigantesque carré de santé. OK. Nous allons donc entrer, débloquer la mise à l'échelle et réduire sa mise à l'échelle sur l'axe Z pour qu'elle soit un
peu plus raisonnable. Vous pouvez le
réduire sur l'axe Z. Donc voilà. Nous avons maintenant cette barre
de santé de base, mais elle n'est pas encore connectée
pour afficher les données de santé. Donc, ce que nous voulons faire,
revenons au graphique des événements. Maintenant que c'est là,
viens ici. Alors glissez-vous dedans. Maintenant, en cas d'événement, commencez à jouer, retirez-le. Tiens bon. Nous voulons mettre à jour cette
barre de santé avec les données correctes. Nous allons donc
récupérer le widget, le faire glisser ici sous forme d'objet. OK. Et puis, à partir du widget, nous voulons obtenir le faux Non Nous voulons réellement faire
ressortir le composant widget. Alors, mettons-le ici. Promouvez-le au rang de variable. Il est actuellement défini sur la
variable widget zéro. Je ne veux pas que ce soit la
variable widget zéro. Je vais donc
appeler cette variable. Au lieu du Widget zéro, je l'
appellerai rapidement barre de santé. Donc c'est comme ça que nous
allons l'appeler, d'accord ? Elle s'appellera la barre de santé. Maintenant qu'elle est
configurée ici en tant que variable, nous voulons la faire glisser vers l'extérieur, et nous voulons dire : « Hey, get dammi No, no, no, get Un moment, il faut vérifier les noms. OK, maintenant attends. Débarrassons-nous de tout ce code initial, car j'utilisais une longue méthode
détournée, et pourtant il existe une méthode
simple et rapide pour faire.
Redescendons. Vous voyez ce
widget de barre de santé. Nous n'en avons pas besoin chez. Nous n'en avons vraiment pas du tout besoin. Permettez-moi de supprimer ce
qui n'est pas nécessaire. Nous allons revenir au widget de
base. Tout ce que nous avons, c'est la configuration fictive de
la barre de santé sous forme de widget, et dans le monde
actuel, c'est à cela que cela ressemble Nous reviendrons
au mannequin d'attaque, et une fois que l'événement aura commencé, au lieu d'avoir à faire
tout le travail nécessaire pour l'appeler, nous allons rester simples Maintenant, cette fois, il ne
nous reste plus qu'
à récupérer le widget et à le
faire glisser ici. Et maintenant, nous avons notre composant
widget. Le composant widget
est maintenant disponible. J'ai déjà la foutue barre de
santé prête à être utilisée. Maintenant, laissez-moi dessiner le sud. La prochaine chose que nous allons
faire est de
lancer pour voir, nous voulons lancer dans la barre d'aide. Non, non, non, je veux jouer. Que voulez-vous en choisir
deux ? Quel composant ? Quel composant ?
OK, avant de lancer ,
en fait, nous devons revenir. Nous avons donc notre widget. Nous ne faisons pas de casting directement. La première chose que nous voulons
faire est d'obtenir un widget. Donc, si vous faites défiler l'écran vers le bas,
si vous tapez G, vous devez obtenir le widget, qui signifie Widget Ce n'est pas le widget C'est
le composant du widget. Ensuite, nous voulons intégrer le
widget dans le composant. Une fois que nous l'avons fait, nous pouvons le faire glisser vers l'extérieur
et dire « cast two », et nous voulons le lancer
dans la barre Damihlth Nous y voilà donc. Et connectons-le rapidement. Maintenant, il passe dans la barre
de santé de Dammi. Mettons-le dans la rubrique
« Organisation ». Gardez-le bien rangé et organisé. Nous avons donc obtenu notre composant widget. Nous avons intégré le widget
dedans, puis nous passons
à la barre de santé de Dammi Maintenant, en tant que foutue barre de santé, faisons-la glisser et disons :
« Hé, voyons voir Je veux avoir la foutue barre
de progression de Health juste
là Va le faire ici. Ensuite, la prochaine
chose que nous voulons faire est de définir
son pourcentage. OK. Définissons donc rapidement son pourcentage sur
cette barre de progression. Définissons donc rapidement
le pourcentage. Mettez-le ici et connectez ces
deux liens ici. Maintenant, avant d'
apporter des modifications appropriées au pourcentage, je vais le fixer à
100 pour ce qui est de la
définition du pourcentage. Compilons-le rapidement et boum, notre barre de santé au-dessus de ce mannequin de combat est
complètement jaunie. C'est cool. Nous allons retourner dans le barrage d'attaque et, cette fois, voir
ce que nous allons faire. C'est à ce moment-là que
le jeu démarre, si vous voulez obtenir la foutue santé, traînez-la ici, et nous voulons dire : « Hé,
récupérez cette foutue santé ». Et une fois que nous aurons obtenu
cette
satanée santé, nous voulons la prolonger et la diviser, et nous voulons la diviser par 100 D'accord, à 100 ans. Faites-le ensuite glisser
ici sous forme de pourcentage, et ce
sera essentiellement y. Compilons. Donc,
lorsque vous appuyez sur Play, le tour est joué. Ça y est. Cependant, il ne subit
pas encore de dégâts. Il ne possède aucune de
ces capacités. Nous avons juste un
mannequin de base avec une barre de santé. La prochaine chose que nous
allons faire est de nous
assurer qu'en cas de dommage, cette barre de
santé
soit correctement mise à jour. Donc, copions ceci. OK ? Faites-le glisser vers l'extérieur. Et voici A, ajoutez une barre de santé au mannequin Non, modifiez votre santé en
fonction des dégâts. OK ? Nous allons donc le faire
ressortir, et nous allons faire pratiquement exactement la
même chose que qui
est de notre personnage de
base, d'accord ? Nous mettons à jour la
barre de santé en cas de dommage. Donc, d'une
manière très similaire, nous venons ici. Nous dirons : « Hé, n'importe quel
dommage ». C'est l'événement. L'événement porte donc sur tous les dégâts. OK. Nous allons donc subir ces dégâts. Et la première chose que nous
allons faire, c'est obtenir cette satanée
santé.
Déposez-le ici. Je veux retrouver cette satanée santé. Ensuite, la prochaine
chose que nous voulons faire, c'
est de réintégrer cette
satanée santé Et cette fois, nous sommes
en train de définir la satanée santé. Nous allons donc obtenir la santé fictive, puis nous allons la soustraire, soustraire et nous
soustrairons les dégâts qu' elle a subis
pour devenir Nous allons donc l'installer là-bas. Et puis, une fois
que nous en aurons fini avec cela, nous allons
venir ici et nous voulons également modifier
ce pourcentage. Nous allons donc récupérer
tout ce code ici, copier et le
coller ici. Donc, juste après cela, nous allons passer à
cette barre de santé ici et suivre
exactement le même processus. OK ? Nous allons donc créer
la barre de santé Dammi , puis nous allons mettre à jour sa barre de progression avec
la nouvelle barre de santé Dammi C'est tout ce qu'il
faut faire. Maintenant que ce code est
prêt à être configuré, revenons en arrière et infligeons des
dégâts
au joueur afin qu'il puisse réellement toucher cet ennemi
et lui infliger des dégâts.
43. 41 Créer une attaque pour un joueur Partie 1: C'est bon. Maintenant que nous avons un mannequin d'attaque de base, d'accord, nous allons revenir au personnage
du héros et
à la viande, et nous voulons vraiment ajouter
quelque chose à la viande Et je vais partager avec
vous un moyen très efficace d'intégrer des attaques à la fiables et raisonnables dans
votre jeu, qui
fonctionnera à chaque
fois que vous l'appellerez
et qui sera fiable. Cependant,
revenons rapidement à nos personnages Je vais ouvrir le dossier Attack Dammi
et m'assurer que le héros
et l'
Attack Dammi sont ouverts car nous
allons devoir faire allers-retours entre eux, assurer que le code
fonctionne correctement car les deux
vont interagir Maintenant, venons-y. Juste un bref aperçu. Lors du chargement, nous
ajoutons la barre
de santé au Damik que nous avons
configuré à ce pourcentage Et puis, après chaque
dommage, nous obtenons la satanée santé, puis nous changeons le
nombre indiqué dans la barre de santé Ce code doit être
compréhensible pour vous et vous devez
tout avoir prêt à l'emploi. Maintenant, avec tout cela, ce dont nous avons besoin, c'est
de quelque chose qui puisse causer des dégâts, et allons-y. Une très bonne façon d'ajouter cela
, j'ai appuyé sur la barre d'espace. Je vais en revenir
aux personnages. Je vais retourner dans le lecteur, et je vais
créer un nouveau dossier. Et à l'intérieur de ce nouveau dossier, je vais plutôt appeler le
nouveau dossier
Damage it box, non ? Ou parfois j'aime parler
d'objets endommagés, n' est-ce pas ? Alors, endommagez les objets. C'est une
façon de l'appeler,
mais permettez-moi de renommer nom
que j'ai déjà utilisé Je ne veux pas que cela
soit source de confusion. Permettez-moi donc de le
remplacer par Damage at Box. Et la raison en est que je veux être capable d'
avoir des attaques différentes, des boîtes de frappe
endommagées différentes, et vous voulez que cela soit distinct du personnage
principal. Allons-y et laisse-moi
t'expliquer cela clairement. Donc, à l'intérieur, nous allons
créer une classe de plan, et ce que nous voulons, c'est
un acteur de plan simple Appelons donc
cela simplement SWOD dash. En fait, disons que c'est l'attaque
SWOD Underscore One. OK ? Il s'agit donc d'une
attaque SWOD sous le score 1 Double-cliquez dessus
pour l'afficher. Permettez-moi de l'additionner ici. Et dans la première attaque SWOD, nous voulons simplement
ajouter une collision. OK ? Quel genre de collision ? Nous voulons ajouter une collision de
boîtes de base pour cela. Et puis, pour plus de clarté,
ajoutons également cela,
car vous pouvez voir que ajoutons également nous avons
ajouté cette collision de boîtes. Ajoutons également un simple cube. Oh, désolée. Ajoutons un cube. Je ne sais pas pourquoi nous sommes là. Nous avons donc ajouté un cube, non ? Maintenant, nous pourrions décider d' ignorer le curseur de la boîte
et d'utiliser le cube seul. Mais je vais rapidement dissocier sa mise
à l'échelle. Je veux donc le redimensionner sur
l'axe Y pour qu' il soit Laisse-moi le laisser sur un sur l'axe Y. Oh, pas dix, dix c'est trop grand. Je le veux sur un.
Mais ensuite, je veux qu'il soit un peu plus court
sur l'axe vertical. Je l'ai donc réduit à
la verticale à environ 0,2. Voici donc
notre simple attaque SOD. Maintenant, ici, ça ne
fait rien. Ce n'est qu'une simple attaque SWOD. C'est juste, tu
sais, assis là. Donc, ce que nous voulons, c'est
créer la scène. Gardez à l'esprit que cela
ne fait rien, mais nous appellerons simplement
l'attaque SOD une attaque Nous allons donc revenir au
héros attaqué au corps à corps. Et ce que nous voulons, c'est au lieu de simplement imprimer
un texte appelé attaque, nous voulons qu'il soit également inclus
dans le texte de l'attaque à l'épée. Nous allons revenir au héros et juste après le texte
qui dit « attaque
» nous allons ajouter les nœuds qui
vont le générer Maintenant, l'apparition
est assez simple. Nous allons le faire glisser et
taper span Okay. Et c'est un acteur issu de la classe
que nous allons sélectionner. Maintenant, ce que nous allons apporter, est chercher
Sword Attack One. Parfait. Maintenant, nous devons
décider de l'endroit où il va apparaître et
de son mode de
gestion des collisions, d'accord ? Mais c'est bon. Nous n'avons pas
besoin d'y toucher pour le moment. Nous allons sélectionner la transformation
d'apparition, puis nous la diviserons simplement parce que nous voulons qu'elle
apparaisse à un certain endroit En ce moment, il apparaît
à zéro, zéro, zéro. Donc, si nous revenons, nous faisons un zoom arrière si nous compilons. En gros, ça l'
engendre plutôt,
désolée, laisse-moi jouer aux stands Donc à tout moment, remarquez,
cela ne fait que générer cela. C'est tout ce qu'il fait.
Ça fait apparaître un objet juste là Donc ça le fait apparaître là-bas. Nous voulons qu'il apparaisse dans la zone centrale
du personnage, d'accord ? Nous allons donc revenir au
héros et nous
voulons changer l'endroit où
il va apparaître Donc, là où nous
voulons qu'il apparaisse, c'est autour de l'endroit où se trouve le flip book
en papier Alors laisse-moi glisser
le flipbook en papier. Ensuite, je veux simplement
obtenir la position du mot, obtenir la position du monde parce que
je veux arriver là où il se trouve. C'est une bonne chose. Et juste
après avoir obtenu son emplacement, nous le connectons à la travée. En fait, permettez-moi de
rompre ce lien. Non, non, non. Veuillez
recombiner la broche de structure Oui, d'accord ? Voyons simplement
pourquoi je me sépare ? Je veux recombiner. Je ne veux pas me séparer. OK, alors
attachons-le rapidement juste là, non ? Nous avons donc obtenu le
flipbook en papier dans lequel nous l'avons traîné,
nous avons trouvé l'emplacement sauvage,
puis il nous avons trouvé l'emplacement sauvage, sera
connecté à la transformation du Et c'est ce que vous obtenez maintenant. Appuyons donc sur
Play. Boom, remarque où il est apparu. OK ? Maintenant, revenons en arrière. Le seul problème que nous avons,
c'est que lorsque nous l'avons intégré,
cela entre en collision avec l'acteur, ce qui n'
est pas ce que nous voulons Nous allons donc sélectionner
cette attaque à l'épée ici. Ce cube est là, et nous allons
rechercher une collision. Et pour le moment, sa collision est configurée pour bloquer toute dynamique, ce que nous ne voulons pas. Disons que c'est
superposer tout ce qui est dynamique. Le chevauchement signifie qu'
il se chevauchera. Il sera capable d'entrer en collision
avec des objets et de les franchir, mais pas de les bloquer. Essayons donc de le faire tourner. Et remarquez que cela se chevauche. Et chaque fois que je clique sur Attaque, ça apparaît dans l'une d'entre elles, d'accord ? Et si je maintenais simplement le bouton
d'attaque enfoncé, cela les fait apparaître à l'infini. Mais c'est stupide, mais nous y
reviendrons plus tard. OK ? Au moins maintenant, nous savons avec certitude que nous
pouvons cliquer sur le bouton d'attaque, et cela l'affichera C'est génial. Maintenant que
nous avons compris cela, nous devons simplement ajouter un positionnement un
peu plus intelligent Donc, pour commencer, cette attaque à l'épée,
revenons au héros Donc, à l'heure actuelle, il s'agit de trouver l'emplacement sauvage
, puis de le faire apparaître exactement dans
l'emplacement sauvage Mais peut-être que
ce n'est pas ce que nous voulons, non ? Donc, ce que nous allons faire,
c'est rompre rapidement
ce lien, d'accord ? Donc, séparons ça. Et ensuite,
maintenons le cap, laissons tomber. Maintenant, nous savons avec certitude
que c'est le X,
ce plan, le plan
horizontal est le X. Donc, pour ce qui est de cela, c'est bon. Il peut apparaître au
même endroit sur le Z. Il peut apparaître au même
endroit sur l' Mais sur le X, nous allons simplement
l'obtenir puis ajouter 120 unités, ce qui va le faire avancer un
peu sur l'axe X. Viens ici, connecte-le. Excellente. Et avec
ça, compilons. Maintenant, cette fois,
chaque fois que nous entrons et que nous appuyons sur
le bouton d'attaque, il apparaît juste un peu
avant le personnage Oui, je sais que cela ne
fonctionne pas sur le côté gauche, mais ne vous inquiétez pas, nous nous en
occuperons plus tard. Nous voulons d'abord nous
assurer qu'il fait des dégâts. C'est donc à peu près
là que la boîte de frappe va apparaître. C'est cool. Maintenant que
le personnage apparaît dans quelque chose de
simple dans le monde, apportons quelques ajustements Nous avons donc l'attaque
Dammi ici. Nous voulons qu'il inflige des dégâts
au mannequin d'attaque. Donc, quand j'entre
et que je le fais filer, cela devrait endommager le mannequin
d'attaque Maintenant, pour que cela fonctionne, tout ce que nous avons à faire est de le lier. Nous voulons le relier
au mannequin d'attaque. Donc, à l'intérieur de son graphe d'
événements, non ? Nous allons chercher ce cube nous allons venir ici. Je souhaite ajouter un événement sur le début, le chevauchement des
composants, le cube. OK. C'est donc
celui-ci que nous voulons. OK. Le composant commence à se chevaucher. Maintenant, en ce qui concerne l'autre acteur, c'est
l'autre acteur qui va
être le mannequin de l'attaque Nous voulons donc lancer
pour attaquer Dammi. OK ? Donc c'est ici, OK, lancez-vous pour attaquer Dammi Ensuite, configurez-le de telle sorte que l'autre acteur
soit configuré pour être le mannequin d'attaque OK. Et puis, souvenez-vous, chaque fois que cela coïncide
avec le barrage d'attaque, nous voulons infliger des OK. Voilà, le nœud de dégâts
appliqués. Et le montant des dégâts
que vous voulez infliger est de dix, d'accord. Et juste après avoir
infligé dix dégâts, nous voulons détruire l'acteur et
détruire quel acteur lui-même. Il se détruit donc tout seul,
ce qui est cool. OK ? Donc, ce que nous voulons, c'est qu'il apparaisse chaque fois qu'il se superpose sous forme de cube
avec le barrage d'attaque, il infligera dix dégâts
puis se détruira lui-même Maintenant, avec ce simple coddin
d'interaction,
allons-y OK. Il attaque donc, mais ce n'est pas correctement le cas. Cela ne semble pas faire de dégâts, mais
vérifions-le, n'est-ce pas ? Passons donc
au mannequin d'attaque. Et rapidement, en cas de
dommage, laissez-moi vite. C'est juste un
dépannage, d'accord. En
ce qui concerne les dégâts, permettez-moi de les classer dans une séquence. OK, donc la séquence
signifie essentiellement qu'elle fera une
chose puis une autre. Ensuite, je
vais appliquer une chaîne d'impression, puis je vais
dire que c'est
endommagé pour voir si des
dommages sont causés. Donc je suis là. OK, il ne subit donc pas de
dégâts actuellement, ce qui signifie que le casting ne
fonctionne pas correctement. Revenons en arrière et
revisitons le casting. Ah, c'est pourquoi. Comme l'acteur endommagé n'
a pas été sélectionné, laissez-moi le sélectionner
comme acteur endommagé. J'ai sauvegardé, j'y retourne, reviens et je le teste à nouveau. Bien. Remarquez qu'
il subit des dégâts. Excellente. Maintenant, vous
allez le faire fonctionner de telle sorte que lorsque je clique pour attaquer, le mannequin subit des dégâts C'est encore rudimentaire. Il y a beaucoup plus de code pour que cela
fonctionne efficacement, mais c'est une bonne chose. Nous avons désormais la possibilité d'apparaître dans une simple boîte à chaleur,
ce qui fait des dégâts Allons de l'avant
et nettoyons le tout. Ensuite, nous allons juste nettoyer un peu le code pour le rendre
plus efficace.
44. 42 Changements de code pour l'attaque d'un joueur Partie 2: C'est bon. Maintenant que
nous avons, vous savez, la version la plus basique d'
une attaque à l'épée par un joueur, revenons en arrière et revoyons
le DCAA de cette Donc, du point de vue de la conception, le joueur balance son
épée pour infliger des dégâts. Cool. Codez, infligez des dégâts
aux objets ennemis, nous l'avons compris maintenant Et puis l'animation de
Soder Tack et le son de Soda Tack Et nous aborderons
ces deux derniers points dans les prochaines vidéos. Mais pour l'instant,
nettoyons une grande partie du code qui consiste à
infliger des dégâts aux objets ennemis. Maintenant,
cela fonctionne actuellement chaque fois
que vous appuyez sur
un bouton d'attaque. Remarquez qu'il fait beaucoup
de dégâts à plusieurs reprises. Alors,
réglons-les un par un. Nous allons nous assurer qu' il n'inflige qu'une seule instance de
dégâts. OK. Ensuite, nous devons nous assurer que lorsqu'il fait
face à gauche, il apparaisse sur le côté gauche Lorsqu'il fait face à droite, il apparaît sur le côté droit. C'est déjà ce
qu'il fait. Mais oui, c'est la première chose que
nous allons résoudre. Donc, pour l'instant, si nous
revenons au héros, il s'agit de trouver l'emplacement sauvage
actuel. Ensuite, il ajoute 120
unités à la position, et c'est pourquoi il
apparaît. OK. Mais nous allons
apporter un changement rapide. Maintenant que nous savons que cela fonctionne, nous pouvons supprimer tout ce code, et nous continuons à apparaître
dans le code Sword Tack Mais maintenant, sa position
ne sera pas déterminée uniquement par
le flipbook papier Passons maintenant à
la fenêtre d'affichage, non ? Nous avons deux ou trois choses. Il y a le classeur en papier. C'est là que nous configurons
le son des pas du joueur, d'
où
provient le son de démarrage, et celui d'atterrissage, d'
où il vient. Comme tout ce
que fait le joueur est attaché
au flipbook en papier, c'est l'endroit idéal pour ajouter tous ces
autres objets Nous allons donc rapidement ajouter
une simple collision.
En fait, non. Nous allons ajouter un
simple laissez-moi voir, ajouter un simple dont nous avons besoin de
quelque chose de visible. Ajoutons à cela une simple collision de
cases. OK. Et cette case, nous allons
baisser son échelle. Je veux que ce soit
vraiment bas, d'accord ? Et puis sa position, nous allons la
faire glisser juste devant. Je suis sûr que vous pouvez
voir ce qui se passe ici. Et nous allons renommer cette zone et nous voulons la renommer
en SWOT attack, location,
underscore one OK. C'est donc le premier point
d'attaque SWOD, et nous l'avons configuré ici Maintenant, juste pour vous montrer
pourquoi c'est important, laissez-moi ajouter un simple cube, d'accord ? Ajoutez un simple cube, et j'ai ajouté le cube simple à
l' attaque
à l'épée, n'est-ce pas ? Où se trouve ce cube ? Je veux qu'il soit
visible. C'est où ? Je ne le vois pas.
C'est si petit que ça ? S'il est petit, il va
falloir l'agrandir. Oh, claquez. OK,
c'était peut-être trop grand. Réduisons cela plus petit. Oui Maintenant, permettez-moi de vous montrer
rapidement ,
oh, pourquoi y a-t-il une pause ? Il refuse de compiler. OK. Pourquoi ne compile-t-il pas Parce que cette transformation de spawn n'
a rien à relier. Permettez-moi de rompre ce lien. Maintenant, il compile correctement, d'accord. Notez donc que quoi qu'il arrive à chaque fois que le
joueur change de direction, cette boîte à chapeaux se trouve au
même endroit. Vous pouvez le remarquer, n'est-ce pas ? J'espère que tu le vois
clairement. C'est une bonne chose. Maintenant que nous avons
cet emplacement, n'est-ce pas ? Cet emplacement du cube,
permettez-moi de le supprimer. Sélectionnons rapidement le cube
pour le supprimer. Nous savons maintenant que
nous pouvons en connaître l'
emplacement à tout moment . Revenons donc
à l'attaque. Non,
désolée, revenons au graphique des événements des
héros. Nous allons le relier à nouveau, ce qui déclenchera l'attaque SOD Mais cette fois,
nous allons trouver le premier emplacement
de l'attaque SWOD, et le faire glisser ici OK, fais-le glisser ici. Ensuite, nous allons
trouver un endroit sauvage. OK, trouvez son emplacement sauvage, et c'est ce que nous
allons utiliser comme lieu de connexion entre les
Span Transform. Alors laisse-moi empiler ça. J'aime les
empiler verticalement chaque fois que j'en ai
l'occasion, afin que tous les nœuds
puissent se trouver dans une seule zone et que je puisse regarder de bas en haut pour
voir ce qui se passe. Alors compilons ça. Et maintenant, tout d'un coup, il apparaît devant,
apparaît sur la droite, apparaît sur la
gauche, sponsorise la
droite, et passe à gauche Sympa. Nous devons maintenant
résoudre le problème suivant. Pour commencer, ces attaques SOD durent trop
longtemps, d'
accord, et elles sont bien trop nombreuses. Nous devons donc le corriger de telle sorte que lorsque nous apparaissons
dans ce SwodTack, il disparaisse après un
certain temps, d'accord ? Revenons donc à l'attaque
SWOD elle-même. Et nous allons le changer. Donc, pour commencer, il est écrit : «
Hé, aucun événement ne commence à se chevaucher S'il chevauche
le mannequin d'attaque, il inflige des dégâts, puis
il se détruit lui-même Mais ce que nous
voulons aussi, c'est un acteur . Désolée, je
n'en ai pas besoin. Ce que nous voulons,
c'est que l'événement commence à se dérouler. C'est ce que nous voulons. Nous
voulons que l'événement commence à se dérouler. Nous voulons qu'il
y ait un petit délai. OK. Et ce délai sera réglé à 0,01, puis l'acteur sera détruit. C'est une façon de procéder. Donc, si nous entrons, maintenant, remarquez que chaque fois que
je participe à l'attaque SOD, elle est disponible pendant
environ 0,1 seconde, désolée, elle est visible
pendant environ 0,1 Puis elle disparaît. C'est une façon de procéder. Une autre façon de le faire est qu' au lieu d'utiliser Event
Begin Play pour le détruire, nous pouvons utiliser Event Tech et
T est appelé chaque image. Alors laissez-moi interrompre l'
événement et commencez à jouer. Je n'ai donc pas besoin de tarder
si j'utilise le t. Donc, le technicien événementiel va
venir ici, le
connecter là-bas. Et en gros, chaque
fois qu'une image est terminée, l'acteur est détruit. Le soda tack n'
existera donc que pour une seule image. Maintenant, remarquez. En gros,
il est désormais invisible. Donc, si je viens ici et que je clique, remarque que cela fait des dégâts
parce qu'il est créé, mais qu'il disparaît juste
après une image, d'accord ? C'est ainsi que
votre personnage peut désormais infliger
des dégâts avec une zone de frappe invisible
en une seule image. C'est cool. Cependant,
bien que cela soit une bonne chose,
nous avons toujours
le défi de lancer plusieurs attaques à
chaque fois que j'appuie sur le bouton d'attaque . Ça se reproduit en trop grand nombre. Nous devons donc ajuster cela. Revenons-en donc
au héros une fois de plus. La maleta d'
action de saisie améliorée, nous allons apporter une modification Cette fois, nous allons
utiliser ce que nous appelons le déclencheur Do Once,
d'accord ? Fais-le une fois. Donc, cette fois, en faisant glisser le
pointeur depuis le déclencheur, nous dirons : « Hé, faites-le une fois, afin qu'il ne le fasse qu'une
seule fois, puis il ne puisse plus le refaire Et puis terminé
ou plutôt annulé, il se réinitialise. Alors revenons en arrière. Je vais donc cliquer. Oh, désolée, je suis toujours en train de zoomer. Et non, non, ça
ne fonctionne toujours pas correctement. Ce n'est pas annulé.
Brisez ce lien. Je veux qu'il soit terminé, il se réinitialise, compile, revient. Donc maintenant, si j'appuie une fois,
il lance une attaque. Donc, quand j'appuie une fois,
il lance une attaque. D'accord ? Remarquez, je clique une fois, ça fait une attaque
ou dix dégâts. Cependant, si je clique et que je maintiens, rien ne sort tant que
je n'appuie pas à nouveau dessus, d'accord ? Je dois appuyer
à nouveau dessus pour qu'il fonctionne. nous permet de faire en sorte que cela fonctionne de manière efficace et claire. Faisons donc d'abord un autre test. OK. Alors, est-ce que ça fait
des dégâts sur la gauche ? Oui, ça fait des dégâts sur la gauche. Cela fait des dégâts sur la droite. Parfait Parfait
Parfait Maintenant, nous avons le code de notre soda
tack complètement enregistré. Il y a encore d'autres changements, mais si vous avez
tout compris à
ce sujet pour le moment et comment fonctionne son
apparition,
nous pouvons maintenant passer à
l'animation afin d'avoir
une animation Soder Tack
qui soit belle dans nous pouvons maintenant passer à l'animation afin d'avoir une animation Soder Tack
qui soit belle
46. Animation d'une attaque par l'épée de 44 joueurs - Partie 2: Très bien, en tant que héros, en nous éloignant du héros, nous voulons trouver
Sword Attack One, qui est là et qui veut
faire une double vérification, n'est-ce pas ? Est-ce égal D'accord,
est-ce égal à un
parce que c'est un booléen Et si c'est le cas, peut faire la transition. Compilons ça.
Nous sommes intéressés par le jeu. Ainsi, lorsque j'appuie sur
le bouton d'attaque, il est
désormais bloqué dans
cette animation d'attaque. C'est une bonne chose.
Revenons donc au plan Vous voulez atteindre le haut
niveau du héros pour passer
d' une attaque SOD à une idole Copions simplement tout cela. D'accord, parce que je pense qu' à tout moment, vous pouvez copier et
économiser du temps et de l'énergie, pour revenir au mode veille. En gros, il le fera
sauf s'il est désactivé, puis il devrait
redevenir inactif. Donc inactif, attends. Attaque. OK, alors maintenant
attends. Non, il n'est pas encore là. D'accord, mais l'attaque
est toujours en cours, nous devons
donc trouver un moyen de assurer que l'animation de l'
attaque revienne. Nous allons donc revenir au héros. Soda Tack est réglé sur un. Laisse-moi comprendre,
mets-le devant. Donc, juste après son
apparition dans le SOD, soda tack est mis C'est une
façon simplifiée de procéder. Alors maintenant, oui, ça ne marche pas. Cela fonctionne trop vite. Cela passe de l'activation
à l'arrêt trop rapidement, je pourrais
donc introduire
un délai rapide. Et nous allons régler le délai. En fait, pour
que ce délai
soit effectif, nous voudrions revenir en arrière regarder les illustrations pour le joueur. Et ce que nous voulons,
c'est le soda. Le soda tack est composé de 15 images.
Vous pouvez le voir ici. Il s'agit de 15 images, mais il s'agit de
cinq images d'animation. Laisse-moi laisser tomber ça 15-5.
Donc c'est ce qu'il fait. Voyons voir. Boum. Hmm.
Intéressant Il s'agit donc de
15 images sur cinq
images d'animation. Nous allons nous en tenir à cinq pour le moment, par souci de simplicité. Retournez. Donc cinq. Cela va donc
prendre 1 seconde de retard. Alors revenons ici, attaquons, et c'est fait. Donc ça attaque,
puis c'est fait. Si c'
est fait, c'est parce qu'en tant que héros, après un délai d'une seconde, il définit l'attaque à l'épée à un, lieu de zéro à l'
attaque SWOD Nous allons
revenir et changer cela. Au moins, nous savons que la
logique de base est logique. Donc, dès maintenant, il peut partir du mode veille et
ensuite il peut commencer à bouger. Ainsi, vous pouvez attaquer et vous déplacer, attaquer et bouger, attaquer
tout en continuant à bouger. L'
animation de l'attaque se déroule donc. Alors c'est fait. Mais
si vous vous déplacez, vous ne pouvez pas passer à
l'animation d'attaque. Réparons rapidement à ce problème. Maintenant, nous allons revenir en arrière, revenir au
plan d'animation à un niveau élevé Nous ferons de même
pour la course. Oh, permettez-moi de revenir en arrière et de copier
le code parce que je le veux, vous savez, pour sauver des vies
et du temps. Reviens. Donc, en passant de la course à la boisson gazeuse, gros, vous passerez de la
course à la course à la boisson gazeuse. Si un héros est un héros, la tactique de Soder qui fonctionne, d'accord ? Ensuite, vous pouvez passer du
soda à la course à pied. Tant que le soda
tack est réglé à zéro. Donc, en d'autres termes, vous allez de l'
avant, ce qui est une bonne chose. Alors maintenant, essayons à nouveau. Alors je cours. Je prends du soda, je peux recommencer à courir. Je cours, je prends du soda, je peux recommencer à courir. D'accord. C'est une bonne chose. Attaque le sol, froid, attaque
le gazon, froid, attaque le sol. Cela fonctionne parfaitement bien. Alors voyons voir. Oh,
d'accord, il y a des dégâts. Il y a des dégâts. Il y a des dégâts. Il y a des dégâts. Il y a des dégâts. Ce sont des dégâts. Il y a des dégâts. Donc oui, ça fait des
dégâts maintenant. D'accord ? Cela fonctionne. Cela fonctionne en
grande partie comme prévu. Bien sûr, il y a
encore quelques problèmes. Par exemple, il
inflige des dégâts sur la première image, qui n'est pas ce que
nous voulions, nous voulions infliger des dégâts
sur la troisième image. C'est là que c'est
dangereux, non ? Parce qu'il tombe, puis il frappe, il descend, puis il frappe, puis c'est fait, descend, il frappe, il a fini. Nous aborderons ces
ajustements un peu plus tard, mais à présent, la ligne de base fonctionne
correctement. C'est une bonne chose.
47. Animation d'une attaque par épée aérienne de 45: OK, donc maintenant,
en ce qui concerne le sol
, chaque fois que vous vous déplacez,
vous pouvez lancer cette attaque. Lorsque vous êtes immobile, vous pouvez lancer cette attaque de base
simple. Mais qu'en est-il lorsque
vous avez sauté ? Eh bien, maintenant, nous
devons en ajouter un peu parce que vous obtenez
toujours la même case de frappe lorsque vous sautez, n'est-ce pas ? Par exemple, tu as toujours la même case de frappe
quand tu sautes. Mais comment pouvons-nous nous assurer que
vous pouvez réellement faire des dégâts ? Je veux dire, les dégâts que nous avons déjà
infligés ont réglé le problème. Mais comment obtenir une belle
animation aérienne pour l'attaque ? Eh bien, allons-y et ajoutons l'
animation d'attaque par saut. Nous allons donc revenir à
l'aventurier et vous devez rechercher rapidement une attaque dans le domaine
de l'art OK. Et maintenant, remarquez qu'il y a une simple animation d'attaque aérienne, et elle comporte trois images d'
animation. Il passe à 0-03 Trouvez-les. OK,
ils sont ici. J'espère que vous pouvez le voir clairement, mais vous devriez pouvoir le
voir clairement basant sur les
instructions en l'air. Ensuite, vous allez les
transformer en sprites. En d'autres termes, créez un sprite. Ensuite, avec les trois mêmes que vous avez créés sous forme de sprite,
créez un flipbook
et appelez-le simplement Air Sword Attack,
soulignez-en un. OK. C'est donc le nom que je recommande
d'utiliser Air Sword Attack, soulignez-en un.
Il s'agit donc d'un double clic. Voici donc l'attaque à l'épée aérienne. C'est vraiment ça. OK. Notez maintenant qu'il s'agit de
quatre images d'animation. Permettez-moi donc de changer l'
animation en quatre. OK. Cela sera
ajusté plus tard, mais c'est juste pour plus de clarté
visuelle, d'accord ? Maintenant, nous allons revenir à
la source de l'animation, puis nous allons ajouter une
nouvelle séquence d'animation. Et, bien sûr, nous appellerons cela attaque
aérienne SOD en dessous du score
1, et voilà OK. Maintenant, bien sûr, nous allons donner les
données d'animation de l'attaque Air SOD 1, et il y a l'attaque Air SOD C'est celui que
nous allons utiliser. Maintenant,
revenons au plan d'
animation Je vais retourner au sommet. Et nous allons simplement sélectionner
l'animation du saut. Ça va
être la bonne, non ? Restons proches de
l'animation du saut. Désolée. Comment puis-je le déplacer ? Oui,
déplaçons-le un peu. Oh, ça pourrait tout gâcher. Ne faisons pas ça.
Quoi qu'il en soit, prenez-le. Créons donc une statistique
d'animation, que nous allons appeler
Air Sword, attaque à la case départ. OK, pour l'organisation
et la clarté. Et puis à l'intérieur, nous allons
taper play air SWOD attack. Boom, ça y est.
Et connectez-le. Maintenant qu'il est connecté,
compilons rapidement. Revenons en arrière, et nous allons le lier
dès le départ, et nous allons également le
relier au démarrage. OK, relions-le. Et ce que nous
voulons, c'est venir ici, ce sera
exactement la même chose. OK. Donc, en passant de Jump Start
à AirsData, chaque fois que l'on lance
une attaque SOD,
nous pouvons entrer dans Ensuite, lorsque l'
attaque SOD ne fonctionne pas, nous pouvons quitter cette transition OK ?
Compilons donc rapidement car c'est juste en sautant,
uniquement en sautant. Revenez donc au niveau
développeur. Donc, si je suis au sol, il lance cette
attaque SOD par saut Il joue au Air Solar
Tuck. Regarde ça. N'est-ce pas cool ?
Joue au Air Solar Tuck. C'est le Air Slash. Air Slash Maintenant, nous l'avons configuré de
telle sorte qu'
il y ait une barre oblique en l'air Et au sol, il
y a une entaille. Ça a l'air plutôt bien. Maintenant que nous avons cette machine à
souder de base prête
à fonctionner dans le jeu Nous
allons maintenant procéder à des ajustements beaucoup plus
complexes soudure
à air et au point de soudure
au sol et voir comment créer
un système combiné afin d'avoir
plusieurs punaises à soda différentes et
aussi comment relier les attaques, d'
accord, comment les
lier pour
qu' soda différentes et
aussi comment relier les attaques, d'
accord, comment les
lier pour elles
aient juste l'air cool Nous allons donc passer dans
les deux prochaines vidéos à la façon de créer un combo
à trois succès. Qui se combine en lui-même, qui est un système fiable
utilisant un système de combinaison à cadran. OK, nous y reviendrons dans la prochaine série de
leçons. Allons-y
48. 46 Utilisation des notifications d'animation personnalisée pour la boîte à effet de frappe de l'épée: OK. Nous allons donc apporter
un changement très important. Maintenant, dans
notre implémentation, vous remarquerez qu'au
moment où je clique, le mal est fait. La raison en est
que la zone de frappe pour les dégâts est créée
instantanément une fois que nous avons cliqué. Je suis sûr que vous pouvez me voir appuyer sur le bouton d'attaque et les
dégâts sont infligés instantanément. Modifions-le pour
que les dégâts ne infligés qu'à un certain moment
de l'animation, et cela fait partie
des quelques étapes que nous allons pour rendre le combat
beaucoup plus propre et meilleur. heure actuelle, pour que l'
attaque au corps à corps fonctionne, se
passe qu'
il y a une entrée améliorée, attaque
masculine, c'est
notre véritable attaque Et puis il effectue
une attaque SOD. OK. Et puis il apparaît dans
la zone de frappe unique de l'attaque SOD Et puis après un léger délai, il indique qu'environ 1 seconde, cela déclenche l'attaque
SOD. C'est bon. Maintenant, ce que nous voulons, c'est changer ce qui se produit lors de
cette attaque SOD. Au lieu qu'il
apparaisse ici, nous allons rapidement résoudre ce problème Brisons ce lien
et rompons ce lien. Permettez-moi d'élargir rapidement
la zone de commentaires. Donc, tout cela, qui apparaît réellement lors
de attaque, sera
déplacé vers le bas et nous ne laisserons que le
code, qui décidera, d'
accord, si l'attaque SOD se produira ou ne durera pas
une seconde. Nous allons laisser ça là.
Maintenant, à part ça ,
voici ce apparaît
réellement dans les dégâts infligés à
la boîte. Maintenant, avant de compiler, ce que nous voulons, c'est
que les dégâts soient causés au moment
où cette barre oblique apparaît. Vous voyez cette belle touche, c'est à
ce moment-là que les dégâts doivent réellement
toucher l'ennemi Maintenant, pour ce faire, nous allons venir ici. Et ce que nous devons
faire, c'est créer fonction ou un événement spécial, qui apparaisse réellement lors de cette attaque
à l'épée Nous allons donc simplement
cliquer avec le bouton gauche de la souris, puis nous
voulons ajouter un événement. Ensuite, nous voulons ajouter
un événement personnalisé, d'accord ? Tu vois ça ? Ajoutez un événement personnalisé, puis nous
appellerons cet événement span. Appelons ça spun,
SWOT, hit box. C'est comme ça que nous
allons l'appeler. Nous appellerons la case de frappe
SWOD créée par l'événement, et nous la ferons glisser
pour
qu'elle apparaisse dans cette boîte Maintenant, une chose que nous pouvons voir, c'est que maintenant
que cette boîte à chaleur a été retirée, lorsque nous entrerons dans le niveau, nous attaquerons, mais
aucun dommage n'est fait. Maintenant, ce que nous voulons faire, c'est fixer le point d'origine de
la boîte à chaleur lorsque le gazon se trouve
juste après avoir été balayé Maintenant, pour ce faire, nous allons simplement entrer dans votre personnage,
qui est le joueur. Et nous voulons passer à
l'animation et ouvrir la sauce Zi en papier et
le plan en papier de Zedi
Animation Maintenant, en ce qui concerne
la sauce d'animation, passez à l'animation SOD
Attack Une fois que vous aurez vu l'animation
SOD Attack, nous passerons
ici à cette piste de notification OK. Et maintenant, laisse-moi
jouer l'animation. OK. C'est donc par ici que
je veux apparaître dans ce SOD Je vais donc
cliquer avec le bouton droit de la souris et ajouter Notify. Mais quel type de notification, je veux utiliser un nouveau type de
notification et nous l'
appellerons SOT Hit box. Arrête. Tout de suite,
permettez-moi de faire un petit zoom arrière. Immédiatement, le
personnage principal se balance. C'est à ce moment que la boîte
SWoD at apparaît. Maintenant que cette notification appelée Sword hit box a été créée ici, revenons au plan
d'animation Maintenant, vous remarquerez que
dans le Blueprint d'animation, il y a maintenant une nouvelle fonction appelée
SwodHitBX Double-cliquez sur la case
Sword Hit. OK. En fait, voyons voir, ça s'
appelle Sword hit box. Après avoir double-cliqué dessus, nous sommes ici à l'intérieur
de cette notification. Et ce que nous voulons faire, c'est
faire glisser le héros, faire glisser cette variable vers l'intérieur. Ensuite, ce que nous voulons, c'est
signaler cet événement. Nous voulons donc annoncer
l'événement. Voyons voir. L'événement s'appelle spawn
SOD Hit box. C'est ça. Cette fonction ici s'
appelle spawn SOD Hit box, et c'est tout Et Valla vient simplement, en s'
assurant qu'il y a une fonction spéciale dans le plan de notre personnage
principal allant à la source de l'animation, créant une nouvelle notification, accédant à notre plan d'
animation, trouvant cette notification, en
appelant le héros et en lui demandant d'activer la
fonction Sword hit box, vérifions-le et
assurons-nous qu'elle fonctionne correctement Pourquoi ? Oui, remarquez, cela
fait des dégâts sur le toboggan. Cela fonctionne donc correctement, et il fait apparaître la boîte à chaleur de
l'épée correctement et au
bon moment, c'est une bonne chose Maintenant, nous avons séparé l'apparition de notre boîte à chaleur
endommagée, nous l'avons placée et connectée à
l'animation La prochaine chose que
nous allons faire est de revenir à la sauce. Sauvegardons
cela rapidement. C'est une sauvegarde. Sélectionnons rapidement
l'air soda tack et l'air soda tack Faisons également la même
chose à cette heure-ci. Nous allons ajouter la notification et
où se trouve cette notification ? C'est ce qu'on appelle SOD Hit box. Nous ajouterons la notification ici. Il est donc maintenant présent lors l'attaque aérienne et de
l'attaque au sol. Les deux sont capables de le
faire, ils infligent des dégâts en sautant. Je peux faire un truc normal et
il attaquera, il tranchera bien
et il fera des dégâts Maintenant, nous avons une attaque aérienne
qui inflige des dégâts, et nous avons l'
attaque ici OK ? Attaque aérodynamique, et nous
avons aussi l'attaque L'attaque aérodynamique fonctionne. L'attaque au sol fonctionne
et fonctionne de manière fiable. OK. C'est vraiment cool et
c'est une bonne chose. Nous l'avons enregistré. Ensuite, nous allons parler un tampon d'entrée et expliquer comment configurer des combos Nous voulons donc faire en sorte que le joueur de voitures dispose
d'une combinaison sympa à trois coups. la première barre oblique, une nouvelle barre oblique secondaire et une troisième barre oblique pour vous montrer comment configurer un
bon Nous y reviendrons dans le prochain
49. 047 Autres animations d'attaque: Maintenant, avant de passer
à
la séquence de combinaisons, la première chose que nous allons faire est passer à l'animation. Maintenant, nous allons plutôt
revenir au joueur. Revenons-en à l'art. Et ce que nous voulons faire, c'est
configurer quelques animations combinées supplémentaires,
d'accord ? Parce que maintenant nous avons commencé
par la première attaque de gazon. Nous voulons maintenant avoir quelques autres animations d'
attaque vendues. Vous remarquerez qu'il s'agit de la deuxième animation d'
attaque d'aventurier Je vais donc faire exactement la même
chose pour la deuxième attaque. Il comporte cinq cadres. Je vais utiliser les
actions des sprites, créer des sprites. OK. Alors maintenant, l'attaque à deux de l'
épée, au
lieu de l'
attaque deux de l'aventurier, contient désormais Mais je dois trouver ces
sprites. Ici, nous sommes
une attaque d'aventurier à deux reprises à partir de zéro, un, deux, trois, quatre, cinq Ensuite, je vais créer des
flipbooks avec ceux-ci, puis je vais les
appeler Sword Td attaque sous le score de deux points. OK. Vous remarquerez maintenant que
l'attaque SOD, cette barre oblique, ou la deuxième, est C'est la verticale,
c'est le bas. Maintenant, pour des raisons d'uniformité, nous allons revenir et
uniformiser cela dans un instant. Ensuite, je vais chercher des aventuriers
pour en attaquer trois. Cherchons donc
ces animations. OK, il y a donc l'attaque 3. Je vais lancer des
actions Sprite, créer des sprites. Je veux
les avoir tous sous forme de sprites. Maintenant, à trois points, je vais sélectionner un flipbook parmi 025 et créer un flipbook, que nous appellerons attaque
SWOD avec un score attaque
SWOD Alors laissez-moi zoomer. Vous verrez donc que nous avons
l'attaque à l'épée une, l' attaque à l'
épée deux et l'attaque
SWOD trois Ah, c'est vrai. Maintenant, nous
allons ralentir les animations. C'est la première attaque SOD. C'est réduit à une, trois, quatre, cinq images. Donc, ce que nous allons
faire et garder à l'esprit, nous suivons ce cours uniquement à des
fins d'apprentissage. l'instant, je vais faire
passer les animations de 15
images à cinq images. Et puis Sword Attack Three. Je vais également le faire baisser de 15 à 5 images
par seconde. Ralentissez pour plus de clarté
visuelle. Bien entendu, lors du développement final de
votre jeu, vous pouvez ajuster ces horaires Je veux juste que cela soit là
et qu'il soit facilement visible pour vous. Ensuite, nous allons
passer à la source de l'animation. Nous avons donc déjà SOD Attack
one ici. Laissez-moi m'assurer que les
noms sont visibles, comme vous pouvez le voir, la première
attaque SOD est prête Nous allons en ajouter
une autre, et bien sûr, ce sera une
attaque SOD sous la case deux, et nous en ajouterons une autre,
et ce sera une attaque SOD
sous la case trois Nous avons donc nos trois attaques
SOD ici. Permettez-moi de double-cliquer sur deux, et je vais
rechercher l'attaque SOD numéro 2 Vous devriez
pouvoir le voir là, et le voici. Jouons. OK. C'est donc la
deuxième attaque SOD, puis la troisième attaque SOD En ce qui concerne les données d'animation, je vais rechercher
SOD Attack Three OK. nos trois
animations d'attaque à l'épée. C'est cool. Maintenant, c'est suffisant pour que ces animations incluent
également de nouvelles
attaques aériennes SOD Je vais donc revenir
à la barre d'espace de contrôle, une
fois de plus, sur la scène principale Je veux trouver la
prochaine attaque Air SWOD. Il y a donc une deuxième attaque
aérienne SOD. Tu devrais pouvoir le trouver. Il y a quatre images
d'animation, d'accord ? Donc, en fait, laissez-moi taper de l'air pour simplifier la
recherche des attaques aériennes. C'est donc le premier. OK, attaque aérienne une. OK. Et puis il y a la deuxième
attaque aérienne. C'est celui-là. Vous pouvez donc
utiliser la
deuxième attaque aérienne comme attaque suivante, mais plutôt comme la
prochaine série de sprites, permettez-moi de faire un petit zoom arrière
pour simplifier les choses Ou Air Attack Two, nous allons le transformer
en un tas de sprites ou créer des sprites Les deux
sprites Air Attack sont donc prêts. Je vais cliquer dessus et
créer un flipbook, et je vais simplement l'appeler
attaque aérienne avec un score inférieur à deux. OK. Donc, attaque aérienne,
laissez-moi plutôt la renommer Permettez-moi de le renommer en Air
SOD attack underscore two. OK ? Laisse-moi entrer. À l'heure actuelle, il est réglé sur 15 images. C'en est trop. Il en est 12. Il s'agit de trois images d'animation. Nous allons donc le laisser
sous forme de trois images d'animation, c'est assez simple. Ensuite, nous trouverons
les prochaines données ARSO, qui sont les troisièmes Vous pouvez y aller et
le rechercher. Voyons voir. Un, deux, trois, boum. Celui-ci ne comporte que deux
images d'animation. Ça a l'air, nous
devrons donc entrer
et en ajouter quelques
uns différents. Voyons voir Air Soda suivre la troisième voie. OK, donc selon la façon dont
ils ont été organisés, cela semble un peu différent. Mais fondamentalement, vous pouvez
simplement partir de zéro. Voyons voir. C'est un peu complexe selon la façon dont vos
sprites sont organisés Mais permettez-moi de les
sélectionner toutes. Ensuite, voyons les actions du Sprite : nous
allons créer un sprite Ensuite, avec ceux sélectionnés, je vais tous les sélectionner, puis je vais
créer un flipbook OK, comment s'appellent les
flipbooks ? Parfois, les
flipbooks apparaissent différemment. Laisse-moi contrôler Z. Oh, mec, j'ai changé les
images par seconde Tiens bon. Permettez-moi donc de
revenir à quatre. Laisse ça. Alors voyons voir, j'ai créé
plusieurs flipbooks, ce qui n'est pas ce que nous voulons Permettez-moi de supprimer ces trois flipbooks sur les
attaques aériennes. Oui,
supprimons-les rapidement. Laissez-moi revenir ici. Et ce que je veux, me
laisser taper de l'air. Je veux rechercher
les attaques ARSOD, les
associer toutes, puis créer des Il devrait créer un
seul flipbook. Cela ne devrait pas créer
plusieurs flipbooks. OK. Pour une raison quelconque, il
crée plusieurs flipbooks, ce qui n'est pas vraiment ce que je veux C'est un sprite.
C'est un sprite. OK, il va falloir le
faire à l'ancienne. Nous avons donc cette attaque
aérienne d'aventuriers ici, non ? Disons que c'est renommé
attaque aérienne sous le score trois. Ce devrait donc être une attaque Air SOD. Permettez-moi de changer le nom de
Air SOD Attack Three. Maintenant, je l'ai sélectionné. Et ce que je veux faire, c'est me laisser d'abord le mettre en
pause après la pause de lecture. OK, maintenant que je l'ai
arrêté de jouer, je vais dans l'aire de jeu, puis en fait, je
vais juste ajouter une image clé. Permettez-moi de le configurer de telle sorte qu'il
s'agisse de quatre images d'animation. La plupart des attaques aériennes prennent la forme de
quatre images d'animation. Ensuite, je vais sélectionner la deuxième image clé.
Viens par ici. Et puis cliquez avec le bouton gauche,
d'accord ? C'est celui-là. Cliquez avec le bouton gauche sur le suivant, puis je veux
choisir un nouveau sprite J'espère que c'est
clairement visible. Et puis laissez-moi chercher une attaque
aérienne à trois extrémités, d'accord ? Alors laisse-moi voir à quoi ça ressemble. OK. Les deux
se ressemblent donc beaucoup. Donc ce que je vais faire, non, ce que je vais vraiment
faire, c'est me laisser annuler ça. Ce que je vais configurer, c'est qu'au lieu d'avoir trois attaques
aériennes douteuses, laissez-moi la supprimer. Nous allons le configurer de telle sorte
que l'Air soda Tack 1 et l'Air Soda Tack 2
s'enroulent l'un dans l'autre Airsdatak 1 est donc
configuré pour voir,
un, deux, trois, quatre, OK Soda Tack Two
ressemble à ça. Laisse-moi ajuster ça. Donc, ce que je vais faire, c'est acheter
Air Soda Tak One, et je vais le dupliquer,
et il s'est déjà renommé AirsDatak Three. C'est un appel. Ensuite, je vais récupérer AirSDA
Tak 2 et le supprimer. Ensuite, je vais
prendre AirSDA tak un, puis je vais
le dupliquer
et remarquer qu'il
s' appelle AirsDatak Mais ce que je vais
faire,
c'est le faire ,
je vais plutôt le mettre en pause, et ce que je vais faire, c'est inverser
l'ordre des images. Je vais donc prendre la troisième image, puis je vais la faire
glisser jusqu'au début. Permettez-moi de revenir, de m'assurer
que tout se passe correctement. Je veux faire glisser la
dernière image jusqu'à la fin. Jouons, assurons-nous que je l'organise
correctement. Arrête. Donc, le cadre quatre plutôt que le cadre deux sera
le premier cadre. Nous devons donc le déplacer. Il est
étonnamment difficile de le déplacer. Il va falloir que je
choisisse le sprite. Voyons donc ici. L'attaque 2 voudra
que ce soit deux. Je veux donc que ça commence à partir d'ici. Et puis la
seconde est correcte. Parfait. Et puis le
troisième, un nouveau sprite, nous voulons que ce soit quand son
bras sera prêt à taper de l'air Je suis en train de regarder. Je
regarde chaque sprite. Ils sont vraiment
minuscules sur votre écran, mais vous devriez pouvoir. Très bien, je vais donc apporter
un montage d' article parce que certaines parties de
cette vidéo n'étaient pas très claires. Nous
travaillons maintenant à créer
un combo de trois coups au
sol et dans les airs, un combo de trois coups. J'appuie simplement trois fois
sur le bouton d'attaque là-bas. Dans la dernière vidéo, il vous
suffisait de configurer l'animation
d' attaque SOD, d'ajouter
la hitbox et
l'
animation Air
SODA Tack et d'
ajouter la ajouter ne vous reste plus
qu'à ajouter
à l' intérieur de la sauce d'animation Paper
Zd, la deuxième touche SODA en
l'air et ajouter également le notificateur SOD hitbox La troisième animation d'
attaque aérienne SOD et ajoutez-y également la
boîte de frappe SOD Et puis sur le terrain, vous avez actuellement la
première attaque SOD configurée et l'événement d'
apparition de huit boîtes SOD, en gros Ensuite, vous devez ajouter la
deuxième attaque et la troisième. Et une fois que vous les avez ajoutés la source
d'animation Paper Zd, vous pouvez passer à la
configuration de la mémoire tampon d'entrée
et du système de combinaison
50. 47 Ajouter davantage d'animations d'attaque pour le système de combo: Maintenant, avant de passer
à
la séquence de combinaisons, la première chose que nous allons faire est passer à l'animation. Maintenant, nous allons plutôt
revenir au joueur. Revenons-en à l'art. Et ce que nous voulons faire, c'est
configurer quelques animations combinées supplémentaires,
d'accord ? Parce que maintenant nous avons commencé
par la première attaque de gazon. Nous voulons maintenant avoir quelques animations d'
attaque SD supplémentaires. Vous remarquerez qu'il s'agit de la deuxième animation d'
attaque d'aventurier Je vais donc faire exactement la même
chose avec Attack Two. Il comporte cinq cadres. Je vais utiliser les
actions des sprites, créer des sprites. OK. Alors maintenant, l'attaque à deux de l'
épée, au
lieu de l'
attaque deux de l'aventurier, contient désormais Mais je dois trouver ces
sprites. Ici, nous sommes
une attaque d'aventurier à deux reprises à partir de zéro, un, deux, trois, quatre, cinq Ensuite, je vais créer
un flip book avec ceux-ci, et ensuite je vais les
appeler Sword Attack. Attaque stockée inférieure à deux points. OK. Vous remarquerez maintenant que
l'attaque à l'épée, cette barre oblique, l'attaque deux du Sporad, est la barre oblique inférieure C'est la verticale,
il y a le bas. Maintenant, pour des raisons d'uniformité, nous allons revenir et
uniformiser cela dans un instant. Ensuite, je vais chercher des aventuriers
pour en attaquer trois. Cherchons donc
ces animations. OK, il y a donc l'attaque 3. Je vais faire des
actions avec des sprites, créer des sprites. Je veux
les avoir tous sous forme de sprites. Maintenant, à trois points,
je vais sélectionner 0-5 et créer
un flipbook que nous appellerons attaque
SWOD sous je vais sélectionner 0-5 et créer le attaque
SWOD Alors laissez-moi zoomer. Vous verrez donc que nous
avons une attaque SOD une, une attaque SOD deux et une attaque
SOD trois Oh, c'est vrai. Maintenant, nous
allons ralentir les animations. C'est la première attaque SOD. C'est réduit à une, deux, trois, quatre, cinq images. Donc, ce que nous allons
faire et garder à l'esprit, nous suivons ce cours uniquement à des
fins d'apprentissage. l'instant, je vais faire
passer les animations de 15
images à cinq images. Et puis Sword Attack Three. Je vais également le faire baisser de 15 à 5 images
par seconde. Il suffit de le ralentir
pour plus de clarté visuelle. Bien entendu, lorsque vous terminerez le développement de
votre jeu, vous pouvez ajuster ces horaires Je veux juste que cela soit clair
et facilement visible pour vous. Ensuite, nous allons
passer à la source de l'animation. Nous avons donc déjà Sword Attack
One ici. Laissez-moi m'assurer que les
noms sont visibles, comme vous pouvez le voir, Sword
Attack One est prêt. Nous allons en ajouter
une autre, et bien sûr, ce sera SOD
Tack sous la case deux, et nous en ajouterons une autre, et ce sera SOD Attack
sous Nous avons donc nos trois attaques
SOD ici. Permettez-moi de double-cliquer sur deux, et je vais
rechercher l'attaque SOD numéro 2 Vous devriez
pouvoir le voir là, et le voici. Allons à l'assiette. OK. C'est donc la
deuxième attaque SOD, puis la troisième attaque SOD En ce qui concerne les données d'animation, je vais rechercher
SOD Attack Three D'accord, voici nos trois
animations d'attaque à l'épée. C'est cool. Maintenant, c'est suffisant pour que ces animations incluent
également de nouvelles
attaques aériennes SOD Je reviens donc
à la scène principale, la barre d'
espace de contrôle Je veux trouver la
prochaine attaque Air SWOD. Il y a donc une deuxième attaque
aérienne SOD. Tu devrais pouvoir le trouver. Il y a quatre images
d'animation, d'accord ? Donc, en fait, permettez-moi de taper de l'air afin de simplifier la
recherche des attaques aériennes. C'est donc le premier. OK, attaque aérienne une. OK. Et puis il y a la deuxième
attaque aérienne. C'est celui-là. Vous pouvez donc
utiliser l'attaque aérienne 2 comme attaque suivante, plutôt
que comme
prochaine série de sprites Permettez-moi de faire un petit zoom arrière
pour simplifier les choses. Donc Air Attack Two, nous allons le transformer
en un tas de sprites ou créer des sprites Les deux
sprites Air Attack sont donc prêts. Je vais cliquer dessus
pour créer un flipbook. Je vais simplement l'appeler attaque aérienne avec un score
inférieur à deux. OK ? Donc, attaque aérienne,
laissez-moi plutôt la renommer Permettez-moi de le renommer en Air
SOD attack underscore two. OK ? Laisse-moi entrer. À l'heure actuelle, il est
réglé sur 15 images. C'en est trop. Il en est 12. Il s'agit de trois images d'animation. Nous allons donc le laisser
sous forme de trois images d'animation. C'est assez simple. Ensuite, nous trouverons
les prochaines données Air SO, qui sont les troisièmes. Vous pouvez y aller et
le rechercher. Voyons voir. Un, deux, trois, boum. Celui-ci ne comporte que deux
images d'animation. Ça a l'air, nous
devrons donc entrer
et en ajouter quelques
uns différents. Voyons Air Soda Tack Three. OK, donc selon la façon dont
ils ont été organisés, cela semble un peu différent. Mais fondamentalement,
vous pouvez simplement partir de zéro. Voyons voir. C'est un peu complexe
selon la façon dont vos sprites
sont organisés Mais permettez-moi de les
sélectionner toutes. Ensuite, voyons les actions du Sprite : nous
allons créer un sprite Ensuite, avec ceux sélectionnés, je vais tous les sélectionner, puis je vais
créer un flipbook OK, comment s'appelle le
flip book ? Parfois, le flipbook
apparaît différemment. Laisse-moi contrôler Z. Oh, mec, j'ai changé les
images par seconde Tiens bon. Alors laisse-moi
ramener ça à quatre, laisse-moi ça. Alors voyons voir, j'ai créé plusieurs flipbooks, ce qui n'
est pas ce que nous voulons Permettez-moi de supprimer ces trois flipbooks sur les
attaques aériennes. Oui,
supprimons-les rapidement. Laissez-moi revenir ici. Et ce que je veux, me
laisser taper de l'air. Je veux rechercher
les attaques ARSOD, les
associer toutes, puis créer un Cela devrait créer un
seul flipbook. Cela ne devrait pas créer
plusieurs flipbooks. OK. Pour une raison ou une autre, cela crée plusieurs flipbooks, ce qui n'est pas vraiment ce que je veux. C'est un sprite,
c'est un sprite. OK, il va falloir le
faire à l'ancienne. Nous avons donc cette attaque
aérienne d'aventuriers ici, non ? Appelons ça, renommons-le attaque
aérienne sous le score trois. Ce devrait donc être une attaque ARSOD. Permettez-moi de changer le nom de
Air SOD Attack Three. Maintenant, je l'ai sélectionné. Et ce que je veux faire,
c'est d'
abord me laisser le mettre en pause après la pause de Maintenant que je l'
ai arrêté de jouer, je vais dans l'aire de jeu, puis, en fait, je
vais simplement ajouter une image clé. Permettez-moi de le configurer de telle sorte qu'il
s'agisse de quatre images d'animation. La plupart des attaques aériennes prennent la forme de
quatre images d'animation. Ensuite, je vais sélectionner la deuxième image clé.
Viens par ici. Et puis cliquez avec le bouton gauche de la souris,
d'accord ? C'est celui-là. Cliquez avec le bouton gauche sur le suivant, puis je veux
choisir un nouveau sprite J'espère que c'est
clairement visible. Et puis laissez-moi chercher une attaque
aérienne à trois extrémités, d'accord ? Alors laisse-moi voir à quoi ça ressemble. OK. Les deux
se ressemblent donc beaucoup. Donc ce que je vais faire, non, ce que je vais vraiment
faire, c'est me laisser annuler ça. Ce que je vais configurer, c'est qu'au lieu d'avoir trois attaques
aériennes douteuses, laissez-moi la supprimer. Nous allons le configurer de telle sorte que
l'attaque Air Soda 1 et AirsDatak deux se
rejoignent Donc AirsDatak un est
réglé sur, voyons voir,
un, deux, trois, quatre, Soda Tack Two
ressemble à ça. Laisse-moi ajuster ça. Donc, ce que je vais faire, c'est acheter
Air Soda Tak One, et je vais le dupliquer,
et il s'est déjà renommé
AirSDA Tak C'est Coll. Ensuite,
je vais récupérer AirSDA Tak 2 et le supprimer Ensuite, je vais prendre
AirData Tak 1, puis je
vais le dupliquer et
remarquer qu'il s'appelle AirDatak Mais ce que je vais
faire,
c'est le faire ,
je vais plutôt le mettre en pause, et ce que je vais faire, c'est inverser
l'ordre des images. Je vais donc prendre la troisième image, puis je vais la faire
glisser jusqu'au début. Permettez-moi de revenir, de m'assurer
que tout se passe correctement. Je veux faire glisser la
dernière image jusqu'à la fin. Jouons, assurons-nous que je l'organise
correctement. Arrête. Donc, le cadre quatre plutôt que le cadre deux sera
le premier cadre. Nous devons donc le déplacer. Il est
étonnamment difficile de le déplacer. Il va falloir que je
choisisse les sprites. Voyons voir ici, l'attaque deux voudra
que ce soit deux. Je veux donc que ça commence à partir d'ici. Et puis la
seconde est correcte. Parfait. Et puis le troisième, Fake News Sprite, nous voulons que ce soit quand il
aura le bras levé Tapez donc air. Je suis en train de regarder. Je regarde chaque sprite. Ils sont vraiment
minuscules sur votre écran, mais vous devriez pouvoir
les voir un peu plus visiblement Je veux donc que cela commence de
ce côté et s'arrête là. OK, c'est bon. C'est donc l'
attaque aérienne numéro deux. Ça a l'air un peu nul. Attends. Ce dernier point. Cette dernière animation,
je pense que je vais la supprimer. Permettez-moi de le supprimer.
C'est donc maintenant une animation en
une, deux ou trois images. OK, c'est donc une animation
en trois images. OK, ça y va. OK ? C'est logique. Alors maintenant, la première attaque
AirSod ressemble à ceci. Il réduit les démarrages, redescend, puis deux démarrages plutôt que On dirait qu'il se dirige
dans la direction opposée. Bien sûr, lorsque vous créez
vos propres sprites personnalisés, vous pouvez ajuster cela, mais cela sera suffisamment
raisonnable pour notre système de combinaison initial Nous avons donc maintenant
plusieurs attaques SOD. Ajoutons ces attaques
aériennes SOD. Nouvelle séquence d'animation,
Air SOD, Attack, underscore 2, et une
autre Air SOD,
Attack, Attack, Donc deux. Vendons. Non, non, non, non, non. Deux.
Ma souris est énorme, mec. OK, donc deux
sera une attaque Air SWOD deux, et trois sera une attaque
Air SWOD Nous y voilà. Et puis, bien
sûr, nous devons
ajouter les notifications. la même manière que nous avons ajouté les notifications relatives aux attaques SWOD, nous
devrons les ajouter ici. Donc Air SWD Attack Two
Oh, ce n'est pas là. Y avait-il une deuxième plaque à souder ? OK, oui, ça
marche, sauvegardons ça. Donc, sur le deuxième cadre, ajoutez Notify a Sauce Notify, boîte à chaleur SoEd OK, voyons voir. Soda Tack
One. Pot à souder 3. Ajouter une notification, une notification de sauce, boîte à chaleur
Sod,
on fait venir ici Bien. Maintenant, le point de soudure
1 a la notification, le point soudure 2. Tiens bon. Laisse-moi voir d'où
ça vient ? C'est ici.
Je vais donc ajouter go ici. OK. Ajoutez Notify SOD. Appuyez sur la case, puis
SODA en touche trois. Voyons voir, à quel moment
devons-nous ajouter trois points à Soda ? Cela vous dérangerait de jouer, s'il vous
plaît, s'il plaît. Tu sais jouer ? Pourquoi ne joue-t-il tout simplement pas ? Oh, d'accord. Laisse-moi appuyer sur
le bouton Play. OK. Maintenant, je vais me balader ici. C'est à ce moment que vous
souhaitez ajouter cette notification, alors appuyez sur la case, puis enregistrez
après l'avoir enregistrée. Ils sont maintenant tous prêts à être utilisés dans un
système combiné approprié. Maintenant que nous avons configuré
toutes les animations et les notifications,
passons à autre chose.
51. 48 Démarrer avec la mise en mémoire tampon d'entrée: C'est bon.
Avant d'aller de l'avant, je voudrais donc vous
présenter un concept très simple. Nous allons créer un tampon d'entrée
qui stocke les entrées, puis il sera finalement réinitialisé
après un certain temps Il s'agit d'une
compréhension très générale. Passons maintenant au code. Je veux que cela ait
un sens total pour toi. Allons-y. Donc, la toute première partie
de la mémoire tampon d'entrée nécessite que nous revenions
à la mélata, d'accord ? Vous voyez, la façon dont
cela fonctionne actuellement, c'
est qu'il écoute l'
entrée améliorée, n'
est-ce pas, de l'attaque au corps à Ensuite, il ne
le fera qu'une seule fois et définira l'attaque SOD à un, puis il y aura un délai C'est ainsi qu'il
procède en ce moment. Mais nous allons changer cela. Donc, au lieu d'appuyer sur
ce bouton pour
effectuer une seule opération puis de le réinitialiser, nous allons le
faire glisser vers l'extérieur OK. Maintenant, pour l'instant, c'est prêt à en faire une attaque par gazon, mais nous allons
séparer tout ça Je vais rompre ce lien. Et ce que nous voulons c'est maintenant
que nous l'avons ici, nous voulons ajouter quelque chose
qui va enregistrer nombre de fois que les joueurs
ont appuyé sur le bouton. OK ? Maintenant, pour des raisons de simplicité, nous allons utiliser
un entier de base. Maintenant, n'oubliez pas que nous avons accès à trois animations d'
attaque différentes, ce qui signifie que nous
voulons effectuer une vérification de base. Alors pourquoi cela ne
fonctionne-t-il pas clairement ? Tiens bon. Parfois, Unreal Engine
fait des choses étranges. Mais arrête ça. Maintenant, il devrait
afficher le OK, maintenant il est capable d'afficher correctement les
animations. Nous avons donc accès à trois
animations d'attaque différentes, d'accord ? Nous avons l'animation 2,
qui est découpée en tranches. Nous en avons deux qui
sont tranchés vers le bas, et le troisième
est une barre oblique médiane OK ? C'est notre combinaison à
trois têtes. Donc, pour créer une mémoire tampon, nous voulons nous
assurer que nous sommes en mesure sauvegarder si le joueur a
appuyé sur le bouton une, deux ou trois fois. Ensuite,
jouez à une, deux ou trois de ces animations d'
attaque. C'est l'invité de base. Maintenant que nous avons séparé cela,
passons à autre chose et
réfléchissons à la manière de créer un
excellent tampon d'entrée. Essentiellement, ce que nous
voulons, c'est un nœud qui capture le nombre d'attaques à
l'épée que le joueur a lancées. S'ils ont appuyé une fois, il exécutera une seule action. S'ils ont appuyé deux fois, il exécutera une action
différente. S'ils ont appuyé
trois fois, cela en exécute une autre, et pour des raisons de simplicité,
nous en resterons là. OK. C'est dans cet
esprit que nous allons de l'avant. Nous avons donc tout cet espace ici, et commençons par
créer une variable. Cette variable sera un entier et nous l'appellerons numéro d'
attaque SWOT OK. Et par souci de simplicité, nous allons en
faire un entier, d'accord ? Ce qui signifie que c'est zéro contre un. Ce sont de grands nombres, des nombres
holistiques sans 0,1
ou deux, c'est un entier. Maintenant, en tant que nombre entier,
faisons-le glisser. Faisons-le traîner. Nous voulons donc, euh, commencer par définir le numéro de l'attaque
SOD. OK ? Ouvrons donc ceci ici. Supposons que le joueur n'
ait appuyé qu'une seule fois sur le bouton Meletack.
Que voulons-nous faire ? Nous voulons réellement définir le numéro de Soda
Attack. Je vais avoir besoin de
créer de l'espace. Je vais donc les traîner et les pousser à
s'endetter. Le joueur a donc
appuyé une fois sur le bouton. Ce que nous voulons faire,
c'est obtenir le numéro SodTac et
augmenter sa valeur Vous pouvez donc reculer
le numéro SDtack OK. Ensuite, nous voulons en ajouter un. Tu veux l'incrémenter, d'accord ? Configurez-le simplement sur un. Et puis boum,
nous l'avons configuré. Donc ça donne
le numéro SOD et
ça y ajoute un, d'accord ? Parce que, fondamentalement, nous voulons augmenter le
nombre de sodas. Supposons que le joueur ait
appuyé une fois sur ce bouton. Je vais maintenant dire : OK, la valeur de Soda Tack est désormais de un Maintenant, pour vous montrer que cela fonctionne, nous allons
devoir rédiger un texte destiné aux développeurs. Disons donc d'une chaîne d'impression. Et la chaîne d'impression
ne sera qu'une. OK ? Il va juste
être réglé sur un. Mais que se passe-t-il si le joueur
appuie à nouveau sur ce bouton ? OK ? En d'autres termes, que se passe-t-il lorsque le joueur appuie une deuxième fois sur ce bouton
? Qu'est-ce que tu veux qu'il se passe ?
C'est assez simple. Nous voulons en fait ajouter un
autre incrément à cette variable appelée numéro d'attaque au
sabre Mais maintenant, nous devons faire
une simple vérification, d'accord ? Nous allons faire
une simple vérification. Et ce que sera
fondamentalement cette vérification , ce sera un changement. Activons donc le nombre entier. OK, allume-le. C'est ce
que vous voulez rechercher. Et puis si vous descendez, il se mettra en évidence
comme un interrupteur. Maintenant, à quoi
sert un interrupteur ? Cela
change le chemin du flux de code en fonction de
la valeur que vous entrez, d'accord ? Mettons donc le numéro
d'attaque SD ici et il est maintenant prêt
à s'activer. Et nous aurons deux
valeurs différentes. Bon sang, c'
est de plus en plus long. Élargissons
la zone de commentaires et poussons les
choses un peu plus loin. Maintenant, revenons ici. La première chaîne qu'il est
censé imprimer est donc une. Prenons-en trois. La première chaîne
sera donc une. La deuxième chaîne
sera composée de deux. Et la troisième chaîne
sera Oh,
attends, attends, attends,
clique dessus correctement. La troisième chaîne sera trois. Donc, fondamentalement, nous le voulons. Commençons rapidement
à ajouter des épingles. Donc, en gros, s'il est
égal à zéro, cela ne fait rien. S'il en est un, il en imprime un. S'il est deux, il en imprime deux, et s'il est trois,
il en imprime trois. Maintenant, c'est un changement très
simple. Passons maintenant rapidement
au niveau du développeur. Donc, quand j'appuie sur un dans le coin supérieur gauche,
je devrais en voir un. OK. J'appuie à nouveau, deux
s'affichent. J'espère qu'il vous en montre
deux. OK. Et lorsque vous appuyez
à nouveau, trois s'affichent. Mais lorsque vous appuyez
à nouveau après
cela, rien ne s'affiche.
C'est fantastique. Maintenant, nous allons revenir à l'épée plutôt qu'au héros. Nous savons pertinemment que
nous sommes maintenant en mesure de le mettre en place. Ainsi, lorsque le joueur appuie une fois
sur le bouton, il en a un. Lorsque le joueur appuie
sur le bouton deux, il passe à deux, et lorsqu'il
appuie sur le bouton trois, il passe à trois. C'est une bonne chose.
Cela signifie que nous avons un moyen de déterminer si le joueur a
appuyé sur le bouton une fois, s'il a appuyé deux fois sur
le bouton, et s'il a appuyé trois fois sur
le bouton,
c'est plutôt cool. Maintenant que nous en avons fini avec cela, faisons-le glisser et
apportons-le ici. Nous allons ajouter
un peu plus à cela. Il s'agit de la ligne
de base de la mémoire tampon d'entrée. Dans la vidéo suivante,
nous allons
ajouter du code supplémentaire pour le
faire fonctionner correctement.
52. 49 Configuration de la combinaison de base avec le verrouillage des entrées dures: OK. Maintenant que nous avons cette
configuration et que nous sommes prêts à l'emploi, passons à l'
ajout des animations. Donc, pour commencer, nous avons déjà un Sword
Attack prêt à fonctionner. Nous allons donc le configurer d'une manière très similaire
à Sword Attack One, et nous allons le modifier pour
que l' activation de
int se produise en premier. Laissez-moi vous montrer à quoi
cela ressemble. Nous avons donc déjà
toutes ces chaînes qui vous indiquent un,
deux et trois, n'est-ce pas ? Nous allons maintenant créer de
nouvelles variables. Le premier s'
appellera Sword Attack under score two. Ce sera pour notre
deuxième attaque SOD. Et la prochaine sera une attaque
SOD à moins de trois points Ils vont juste
être utiles et laissez-moi les
mettre sous
le numéro d'attaque. Je vais donc faire glisser
le numéro d'attaque vers le haut. Boom, réorganisons ça gentiment. Hé, santé du joueur, remontez. OK. C'est ça. Nous avons donc notre numéro d'attaque, puis des booléens pour
indiquer si la première attaque, la deuxième ou la troisième sont celles
qui sont actuellement actives Donc, après une compilation rapide, venez ici et
nous allons
essentiellement faire une configuration
très similaire. Nous allons donc d'abord ne pas
avoir envie de définir. Configurez donc Swedatak 22 ici. Copiez-le ici. Ici, c'est désactivé, et nous
ajouterons le même délai d'une seconde. OK. Conservons
le délai d'une seconde. Maintenant que nous l'avons ici, ajoutons dans Swedatag trois
. Maintenant, ne comprends pas. Je n'arrête pas de savoir quand je
devrais régler, pas savoir. Configurons-le pour configurer. Nous ajouterons le même délai, exactement
le même
délai d'une seconde. Ici, ce sera oui, pendant que vous êtes ici,
copiez-collez ceci ici. Ici, il dira
non, vous n'êtes plus exécuter Sedatak 3 Nous allons donc rapidement enregistrer cela. Ensuite,
nous allons rompre ce
lien qui permet de configurer le numéro d'attaque
SWD Permettez-moi de rompre ce lien. Cassez tout cela,
nous allons le faire glisser vers l'extérieur et changer sa position. Pause, pause. Bien, bien, bien. Apportez-le ici. Et ce que nous allons faire, c'est qu'
au tout début, nous allons faire glisser le numéro de suivi
SODA comme première chose
à vérifier,
et à la valeur par défaut,
garder à l'esprit
que cela et à la valeur par défaut, vient de
le déclencher À la valeur par défaut, ce sera zéro. Donc, comme il commence à zéro, il se connectera ensuite et
le numéro y sera ajouté. OK. Maintenant que nous avons
cette fonction de base, ajoutons allons-y. Donc, juste après avoir appuyé
dessus pour la première fois, il va dire : « Hé, il va appuyer sur
cette première attaque, et il va lancer une
attaque SOD et continuer
sur cette Et puis, après la deuxième
fois, pour commencer, passons d'abord en revue ce texte Ce texte qui, en gros, nous allons passer en revue les notes que nous utilisons actuellement
pour incrémenter le nombre, faire glisser dessus, cliquer avec le bouton droit de la souris, puis
descendre et dire «
Hé, réduire à une macro Alors maintenant, cette nouvelle macro agit comme
un seul nœud, d'accord ? C'est une fonction très simple qui va nous aider à nettoyer nos plans Ensuite, je vais changer
son nom. Laisse-moi faire un zoom arrière. C'est une simple macro. Permettez-moi de le copier-coller ici et de le
copier-coller à nouveau. N'oubliez pas qu'
il ne fait qu'ajouter un au numéro. Donc sur deux, ça va craquer,
je fais glisser le tout. Donc, une fois que vous
appuyez pour la deuxième fois le bouton d'attaque, il en
affichera deux, puis il essaiera
de montrer que, hé, le joueur essaie de
faire une attaque deux vendue. Et à trois, plutôt une troisième fois, le nombre passera à deux. Ensuite, il passera, et il indiquera au moteur irréel que le joueur essaie de lancer
la troisième attaque vendue Une fois que c'est
fait, laissez-moi copier. Oh, j'ai coupé en un clin d'œil. Non. Une fois que c'est
fait, laissez-moi copier. Viens ici, et en fait,
je n'ai pas besoin de copie. Faisons plutôt glisser le numéro Soda
Tack, et nous allons le
remettre à
zéro pour qu'il
recommence depuis le haut N'oubliez donc pas que si le numéro
Soda Tack commence à zéro, s'il est égal à zéro, la valeur augmentera de un à un
lorsque vous appuierez sur
le
bouton pour la première fois valeur augmentera de un à un
lorsque vous appuierez sur
le
bouton pour Et puis une nouvelle corde, elle imprimera
la corde, puis elle effectuera la
première attaque à l'épée. Passons maintenant au plan pour y jeter
un coup d'œil rapide Voici donc le plan
d'animation. Compilez rapidement et appuyez sur Play. Notez donc qu'en ce moment,
il est réglé sur un, 02. Maintenant, ce n'
est pas le cas, cela ne
vous accepte pas d'appuyer dessus. Appuyez sur trois, il est maintenant capable de
lancer à nouveau la première attaque. Maintenant, c'est ce que
nous allons faire. Le joueur
appuie immédiatement sur le premier bouton. Nous allons configurer
une fenêtre de saisie dans laquelle ils pourront appuyer sur le deuxième combo, accord, sur le deuxième bouton
du combo. Mais avant cela, voyons comment
appuyer réellement sur les autres
boutons du combo. Passons donc au plan, et nous savons déjà que la première attaque
SWOD est arrivée Nous allons créer un autre état
d'animation, et nous allons appeler cette attaque stockée
deux points de moins que le score deux. OK. Oh, le mot
État est toujours là. Supprimons le mot état. Voilà, l'
attaque SOD est presque prête, puis nous allons créer
un autre état d'animation, et nous appellerons
cette attaque
SOD inférieure trois points dans
cet état d'animation Allons-y. Et nous allons faire en sorte
que, de Soda Tack One, vous puissiez passer
à Soda Tak Two ou
revenir à Eido OK. Vous pouvez faire l'une
de ces deux choses, puis il y a le Soda Tak Three, dans
lequel vous pouvez passer
du Soda Tak Two. Ou tu peux retourner à IDO. Il s'agit donc essentiellement de
la configuration de la boucle. De Idol, tu peux
passer à Soda Tack One. Du Soda Tack 1, vous pouvez passer au Soda
Tack 2 et du Tack 2, vous pouvez passer à 3 Maintenant, les boutons
ne sont pas encore configurés, alors remarquez que si nous appuyons plusieurs fois sur le bouton d'
attaque, rien ne se passe, c'est bon. Nous allons donc revenir
au plan et passer de Soda Tech un à deux, tout ce dont nous avons besoin, c'est d'
entrer, de devenir un héros Ensuite, ce que nous voulons
rechercher, c'est la deuxième attaque SOD. Alors, va chercher Soda Tack Two. Et ce que nous voulons deux, c'est le nœud
exactement égal, d'accord ? C'est ainsi que nous voulons qu'il soit configuré. Et si c'est le cas, cette
valeur est positive, veuillez passer cette animation.
Regardons-y de plus près. Donc, en tant que héros, Soda Tack Tack Two, s'il est réglé sur Oui,
il peut faire la transition OK ? Alors partons de là. Et puis, du Tack
Two au Soda Tack Three, nous allons suivre
le même processus,
devenir un héros, puis SOD OK, je veux lancer la troisième attaque
SOD. Vous voulez le comparer à
la valeur égale, et si la valeur égale
est oui, vous pouvez effectuer la transition. OK. C'est tout ce dont nous avons besoin. Maintenant, voyons ce que
sera réellement le soda tack Maintenant, gardez à l'esprit qu'il est assez facile de passer du point de
soudure 1 au mode veille point de
soudure 1 au mode veille
en le
réglant sur zéro pour le point de soudure 1,
d'accord Donc, passer de la deuxième étape à l' inactivité fera
exactement la même chose Viens ici, connecte-le
sauf qu'ici il est vide. Et puis pour le SDA, point 3, exactement la même chose Retour au ralenti. Il suffit coller notre code et de
décocher la case. C'est le moyen fondamental,
simple et facile
de le configurer. Ensuite, nous allons double-cliquer
à l'intérieur de la touche 2 du SDA,
et nous voulons taper
play SOD attack et nous voulons taper
play SOD C'est l'animation que
nous voulons voir jouer. Et puis dans Soda Tack Three,
on tape play Sword Attack Three OK. Quelle est l'animation que
nous voulons qu'il joue. Vérifiez, placez une punaise à souder, deux ou trois. Bien. Maintenant, avec juste cette configuration de base, si nous revenons
au niveau développeur, et un, deux, trois. OK. Notez qu'il fait
le combo, un, deux, trois. Nous avons donc maintenant notre combinaison
de base qui fonctionne. Essayons donc de faire les trois essais
sur notre mannequin d'entraînement. Un, deux, trois. OK. Faisons-le encore une fois. Un, deux, trois. Sympa. Un, deux, trois.
Nous avons notre combinaison. OK. Maintenant, voici ce qu'il y
a de beau. Maintenant que nous avons
cette configuration, d'accord ? Les boutons fonctionnent réellement, vous pouvez voir qu'il y a un délai
d'une
seconde pendant lequel vous pouvez
décider si vous allez
continuer ou non, ou si vous allez arrêter, vous voyez ? Maintenant, allons-y. Comment le configurer de manière à
ce qu'il y ait un léger retard afin que nous
sachions que je peux entrer
si j'en touche un, n'est-ce pas ? À l'heure actuelle, il est mis en place
avec un délai très court. Soit vous faites
le combo complet soit cela vous empêche
d'appuyer sur les boutons. Disons donc que si je n'
appuie que sur une attaque d'anime, je ne peux pas appuyer sur les
autres quoi qu'il arrive. Passons à la vidéo
suivante et ajustons le code pour que vous ayez une plus grande
liberté de combinaison. Allons-y.
53. 50 Un bref aperçu avant davantage d'intégration du système de combo: C'est bon. Alors maintenant, vous avez
une compréhension raisonnable. Vous savez comment fonctionnent les
systèmes de base pour l'animation. Vous avez compris
jusqu'à un certain point comment fonctionnent les notifications animées et vous avez compris comment
créer des systèmes qui réduisent, vous savez, la santé C'est super cool. Nous passons maintenant à l'interconnexion de ces systèmes d'une
manière beaucoup plus étroite et beaucoup plus intégrée Voyons donc comment utiliser les notifications pour notre système combiné. Commençons donc par
ce que nous avons mis en place. C'est le plan du
héros actuel, non ? Chaque fois que vous
appuyez sur le bouton Me Attack, d'accord ? À chaque fois. Nous arrivons maintenant et nous sommes en mesure d'examiner ces nœuds. Nous partons de Mela Tack il va activer t car il compte le multiplicateur Il fait un simple
ajout plus un. Il imprime cette chaîne, puis il choisit
quel Seda Tack Il dira : « Hey, Seda
Tack One est en cours de préparation ». Puis, après un certain délai, il est écrit : « OK, nous avons fini de
souder Tack One Il en va de même
pour deux et trois. C'est ainsi que cela fonctionne
actuellement, et je m'en sers simplement pour
vous montrer comment fonctionnent les systèmes. Maintenant, rendons-le beaucoup
plus intégré et la majeure partie de la logique se
fera à l'aide des notifications
d'animation. titre d'exemple, nous savons que
le
notificateur de boîte de frappe SOD SOD est le seul
élément
à l'origine de l'attaque span SWOD introduite
par une boîte de frappe Nous allons donc
faire la même chose, mais nous allons apporter des
ajustements à la façon dont les attaques sont menées. C'
est essentiellement ce que nous allons faire. Nous ferons en sorte que si le joueur
appuie sur le bouton d'attaque, le combo soit
complètement exécuté. Si le joueur s'arrête, le personnage peut se remettre à zéro. C'est l'aperçu général de ce que nous allons
faire ensuite. Et c'est le cas, laissez-moi appuyer sur barre d'espace
de contrôle, sur l'animation, sur le plan
d'animation OK. Ensuite, ouvrez
la source d'animation. Nous allons donc utiliser entièrement le système de notification pour configurer les animations. Nous allons commencer par
les animations au sol, puis nous
allons passer à autre chose et apporter de
gros ajustements aux attaques aériennes pour
les rendre beaucoup plus amusantes à utiliser. Nous y reviendrons
dans la vidéo suivante. J'espère que vous avez
tout compris jusqu'à
présent. S'il manque quelque chose, hésitez pas à
visionner les vidéos. Ainsi, à votre retour, vous
aurez cette compréhension profonde et tout ce qui se passera ensuite aura
un sens pour vous. Allons
54. 51 Ajouter un lien vers l'attaque à la première attaque par l'épée: OK.
Passons maintenant à associer nos attaques à l'écoute
des bonnes informations. Maintenant, actuellement dans le jeu, lorsque vous appuyez sur le bouton d'
attaque, pour commencer, il arrête d'
écouter une fois que vous avez appuyé si vous n'avez pas
saisi le combo C'est donc le code actuel juste pour vous montrer
la combinaison de base. Maintenant, c'est ce que
nous allons faire. Lorsque le joueur appuie sur
l'attaque rapide, nous allons
écouter si le joueur a appuyé sur
le deuxième bouton d'attaque. Si le joueur clique sur le
deuxième bouton d'attaque, nous
appuierons sur les deux attaques. Il effectuera les deux attaques. Lors de la deuxième attaque, si le joueur fait la troisième, c'est
la troisième attaque
qui sortira. Pour ce faire, allons de l'
avant et configurons cela dans le jeu. Tout d'abord, lorsque
nous repensons au code, il ne fait que déclencher le Soda Tack
Three dès que le Soda Tack Three est réglé il ne fait que déclencher
le Soda Tack
Three dès que le Soda Tack Three est réglé. Soda Tack Tack Two, il
fait ces choses. Mais maintenant, nous allons les
configurer comme étant liés à l'animation. Donc, pour ce faire, permettez-moi d'abord de
réduire un peu la taille de cette
boîte de commentaires Meleatak Laissez-moi vraiment le comprendre. Et je ne sais pas ce
que c'était. Copiez-le. OK, je veux juste
une autre boîte ici. Et je vais appeler
ça une attaque. Liens. OK. Donc, pour commencer, nous allons commencer par
rester très simples. Nous allons faire en sorte que
le premier soit appelé SOD attack one OK. Alors, venons ici. Maintenant, nous allons
décoller d'un événement. D'accord,
nous voulons organiser un événement personnalisé. OK. Nous ajoutons
un événement personnalisé. Ensuite, nous allons
appeler cela SOD. Permettez-moi de zoomer correctement. Cela s'appellera une attaque SOD. Sous le point 2,
soulignez, Link. OK. C'est comme ça que
ça va s'appeler. C'est ce qu'on appelle une attaque SOD contre Link. C'est ce que nous voulons que ce soit. Et que ferons-nous après
l'attaque SOD contre Link ? Eh bien, c'est très simple. Nous allons venir ici et nous voulons
vérifier quelque chose. Alors, que vérifions-nous ?
Eh bien, c'est très simple. Nous voulons vérifier et voir
si le bouton d'attaque SOD,
le deuxième bouton d'attaque,
a été enfoncé En d'autres termes, si le numéro de l'attaque
SOD est deux. Donc, pour
ce faire, nous allons venir ici, nous allons le traîner et nous allons dire : «
Hé, obtenez le numéro d'attaque SWOD Et nous voulons faire un contrôle
de base, d'accord ? Nous allons donc faire une branche simple. Une succursale va nous
permettre de vérifier et modifier ce qui se passe
si c'est vrai ou faux. Donc, avec le
numéro d'attaque SWD, permettez-moi de le faire disparaître. Je vais dire que c'
est égal à deux, d'accord ? En d'autres termes, s'il
est exactement égal à deux, ou faisons-le glisser vers l'extérieur. Faisons en sorte que ce soit
plus égal, d'accord ? Donc, si le
nombre d'attaques SWOD est
supérieur à un ou égal à un, alors
tout sera joué après cette durée Maintenant, venons-y. Et nous allons commencer par un
simple écran d'impression. Donc, il va imprimer, et il va simplement
imprimer du texte disant : «
Hé, fais WoD SWtat C'est ça. Parce que
nous allons juste vérifier si le code
fonctionne correctement, d'accord ? Maintenant que l'attaque SWOD
à
deux liens est activée, pour éviter que cela ne soit
interrompu par quoi que ce soit d'autre, nous allons venir ici
et nous allons rapidement
rompre les autres liens OK, on va tout arranger. Ainsi, une fois
le bouton d'attaque enfoncé,
lorsqu'
il est pressé une fois, il exécute le premier bit de code pour
la première attaque SWOD, mais il ne fait
rien d'autre OK ? Donc, si nous
entrons dans le jeu maintenant, quand j'appuie une fois,
ouaip, tout cela disparaît. Je ne peux donc appuyer qu'une seule fois sur
le bouton d'attaque. C'est une bonne chose. Maintenant, nous allons revenir
au plan d'animation et nous allons chercher l'attaque SWOD numéro un Il y a donc cette fonction ici. Il y a plutôt cette notification
appelée hit box SWOD. Maintenant, c'est ce que
nous allons faire. À la toute fin
de l'animation, à la fin de la
dernière image, d'accord ? Nous allons ajouter
une nouvelle notification. Permettez-moi de passer à la phase de notification. Et il ajoutera une notification et ce
sera un nouveau notificateur. Et nous allons appeler ce
notificateur SWODTAKundscoe. Deuxièmement, soulignez Link. OK. C'est un nom
assez long, mais, vous savez, il est réduit comme ça pour une bonne raison, parce
que c' est le lien du point 1 de SODA
qui va vers deux Nous l'appellerons donc SODA
Tak Two Link, d'accord ? Maintenant que tout est prêt, revenons directement au plan d'animation, et nous allons passer au graphique
des événements Nous allons examiner le graphique des événements, et venons-en ici. Nous avons reçu une notification pour
la case à cocher appelée. Passons au lien de réception d'une notification pour une attaque au sabre. OK ? C'est dans cette zone
que le code sera exécuté. Nous allons entrer et dire : « Hé, en tant que héros, nous voulons que l'attaque
SOD soit liée. OK. Remarquez qu'il est là. La fonction,
attaque SOD, deux liens est là, exécutez cette fonction OK. Nous y voilà donc. Maintenant que nous avons cette configuration, vérifions-la dans le jeu. Je vais appuyer sur Play. Première attaque, deuxième attaque, il s'agit de lancer une attaque SOD
sur un lien, de vérifier ça. Passons maintenant au
héros afin le SOD mette réellement à
jour son numéro Brisons ce lien ici. Nous n'avons besoin d'aucun
autre code pour fonctionner ici. n'est pas nécessaire, mais ce que nous allons faire,
venez ici. Laisse-moi prendre ça. Nous allons donc obtenir tout
ce code qui dit :
« Hé, attaque SOD deux, après une seconde de délai
, éteignez-la », puis
nous allons simplement
récupérer ce code et le couper. OK ? Nous l'emportons donc
pour l'utiliser ailleurs. OK ? Passons donc
au lien d'attaque, et voici ce que
nous allons faire. Nous allons mettre
ce code ici. Alors laisse-moi y
aller doucement. Dès que l'événement personnalisé à deux
liens SwedaTak est déclenché, il vérifie
le numéro SwedaTak Et si le nombre SWDatak
est supérieur à un, n'est-ce pas, ce qui signifie que le joueur a appuyé
plusieurs fois sur le bouton SWDatak, n'est-ce pas ? Il va venir ici,
dire que c'est le véritable noyau. Il imprimera donc la
chaîne. Fais Swedatak deux. Ensuite, il me
permettra de lier ceci. Hé, zoomons à nouveau. Il dira : « Hé, Soda, touche deux, pouce levé, c'est fait, et après un délai d'une seconde, l'
attaque SWOD sera désactivée C'est tout ce que ça
va faire, d'accord ? C'est tout ce que cette fonction
va faire. Maintenant que c'est fait,
voyons si cela va
fonctionner correctement ici. Alors, tu l'as vu ? Alors, recommençons
à zéro. Donc, lorsque j'ai appuyé dessus une fois, la deuxième animation a été correctement jouée. OK ? Cela fonctionne donc correctement. OK, ça marche correctement. Et la raison pour laquelle cela
fonctionne correctement, je vais revenir sur la
logique une fois de plus. Chaque fois que le joueur subit cette
première attaque de soda, à la fin du
Sedatack , le jeu revient et
exécute cette action Longueur du SodaTackt.
Il vérifie deux fois. Hey, quel est le numéro
Soda Tack ? Le nombre Soda Tack est-il
supérieur à un ? Est-il plutôt égal
ou supérieur à un ? Alors, d'accord,
lancez l'attaque complète. Faisons maintenant une
rapide vérification logique. OK. Donc, vous
appuyez immédiatement une fois sur le bouton d'attaque. Cette macro l'
incrémente essentiellement de 0 à 1. Il va donc en faire un
et le mener à bien. Nous devrons donc modifier
ce code pour qu'il ne soit pas
supérieur à un, mais supérieur égal à deux. Cela signifie que le bouton d'attaque SOD a été pressé plusieurs fois Cela signifie que le joueur
veut deux attaques ou plus. Essayons-le une fois. Appuyez
une fois. Rien ne se passe. Bien. Essaie encore une fois. Appuyez deux fois. Ah, c'est le problème. Essayons encore une fois. Appuyez deux fois. Il ne joue pas le deuxième hit. OK, alors revenons en arrière
et faisons une vérification rapide. La raison pour laquelle il ne joue pas le deuxième hit, la voici. second coup n'est pas joué car cette macro n'
est pas connectée. Connectons-le à nouveau. Faites une compilation rapide, revenez en arrière et testez-la à nouveau. Appuyez une fois sur le bouton d'
attaque SWOD. OK, l'attaque éclate. Appuyez deux fois dessus. Les deux
attaques sont lancées. Parfait. Maintenant, cela fonctionne
correctement, car chaque fois vous appuyez sur le bouton SWD, le
numéro de piste est réinitialisé au
lieu d' être
incrémenté C'est une bonne chose, le
code fonctionne correctement. Maintenant, juste pour nous
assurer que cela
fonctionne correctement,
revenons en arrière. Si le numéro de suivi SWD sur le
SDTakTink n'est pas
supérieur ou égal à deux, nous voulons remettre la taxe
Seda à zéro Nous allons donc venir ici, je vais simplement dire set
OK, numéro d'attaque SOD Je vais l'apporter ici. Je vais définir le
SDTack numéro deux. Je vais venir ici. Permettez-moi d'abord de
réduire ce lien à zéro. C'est donc ce qui
va se passer. Il vérifiera si le
nombre d'attaques SD est supérieur ou égal à deux. S'il vérifie et c'est une bonne chose, il le fait et c'est aussi
le cas de l'attaque SD. Si ce n'est pas le cas, le numéro d'
attaque SOD sera remis à zéro Et la raison pour laquelle nous le
faisons, mais OK, la raison pour laquelle nous le faisons
, c'est pour que de retour ici, ce code initial exécutant le numéro
de l'attaque SOD, recommence
à vérifier à zéro Cela devrait
fonctionner correctement. Voyons ça dans le jeu. Donc, données un,
deux, c'est bien, c'est le cas. Alors, merci. OK, ça
ne fonctionne pas encore correctement. Revenons en arrière et faisons
une autre vérification rapide. Donc, le faire une fois suffit. Cela fonctionne
correctement comme prévu. Cela devrait fonctionner
correctement comme prévu. Si c'est le cas,
rompez ce lien. Si c'est deux, cela devrait être augmenté au-dessus de
deux, c'est bon. Donc, s'il en est un, il en
deviendra deux. S'il est supérieur à deux, c'est bien parce
que j'ai
appuyé plus de deux fois. Alors
vérifions-le et voyons un, deux, ça fait ça. OK. Parfait.
Parfait. Nous allons maintenant faire un
autre ajustement. Donc, ce que nous allons
faire, c'est faire une vérification de base en venant ici. Donc, juste après ce délai, étant donné qu'il y a un délai d' seconde après la
première attaque SWOD, ce que nous voulons faire,
laissez-moi le copier Apportez-le ici. En fait, je
veux faire cette vérification, mais ne la vérifions pas ici. Ce que nous voulons
faire, c'est vérifier ici. Nous sommes en train de vérifier si
le nombre est supérieur à deux ? S'il est supérieur à deux
, exécutez la
chaîne. C'est bon. Si le nombre est inférieur à deux, c'est-à-dire s'
il est un, l' attaque SOD sera remise à zéro Mettons donc un peu de texte ici. Imprimons du texte, et nous l'appellerons Attack Reset. Parce que nous voulons être sûrs pouvoir voir quand l'
attaque sera réinitialisée. Laisse-moi changer cette couleur.
Je pense que le rose est bon. Retournez dans le jeu en vous
assurant que le code s'
exécute correctement une ou deux fois. OK, il le fait. Mais il n'est pas capable de
revenir en arrière et de recommencer. OK, nous allons revoir rapidement le code
dans la prochaine vidéo
55. 52 Ajouter un lien vers l'attaque à la deuxième attaque par l'épée: OK, maintenant on passe à autre chose. Actuellement, si j'appuie deux fois sur
le bouton d'attaque, le joueur actionne les boutons, mais il ne se réinitialise pas encore. Mais si j'appuie dessus une fois, il se réinitialisera,
me permettant de lancer l'attaque. Maintenant que
la réinitialisation est terminée, ouvrons le
plan du héros. S'il
découvre que le nombre de
fois que vous avez appuyé sur
l' attaque est
supérieur ou égal à deux,
il fera le combo, mais il n'y aura pas de
réinitialisation C'est bon. Nous traiterons
de la réinitialisation ultérieurement Mais si vous appuyez une fois, le numéro d'attaque à l'
épée sera
remis à zéro et la réinitialisation de
l'attaque par cordes s'affichera. Voici donc à quoi cela
ressemble dans le jeu. Appuyez une fois, attaquez, réinitialisez. Appuyez une fois, attaquez, réinitialisez. Appuyez deux fois. Il exécute
les deux attaques, mais il n'y a pas de réinitialisation. C'est une bonne chose. Cela
fonctionne comme prévu. Passons maintenant à l'
attaque numéro deux. Nous allons revenir à l'
animation Blueprint,
et nous allons sélectionner l'
attaque numéro deux Maintenant, avec l'attaque numéro
deux, jouons rapidement. Bien. Maintenant, juste après que la zone de frappe de l'
épée soit enfoncée, à la fin de l'animation, nous ajouterons une nouvelle notification. OK. Nous allons donc ajouter l'un de ces notificateurs : nous
voulons une nouvelle notification, et nous allons
appeler, en fait Revenons d'abord en arrière.
Je veux que le nom soit SWOD Attack Two
Link That's CO Donc, lors de la troisième attaque SWOD, nous allons
ajouter une nouvelle notification, qui s'appellera SWOD Attack Underscore
Three, underscore Link OK. C'est son nom, et il se trouve à la toute
fin de l'animation. C'est à ce moment-là que nous
voulons le faire, car
c' est à ce moment-là que l'animation
est complètement terminée. C'est cool. Et puis dans le plan d'animation,
OK. Allons-y. Maintenant, WoD Attaque Two est le
premier double cricket. Ce qui se passe sur ce
lien, c'est que nous récupérons le héros et que nous jouons à Link l'événement
SwOD attack to Link Configurons donc l'événement dans notre
classe de plan de personnage sous Attack Links Donc, le SWOD attaque
deux Link ici. Ce que nous voulons faire maintenant, c'est configurer
un autre événement personnalisé, et nous appellerons
cet événement personnalisé SWOD attack underscore
three, underscore Nous voulons que la dénomination
soit aussi uniforme que possible. Très bon pour l'organisation. Et puis avec ça,
je vais
essentiellement recopier tout ça, d'accord ? Je ne pense pas qu'il y ait
une raison
pour moi de tout réécrire Il va y
avoir une réécriture. Mais pour des raisons de rapidité et de simplicité, copions-le et
relisons-le une fois de plus. Maintenant, qu'avons-nous copié ? Attaque SWOD vers le lien. Zoomons un peu plus. Nous obtenons le numéro d'attaque SWOD. S'il est supérieur
ou égal à deux, True. Faites du soda Tack Tack Two C'est ce qui est
imprimé. Cela permet à Soda Tack Two d'être actif Après 1 seconde de délai,
il l'active. OK. Et puis s'il
est inférieur à deux, il joue simplement sur les faux nœuds. numéro Sodtac est remis à zéro et
affiche la
réinitialisation de l'attaque par chaîne.
C'est le cœur. Maintenant, pour ce qui est de Soda Tack Three, nous allons simplement
le lier ici Maintenant, si les punks SOD sont supérieurs
ou égaux à trois, seront joués
tous les trois OK. Il vient par ici. Au lieu de définir SDTack deux, nous allons le remplacer par une attaque SOD trois. Passons donc à l'
attaque SOD 3, faisons-la glisser vers l'intérieur et
définissons-la sur Zoom avant Nous allons donc le régler sur
« Oui, l'attaque SOD 3 est activée Elle est en cours de réalisation. Nous allons lier le délai, nous allons le
copier et le coller ici, le
faire glisser vers l'extérieur et le régler sur le fait qu'il soit
maintenant désactivé au bout d'une seconde. OK. Et puis, ici, nous pouvons voir. Le numéro d'attaque
est donc mis à zéro, et il y a une réinitialisation de l'attaque. OK. Maintenant,
compilons rapidement ceci et le tour est joué Passons donc au
niveau. Appuyons sur Play. Une attaque réinitialisée, une, deux. OK. Je n'ai pas lu correctement
ce code. Nous aurons besoin d'
une vérification rapide. Une attaque réinitialisée,
une, deux, d'accord ? Oh, oui, la
fonction n'est pas terminée. Nous venons de terminer de
l'installer ici. Oh, c'est moi. Bien, revenons
au plan d'animation. Ouvrez WoD Attack Three Link. OK. Maintenant que nous avons une configuration d'
attaque SWOT à trois encres,
je vais l'ajouter,
devenir héros, puis nous voulons que l'
attaque SWOT à trois liens
soit ce qui sera joué Alors jouons-y après. Maintenant, cela devrait fonctionner correctement. Il joue une réinitialisation d'attaque, une, deux, je ne vois pas
la réinitialisation d'attaque. Revenons en arrière et
jetons un autre coup d'œil. Donc, lors de la première attaque SWD, nous avons une attaque SWD à lier, et elle fonctionne correctement Lors de la deuxième attaque SOD, permettez-moi de l'enregistrer rapidement, assurer que tout est sauvegardé Enregistrez tout, enregistrez toutes les modifications. Nous avons installé trois
liens SOD Attack ici. Nous allons revenir au plan
d'animation. Le lien Sword Attach Three
semble fonctionner correctement. Sword Attach Three Link
fonctionne correctement. Revenons maintenant,
assurez-vous que tout le reste
fonctionne correctement. OK. Si c'est le numéro défini, c'est
là que réside le problème. OK, ajoutons rapidement une épingle. Donc, si le nombre est trois,
récupérez cette macro et recopiez-la Cela signifie que le bouton
a été pressé trois fois. Augmente le nombre d'une unité. Ce n'est probablement pas le problème, mais ajoutons-le. Cela signifie que le bouton a
été pressé trois fois. Alors viens ici,
Sword Attack Three. Cela signifie qu'
il faut appuyer sur trois attaques. Sword Attack Two se
déroule donc correctement. J'espère que vous me suivez. J'espère que cela a du sens. Nous venons ici, Sword Attack. Est-ce que WoD attaque trois. C'est le bon texte. Il vient ici,
Sword Attack Three. Retard, retard. Terminé.
OK, revenons ici. Appuyez une fois. Réinitialisation de l'attaque, appuyez deux fois. OK, il lance la
deuxième attaque semée. Parfait. Maintenant, le problème c'est qu'après avoir terminé
le deuxième soda,
il ne le réinitialise pas. Voyons voir. Pourquoi ne se réinitialise-t-il pas
après le deuxième Soder Tack ? Parce qu'après
cela, c'est joué. Faisons quelques
étapes de dépannage de base. Voyons si cela se
passe réellement. La chaîne d'impression hello hello
devrait suffire. Compiler. J'appuie une fois. La réinitialisation fonctionne. J'appuie deux fois. La
réinitialisation fonctionne. J'appuie une fois. OK.
Compris. Je vais devoir
vérifier deux fois pour voir ce qui fonctionne. Hum. Quoi qu'il en soit, je pense que
je suis un peu fatiguée. Je m'y
intéresse depuis longtemps. Je reviendrai et mettrai à jour
une partie de ce code.
56. 53 Finalisation des liens de combo et des réinitialisations pour le combo ancré: OK, donc du café a été bu et du temps s'est écoulé. Donc, revenez et
configurez correctement ce système. Revenons donc en arrière et
partons des principes de base. Pour commencer, assurez-vous d'
avoir la sauce d'animation. Ici, assurez-vous d'avoir
le plan d'animation Z. OK ? Ici, nous pouvons
consulter le graphique d'animation. Et nous allons y aller un par
un pour vérifier les attaques. Ainsi, chaque fois que vous
appuyez sur le bouton d'attaque, une attaque de
mêlée à action de saisie améliorée est déclenchée. OK. Une fois cela fait, nous passons à un do once qui ne se
réinitialise que lorsque le bouton est relâché et nous passons à un interrupteur sur un entier basé
sur le numéro SWODAttack Commençons donc
par l'attaque rapide. Donc, avec l'attaque rapide après avoir augmenté
le nombre d'un, le
nombre d'attaques SOD est maintenant fixé à un Nous imprimons une chaîne
appelée one. C'est très bien. Nous nous assurons que la première attaque SWD
est définie sur true. Il y a un délai d'une seconde,
puis la touche 1 du SWD
prend la valeur false Maintenant, lorsque le patch SOD
est réellement terminé,
ce qui se passe, c'est que le
SOD attaque deux liens, nœud est déclenché, ce qui change le soda. Je vérifie
le numéro de Sdstack s'il est
supérieur Ce sera la condition. Si c'est vrai, c'est que c'est
plus que non égal à deux. En d'autres termes, le
joueur a appuyé plusieurs fois sur
le bouton Soda Attack. Il imprime la corde,
fait en sorte que la soudure en attaque deux. Cela signifie que Sold Attack Two
est lancé. Il y a un délai, puis la deuxième attaque
vendue est annulée. S'il est faux, le numéro d'attaque
vendu est remis à zéro et affiche la réinitialisation de l'attaque Nous allons maintenant apporter
quelques modifications. Pour commencer, OK. Pour commencer, nous allons
supprimer le délai. Nous n'avons pas besoin de ce délai, et nous allons
obtenir le nœud qui désactive Swadata Animation
One Deuxièmement, commençons par
remettre cela à plus tard. Maintenant, la raison pour
laquelle nous voulons le faire est
que nous voulons que
cela se
déclenche uniquement . Je veux que cela se
déclenche sur la base d'une animation, non sur la base d'un délai. Maintenant, si nous le faisons c'est parce que revenons aux articles de animation
de Sod Attack One Vous remarquerez donc qu'à la fin du Seder, d'
accord, désolé Faites défiler la page ici. C'est à la fin du swedatak que celui-ci
est lancé Permettez-moi de le faire avancer un
peu jusqu'au maximum. Je veux donc lancer Swedatak
juste par ici, juste à la fin
quand il sera lancé OK. Maintenant, permettez-moi de revenir en arrière. C'est essentiellement ce que nous voulons. Donc, avec cette simple modification du code, revenons en arrière. Donc, le positionnement du
réglage Soda Attack un, deux devrait être
quelque part ici. Permettez-moi
d'en faire glisser un grand nombre
vers l'avant, pour libérer de l'espace. OK, organisez-les. Je vais les empiler verticalement,
puis les connecter. Donc, la première chose
qu'il fait en essayant relier le deuxième point de
soudure est vérifier
que le point de soudure variable 1 est activé
, C'est essentiellement ce sur quoi
il va être configuré. Maintenant, avec cet ensemble,
faisons une vérification rapide. Ce n'est donc que le
premier point de soudure. Une fois que le bouton de mêlée
est enfoncé une
fois, il exécute le simple do once, active int, il commence à zéro,
puis il va configurer Suder tack 121 pour commencer à
jouer Je vais venir ici. Pour que cet événement personnalisé mette
Seda Tack One hors fonction, il y a une simple vérification de l'état de
la succursale Il fera l'affaire. Et puis cela fera de
Swedatak deux un peu plus. Nous allons commencer par
cela et voyons si cela nous permet d'obtenir
des animations plus propres. Voyons voir. Appuyez une fois. Tiens bon. OK, je n'ai
pas fait la réinitialisation appropriée. Une fois ? Non, ça
ne l'est pas. Appuyez une fois. OK, réinitialisation de l'attaque. La réinitialisation des attaques
fonctionne bien. Appuyez une fois, appuyez sur
reset, appuyez deux fois. Il n'a pas fini de
faire SweData Two. Maintenant, la raison pour laquelle il n'a pas
fini de faire Swedatak
Two est liée au plan
d'animation Donc, pour le moment, on ne
peut passer que de
SwedaTak un à Seda C'est essentiellement
tout ce qu'il peut faire. Mais nous allons changer cela. Alors, venons-en
rapidement ici. Donc, le code de SOD tack un à deux est si Sud Atak
two Copions donc simplement ce code et nous allons le faire glisser de idle
à Swedtak 2, coller et le connecter OK, assurons-nous que j'aime
vraiment l'organisation. Je le sais vraiment, vraiment. Permettez-moi les
aligner au milieu. OK. Maintenant, avec ce
simple changement, nous avons fait en sorte qu'
il puisse passer de inactif à la
deuxième attaque SOD, ce qui est très bien Alors, venons
ici, nous sommes inactifs. Word Attack One Reset. D'accord, maintenant il peut faire la transition , il peut passer de Okay. Mais je ne peux le faire qu'une seule fois. Nous devons travailler sur les réinitialisations. Il peut le faire.
J'y ai donc joué les deux animations. Mais nous devons faire un
peu plus de nettoyage car même s'il est agréable
de pouvoir passer du mode inactif à Swedatack, vous devrez également le
configurer de manière à ce qu'il puisse passer de l'exécution
à Soda Tack Tack Two, ce qui ajoutera encore
beaucoup à Maintenant, un moment. Maintenant, cela
résout ce problème, mais nous voulons tout de même
pouvoir passer de
Sedatak un à deux Et si on
revenait au plan ? Hein ? Voici le plan du
personnage Et si au lieu de cela,
nous ne laissions Seda
lancer qu'une seule fois,
supprimons d'abord ce délai
pour désactiver Sed Attack Two lancer qu'une seule fois,
supprimons d'abord ce délai
pour désactiver Sed Attack Nous l'avons fait
uniquement par ici, non ? Donc, juste après avoir activé
Sed Attack 2, cela
permettrait-il à Sdack
One de s'exécuter juste Cependant, nous
devons également le faire pour
qu'en cas de réinitialisation d'une attaque, juste après la réinitialisation, désactive
également le Sudtack Essayons donc ça.
OK. Oh. OK, donc Soder Tack Two est juste Donc ici, une,
une réinitialisation, c'est bien. Sympa. Maintenant, la deuxième
attaque est en train de sortir. C'est une bonne chose. C'est donc une
bien meilleure implémentation. Nous allons donc partir de « voyons-voir ». Donc, deuxième étape,
nous allons l'activer. Nous allons désactiver Solder Tack 1, et nous allons continuer à
partir de là. Bien. Maintenant, pour un dernier test, il y a de l'inactivité ici. Brisons le lien
ici, supprimons-le. Compilons, allumons-le. Un, réinitialisation de l'
attaque, un, deux. Eh bien, je n'ai pas fait Sedatack 2. Essaie encore une fois. Un, une réinitialisation de l'
attaque, un. Je vois le texte
de D SDTack 2, mais je ne vois pas le véritable
SDTack Hmm. Hum. Pourquoi ferait-il cela ? OK, alors entrons
ici. Ajoutons un délai. Je pense qu'un délai de 0,2
seconde est raisonnable. Réduisons-le à encore moins. Ce délai est donc maintenant de 0,1 seconde et voyez s' il exécutera correctement l'
attaque. Une fois réinitialisé. Une fois réinitialisé, une fois, deux fois. OK. OK. Maintenant, cela
fonctionne correctement. OK, c'est bon. L'ajout de ce léger
retard a empêché le code de se déclencher trop
rapidement, ce qui nous a désactiver le point de soudure juste au moment où le deuxième point de soudure
est en train de se déclencher C'est dans cet esprit que nous avons effectué la
première attaque par soudure Maintenant, pour ce
qui est de la deuxième plaque à souder, elle est arrivée ici. C'est la longueur de trois points de Soder, et c'est
ce que nous lançons
lorsque nous ouvrons l'attaque c'est
ce que nous lançons SWD 2 Sauvegardons tout rapidement. Il est toujours important de tout sauver. Donc, juste après cette baisse, nous avons une attaque SOD à trois liens, c'est la prochaine chose que
nous devons examiner Nous allons donc aborder les
trois maillons de l'attaque SWOD , et c'est prêt Donc, selon la configuration, à la fin de l'attaque SWD,
deux attaques arrivent si le nombre d'attaques est
supérieur ou égal à trois OK, je vais
vérifier si c'est moins. Il définit le numéro d'attaque SWD 20 et réinitialise l'attaque. Bien. Si c'est vrai, il lancera une attaque SWD trois
et activera l'attaque SWD 32 OK, c'est bon. C'est très bien. Maintenant
que c'est fait, venons-y. Ce que nous voulons, c'est que la deuxième attaque
SWOD soit désactivée et nous voulons qu'elle soit désactivée ici Donc je vais m'en occuper
aussi. Laisse-moi comprendre. Collez ça ici. Je veux qu'il soit déclenché. Et puis, lors de la réinitialisation, nous voulons également qu'il
soit désactivé à deux reprises. Nous allons obtenir ce délai, et nous allons le ramener à 0,1, compiler, revenir en arrière
et le tester maintenant. Après la compilation,
faisons ce test. Un, deux, trois. OK, c'est bien. Cela fonctionne correctement. Faisons-le encore une fois. Un, réinitialisation de l'attaque, un, deux, réinitialisation de l'
attaque, un,
deux, l'attaque est réinitialisée. Faisons-le trois
fois. A, sympa. Maintenant, nous avons simplement besoin d' une fonction pour mettre fin à la
troisième attaque SOD Sortons. Nous allons revenir à la
source d'animation, passer à la troisième attaque SOD, puis à la fin,
nous allons ajouter une nouvelle notification et nous allons l'
appeler Sword Combo OK. Faites-le glisser jusqu'à la
fin, faites-le glisser là-bas. OK, c'est donc la fin du combo
Sword. Maintenant que le
combo SWOD est configuré là-bas, nous allons passer au héros, et nous allons
créer un nouvel événement, sera un événement personnalisé Maintenant, nous allons appeler cet événement
personnalisé sword, combo et OK, nous voulons que les
noms soient cohérents. C'est ça. Extrémité du combo SOD C'est celui que nous allons utiliser. Maintenant, à l'intérieur du combo SOD, tout ce que nous allons
faire, c'est abord faire une réinitialisation de base Nous allons donc remettre le
compte des attaques à zéro, et nous allons
obtenir SWODAttack trois, mettre ici et le désactiver C'est tout ce que nous allons faire. Alors appuyez rapidement sur compiler. Et nous y voilà. Sword
Tack Three est déclenché. Le numéro de punaise de l'épée
est mis à zéro. Et maintenant, revenons
au plan d'animation. Permettez-moi de tout enregistrer rapidement et de compiler. C'est
une bonne compilation. Et ce que nous voulons, c'est rechercher la fin du combo
receive Notify Sword. Bien. Ensuite, nous dirons : « Hé, en tant que joueur, deviens plutôt héros ». Ici, une combinaison d'épées s'
arrête, vous lancez. Parfait. Compiler. Et puis, par souci
de simplicité, venons ici
et traînons les choses en longueur. Et nous voulons imprimer une chaîne, et nous appellerons la fin de la combinaison de
chaînes et laisse-moi changer sa couleur
en une couleur que nous remarquerons, transformer en rouge, un beau rouge foncé. Cela permettra de voir clairement si
tout fonctionne correctement ou non. Nous voilà donc en train de réinitialiser l'attaque. Lorsque j'appuie une fois sur le bouton d'
attaque, attaque est réinitialisée. Quand j'appuie deux fois dessus. Mmm, hum. Bien. Ensuite,
je réinitialise l'attaque. Ensuite, si j'appuie dessus trois fois, il le fait et le combo
se termine. Un, deux, trois, et
c'est la fin du combo. C'est plutôt bien en fait. Nous avons donc maintenant un système
de combo très basique pour les attaques au sol. J'ai donc appuyé
trois fois sur le bouton d'attaque et c'est fait. Maintenant, gardez à l'esprit que la
raison pour laquelle mes attaques sont si lentes est principalement liée à
l'apprentissage et à l'enseignement. Vous pouvez accélérer la
fréquence d'images des attaques en fonction de ce que vous
jugez approprié. Pour le type d'attaques
que vous recherchez dans votre jeu. Donc pour le moment, ceux-ci
sont vraiment lents, d'accord ? Mais vous pouvez le faire pour qu'ils soient beaucoup
plus rapides que cela. Alors laissez-moi vous montrer à
quoi cela ressemble. Nous allons donc revenir
à la question de savoir. Passons maintenant
aux animations. Non, non, non, aller à l'art. Oui, oui, oui. Faites ensuite défiler la page vers le bas. Ainsi, sod attack one, par
exemple, est réglé sur
cinq images par seconde. OK. Mais nous pouvons le
configurer différemment. Nous pouvons le configurer jusqu'à
15 images par seconde. C'est donc une attaque au gazon beaucoup
plus rapide. Maintenant que nous avons atteint
15 images par seconde, examinons l'animation dans le
papier. Notez que l'animation est beaucoup
plus rapide. Alors attaquons. Remarquez qu'il sort plus rapidement. Sympa. Remarquez, s'
éteint une fois et se réinitialise. Sympa. Et puis il y a
les autres attaques. Ces attaques sont plus lentes. Maintenant, laissez-moi ajuster l'animation de l'attaque
pour qu'elle ne soit pas aussi rapide. Permettez-moi de le réduire à
dix images par seconde. Voici donc à quoi ressemblent les
animations maintenant. OK, donc ces deux-là sont
lents. Accélérons-les. Alors, prenez deux, laissez-moi l'augmenter de cinq images par seconde à
dix images par seconde. Chargez-le. Et puis Soda Tack Three. Je l'augmente également
de cinq images par seconde à dix
images par seconde. OK, un, deux, donc il
attaque les deux. Alors regarde ça. Un, deux, trois, un, deux, trois, un, deux, trois. OK, donc vous pouvez les composer, ou vous pouvez les chronométrer de manière
semi-précise, d'accord ? Nous y voilà donc. Nous avons maintenant
une attaque simple pour les joueurs. OK. C'est donc essentiellement cela. C'est ainsi que nous pouvons configurer un système de combo simple
pour notre joueur. Maintenant que nous avons un système de combinaison
simple, pour nos attaques au sol, faisons de même pour nos attaques aériennes, car
remarquez quand il saute, d'accord ? Lorsque notre héros saute, il ne
fait qu'une seule barre oblique,
et les animations sont un
peu interrompues et les animations sont un
peu interrompues Nous allons donc ajuster ces animations d'attaque aérienne
dans la prochaine vidéo. Allons-y.
57. 54 Vérifier si le joueur est aérien pour les routes d'attaque à l'épée: C'est bon. Maintenant que nos combos ancrés sont correctement
configurés, n'est-ce pas ? Nous voulons maintenant que notre air soit
également correctement configuré. Configurons donc un système de combinaison
d'air. Maintenant, en gros, nous allons faire la même chose que
pour le terrain, mais il va y avoir
quelques changements, d'accord ? Mais nous allons y revenir. Revenons donc à
la sauce de l'animation. Il s'agit donc de notre première attaque combinée
aérienne. Voilà cette tranche d'air. Ensuite, il y a cette tranche vers le bas
en l'air, et la dernière est une
barre oblique vers le bas en l'air D'accord, c'est donc essentiellement ce que nous avons
pour nos combos aériens Nous allons mettre
en place un type d'organisation très similaire à
la manière dont nous voulons que les
combos aériens interagissent Jetons maintenant un coup d'œil
au plan d'animation. Voici donc le graphique d'animation. Donc, ce que nous pouvons
faire, c'est passer de n'importe quelle attaque
SOD à l'inactivité Nous pouvons passer de la première attaque SOD à l'
animation en cours ou au ralenti Et puis à partir de là,
comme vous pouvez le voir, nous pouvons actuellement passer
d'un point de départ rapide à une
attaque aérienne SOD, d'accord ? Revenons donc plutôt à Seda Tack. Mais Seda Tack est actuellement
configuré pour être Sword Attack One. Nous allons maintenant ajuster
cela afin de pouvoir séparer nos contrôles combinés aériens de
nos contrôles combinés au sol. Passons donc rapidement à
l'animation des héros, et c'est par là que nous allons
commencer. Nous y voilà donc. Il existe tous ces
différents liens d'attaque, et ce que nous allons simplement faire,
c'
est plutôt prendre cette boîte prendre cette boîte, la copier et la mettre ici. D'accord, ci-dessous parce que vous
voulez qu'ils soient à proximité. Et ce que nous allons faire, c'est
changer le nom de liens d'attaque en liens d'
attaque restreints. Et ils seront conçus
pour attaquer Links Air. Cela maintiendra donc nos
liens d'attaque terrestres, et cela conservera
nos liens d'attaque aérienne. Maintenant, revenons
à l'attaque contre moi. Donc c'est une
attaque contre moi, c'est normal, d'accord. Permettez-moi de le comprendre rapidement et de le
faire glisser vers le bas. Juste pour nous donner un
peu d'espace pour travailler. Et maintenant, nous allons
ajouter un nouveau chèque. Maintenant, cette vérification sera une simple vérification pour voir si le joueur saute. Et pour ce faire,
nous
allons simplement récupérer tout
ce contenu à partir de l'interrupteur, le déplacer un peu vers la droite,
venir ici et
commencer par le décortiquer, n'est-ce pas ? Ce que nous voulons simplement
faire, c'est avoir une fonction de saut es simple. Nous devons déterminer si le joueur saute ou
non, et la meilleure façon de le
faire est d'
utiliser la composante de
mouvement du personnage. Maintenant, si vous revenez
à la zone de gauche, à
droite, faisons défiler la page vers le bas. Notez qu'il existe une composante de mouvement du
personnage. Nous voulons accéder aux informations
de ce composant. Maintenant, pour accéder aux informations depuis le composant de
mouvement du personnage, nous allons les faire glisser vers l'extérieur et nous voulons demander si elles tombent. Maintenant, sa chute
redeviendra toujours vraie si le joueur est
en train de sauter. Ainsi, chaque fois que le joueur est en état de sauter, sa chute
sera réglée sur true. Si le joueur est au sol, il sera réglé pour tomber. Maintenant, ouvrons
une branche rapide. Et depuis cette branche, nous voulons le connecter
ici, d'accord ? Vous voulez connecter la vérification savoir si le joueur
tombe ou non sur cette branche. Et nous aimerions pouvoir d'abord effectuer un zoom arrière très rapidement parce que je veux avoir
encore plus d'espace pour cela, faites-le glisser ici, d'accord ? Donne-nous l'espace.
Nous avons besoin d'espace. OK, retournons dedans. Maintenant, ce que nous voulons,
c'est que s' il est vrai que le
joueur tombe, il suffit de l'imprimer en
gros caractères gras. Oui OK. Et dans quelle couleur, rendons la couleur verte. Oui, le joueur saute,
il tombe plutôt. D'accord ? Je suis en train de copier-coller. OK. L par ici. Cependant, s'il est faux, configurons-le pour qu'il dise non. OK. Ce
sera essentiellement ça. Et dans quelle couleur,
changeons-le en rouge. Maintenant, ce que nous avons fait est
fondamentalement simple. Nous avons configuré l'animation d'
attaque, le bouton d'attaque pour vérifier si le joueur
saute, dites oui. Si le joueur
tombe, dites non. OK. Si le joueur est cloué au sol, s'il est
cloué au sol, dites non. Si le joueur se trouve
dans un État de la zone, dites oui. Alors, déplaçons-nous. J'ai appuyé, c'est dire, non, non, non, non, non, parce que le
joueur est au sol. Ce sera donc une bonne chose pour nos combos ancrés, d'
accord ? C'est juste non. Mais quand je suis dans les airs, c'est dire oui. Remarquez ça, non ? Quel que soit l'état de saut, il
indiquera « oui ». Mais quand il sera immobilisé,
il dira non. Quand je saute, ça dit oui. Grounded,
non. Sauter. Parfait Nous avons donc
la première chose dont
nous avons besoin en ce moment. Alors, sauvegardons tout rapidement. Il est toujours bon de sauver Unreal
Engine de temps en temps. Fermons
ça, fermons ça, venons ici et fermons ça. Maintenant que ces
deux éléments fonctionnent comme prévu, configurons maintenant notre connexion. Maintenant, nous savons pertinemment que cet interrupteur fonctionne comme ça. Une fois que le bouton d'attaque est
enfoncé, il effectue l'incrémentation, puis il apparaît et
configure l'attaque SWOD pour qu'elle soit active OK. Ce qui mène
à l'organigramme dans lequel il commence le traitement via les liens d'attaque des liens deux et trois de SWODAttack, puis finalement
la fin du combo Tout cela
se fait par ce biais. Ce que nous voulons
maintenant, c'est l'organiser manière à laisser
le commutateur comme d'habitude. Nous pouvons laisser l'
interrupteur comme d'habitude, si besoin est, nous pouvons le
laisser comme d'habitude. Cependant, ce que nous
allons faire, c'est le
configurer de telle sorte
qu'
ici, au lieu de
configurer une attaque SOD, il configure une attaque
Aero SOD À partir de là, nous allons suivre le même processus pour configurer
les combos d'attaques SWOD C'est ainsi que nous allons procéder.
58. 55 Configuration de plans d'animation pour Air Combo: Maintenant que nous avons moyen
le plus simple de faire le
contrôle qui s'offre à nous. Maintenant, allons-y,
supprimons tout cela. Récupérez tous ces nœuds, replacez-les depuis
le commutateur int. Et cette fois, au lieu
d'imprimer cette chaîne, collons-la ici, et voici ce que nous allons
faire : le joueur tombe. D'accord ? Si le joueur
ne tombe pas, commencez par Sword Attack One. Cool. C'est essentiellement ça. C'est tout ce que nous faisons.
Si le joueur tombe, activez SwOD Attack One OK, définissez ce booléen sur un. Nous allons maintenant créer
trois autres booléens. Pour celui-ci, nous
allons l'appeler attaque
aérienne SWOD dès
le départ Nous allons en ajouter une autre, que nous allons appeler attaque aérienne
SOD sous le score deux,
et une autre attaque aérienne
SOD sous le score trois Nous avons donc configuré nos trois variables d'
attaque aérienne SOD. Maintenant, ce que nous allons faire, est venir ici
et nous allons lancer une attaque
aérienne SOD,
et nous allons la configurer Nous nous sommes allumés. Et nous allons faire glisser et connecter
ces deux éléments ensemble, puis nous allons faire
une compilation rapide. Maintenant, si nous sommes sur le
terrain, revenons en arrière. Je dois m'assurer que cela
est fait correctement. Je n'avais pas connecté
ce lien initial, corrigeons-le rapidement
, puis compilons, revenons en arrière une fois
, je peux faire mon combo à
trois coups. Je peux faire mon combo de deux coups
au sol. Je peux faire mon combo de trois
coups au sol. Je peux faire mes deux essais.
Un, deux, trois. Sympa. Parfait
Les combos ancrés fonctionnent donc très bien. Mais si je saute, remarquez, euh hein. Il ne fait encore rien. C'est cool. Commençons maintenant à implémenter le code
pour effectuer l'attaque aérienne. Maintenant, nous allons revenir à
l'animation ZD en papier. La première attaque est ce swipe, qui est une attaque aérienne Nous allons donc revenir sur le
plan de l'animation, et passer de Jumpstart à Air Swedatak est ce que nous voulons.
Alors viens ici. Mais cette fois, au lieu de
chercher un Swedatak,
nous rechercherons un avion d'attaque
aérienne SWOD Tiens bon. Oui, je veux
acheter Air Sword Attack One et le relier ici. Si c'est vrai, il peut y avoir une transition,
puis nous nous retirerons. Ensuite, nous irons
ici et il également
configuré pour une attaque
Air SOD. Sortez ça. Attaque aérienne SWOD 1. Parfait Et oui, s'il est
vide, il s'arrêtera. Cette fois, sur le
terrain, je reçois mon attaque. En l'air, je reçois mon attaque aérienne
SOD. C'est une bonne chose. réinitialisation n'est pas encore en cours, mais nous savons que
cela fonctionne La prochaine étape, bien sûr, de la même manière que nous l'avons fait
pour les autres, c'est d'ajouter
de nouveaux états d'animation. Nous appellerons cette attaque aérienne SWOD la case deux et nous
ajouterons un autre état d'animation Et nous appellerons cela une
attaque SOD à moins de trois points. Et nous les organiserons exactement
de la même manière. Vous pouvez donc passer de Air
SwoDTack 1 à AirSDTack 2. Vous pouvez passer d'AirsStack 2. Revenons au point de
départ, d'AirswdTack 3
à JumpStack et d'AirswdTack 2
à AirSodTack Assurez-vous qu'ils sont correctement
connectés. Maintenant qu'ils sont correctement
connectés, nous allons effectuer
quelques ajustements supplémentaires
pour effectuer une double vérification rapide. D'accord ? Cela fonctionne bien. Tout devrait
avoir un sens logique. Laisse-moi juste les déplacer vers le haut. Augmentons un peu
leurs positions, faisons en sorte que cela
ressemble davantage à ça. Il y a donc une boîte d'animations. J'aime son
apparence en termes de design. Et permettez-moi aussi de le déplacer vers
le haut comme ceci, ressembler davantage à une
boîte. J'aime bien ça. Ça a l'air plutôt
cool. C'est bon. Maintenant, nous savons que passer d'un point de départ peut passer d'un point de
départ à une attaque AirSod Et ce que nous faisons, c'est vérifier la
première attaque d'AirSod Maintenant, d'une
attaque AirSod à deux, ce que nous voulons, c'est
devenir un héros Et nous allons vérifier
Air SWDatak 2. OK. Et nous voulons voir l'égalité. Est-ce exactement égal
à « il est allumé » ? S'il est exactement égal à
activé, il peut effectuer une transition. Vous pouvez donc y faire la transition. Copions-le pour simplifier
ce que nous devons faire ensuite. Ensuite, de AirSWDatak
two à JumpStart, c'est assez simple. Si Air SOD Attack two est désactivé, il peut effectuer cette transition Maintenant, que diriez-vous de passer de deux à trois attaques
AirSod ? C'est assez simple.
La seule chose que nous changeons, c'est que cette fois, nous
avons la troisième attaque d'Air Word. OK, nous sommes en train de le comprendre. Connecte-le ici. Si c'est sur nice, perfect, vous pouvez faire
cette transition. Mais à partir de la troisième étape d'Air
Warder, en revenir à Jump Start, c'est pareil sauf que
cette fois, nous nous assurons qu' il est configuré pour ne pas être actif, Et c'est tout ce
dont nous avons besoin pour le configurer. Maintenant que nous l'avons
configuré, nous allons compiler. Et comme tout est compilé tel qu'il est
configuré actuellement, nous sommes encore un peu
loin de
tout faire fonctionner comme prévu car nous avons configuré
les nœuds d'animation, mais nous n'avons pas
configuré les animations. Nous allons donc entrer dans le nœud
d'animation et nous allons dire : «
Hey, play Air SwoD Attack Two Il est donc prêt à jouer
cette animation, sortir sur SWD Attack Three Jouez à l'air libre. Alors bien sûr, vous savez quelle animation,
Air SWD Attack Three Maintenant que toutes ces animations d'
attaque sont configurées, nous sommes dans un bien meilleur état. Bien sûr, il ne fonctionne pas
encore correctement, tout simplement parce que lorsque vous sautez, il ne fait qu'une seule attaque, puis il n'y a pas de réinitialisation Ensuite, nous allons effectuer les réinitialisations et ajouter
un peu de code, finaliser cela pour le combo aérien
59. 56 La configuration de la logique Air Combo: Maintenant que nous avons ce lien d'animation de
base
, nous allons utiliser le
même flux de logique pour
configurer dans nos notifications les
attaques SOD, Nous allons donc accéder à la source d'animation
de l'attaque aérienne SOD, et à la fin de
l'attaque aérienne SOD, nous ajouterons simplement une notification Ce sera une nouvelle notification et
ce sera une attaque aérienne SOT. Souligner. Voyons Air SOD
attaquer deux fois, soulignons Voilà Air
SwodTackUndercore. Le lien est entièrement configuré
et nous voulons utiliser exactement
la même convention que celle que nous avons utilisée avec le protocole SOD normal Si je dois cliquer sur le bouton SODA
normal, attendez. C'est SODA Tack, je suis ici. Faisons un petit zoom arrière. Je pense que je suis trop zoomé. OK. Vous remarquerez donc qu' ArSoD Attack Three Link
est installé là-bas J'ai besoin de faire un zoom arrière. Pourquoi cela ne s'
affiche-t-il pas correctement ? OK, les cadres ne s'affichent
pas correctement. Quoi qu'il en soit, nous devrons venir
ajuster cela plus tard, mais avant de le faire, oui,
c'est bien mieux. Vous pouvez voir le spawn hit box. Et puis SOD combo ender, les notificateurs sont Nous viendrons nettoyer ça, mais un peu plus tard. Comme vous pouvez le constater, la boîte
à chaleur d'origine est là, et au bout se trouve le lien
Air SODA Tak Two Et puis à la fin
de ArsoDataC 2, nous allons supprimer un
notificateur et nous allons créer
un nouveau notificateur et
nous allons l'appeler air
SWODtaUnder Score three, underscore nous allons supprimer un
notificateur et nous allons créer
un nouveau notificateur et
nous allons l'appeler air
SWODtaUnder Score three, underscore, Link. OK, c'est le prochain notificateur. Et puis à la fin, nous reviendrons ici, et c'est notre troisième. Il suffit donc d'ajouter à la
notification une nouvelle notification, et ce sera simplement une combinaison aérienne. C'est tout ce que ce sera
la fin du combo aérien. Ainsi, juste après la
troisième attaque aérienne, le combo prend fin. Nous allons maintenant revenir
au plan du joueur. Et littéralement, puisque
la logique est la même, nous allons simplement les connecter tous
, les copier. D'accord, le copier-coller vous
fait gagner beaucoup de temps. Fais-moi confiance, mon frère. OK,
nous allons nous arrêter ici. Maintenant, il a mis en place différents événements
personnalisés pour nous ici. Maintenant, nous allons rapidement y aller,
double-cliquez dessus. J'ai appuyé sur F deux pour
que nous puissions les modifier. Il s'agit donc d'air, de SOD, d'
attaque, de soulignement
deux, de lien de soulignement D'accord ? C'est le
nom de cet événement. C'est donc ce dont nous avons besoin. Nous avons donc le deuxième lien de Soder
ici. Ici, nous avons Soda
Tack Three, cool. Nous allons donc faire exactement la
même chose ici. Nous avons donc commencé avec Air
SWOD Attack Two Link. Renommons-le également. Air SOD, attaque, souligne
trois, souligne Link. Non, c'est une faute d'orthographe. Soulignez l'encre avec un K, pas avec un L. Et
puis, pour ce dernier point, il
s'agit du combo ender Revenons donc d'abord en arrière et vérifions-nous qu'il s'
agit exactement du même nom. C'est Air Combo End. Bien. Alors viens ici. Nous allons zoomer. Je vais donc le renommer
et je l'appellerai
air combo end et c' est terminé Ensuite, nous devons remplacer toutes les punaises SODA par
leur version correcte Je vais taper la fin de ce combo
aérien. Nous remplaçons désormais la taxe SODA
par les attaques aériennes au SOD. Supprimez-le donc et
c'est essentiellement Sod Tack Three. Il suffit de venir ici, faire glisser AR Soda,
troisième étape, et de vouloir le
configurer, le désactiver deux, puis de
connecter ces nœuds, et nous allons faire exactement
la même chose pour les différentes
propriétés Voici donc Soder Tack Tack 2. Nous allons donc prendre Air Soder Tack 2, glisser dedans et
le configurer sous forme de set Nous allons nous débarrasser de la tactique Soder. Parce que les combos
fonctionneront tous exactement selon la même logique Voici donc la
deuxième attaque d'Air Sword qui va être déclenchée. Donc, réinitialisation du numéro d'attaque. Alors voilà, assurez-vous qu'
ils fonctionnent correctement. Donc Attaque deux à nouveau, au lieu de cela, ce que nous voulons, c'est
Air Sword Attack Two. Nous allons donc le remplacer et ensuite, là où
il y a l'air soda, la troisième option Plutôt, optez pour la troisième solution,
nous pouvons la supprimer. Nous achetons Air Soda Tack Three, l'avons configuré et nous l'avons
activé puisque c'est ce que c'était La logique est exactement la même. Cela nous fait vraiment
gagner du temps en utilisant exactement
le même arbre logique pour notre taxe sur les boissons gazeuses et pour
notre taxe sur les boissons gazeuses moulues. C'est essentiellement ça, c'est un
très bon moyen de gagner du temps. Parce que vous ne faites que suivre
exactement la même logique. Nous allons maintenant apporter
quelques modifications à la taxe sur les boissons gazeuses pour
changer leur style, mais nous y reviendrons ensuite. Pour commencer, assurons-nous d'
abord que les punaises à soda se combinent correctement les unes
dans les autres Maintenant que c'est entièrement configuré, d'
accord, vérifions la
logique des liens ARSODtakt OK, ça a
l'air de bien se porter. Maintenant que les événements sont correctement
configurés ici, nous allons revenir au plan
d'animation et nous voulons ajuster
les notificateurs Nous allons donc passer au
notificateur du lien AisDTA. Ensuite, ce que nous
voulons, c'est devenir un héros. Et ensuite, faites de nous un héros. Et nous voulons établir un lien entre l'
événement et l'attaque aérienne SOD. Et c'est exactement le code que
nous voulons jouer lorsque ce notificateur est
appelé, d'accord ? Passons ensuite à
Air SOD Attack Three Ink, introduisons le G en tant que héros, et nous ferons exactement
la même chose Attaque aérienne SOD à trois maillons. C'est parfait Alors maintenant, c'est configuré
pour fonctionner correctement. Ensuite, nous passerons à la fin du Combo aérien et nous le retrouverons en tant que héros. Et la fonction que nous voulons
jouer est le combo aérien et le boom, et fait
et dépoussiéré. Et voilà, nous en avons terminé avec notre système combiné
d'air de base. Voyons comment cela
fonctionne dans le jeu. Je suis donc sur le terrain. Les feux de ma note
fonctionnent correctement. Maintenant, si je saute. Tiens bon. Saute, attaque. OK, l'attaque ne
s'est pas réinitialisée correctement. Revenons en arrière et
vérifions pourquoi. Nous allons commencer par
regarder le héros. Détecte-t-il correctement
si le joueur tombe ? Oui Il est donc le
configurer pour que
la pile d'air fonctionne normalement Commençons par vérifier cela. Sympa. Sauter. Il effectue la pile d'air et se
réinitialise Ah, sympa. OK. Maintenant
que cela fonctionne correctement, il ne reste plus qu'à tout enregistrer
rapidement. Nous devons nous
assurer que tout est enregistré afin que tout
fonctionne correctement. Fais un autre test. Quand je saute, je peux faire un coup d'épée. Mais remarquez immédiatement
qu'il y a un problème. Le code ne fonctionne pas correctement
car à un moment donné, le joueur
retombera au sol. Donc, pour réinitialiser cela,
nous devons faire en sorte que lorsque le joueur est en l'
air en train de lancer ses attaques, il reste dans les airs. C'est ce que nous allons faire dans la vidéo suivante.
60. 57 Polir la logique de combinaison aérienne: OK. Maintenant que notre code
Air Combo est disponible, la seule chose que nous
constatons, c'est que, vous savez, les joueurs touchent
le sol très rapidement. Nous voulons donc créer
une chaîne de base. Ce que nous voulons vraiment
faire, c'est garder le joueur dans les
airs pour les combos aériens Pourquoi ? Parce que ça
a l'air plutôt cool. OK. Du point de vue du
gameplay, une façon simple de
penser est que lorsque
le joueur est en l'air
et qu'il fait un comboing, nous le voulons Supposons donc que lorsque le
joueur bouge et que je saute, je veuille tomber normalement. Mais si j'attaque en tant que joueur, je veux en tant que joueur
rester en l'air plus longtemps. Maintenant, oui, techniquement, cela pourrait perturber un peu
le jeu, mais ne vous inquiétez pas pour contrer le fait que
vous restez plus longtemps dans les airs. Nous allons également ralentir vitesse de déplacement horizontal
afin que
le joueur ne
puisse pas se contenter attaques et d'
allonger la distance de saut. OK ? Alors, d'accord ? Comme vous pouvez le voir, nous
pouvons faire le combo là-bas. Mais si j'essaie de faire le combo, je finirai par
terre à un moment donné. OK ? Passons donc
au code. Donc, à l'intérieur du héros en ce moment, le mela tag, lorsqu'il est en l'air, vous
obligera à placer punaises à souder à l'
air,
puis à la fin de
l'attaque,
nous vérifierons si le joueur Si tel est le cas, remettez le nombre
d'attaques à zéro plutôt que si ce n'est pas le cas, puis réinitialisez l'
attaque et
désactivez Sodtak One S'ils sont toujours pressés, activez Sod Attack two Ensuite, après une courte durée, désactivez la variable sod Attack
ones. Maintenant, ce que nous allons
faire , c'est ajouter
un peu de sauce. Donc, dès que le joueur commencera à faire ses trucs à
air soda, nous allons aller chercher
la
composante de mouvement du personnage, d'accord ? Et nous allons l'intégrer. Ensuite, ce que nous voulons
faire, c'est définir l'échelle de gravité. OK. Nous voulons définir l'échelle de gravité, et nous voulons la définir. Commençons par le
mettre à zéro juste pour vous montrer ce qui se
passerait. OK. Maintenant que nous l'avons
mis à zéro, compilons et
revenons au jeu. Alors maintenant, lorsque le personnage saute, remarquez qu'il peut effectuer ses combos en plein air
sans gravité Mais c'est avec une mise à zéro. Réglons-le sur
quelque chose de plus sensé. Réglons-le sur quelque
chose comme 0,25. Cela signifie qu'une fois que le
joueur fait une combinaison,
il obtient un quart de la gravité Maintenant, lorsque le joueur saute,
il reçoit un quart
de la gravité
et il peut effectuer sa normale d'
attaque aérienne. OK. C'est cool.
Cependant, notez qu' il y a un petit problème lorsqu'ils se remettent
au sol, s'ils sautent
normalement, pas de problème. Ils ont le saut normal
que nous avons configuré pour eux. Cependant, s'ils font un combo et qu'ils
reviennent au sol, lorsqu'ils sautent en arrière, l'échelle de
gravité est conservée. Revenons donc au plan
du héros, puis nous copierons les nœuds qui
changent de gravité et c'est ce
que nous ferons Immédiatement
après, si le joueur réinitialise et qu'il ne
poursuit pas le combo,
remettez l'
échelle de gravité à un OK. Donc, si le joueur a
arrêté le combo à un moment donné, réglez l'échelle de gravité sur un. OK. Et nous ajouterons le même ensemble de nœuds
sur toutes nos périodes d'attente. Ce ne sont peut-être pas les bonnes attaques. Je crois que j'ai mis ça
sur une attaque SOD. C'est une attaque SOD Oups. Descendez pour attaquer l'air des encres. Vous voulez être dans les
lignes d'attaque aériennes. Mettons-le ici.
Donc, à chaque réinitialisation, nous remettons la gravité
à un, revenons ici. Il s'agit de la deuxième réinitialisation. Nous avons remis la gravité à un. Nous y voilà. Ensuite,
bien sûr, à la fin du combo, nous remettons la gravité à un. J'espère que cela a du
sens et que cela vous semble logique. Tout ce que nous faisons, c'est chaque réinitialisation, nous remettons
l'échelle de gravité à un. Si le combo continue, nous laissons la couleur flottante de
la gravité persister. Voyons à quoi cela
ressemble maintenant. Alors laisse-moi faire un saut. Fais. Oh, mon Dieu. Oh, désolée. Arrête ça. Je ne veux pas faire de debugs, merci,
s'il vous plaît Je ne suis pas en mode débogage. Commençons par là. Alors arrête le jeu. OK, saute. OK. Tu vois ? Alors je viens, je coupe. Une fois que j'en ai fini avec une barre oblique, ma gravité
revient à la normale Si je fais une entorse, ma gravité
revient à la normale. D avec une barre oblique, ma gravité
revient à la normale. Sautez, slash, la gravité
revient à la normale. Sautez, slash et slash pour
la deuxième fois. Réinitialiser. À propos de la triple
barre oblique, des trois barres obliques, puis de la réinitialisation de la gravité, nous n'avons pas besoin de réajuster
la gravité à chaque Maintenant, revenons en arrière, assurez-vous que cela
fonctionne correctement. Laisse-moi voir. Cette
réinitialisation est réinitialisée à un, réinitialisée à un, réinitialisée
à un, réinitialisée à Pas mal Mais je dois aussi
vérifier quelque chose. Lorsque j'ouvre le composant de
mouvement du personnage, laissez-moi rechercher l'échelle de gravité. Donc, l'échelle de gravité, normalement, pour un saut normal est fixée à deux. Permettez-moi donc de faire un
ajustement pour que le saut ne change pas du tout. Revenons au graphique des événements. Cette fois, lors de la
réinitialisation Désolé, lors de la réinitialisation, remettons son échelle de gravité à deux
pour qu'elle reste la même Maintenant, bien sûr, la méthode intelligente
consiste à avoir une variable avec, disons, une gravité de base
et à la configurer ici. Mais c'est à vous de l'ajouter. Faisons-le encore une fois. Alors cette fois, je saute, je coupe. La gravité a été ramenée à deux. Je saute, je coupe. Nous avons
fixé la gravité à deux. Saute, je fais les trois barres obliques. Je suis de retour au sol.
Je fais deux barres obliques Oh, j'en ai fait trois. Fais deux barres obliques De retour au sol. Je saute, je coupe. Je suis de retour au sol. Je saute, je coupe, je suis réinitialisé. Je saute, je coupe, ça se réinitialise. Je saute, je coupe,
ça se réinitialise, d'accord ? Je saute, je fais la triple barre oblique,
je lâche prise, ça se réinitialise C'est donc essentiellement
ainsi que nous maintenons le joueur en l'air
lorsqu'il fait des combos aériens OK ? Maintenant, nous
allons revenir ici, et nous voulons apporter une
dernière modification supplémentaire. Vérifions rapidement l'échelle de gravité 2. Ici, c'est réglé sur deux. Oui,
c'est réglé sur deux. Bien. Ici, l'échelle de gravité
est fixée à 0,25. Je pense que je vais le
ramener à 0,15. Je pense que 15 ans c'est mieux. Bien entendu, vous pouvez l'
ajuster à la valeur qui , selon vous,
donne le meilleur rendement. Bien que là, cela
entraîne un embouteillage plus élevé. Oh. OK. Maintenant que nous remarquons que cela mène
à un saut plus haut, nous
allons venir ici. Nous allons voir, nous allons régler la vélocité. Voyons voir, régler la vélocité. OK. Nous allons
régler la vélocité. Nous allons retrouver la composante de
mouvement du personnage, et nous allons obtenir de la vélocité. Obtenez la vélocité. Voyons où est obtenu la vélocité. OK, je veux gagner en vélocité. Répartissons-les. OK. Séparez-les. Et ça aussi, séparons-les. Et nous voulons que la
vitesse X soit la même, W la vitesse Y soit la même, mais nous voulons que la vitesse
sur Z soit exactement nulle. Maintenant, qu'est-ce que cela signifie ? Oh, la cible, W le
composant du personnage, non ? Compilons. Maintenant, c'est ce que
nous voulons, non ? Nous y sommes allés alors que le joueur
flottait dans les airs, voyons voir. Ce n'est qu'un set
pour une attaque rapide. Ils cessent de gagner en vitesse
verticale. Tu as vu ce que nous avons fait
là-bas ? Nous l'avons configuré pour que le joueur n'
augmente pas sa vélocité verticale. Et cette attaque rapide, c'est bien. Mais ils peuvent mener à bien leurs
trois attaques aériennes. Sympa, pas trop mal, pas trop mal du tout. Mais maintenant que je l'ai vu, je trouve que ce saut
est un peu faible. Ce n'est pas assez haut, tu sais. OK. Mais maintenant que
nous l'avons fait, je pense qu'il faut maintenant laisser tomber
l'échelle de gravité. C'est marrant, nous continuons à faire
tous ces ajustements. Abaissons maintenant l'échelle de
gravité à 0,05, d'accord ? Je pense que 0,05 est une échelle de gravité raisonnable car nous avons considérablement
réduit la hauteur de saut Alors on vient. Sympa. Le
joueur peut donc terminer Oh, je suis toujours zoomé. Toutes mes excuses. Le joueur peut toujours terminer
ses trois coups d'épée, puis il est de
retour au sol Et c'est un bref
aperçu de la façon d'
avoir un bon système d'attaque par
combo aérodynamique Et ce qui est bien, c'est que le joueur conserve la possibilité de changer direction même
lorsqu'il attaque ou frappe en l'air C'est une bonne chose. OK ?
C'est à peu près ça. OK, voyons voir si
c'est un saut normal. Il s'agit d'un saut offensif. Le saut offensif se déplace plus rapidement. Ce que nous allons faire, nous
reviendrons donc une fois de plus sur le héros. Maintenant que nous sommes de retour dans
le mouvement des personnages, nous sommes de retour à l'intérieur du personnage principal. Nous voulons obtenir un autre
élément de notre personnage, car il
existe une autre fonctionnalité de cambriolage Si je fais un saut de base, remarquez que
lorsque je saute, je peux sauter
environ 1,5 case. Mais si je saute et
que je commence à attaquer, je peux en sauter environ trois, ce qui signifie que nous
transformons les attaques aériennes en technologie de saut,
ce que nous ne voulons pas. Je veux dire, si tu le veux, tu
peux l'avoir dans ton jeu. Mais je vais
vous montrer comment faire en sorte que les attaques aériennes ne
modifient pas vos sauts, car plus tard
, nous verrons comment développer un jeu de plateforme
engageant et amusant Nous allons donc faire glisser la composante de mouvement du
personnage. Et nous voulons
rechercher des commandes aériennes, définir la commande aérienne. C'est ce qu'on
appelle les contrôles aériens, je veux régler le contrôle aérien.
Nous allons le mettre ici. Et ce que nous allons
faire, c'est régler contrôle
aérien sur,
disons, quelque chose comme 0,3. Parce qu'au mieux, la façon dont nous le configurons lorsque nous configurons les mouvements
du personnage permet contrôler
l'air. Jetons rapidement un
coup d'œil à ses détails. Je veux ouvrir les détails. OK, donc mes coordonnées
ne s'affichent pas, alors je vais aller voir,
et nous y voilà. Je vais cliquer sur les détails, et cette fenêtre de détails sera rétablie. Maintenant, je veux me renseigner sur
le contrôle aérien. Sous la composante de
mouvement du personnage. Vous pouvez donc voir que le meilleur
contrôle aérien est réglé sur un, d'accord ? Donc, en
réglant le contrôle aérien à 0,3, nous réduisons la capacité des
joueurs à contrôler la vitesse
diagonale lorsqu'ils sautent et qu'ils pointent Ils sont donc là. D'accord, le contrôle aérien
a donc été réduit, mais bien que le contrôle aérien
ait été réduit, le joueur peut toujours le faire. Non, ce n'est peut-être pas
la bonne solution. Permettez-moi de supprimer le
changement relatif au contrôle aérien. peut donc que le changement de
commande aérienne ne
fasse pas exactement ce que l'on attend
du personnage. Au lieu de cela,
modifions rapidement la vitesse de travail réelle. Mm. OK. Nous avons donc ici
la variable de vitesse de marche. Maintenant, nous allons
simplement suggérer cette variable. Voyons voir, nous avons
en fait réglé la vitesse de marche. Nous y voilà donc. Modifions la vitesse de marche maximale. Maintenant, ça commence à 600. Suggérons-le à 300 et voyons si cela
fera la bonne différence ou si nous ferons
en sorte que le joueur ne soit pas en mesure d'
augmenter sa distance de saut. Voyons voir. Non, pas assez. Réduisons-le à 150. C'est le mouvement du personnage. OK, donc ça a ralenti. OK ? Réduisons-le à 50. OK ?
Déposez-le vraiment vers le bas afin que nous puissions voir la différence d'
impact qu'il a. Non, ce n'est pas suffisant. Mm. Il va falloir
faire un autre ajustement. Donc, si la
modification de la vitesse de
travail ne fonctionne pas dans ce
cas d'utilisation, voyons voir. Je pense que ce que nous pourrions
changer, c'est le frottement de l'air. Je dois modifier le
frottement lorsque je suis dans l'air. En fait, il y a beaucoup de façons
différentes de le faire. Chacun avec ses propres
problèmes qu'il provoquera
lui-même. Nous y reviendrons plus tard. Maintenant, fondamentalement, maintenant
que nous en avons terminé avec cela, nous avons
la possibilité de créer
une belle animation à trois coups
et d' y réaliser ces hits, et aussi, disons, de
faire un saut rapide. Nous pouvons intervenir et lancer
des attaques aériennes. Nous avons des attaques aériennes. Ensuite, nous avons des attaques bloquées. Nous avons des attaques aériennes. Bien que les
attaques aériennes soient lentes, nous pouvons y remédier
très rapidement. Voyons voir. Laisse-moi entrer dans l'art. Et sélectionnez l'attaque au gaz à air comprimé. Ce paramètre est réglé sur quatre
images par seconde. Permettez-moi de le mettre à jour à huit images par seconde
pour le rendre plus rapide. Et puis le second, voyons voir, un, deux, trois. OK, c'est réglé sur
quatre images par seconde. Permettez-moi de régler cela à six images par seconde pour le rendre plus rapide. Et le dernier est
configuré comme vous le souhaitez ? En fait, ce que je vais faire, c'est modifier celui-ci, laissez-moi voir. Quelle est la troisième animation. Permettez-moi de le supprimer. Je vais juste régler ça à
quatre images par seconde. Ce sera donc
le dernier coup d'épée. Non, restez simple. Donc, avec ces
quelques changements, voyons à quoi ils ressemblaient. Voici donc les épées
ancrées. Et puis quand je
saute, beaucoup plus vite. Un, deux, trois. OK,
alors c'est fait. Bien. Un, deux, trois,
un, deux, trois. OK. Puis quand tu
sautes, un, deux, trois. En fait, j'
aime bien pouvoir
contrôler le mouvement quand je suis dans les airs comme ça.
C'est plutôt cool. Bref, c'est ça. Pour l'instant, nous avons configuré notre système
combiné Baseline. Maintenant que
le système de combo configuré dans la prochaine
série de vidéos, nous allons parler brièvement
de ce que nous
pouvons faire avec l'IA, car
frapper un bloc est amusant, mais toucher une vraie
créature capable vous
attaquer et de mettre fin à votre
vie est bien plus amusant. Entrons dans le vif du sujet.
61. 58 Détection du joueur à portée de main: Maintenant que des combats
sont disponibles pour notre joueur, donnons au joueur de
quoi se battre, qui sera
notre premier ennemi au corps à corps Maintenant, la première chose que
nous allons faire est de
configurer et de créer le plan de base de l'ennemi au
corps à corps, d'accord Pour ce faire, passons aux personnages. Notez maintenant qu'il y a
des dossiers ici. Nous avons notre attaque, objet à infliger des
dégâts,
puis le joueur. Créons donc un nouveau dossier, d'
accord, nous l'appellerons ennemi de mêlée Nous allons rester simples, d'accord ? C'est ainsi que ça
va s'appeler. Maintenant, c'est l'ennemi de mêlée. Et si nous y allons, nous allons créer
l'ennemi de mêlée en tant que classe enfant
du mannequin d'attaque Alors, prends le mannequin d'attaque.
Il va l'obtenir. Et puis, en haut, il y a la possibilité de créer
une classe de plan pour enfants Et nous allons traiter cette classe
de «
Child-Blueprint Class Me Ennemi Coupez-le rapidement, nous allons le supprimer, retourner dans l'ennemi au corps à corps, puis coller rapidement
le contenu ici Attends, en fait,
laisse-moi revenir. Où se trouve la copie ? Je veux vraiment le copier
dans son intégralité. Un vrai moteur. Où est la fonction de copie
simple ? OK, je n'en vois pas de copie. Je vais juste le faire glisser
et le déposer dans Melenem. Ça dit : OK, déménage ici. Oui, c'est ce que je veux faire. Rédacteur très intéressant. Quoi qu'il en soit, maintenant que nous sommes
dans l'ennemi de mêlée, nous voulons ajouter
quelques autres dossiers Nous allons donc créer un dossier
que nous allons appeler art. Nous allons créer un autre
dossier appelé animation dans
lequel nous allons placer
nos animations, et nous allons créer un autre
dossier appelé audio. OK. Nous avons donc de l'art, de l'
audio et de l'animation, et nous ajouterons d'autres dossiers en
fonction des besoins. Mais pour l'instant, ces
trois éléments seront suffisants. Bien que ce soit sympa
d'avoir ce mannequin ici,
mettons-le de côté Laisse-moi le déplacer. Allez, Cameoa. F par ici. Cool. OK. Maintenant, rapidement, lançons l'
ennemi au corps à corps dans le monde assurer
qu'il
est à zéro sur l'axe ZY OK. Il s'agit donc de notre premier
véritable ennemi dans le jeu. Ça y est en ce moment. C'est ici. Maintenant, ouvrons le plan
et voyons ce qu'il contient. Donc, à l'ouverture,
permettez-moi de l'ajouter ici, d'accord ? Donc, en l'ouvrant, remarquez qu'il y a
plusieurs choses. Il y a une collision basique entre
capsules. Il y a un cube de base ici. Il existe un maillage de caractères de base. Il y a le widget,
la barre de santé, là-bas, et il y a une bonne composante de
mouvement des personnages. La première chose que nous allons
faire , c'est d'entrer. Nous allons sélectionner le cube, et pour le moment, nous allons
simplement laisser là pour le moment,
car nous ne faisons qu'une chose. Mais nous allons ajouter
un autre élément ici. Maintenant, la première chose
que l'IA doit faire avant de faire
quoi que ce soit d'autre, c'
est d' être capable de
détecter le joueur et de
savoir quand celui-ci se trouve
dans une certaine fourchette. Nous allons donc passer
aux composants, et nous voulons ajouter
un composant appelé pawn sensing. C'est ça. Donc ça y est, la détection des pions. Permettez-moi de le renommer « détection des
joueurs ». C'est
le nom que je vais utiliser car il est
destiné à la détection des joueurs. Et puis, lorsque vous effectuez un zoom arrière, remarquez que c'est un rayon assez
fou, n'est-ce pas ? C'est un énorme rayon. Nous voulons donc réduire
ce rayon. Maintenant, sur le panneau des détails, nous pouvons réduire le rayon du site. Pour le moment, c'est sur 5 000. Permettez-moi de le réduire
à 1 000 unités. OK. Je pense que 1 000 unités
, ce sera une bonne chose. Et puis le seuil auditif, nous pouvons le mettre à zéro
pour qu'il ne
puisse pas entendre le joueur
et le seuil auditif LOS. Nous allons le ramener à zéro. Donc, tout ce qu'il a, c'est un rayon de vision. Maintenant, gardez à l'esprit qu'
il s'agit en fait d'une sphère. On dirait que c'est une ligne
droite, mais ce n'est pas le cas. C'est une sphère complète autour de
l'ensemble du personnage, non ? Maintenant, faisons une vérification rapide et assurons-nous que le composant de détection
ponctuelle, que j'ai appelé
détection claire, fonctionne. Nous allons donc passer
au graphique des événements. Laissez-moi venir ici et
nous allons créer. Nous allons
me permettre de le
faire glisser dans la détection des joueurs. La détection claire est donc maintenant là. Et nous voulons ajouter un événement simple pour détecter le joueur, alors
revenez à la détection claire. Nous allons ajouter un événement. Nous pourrions utiliser du bruit ici, mais ce n'est pas utilisable pour le moment. Je veux ajouter le CPN, ce qui va conduire
à son ajout Donc, en ce qui concerne le CPO, qui
est essentiellement destiné la détection des joueurs,
que voulons-nous faire ? Nous voulons simplement
imprimer une chaîne simple, et nous voulons
l'appeler player is visible. C'est ça. Une fois que le joueur
est dans une zone détectable, il dit simplement : « Hé, le
joueur est visible C'est tout ce dont nous avons besoin
pour commencer. OK ?
Retournons donc dans le monde. J'appuie sur Play. OK,
donc pour le moment, il ne détecte pas le joueur. Nous allons donc revenir
au plan directeur. Je suis donc en train de regarder le
plan du CPN. Il devrait quand même détecter
le joueur. Revenons. Donc, quand je saute de ce
côté, je suis là. Il indique donc maintenant que
le joueur est visible. Si je reviens, le joueur n'
est plus visible. Je reviens de ce côté, le joueur est
visible. C'est cool. Nous savons maintenant qu'il est
capable de voir le joueur tant qu'il est du bon côté
de son champ de vision. Maintenant, élargissons leur champ de vision de telle sorte qu'au lieu de
regarder vers la droite, il puisse voir le joueur à la fois du
côté gauche
et du côté droit. Et pour augmenter l'angle
de vision,
remarquez ici l'angle de vision
périphérique sur la détection du joueur. Alors, jetons-y un coup d'œil. Nous pouvons ajuster ce chiffre à la hausse ou à la baisse. Je vais augmenter ce
nombre à 179 degrés,
pas entièrement à 180, mais à 179. J'ai trouvé que cela a tendance à très bien
fonctionner
dans la plupart des cas d'utilisation. Alors maintenant, remarquez que le
joueur est visible. Je sors du champ de tir. Le joueur n'est plus visible. Le joueur est visible. Laisse-moi partir. Le joueur n'
est plus visible.
C'est une bonne chose. Notre IA de base est donc désormais
capable de détecter simplement le joueur. Voyons maintenant
comment faire en sorte que, lorsque
le joueur est visible, l'IA se déplace vers
la position du joueur.
62. 59 Faire avancer l'IA vers le joueur: Maintenant que le
joueur est détecté, je suis hors
de portée visible, et maintenant je suis de retour
dans le champ visible. La prochaine chose que nous voulons,
c'est nous assurer que
l'ennemi au corps à corps se déplace vers le joueur chaque fois que
celui-ci est visible Maintenant, pour ce faire, nous devons tout d'abord
créer une navigation, et nous allons le faire en définissant des limites du maillage
nerveux Maintenant, c'est quoi ça ? Permettez-moi de vous montrer
rapidement, non ? Pour commencer, disons que nous avons cet
objet ici, non ? C'est notre IA. Si nous faisons un zoom arrière puis que nous arrivons
dans le coin supérieur gauche, et que nous voulons ajouter quelque chose
, vous ajoutez simplement maillage
nerveux dans chaque volume de limites de maillage
nerveux Ajoutons cela au
monde du jeu. En zoomant en arrière. Cela va
créer ce que l'on
appelle un maillage nerveux. Maintenant, cette case est un peu petite, donc je l'ai sélectionnée, puis je vais l'
augmenter à
50 sur toutes les unités, d'accord ? 50 parce que je veux que ce soit gros. Bien mieux. Maintenant, c'
est vraiment grand. Vous voyez donc cette zone verte. Cette zone verte ici vous
montre le maillage nerveux. En d'autres termes, vers quels domaines l'IA est-elle capable de naviguer ? Vous remarquerez maintenant que notre boîte est là, mais que notre ennemi de mêlée est capable de se déplacer le long de
cette zone verte. Maintenant, laissez-moi déménager ici. Vous remarquerez cette zone
autour de ces objets, on dit à
l'IA de ne pas
pouvoir s'y déplacer, et c'est une bonne chose. Maintenant, juste au cas où vous
verriez des espaces en dessous, il vous
suffit de vérifier double-cliquer sur « Pas
l'ennemi au corps à corps Passons au mannequin d'attaque. Assurez-vous que le
cube à l'origine de sa collision est configuré pour simplement
superposer toutes les données dynamiques. Cela ne devrait pas être
bloquant, car toute collision de blocs provoquera la création d'un espace
où le maillage nerveux
ne sera pas visible. Maintenant, si je clique à nouveau sur
la boîte nerveuse et que j'appuie sur P, le maillage nerveux cessera d'
apparaître. J'appuie à nouveau sur P, il
vous montre maintenant le maillage nerveux. Maintenant que ce
maillage nerveux est configuré, nous allons simplement passer à construction et nous voulons
rechercher des chemins de construction. Cela va
reconstruire la navigation, juste une simple double vérification. Et ce que vous pouvez faire,
c'est dire que nous voulons obtenir les limites de
ce maillage nerveux, à
droite, et le déplacer
un peu plus vers la gauche Cela va créer
un maillage nerveux. Notez cette refonte par défaut du maillage
nerveux. Vous pouvez le supprimer,
passer aux chemins de construction et de reconstruction, et il recréera
le maillage nerveux pour vous Je sais que j'ai beaucoup parlé du
maillage nerveux, mais il s'agit essentiellement de la
zone exploitable
que l'IA peut utiliser Maintenant que nous avons configuré la
zone accessible à pied que l'IA peut utiliser, assurons-nous qu'elle comprend comment se déplacer vers
le personnage du joueur OK. Je vais maintenant vous
montrer
clairement ce que nous
essayons de réaliser. Vous vous dirigez donc vers l'ennemi
et vous remarquez qu'il vous poursuit. Ensuite, lorsque je saute par-dessus, tant que je suis
à portée visible, il continuera à
essayer de poursuivre le joueur jusqu'à sa
position. OK, revenez. OK, revenez. Hé,
reviens, boum. D'accord ? Bien sûr, il essaie de se rendre à l'emplacement
exact du joueur. Maintenant, voici le code du plan
simple. La première chose que
vous allez faire
est donc de revenir à OSPN,
la détection des joueurs Ensuite, après la chaîne d'impression, vous allez passer au héros. En gros, vous faites glisser ce
brochage et vous souhaitez le lancer sous plan du joueur,
quel que soit
le nom Une fois que c'est fait, à partir de là, vous allez devenir un héros, vous voulez obtenir la position de l'
acteur. Cela va faire apparaître
ce nœud, puis nous allons diviser
rapidement afin que
nous ayons accès aux valeurs X, Y et Z. Bien entendu, nous n'avons pas
besoin de la valeur Z. Ce sont les valeurs X et Y
qui sont les plus importantes. Ensuite, nous utiliserons un simple nœud de déplacement vers le nœud de localisation. Vous pouvez y accéder en
tapant simplement « déplacer vers l'emplacement ». Et avec cela,
vous quitterez contrôleur et vous voudrez
obtenir un contrôleur AI, vous serez en mesure d'obtenir
le contrôleur AI, et à partir du contrôleur AI, assurez-vous de donner
une référence à vous-même. Cela indique essentiellement à l'
IA de reprendre, en gros, elle dit : « Hé, IA » une fois que
vous avez détecté le joueur. Imprimez que le
joueur de cordes est visible, lancez-le vers le héros, ce qui devrait être ce que nous voyons,
c'est le pion En tant que pion, obtenez sa position actuelle,
puis déplacez-vous simplement vers sa position en accédant
au contrôleur AI qui se
trouve en vous Et c'est ainsi que vous en obtenez un peu, laissez-moi revenir en arrière. C'est ainsi que vous pouvez obtenir
un simple déplacement de l'IA vers un
endroit où
l'IA suit simplement
le joueur, et elle
essaie de le suivre et elle
essaie de le suivre tant que
celui-ci est à portée. Maintenant que c'est fait, nous
pouvons passer à autre chose et définissons quelques limites de base générales afin que l'IA n'essaie pas pénétrer complètement dans le joueur parce qu'elle essaie de se rendre
à sa position exacte, qui n'est pas ce que nous voulons,
elle veut qu'elle se déplace vers une certaine distance. OK. Ensuite, nous
passerons à attaque
de l'IA
qui inflige des dégâts au joueur.
63. 60 Ajuster le mouvement de l'IA vers le joueur: Maintenant, si vous
revenez dans les dossiers une fois de plus et qu'à l'intérieur
des dossiers, il devrait y en avoir
sous le joueur, vous remarquerez que nous avons créé un dossier spécifique pour les
dégâts dans les boîtes réservées au joueur. Nous allons faire la
même chose pour l'ennemi de mêlée À l'intérieur de cela, nous allons
créer un nouveau dossier, et ce dossier sera endommagé dans les boîtes. OK. Permettez-moi de
cocher deux fois cette case, pas les cases. OK, abîme cette boîte. OK. Je veux garder le
même nom pour que tout soit
similaire entre les deux. OK, maintenant que cela
est disponible,
apportons quelques
ajustements pour que l'ennemi au corps à corps, au lieu d' atteindre la position exacte du
joueur, puisse atteindre les joueurs En gros, il ne devrait pas
essayer de pénétrer dans
le lecteur, d'accord ? Il essaie de
pénétrer dans le lecteur. n'est pas ce que nous voulons.
Nous voulons qu'il s' arrête juste à l'extérieur du joueur. Nous voulons donc qu'il laisse
toujours un peu d'
espace devant le joueur. Maintenant,
nous allons le faire
en utilisant
un nœud différent, et ce nœud s'appelle
get distance two. Cherchons-le donc. Obtenez la distance deux. Nous y voilà. Cela nous donne la distance par rapport au personnage
d'un joueur, d'accord ? Nous allons donc utiliser ce nœud. C'est la distance d'obtention jusqu'au nœud. Déplaçons donc
d'abord tous ces nœuds
destinés à déplacer l'acteur, le faisant
avancer un peu. Donc, ce que nous voulons faire, c'est qu'
après l'outil de déplacement simple, nous voulons vérifier la distance
de base au personnage du joueur. Et après cette vérification de distance, nous voulons arrêter tout mouvement
actif. Donc, la façon dont nous allons
procéder est, tout d'abord, de les espacer un
peu plus rapidement , car nous
devons effectuer quelques vérifications. OK. Nous devons donc également prendre de la distance, et l'autre acteur sera le héros qu'
il détectera. D'accord ? Ce
sera l'autre acteur. Et aussi, permettez-moi de
le déplacer encore plus vers la gauche parce que nous
aurons besoin d'un
peu plus d'espace, d'accord ? Nous déterminons donc
la distance qui du héros, puis il
essaiera de renvoyer une valeur. Ensuite, ce que nous voulons
faire, c'est à partir de la
valeur de retour, nous allons la faire glisser vers l'extérieur. Nous voulons rechercher une valeur
inférieure à. Nous voulons donc
rechercher une valeur inférieure ou égale à. OK. Et après cela,
inférieur ou égal à, fixons un montant. Supposons que le montant
soit de 150 unités. Ensuite, nous
allons créer une branche simple et
après cette branche, si c'est le cas, voyons voir. Donc, en gros, si la distance est inférieure ou égale à 150 unités, ce que nous voulons, c'est
que le joueur se trouve à
cette distance, n'est-ce pas ? C'est dans les 150 unités. Nous voulons essentiellement arrêter de
faire un mouvement, ce qui signifie que si la distance n'est
pas inférieure à 150 unités, ce qui serait faux, nous le ferons glisser vers l'extérieur et nous le déplacerons également vers le mouvement
simple. Il se déplacera donc si la distance
est inférieure ou plutôt égale à 150 unités.
Cependant, si c'est vrai, nous le ferons glisser vers l'extérieur
pour imprimer une chaîne simple, et nous voulons que la couleur de
la chaîne soit rouge. Cliquez, d'accord ? Et nous l'appellerons portée d' attaque parce que c'est
essentiellement la portée d'attaque. Nous l'avons configuré de telle sorte que 150 comme chaque fois que le
joueur
se trouve dans un rayon de 150 unités, il sera désormais à
portée d'attaque Il sera
donc prêt
à attaquer le joueur. Maintenant que tout est correctement
configuré, faisons glisser le casting
vers le héros ici. Passons donc en revue le code. Lors de la
détection d'un joueur,
le héros va déterminer
la distance qui le sépare du héros et vérifier si elle est
inférieure à 150. Si la distance n'est pas
inférieure à 150, essayez
simplement de vous déplacer vers l'emplacement du
personnage. S'il est inférieur à 150, indiquez simplement que
vous êtes à portée d'attaque. OK, donc avec ça, faisons rapidement une compilation sur Play et
faisons une vérification rapide. U, se trouve à portée d'attaque. Mais une distance de 150
semble trop petite. Portons ce chiffre à 500. OK. Maintenant à une distance de 500 que nous utilisons pour vérifier. Hmm. Nous avons maintenant un petit problème. Donc, quand je bouge,
j'essaie, d'accord ? Non, le contrôle ne
fonctionne pas correctement. Voyons voir. OK, maintenant il s'arrête à une
bonne distance. Maintenant, il s'arrête à
la bonne distance. Maintenant, il s'arrête à
la bonne distance. Maintenant, cela ne fonctionne pas correctement. Maintenant, cela ne fonctionne pas correctement. Maintenant, cela ne fonctionne pas correctement. Cela va nécessiter quelques
ajustements. Essaie encore une fois. Non, ce n'est pas fiable. Passons maintenant à la résolution des problèmes
de base. Comment effectuons-nous le
dépannage ? Viens ici et
appuyons sur Play. Je veux voir ce qui se passe. Hey, c'est
bon, non ? OK. Le seul problème est donc que le simple mouvement
fonctionne toujours. Il semble que le code
fonctionne correctement car laissez-moi essayer
de le démontrer. Quand j'arrive dans la
bonne fourchette, attends. Attends une seconde. Il semble bouger
et il fait en fait le bon choix en inversant le flux en désactivant également
le mouvement simple. Mais ce qui manque, c'est ce mouvement ne s'exécute qu'une seule fois
et qu'il est toujours en cours. Ce que nous voulons faire,
c'est qu'une fois qu'il détecté qu'il se
trouve à portée d'attaque, nous voulons arrêter. Voyons voir. Nous y voilà. Nous voulons arrêter les mouvements actifs. D'accord ? Alors
cliquons immédiatement dessus. Il a donc plutôt ouvert la composante de
mouvement du personnage et arrêté les mouvements
actifs. Maintenant, avec cette configuration, testons à nouveau rapidement
cela. Tellement parfait. Je bouge un peu. Oui, il
fonctionne désormais correctement. Maintenant, réduisons cela de
500 unités à 150 unités. Faites une compilation rapide.
Reviens ici. OK, donc ça
s'arrête correctement maintenant. Un ? Non, mais ça ne fonctionne pas correctement maintenant.
OK, attends. Permettez-moi d'augmenter les unités afin d'avoir
une image plus claire. Permettez-moi de passer à
300 unités. D'accord ? OK, ça s'arrête.
Ça s'arrête là. Ça s'arrête là.
Ça s'arrête là. Ça s'arrête là. OK. Il
ne fonctionne donc pas de manière fiable actuellement. Là, il s'arrête à
la bonne distance. Ici, ça s'arrête là. OK. Arrêter le mouvement
aide donc à le résoudre
dans certains scénarios, mais
pas dans d'autres. Ce que nous allons donc devoir
faire , c'est apporter un autre changement. Maintenant que nous sommes là, nous l'avons configuré pour
arrêter les mouvements actifs. Mais avant cela, nous devons également réorganiser un peu tout
cela, réorganiser un peu tout
cela assurer que tout est
vraiment nettoyé Permettez-moi de
rassembler ces informations pour obtenir de la
distance et des branches afin que je puisse voir
clairement ce qui se passe. Ce sera là, c'est bien. J'aime bien cette organisation. Et puis si c'est vrai, il se ramifie pour
arrêter le mouvement actif. Maman, hum. OK. Mais s'il arrête
le mouvement, pourquoi s'arrête-t-il à
différentes distances ? C'est une question de vélocité. C'est une question de vélocité. Alors, comment modifier la vélocité ? C'est en fait assez simple. Nous utilisons Stop Active
Movement, faites-le glisser vers l'extérieur. Voyons voir. Nous y voilà. J'ai ajouté un mouvement d'
arrêt immédiat pour empêcher que cela n'
avance une
fois que nous l'avons fait. J'utilise donc à la fois l'arrêt
immédiat du mouvement et l'arrêt du mouvement
actif. Testons cela et voyons si cela va donner
le bon résultat. OK. OK. Non Non Ah. Je vois. OK. C'est un bon début, mais il y a quelques
autres ajustements que nous
devrons apporter pour que l'IA
suive le personnage et s'arrête à un endroit précis où
nous travaillons correctement. Et je pense qu'une
partie importante de cela consistera à ajuster le composant
de pression C'est ce que nous allons faire dans la vidéo suivante.
64. 61 Ajustement du composant de détection et quelques notions de théorie autour du timing: Maintenant que nous sommes dans
un endroit où nous pouvons nous diriger
vers notre ennemi de mêlée Et parfois, il s'arrête
à la bonne position. Parfois, il s'arrête trop tard
et, vous savez, son
mouvement fonctionne maintenant. Je dois sortir
du code et des nœuds pour adopter une façon de penser un
peu plus poussée. Chaque jeu dans le monde
entier fonctionne avec un chronomètre. Ce chronomètre s'appelle la technologie. Maintenant, laissez-moi vous en parler. Laisse-moi imprimer une chaîne. Et je veux qu'il imprime les secondes Delta à
chaque fois qu'il le faudra. Voyons donc à quoi
cela ressemble. Où est le niveau de ce côté ? Non, je veux qu'il parte. OK. Alors, remarquez que ça tourne. À l'heure actuelle, vous voyez
0,008 comme minuteur de prise. Maintenant, qu'est-ce que cela signifie,
ouvrons une calculatrice, non ? Maintenant, si nous en obtenons un
et que nous le divisons par 0,0 083, nous obtenons 120 OK. Cela signifie que
chaque prise est lancée
toutes les 120 images environ, et nous pouvons le vérifier, n'est-ce pas ? En venant ici pour sortir, si on lui demande de montrer des FPS, non ? Notez que le FPS
est d'environ 120 images. Tout ce que nous faisons est basé sur le chronomètre. Maintenant, laissez-moi appuyer sur Play. Vous remarquerez donc qu'il affichera le temps
entre chaque image,
qui est maintenant de 0,008 3 secondes. La variation de l'
endroit où l'adversaire s'
arrête dépend donc du timing. Maintenant, permettez-moi de revenir en arrière et de supprimer cette chaîne qui
apparaît sur Te go away. Maintenant, je l'ai retiré. Si nous y allons et que nous vérifions
la détection du joueur, accédez au panneau des détails. Laisse-moi ouvrir ça. Et nous verrons quelque chose ici. Attends, voyons voir, prendre les
composants, c'est bien. OK. J'ai donc cliqué sur le composant de
détection du joueur .
Maintenant, venons-y. Notez qu'à l'heure actuelle, son intervalle de
tic-tac est défini sur 0,0. Cela signifie qu'
il sera réglé
sur le même intervalle t
que la fréquence d'images. Ce n'est pas vraiment zéro, mais c'est réglé sur cette base. Et maintenant, ce que nous voulons, c'est pouvoir ajuster cela et l'
augmenter ou le diminuer. Ce n'est pas le plus
important. Eh bien, voyons voir. Ici, nous détectons l'intervalle. Maintenant, l'intervalle de détection
signifie essentiellement le temps qu'il faut entre le moment où le jeu
vérifie ce composant. Il est donc maintenant réglé sur 0,5. Donc, ce que nous pouvons faire, c'est régler l'
intervalle de détection à cinq. Ça fait cinq secondes entières. C'est beaucoup, d'accord ? Alors compilez ceci. Cela signifie donc
essentiellement qu'il va continuer à le
faire maintenant, un, deux, trois, quatre, cinq. Notez qu'il ne fait cette
vérification que toutes les 5 secondes. Un, deux, trois, quatre,
cinq, maintenant ça bouge. Nous pouvons
également ajuster
cet intervalle de détection pour lui
donner un sens beaucoup plus rapidement. Nous allons le porter à 0,1. Rappelez-vous, ça a commencé
à 0,5, d'accord ? Maintenant, entrons ici. Notez donc que maintenant à 0,1, il suit et s'ajuste
à la bonne distance. La raison pour laquelle il le fait
est que tout
à coup, il vérifie deux fois toutes les 0,1 seconde que l'ennemi exécute le calcul
et revérifie la
distance qui le sépare du joueur. Permettez-moi donc d'ouvrir à nouveau le graphique des
événements. Je fais un petit zoom arrière,
mais vous pouvez, d'accord, me
laisser zoomer sur l'
impression de la chaîne, le moulage et la ramification Alors, appuyons rapidement sur Play. Je veux que tu voies à quelle vitesse
il le fait, non ? Cela a complètement changé. Pass, c'est afficher des
choses à l'écran. Maintenant, si je voulais partager cela, c'est parce que
nous allons
faire beaucoup de travail en utilisant
différents systèmes de détection de points. Pour vraiment créer une bonne IA, nous allons
devoir beaucoup travailler avec eux pour détecter la
distance et prendre différentes
décisions en fonction de la
distance entre les personnages. Si le personnage est éloigné lors d'
une attaque à distance, s'il est proche, vous pouvez
configurer l'IA pour qu'elle s'enfuie. Ce n'est qu'un concept
général de base. Maintenant que nous avons augmenté l'intervalle de détection
à 0,1 seconde. Maintenant, le code
fonctionne exactement comme
nous le souhaitons d'un point de vue
humain. Maintenant que nous avons cette
configuration, nous l'avons
configurée pour attaquer essentiellement
à portée ou plutôt à
portée d'attaque. Passons maintenant
au code et ajoutons
une animation à
notre ennemi de mêlée,
puis nous aborderons une animation à
notre ennemi de mêlée, l'
ajout d'une attaque et
expliquerons comment prendre des décisions
concernant les systèmes d'attaque
65. 62 Ajouter un sprite visible à l'ennemi en méloe: Maintenant, la prochaine chose que nous voulons
faire est de vraiment changer notre ennemi de mêlée afin de pouvoir réellement le voir à l'écran Permettez-moi de le rapprocher du joueur afin que nous puissions
voir rapidement les modifications. Nous voulons que ce soit
réellement un ennemi, et pas simplement une boîte
avec une barre de santé. Pour ce faire, nous allons examiner
le plan de mêlée de l'ennemi. Nous allons sélectionner le cube, nous allons entrer dans ses détails Nous voulons rechercher rendu
visible et
le rendre invisible. Donc maintenant, nous ne
devrions pas en voir, nous ne voyons qu'une barre
de santé. C'est cool. Mais nous allons
apporter un autre changement. Nous allons sélectionner le
widget, entrer dans les détails. Et aussi, nous allons simplement
le rendre invisible. Pour que vous le sachiez, nous n'avons plus qu'un
ennemi vide de sens. que l'ennemi est vide,
allons-y, et nous voulons maintenant
commencer à ajouter des sprites en vue de
les préparer Nous allons ajouter un composant, et ce
sera un flip book. D'accord ? Ajoutons simplement un flipbook
papier en tant que composant, et c'est
là que nous mettrons
tous nos sprites Maintenant, cette vidéo contient également des éléments de sprite que nous allons utiliser
pour créer l'ennemi Vous pouvez les télécharger,
puis continuer. Maintenant, ajouter les sprites
va être assez simple. Tout d'abord, nous allons sélectionner toutes les
images que nous avons importées et nous assurer que les paramètres de texture 2D du papier
y sont appliqués. La prochaine chose que nous voulons, c'est
sélectionner skeleton io, et nous voulons en extraire
des sprites Après avoir cliqué sur Extraire les sprites, notez que NRL a
déjà
segmenté automatiquement les
différents sprites
et que nous avons Et nous y voilà. Maintenant, nous avons tous ces sprites squelettiques et
inactifs déballés Nous allons donc les sélectionner
, puis créer un Flip Book, qui se trouve là-bas,
et créer un flipbook Et ça s'appelle
Skeleton Idol One. Nous allons simplement le remplacer par
me NMI, underscore idle. Bon, maintenant jetons un
coup d'œil à Melee Enemy Idle. Voilà donc l'animation. En gros, le squelette
se tient au même endroit. C'est une très bonne animation, et c'est ce que nous allons utiliser
pour garder l'ennemi inactif. Maintenant que c'est fait, nous allons simplement le fermer. Nous allons sélectionner le
classeur en papier que nous
avons installé dans notre ennemi
de mêlée Et nous allons changer le livre à
sauce pour qu'on y aille. Nous voulons que l'ennemi au corps à corps soit inactif. OK. Maintenant que nous avons configuré le mode d'inactivité de l'ennemi au corps à corps
là-bas, compilons Et quand on touche de la terre battue, regardez, il y a ce tout petit ennemi de
mêlée là-bas Très mignon Maintenant ça marche. Nous avons montré qu'il s'
affiche correctement. Ajustons la mise à l'échelle pour qu' elle
s'adapte et soit plus logique. Je vais verrouiller la
balance, la redimensionner en Y. C'est cool. Permettez-moi ajuster son positionnement
pour qu'il soit un peu plus haut. Déplacez-le un
peu vers l'avant, puis vers le bas. Sa mise à l'échelle actuelle est donc de 4,4. Permettez-moi d'en faire 4.5. C'est la mise à l'échelle. Compiler.
Laisse-moi voir à quoi ça ressemble. C'est une bonne chose. Ensuite, revenez en arrière, sélectionnez le flip book, recherchez une ombre, et nous voulons le configurer pour qu'il projette des ombres,
car
pour le moment, il
ne projette aucune ombre. Pour sélectionner Cast
Shadow, compilez. Et maintenant, notre petit ennemi en deux D est là, projetant une jolie
petite ombre. C'est cool. Et regardez, il se déplace correctement, de
gauche à droite, de
gauche à droite. C'est excellent. Maintenant que
notre petit squelette là pour faire de petites
choses, je pense qu'
il faut le rendre un peu plus grand, vous savez, un peu
plus intimidant Regardons son échelle. Permettez-moi d'augmenter
l'échelle à six. Augmentez son couvercle vertical. Je dois regarder le sol, assurer qu'il
touche juste le sol. Permettez-moi d'augmenter l'
échelle à sept. C'est une bonne chose. Assurez-vous qu'il s' agit
simplement de toucher le bas. Permettez-moi d'en parler juste une petite touche. Compiler. Voyons
ce que nous avons ici. Ça a l'air beaucoup mieux. Regarde ce squelette. D'accord ? Le seul
ajustement que je vais faire
est de le réduire légèrement. Voyons voir maintenant, 30 ans. 20 ANS ? Non, je veux que sa position
Z soit environ 28. Non, déposez-le vers le bas 27. Cela devrait convenir à peu près. Ajustez jusqu'à ce que vous
ayez fini de l'aimer, d'accord ? Ajustez à votre convenance. OK. Ajustez à votre convenance. C'
est bien, et je l'aime bien. Maintenant que nous en avons terminé, faisons un dernier ajustement. Hum, non, restons-en là. Nous avons donc maintenant un ennemi
squelette de base
capable de suivre
le joueur partout. Ensuite, nous allons
travailler à le joindre, à le configurer dans Paper
Zed et à lui donner une véritable
animation de course afin qu' il poursuive le
joueur. Allons-y
66. 63 Ajouter des animations de marche dans PaperZD: OK, maintenant que nous avons
l'illustration de base, pimentons-le et ajoutons cette fonctionnalité plus
dynamique. Donc, la première chose que
nous allons faire, c'est une configuration très similaire à celle
qui a été faite avec le lecteur. Nous voulons trouver le composant d'animation papier
Z D. Et avec la configuration de ce
composant d'animation, appelez-le
simplement animation paper Z. Ensuite, nous déciderons, d'accord, l'instance d'animation, nous en
parlerons plus tard, qui rend le composant le mieux. Nous voulons utiliser le
paper flip book comme composant de rendu, et maintenant il
recherche simplement une classe d'instance d'animation. Nous allons donc créer cela. Donc, dans le
dossier Melee Enemy, passez à l'animation, et nous allons créer, voyons voir, nous voulons une instance d'
animation Voyons ce que sont les articles a. Voici les journaux par jour. Nous voulons commencer par
créer une sauce d'animation, que nous appellerons melee
em animation sauce OK. Et après cela,
nous l'avons enregistré. Ensuite, nous voulons créer
un plan d'animation. OK. Et c'est là que l'on demande : OK, quelle sera la sauce pour
les parents en matière d'animation ? Nous voulons que la
sauce d'animation Melee NEM en soit la mère. Et nous l'appellerons Animation BP, un
ennemi de mêlée. Nous garderons le nom propre. Maintenant que nous avons
configuré ces deux éléments, nous allons commencer par entrer dans
la source de l'animation. Nous voulons ajouter une nouvelle séquence
d'animation. Nous appellerons cette séquence inactive. OK. Comme vous pouvez le constater, nous l'appelons inactif. Sélectionnez maintenant l'animation
Idle. Nous voulons tout d'abord, je ne sais pas pourquoi cela
s'est ouvert là. Nous voulons une fenêtre complète. Ensuite, quelles données d'animation
nous voulons rendre mon travail inactif. n'utiliserai donc pas l'identifiant de l'ennemi au corps à corps, et voici l'animation Il joue proprement. Ça joue proprement.
C'est une bonne chose. Maintenant que c'est fait, nous allons revenir en arrière, nous assurer que
tout est sauvegardé. Voilà donc ce qu'il y a dans
la sauce de l'animation. Ensuite, nous passerons au Blueprint d'animation de mêlée de
l'ennemi. Nous avons accès à l'ennemi de
mêlée en tant que variable. Nous allons nous
assurer que, depuis
le graphique des événements du plan d'animation M
Enemy, vous voulez lancer Mel Enemy Et puis, en ce qui concerne l'objet, nous voulons avoir l'acteur propriétaire. Et si nous avons
obtenu le propre acteur c'est parce que vous avez
plusieurs ennemis de mêlée et que chaque code d'animation
doit être exécuté séparément. Ensuite, nous
voulons simplement passer au statut de variable et la
variable est ennemi de mêlée C'est tout ce dont nous avons besoin
pour nous installer. OK. Maintenant, avec toute
cette configuration, passons au graphique
d'animation. Donc, à l'intérieur du graphique
d'animation, la première chose
que nous voulons faire est de créer une toute
nouvelle machine à états. Cherchons donc une
machine à états, ajoutons-en une nouvelle, et nous allons simplement l'appeler Mele Enemy pour que les
choses restent vraiment simples Ce
sera notre nouvel État. Apportez-le ici,
nous y reviendrons, et nous partirons directement
de l'extérieur, nous le traînerons. Nous voulons ajouter un nouvel état
d'animation, que nous
appellerons simplement idle. Et double-cliquez sur Idle. Et nous voulons vraiment
simplement rechercher play idle, qui est l'animation, la seule dont nous disposons. Jusqu'à présent, connectez-le, sortez-le, contrôlez et, bien
sûr, sauvegardez
puis compilez. Maintenant, bien que cela soit
compilé et prêt, nous avons essentiellement notre
papier Z entièrement configuré. Nous allons revenir au graphique
d'animation. Donc, à l'heure actuelle,
dès qu'il démarre, il passe directement au ralenti. Ensuite, passons à autre chose et ajoutons
l' animation de mouvement ou
l'animation de course. Maintenant, l'ajout de l'
animation en cours est basique. Nous allons simplement commencer, nous allons revenir en arrière,
nous remettre à l'art. Oh, pas du personnage. Nous voulons l'art de l'ennemi au corps à corps. Et à l'intérieur de l'œuvre, remarquez qu'il y a m. Voyons voir. Nous avons W ici. Il y a une promenade en squelette. OK. Nous allons donc simplement
sélectionner le squelette. Nous voulons extraire des sprites. Ils sont automatiquement coupés. Ensuite, le sprite ambulant les sélectionnera simplement et
créera un flipbook, que
nous appellerons le
flipbook nous appellerons le
flipbook OK. Voici donc l'animation du travail de l'
ennemi au corps C'est un beau petit travail que fait l'ennemi. Maintenant que nous avons
cette animation de travail, nous allons simplement passer à source d'
animation de
l'ennemi au corps Nous allons ajouter une nouvelle séquence
d'animation. C'est ce que nous appellerons le travail. Double-cliquez dessus,
et pareil, nous voulons chercher du travail dans
la séquence d'animation ici. Nous avons donc maintenant ajouté cette simple animation
fonctionnelle. Une fois cela ajouté, nous reviendrons au plan d'
animation Mele Nous allons le faire glisser et créer un nouvel état
d'animation. Nous nommerons l'état W.
À l'intérieur de l'état de travail, nous voulons jouer au travail. Ou l'animation de travail. Ensuite, nous voulons reconnecter le
lien entre le travail et le mode veille. Et une fois que nous serons entrés, nous aurons
simplement l'ennemi de l'ASM. Ensuite, nous voulons obtenir de la vélocité. OK, nous voulons obtenir de la vélocité. Voici cette composante
de get velocity, divisez-la et nous voulons faire une
nouvelle vérification rapide. C'est la vélocité X que
nous recherchons, et nous voulons voir quelque chose. Nous voulons donc voir si c'
est égal à, et nous voulons dire non égal à. Nous utilisons donc la fonction
not equal to, qui est cette fonction. Et pour passer de l'inactivité au travail, ce que nous
sommes en train d'établir, une fois que la vitesse sur l'
axe X est supérieure à zéro, elle peut commencer à fonctionner, mais en
revenant ensuite à pied
à exactement égale à. En d'autres termes,
exactement égal à zéro. Cela devrait devenir un
travail. C'était ma faute. Ici, accédez à la classe
d'instance d'animation et sélectionnez le plan Mele Enemy
Animation Enregistrez, compilez, et
maintenant voyons voir. OK, tu peux voir, il y a
cette façon de marcher et de fanfaronner. Regardez-le poursuivre l'ennemi. Une fois qu'il atteint, il s'arrête. Maintenant, notre ennemi est
capable de voir le joueur, travailler dans sa direction et de s'arrêter. Sympa. Nous avons donc cette
configuration correctement. Notre animation de
base de référence Me Enemy est correctement
configurée. Et maintenant, nous
pouvons ajouter
une attaque à l'
ennemi au corps à corps. Allons de l'avant.
67. 64 Ajouter un sprite d'attaque en més-mêlée: Maintenant que nous avons notre personnage
ennemi qui peut balader et se déplacer vers le joueur ennemi une fois que le
joueur devient visible La prochaine chose que
nous voulons vraiment
faire , c'est de faire une base attaque de
base pour que l'ennemi puisse
infliger des dégâts au joueur. Au fur et à mesure de l'attaque, nous allons apporter
d'autres ajustements
au système de mouvement pour
qu'il reconnaisse mieux la position du
joueur et qu'il s'adapte pour qu'il se
rapproche de lui. Donc, ce que nous allons
faire, c'est venir ici. Nous allons commencer par
sélectionner l'attaque du squelette, et après nous être assurés qu' elle possède les deux réglages D du papier, nous allons extraire les sprites Et il semble que cette fois, Unreal Engine
ait du mal à déterminer les dimensions
des sprites Donc, actuellement, l'
extraction des sprites est réglée sur automatique. Je vais changer cela
parce que l'auto ne suffit pas. Nous allons le configurer sur
le réseau. Maintenant, en tant que grille, nous
devons déterminer la largeur et la hauteur des cellules. Maintenant, c'est un moyen
facile de le faire. Maintenant, cela va fonctionner
pour cette image spécifique. Pour commencer,
permettez-moi de zoomer un peu. Nous savons que l'attaque en
compte un, deux, trois, quatre. OK, cinq, six, sept,
huit, neuf, dix, 11, 12, 13, 14, 15, 16, 17, 18 images, d'accord ? Il y a donc 18 cadres ici. Donc, pour
les déterminer à 18,
nous savons qu'à l'heure actuelle, chaque largeur de cellule est définie sur 774 Maintenant, nous allons faire quelques
calculs et mathématiques de base. Bien entendu, lorsque vous fabriquez vous-même
les sprites, vous n'avez pas besoin de faire
ces calculs Mais si vous utilisez des actifs, vous
devrez parfois le faire. Nous avons donc 774/18, soit 43. Nous allons donc changer la largeur à 43. Et maintenant, nous avons des
sprites parfaitement coupés. OK. Juste avec ça. Maintenant, nous allons passer à l'extrait et à l'extrait. Et sans perdre de temps, nous allons créer un flipbook, et nous allons
l'appeler Mele EM Let's see Melee OK, ça devrait être parfait. Maintenant, avec cette configuration, d'
accord, nous avons notre attaque ennemie
au corps Revenons maintenant dans
le dossier des ennemis de mêlée. Je voudrais passer à l'animation, et ouvrons à nouveau
la sauce à l'animation
et le
plan d' OK, Animation sauce, ouvrez
le plan d'animation. Maintenant, dans la source
d'animation, nous voulons ajouter une nouvelle animation, que nous appellerons simplement
attaque. Nous allons faire en sorte que les choses restent simples. Maintenant, attaquons, nous allons analyser
les bonnes données d'animation, et nous allons chercher une attaque
ennemie Ça y est. C'est l'animation de base de
Me Enemy Attack. Tellement inactif. Attaque de marche.
C'est plutôt cool. OK, laisse-moi prendre
ce coup de fil. Et maintenant, nous avons ajouté
cette animation d'attaque. La prochaine chose que nous allons
faire, c'est m'ouvrir
à nouveau, mon ennemi, ouvrir la classe de plan
ennemi de mêlée Nous allons maintenant revenir, réorganiser la logique
et réfléchir au moment où nous voulons que l'ennemi
attaque le joueur et assurer que les
nœuds situés ici permettent attaquer
le joueur
dans le bon espacement, et nous allons également ajuster mouvements de
l'ennemi
afin que l'ennemi se déplace beaucoup plus lentement afin que le joueur puisse s'enfuir
. C'est ce que nous allons faire.
68. 65 Aperçu de l'IA de Melee Enemy et commentaires sur le code: C'est bon. Au fur et à mesure que nous
approfondissons l'IA, vous avez configuré le mouvement, elle est capable de suivre
le déroulement du jeu. Revenons à
réfléchir aux choses à partir des principes
de base. DCAA, code de conception chez Audio. heure actuelle, nous avons commencé
avec du code juste pour
vous donner une idée de la création
et de la configuration de l'IA. plan fonctionnel, nous allons utiliser des
systèmes de détection,
à savoir les systèmes de détection de panoramique
et de mouvement Ce sont ces deux éléments qui
déterminent vraiment ce que ressent une IA. Alors revenons à la réflexion
sur le design, d'accord ? Il s'agit donc d'un aperçu très
simplifié de ce que nous allons
faire avec l'IA. Il s'agit d'une IA NM de mêlée très
simple. La première chose qu'il fait,
c'est de patrouiller dans une zone. OK. Lorsque le
personnage du joueur entre dans une zone, l'IA semble être en train de
patrouiller dans une zone. Ensuite, il se dirige vers le joueur détecté et
lance une attaque. Et la dernière chose à faire
, c'est : hé, quand sa santé
tombe en dessous de zéro, il meurt immédiatement, d'accord ? Il meurt tout simplement, ce qui
est très bien. Voici donc ce que nous
allons faire pour
affronter l' ennemi de mêlée Il doit patrouiller dans une zone. Il doit se déplacer vers un joueur détecté
et l'attaquer. Et puis une fois que sa santé
tombe à zéro, il meurt. Passons à autre chose en gardant ces principes
de base à l'esprit. Maintenant, nous sommes de retour
dans le vrai moteur, et nous sommes dans
le schéma directeur de notre simple ennemi de mêlée Maintenant, allons-y et examinons rapidement tous
les différents nœuds. Donc, la première chose est que nous avons un pion de base
, capable de
détecter le joueur Allons-y vite. Il s'
agit de la détection des joueurs. Ainsi, dans ce rayon
autour de l'ennemi, il détecte le joueur. C'est une bonne chose. Maintenant, ajoutons
rapidement un commentaire de base. Oh, mon Dieu. Non, non, non, appuyez sur C. Appuyez simplement sur
C pour les commentaires. Il s'agit donc d'un simple commentaire, que nous appellerons «
détecter le joueur ». Donc, tout ce qu'il fait ici dans ce code est de
détecter le joueur. C'est tout ce qu'il fait. Il
ne fait rien d'autre. Comme d'habitude, j'adore les
arrière-plans noirs avec du texte blanc. Je les trouve très faciles à lire
et à organiser les nœuds. Voici donc la détection
des joueurs. Il existe actuellement une chaîne qui détecte le moment où le
joueur est visible. D'accord ? C'est une chaîne qui se
déclenche une fois que cela a été détecté. Permettez-moi d'abord de les aligner, rétablir tous les
liens, c'est bien Ensuite, il lance et vérifie si c'est le héros qui est bon. Et puis viens ici. Hey, amène ça
ici. Commencez par ceci. En gros, il détecte le
joueur, il lance et dit
: « Hé, d'accord, c'est le joueur. C'est cool. Il s'agit
de la base de référence de l'IA. Il est capable de détecter le joueur, puis jusqu'à une
certaine distance, il se déplace vers le joueur. Réorganisons le mouvement. Apportez tout ça ici, emmenez tout ça ici. Et cette branche, je veux la
laisser en dehors de cela parce
que je veux la mettre dans un commentaire différent, assurer qu'elles sont
toutes correctement alignées. OK. Viens par ici. Il s'agit du simple déplacement vers emplacement que nous avons utilisé
pour
déplacer l'IA, déplacer l'acteur
du joueur, puis le contrôleur le
déplace ici. Pour que nous puissions aligner la
manette sur le côté gauche, puisque c'est la
manette AI qui sera utilisée pour se
déplacer, d'accord ? Donc, fondamentalement, nous
détectons le joueur. Et une fois que nous saurons que c'est le joueur qui est le modèle du héros, c'est ce
que nous utiliserons
pour réaliser toutes ces autres
actions. OK, c'est bien. Ensuite, il effectue une vérification de
l'état de base pour voir si la distance par rapport
au joueur est de 300 unités. Si la distance ne l'est pas, elle se déplacera vers le joueur. Si la distance est atteinte, il
arrêtera tout mouvement, et il doit réellement
exécuter l'attaque ou plutôt, dès maintenant, nous détectons
qu'il est à portée d'attaque. Nous n'avons plus besoin de ce texto. Apportons-le ici. Maintenant, nous devons faire
un commentaire ici. Nous allons donc récupérer cette copie et la coller
ici, la faire glisser. Nous appellerons cette attaque le joueur à portée.
C'est tout ce que ça fait. Il attaquera le joueur
lorsqu'il sera à portée. Nous n'avons donc pas encore ajouté
le code de l'attaque, mais nous allons
nous y intéresser. Il est donc configuré pour attaquer
le joueur lorsqu'il est à portée, et copions-collons ce commentaire pour des raisons d'
organisation. Et cela va être
déplacé vers le champ d'attaque. Du joueur détecté. Ah, non, non, pas besoin de majuscule L.
Faites-en un petit L. Bien. Cela se déplacera donc vers la zone d'attaque
du joueur détecté. Faisons-le glisser ici. Déplacez-le un peu vers le haut.
Déplaçons ça vers le haut. Déplace ça un peu plus vers
la droite. C'est une bonne chose. Donc, essentiellement, nous
détectons le joueur lorsqu'il
se trouve dans une zone détectable. Une fois cela fait, nous effectuons une vérification de base
de la portée d'attaque. Si le joueur n'est pas
encore à portée d'attaque, il se déplace vers le joueur
pour essayer de se mettre à portée. Cependant, si le joueur
est à portée d'attaque, nous commençons par arrêter
tous les mouvements actifs, puis nous
allons attaquer le joueur. Maintenant que c'est
vraiment configuré en général, allons-y et ajoutons l'attaque que l'IA
va effectuer contre le
69. 66 Ajouter une boîte de frappe de dommages pour une attaque en mése-corps avec un ennemi: C'est bon. Maintenant que notre code est
raisonnablement organisé, allons-y et commençons
à ajouter une attaque contre l'IA. Maintenant, la première chose que
nous voulons faire,
c'est savoir que nous
allons apparaître dans notre boîte à tête. Donc, lorsque nous revenons et examinons l'animation en vérifiant
la source de l'animation, gardons à l'esprit que
cela varie beaucoup fonction du type d'
animation que vous souhaitez. Maintenant, vous remarquerez qu'il inflige
un arc de dégâts. Regarde cet arc. Découvrons image par image. Oh, vite, ouvre-le un peu. Retournons en arrière. Regardez ce bel
arc de dégâts. Regarde ça. Donc,
autour de la septième image, nous avons
un grand arc de dégâts. C'est à ce moment-là que nous voulons
faire du mal au joueur. Et vous pouvez voir
la belle taille de cette arche, huit dollars, d'accord ? Maintenant que nous avons
cette scène, d'accord, revenons à
notre ennemi de mêlée, et nous devons décider de
l'endroit où cette boîte
à chat va apparaître Nous allons donc rapidement sélectionner
le classeur en papier, d'accord. Et puis à l'intérieur de cela, nous voulons ajouter une simple
collision, d'accord ? Et nous utiliserons une
simple collision de boîtes. Maintenant, cette boîte est
là, elle est trop grande. Réduisons-le plus petit. Pour le rendre plus petit, nous allons réduire son échelle à quelque chose comme 0,1, magnifique, puis
nous allons le
déplacer , nous allons déplacer
sa position juste devant. Maintenant que c'est fait,
je pense que je vais regarder cette animation une
fois de plus. Oh, regarde ça. Il fait environ deux longueurs à l'avant, mais nous voulons avoir une grande boîte à
chapeaux pour cela. Je pense donc que je vais
le déplacer ici. Revenons-en à l'ennemi. Alors par ici, d'accord ? C'est une bonne position pour cela. Maintenant que nous avons vu, c'est là
qu'il se trouve. Et puis pour la boîte, appelons-la Axe Swing. OK, nous l'
appellerons x swing, non ? Emplacement. OK. Nous l'appellerons
l'emplacement X Swing. Maintenant que nous avons configuré
cet emplacement, la prochaine chose que
nous allons faire est y ajouter une belle
collision. Une belle, belle et grande boîte qui va être la
grosse collision que nous aurons. Pour ce faire, contrôlons rapidement la barre d'espace. Donc, sous notre personnage de héros, remarquez que nous avions un dossier contenant
une boîte de frappe endommagée. Nous allons maintenant affronter l'ennemi
au corps à corps. Et l'ennemi de mêlée a également
un dossier de boîte endommagé. À l'intérieur de ce dossier, nous voulons créer une
nouvelle classe de plan vais être un acteur
de base, et nous voulons l'appeler
x swing at box. OK. Nous allons maintenant double-cliquer
sur la case à chapeau X Swing. Et c'est ici. Nous
avons une petite balançoire en X. Voici donc notre swing X de base. Nous devons maintenant ajouter une
vraie boîte d'adresse. Nous allons donc ajouter une sphère parce que le X swing at box sera une sphère, et nous allons
réduire sa taille
à environ 0,5 sur l'échelle. Et c'est à peu près la taille. Tout le reste n'est
pas si important, d'accord ? Maintenant que nous avons
configuré le X Swing at Box, compilons-le et
revenons à notre ennemi de
mêlée, d'accord ? Et nous revenons
au graphique des événements. Et ce que nous allons
faire, un camion vient de passer. Quoi qu'il
en soit, ce que nous
allons faire, c'est le faire
entrer ici Donc, ce que nous voulons faire, c'est entrer et dire : « Hé, acteur
filé SP AWN OK, filez l'acteur de la classe, et nous voulons sélectionner la
classe comme X swing at box. OK, x swing. Boîte. Et puis, en ce qui concerne le c pour
obtenir l'emplacement, tout ce que nous voulons faire, c'est
trouver l'emplacement de la balançoire de hache, le
faire glisser ici,
puis nous faire glisser ici, voulons le localiser dans un endroit
sauvage. Oh, va-t'en, va-t'en. Faites-le glisser vers l'arrière. Obtenez la position
dans le monde. OK, nous
voulons connaître son emplacement, et ce
sera sa transformation. Bien, bien, bien, bien, bien. Mets-le ici. Et si je me
souviens bien, oui, ça va sûrement le transformer en vecteur. Nous y voilà donc. C'est donc essentiellement tout
ce que nous voulons qu'il fasse, d'accord ? Maintenant, tout ce que nous avons fait est de le configurer que le joueur détecté passe à
portée d'attaque. Une fois qu'il sera à portée, il fera immédiatement
apparaître le x swing at box. Maintenant, pour vous assurer et tester que cela
fonctionne correctement. Oui, ça y est. Il
apparaît dans cette boîte à chaleur. Il le fait apparaître immédiatement. Mais ce que nous allons faire maintenant, c'est passer à la boîte
à chaleur X Swing. Nous allons augmenter
son échelle à un. OK. Hmm. Taille raisonnable,
taille raisonnable. Je pense que c'est une
taille raisonnable pour le hit box. Maintenant, juste pour vérifier
rapidement, voici l'animation. Maintenant, revenons-en au plan de
mêlée de l'ennemi. Non, nous y
reviendrons. C'est donc la boîte à
succès en ce moment. Revenons donc à l'ennemi
de mêlée. Réduisons la portée à laquelle
il va s'arrêter. À l'heure actuelle, il en est à 300 unités. Réduisons
ce chiffre à 150. Retournez dedans, faites
un autre test rapide. OK. C'est donc là
que le hit box s'arrête. Maintenant, nous allons revenir à
la boîte à succès X Swing. Nous allons modifier les propriétés de cette sphère et nous allons
entrer en collision. Et pour le moment, il est configuré
pour bloquer toutes les dynamiques. Nous allons définir cela
comme un chevauchement, le tout étant dynamique. Faites une compilation rapide. Voyons à quoi cela
ressemble maintenant. OK, donc ça se chevauche. Donc, une fois qu'il atteint 150 unités du
joueur, il le fait. C'est une bonne chose. C'est une bonne chose. Ce sont des dégâts suffisants. Maintenant, c'est plutôt une position
suffisante pour lancer l'attaque. Maintenant que c'est fait, ajoutons également le code
pour réduire celui du joueur. Maintenant, dans le
but d'accélérer notre développement, je suis revenu à l'attaque à l'épée du
joueur, puis je vais essentiellement copier tout ce code, copier, passer au X swing, puis le coller ici Bien sûr, ce code
ne fonctionnera pas de l'intérieur, mais il va
nous montrer comment tout faire. N'oubliez donc pas que cela ne
fait que lorsque les composants commencent à se chevaucher. OK ? Passez à l'objet que
vous voulez qu'il inflige des dégâts, appliquez les dégâts
puis détruisez l'acteur ou, si l'événement ne dure qu'une
image, détruisez l'acteur. Nous sommes en train d'apporter quelques modifications. Pour commencer, les dégâts que nous
pouvons infliger sont les mêmes pour le moment, nous retirerons le lancer pour attaquer les
dégâts inutiles, et nous supprimerons
le chevauchement des cubes Il suffit d'infliger des dégâts, détruire l'acteur et, le
cas échéant, de le détruire. C'est tout ce dont nous avons besoin. Maintenant, avec ça, nous
allons passer à la sphère. Nous ajouterons l'événement et nous l'
appellerons lorsque le composant
commence à se superposer. Cet événement a maintenant
été ajouté. Nous avons ajouté le composant de
superposition. Maintenant, à partir de là, ce
que nous voulons vérifier et voir
, par hasard, que
nous atteignons le héros. Commencez donc par le casting
de base du héros. En d'autres termes, si nous
touchons le personnage du joueur, c'est ce
que nous voulons
voir si nous nous chevauchons Donc si c'est l'autre
acteur, c'est bien. En tant que héros, vous allez
incarner l'acteur endommagé. Et c'est parti. Cela
devrait donc être essentiellement tout ce dont
nous avons besoin pour qu'il fasse
des dégâts correctement. Donc, lorsque les composants commencent à
se chevaucher, c'est la sphère. C'est cette boîte à chaleur X Swing, nous lançons sur le héros, en lui infligeant dix points de dégâts, et c'est l'acteur des dégâts. En fait,
augmentons ces dégâts. Dix points, c'est un peu nul. Augmentons les
dégâts à 25, d'accord ? Juste pour toi, idée x swing. Tu es spécial. Maintenant,
nous allons compiler. Une fois cela compilé, revenons en arrière et voyons s'il
fonctionne correctement. Ah, nous y voilà. Pas mal Maintenant, bien sûr, il l'
a fait plusieurs fois, ce qui
n'est pas ce que nous voulons. Mais vous pouvez voir qu'il
continue d'apparaître dans cette boîte à chaleur et qu'il tue
notre joueur. C'est une bonne chose. Cela signifie que notre
balançoire fonctionne correctement,
mais que c'est plutôt la balançoire de la boîte
qui fonctionne correctement. Ensuite, nous
allons nous assurer qu'au lieu de le voir
apparaître immédiatement, l'ennemi passe
par tout le cycle d' animation de son attaque et qu'il apparaisse dans cette boîte à chaleur à hache
unique Pendant l'attaque, nous
allons associer l' apparition de
la boîte à
chapeaux d'attaque à l'animation C'est ce que nous allons faire dans la vidéo suivante.
70. 67 Lier l'animation d'une attaque avec le code pour l'ennemi més-mêlé: Maintenant que nous avons ajouté la zone de dégâts de base
pour l'ennemi de mêlée, assurons-nous de la configurer telle sorte que lorsque l'
ennemi attaque, nous jouions cette belle animation d'
attaque C'est où ? Oui,
cette animation. OK ? Cette belle animation d'
attaque époustouflante. Donc, dans le plan NEM de
mêlée, nous voulons créer une toute
nouvelle variable Maintenant, à l'intérieur des variables, ajoutons une variable
appelée x swing attack. Ensuite, nous ajouterons
une autre variable. OK. Et nous appellerons cette
variable « attaque ». Maintenant, ces deux
booléens vont faire quelque chose de
très, très basique Maintenant, l'attaque X Swing que nous
allons configurer pour démarrer l'animation X Swing
puis l'attaque E
indiquera à l'IA qu'elle est indiquera à l'IA qu' actuellement dans
une animation d'attaque ou dans un état d'attaque, et nous l'
utiliserons plus tard pour ajuster certains
comportements de l'IA. Une fois que vous aurez ajouté
ces deux Bolans, tout
cela aura beaucoup
de sens une fois que
nous serons entrés dans le code Ensuite, nous avons notre
ascension chez box. Nous voulons donc le configurer de manière
à ce qu'il arrête tout mouvement actif. Ajoutons-le juste après avoir arrêté
tous les mouvements actifs. Mais avant de passer à l'attaque
à l'épée, nous allons passer à l'attaque au coup de
hache Faites-le glisser ici. Nous voulons définir une attaque x swing, et nous voulons l'activer. Nous allons donc activer l'attaque
Axe Swing, d'accord. Et quand l'attaque X
Swing est activée, ce que nous
voulons, c'est attaquer. Et nous voulons nous placer en attaque. OK ? Nous y voilà donc. Vouloir jouer, c'est attaquer. Mais là où nous le voulons, apportez-le ici. Voyons voir, Set attaque. Faisons-le traîner ici. Nous allons donc nous lancer à l'
attaque ici. Donc, immédiatement, nous avons dit : « Hé, nous attaquons, l'
IA attaque, et elle devrait utiliser
l'attaque X Swing ». C'est la base de référence. Maintenant, pour éviter que cela ne se rejoue
plusieurs fois, je voulais jouer une fois, nous allons dans
cette branche OK Et nous allons créer une autre succursale ici. Gardez à l'esprit que nous
utilisons les branches ici juste pour des raisons de simplicité, d'accord ? Maintenant, c'
est ici que nous allons le configurer. Donc, juste après avoir
détecté au joueur si l'ennemi au corps à corps se trouve dans
la bonne zone d'attaque, nous allons
le connecter ici Et puis, si c'est faux, il le fera. OK ? Si c'est faux, cela va continuer à attaquer le joueur
lorsqu'il est à portée.
OK ? Permettez-moi de faire
avancer un peu, car nous devons l'étendre
beaucoup, l'étendre. Nous ajoutons de plus
en plus de code. Donc, en gros, si le
joueur attaque, s'il n'attaque pas, il portera tout cela,
et il mettra son
attaque sur « oui », et il lancera l'attaque avec la
hache, et elle apparaîtra dans
la zone de frappe, d'accord ? Cependant, si c'est faux,
cela ne devrait rien faire. Maintenant, nous allons passer à l'attaque. En d'autres termes, nous allons
lancer l'attaque, traîner jusqu'ici, nous l'obtiendrons, et nous la connecterons ici. Il ne doit donc être joué qu'une seule fois. Maintenant, faisons un bref aperçu avant de faire quelques tests de base. Cela permettra de vérifier si le joueur est dans la
bonne zone pour attaquer. S'il n'attaque certainement
pas déjà, il exécutera maintenant
tout ce code, mais il se
préparera à attaquer et il mettra l'
attaque C swing sur positive,
et elle apparaîtra
dans cette boîte à chaleur Maintenant que tout est
dans son état actuel, passons rapidement au niveau du
développeur, et c'est ce qui s'est passé. Remarquez la perte de santé du joueur. Alors faisons-le.
Boum, le joueur a perdu 25 % de ses points de vie. C'est ce qu'il fait et
il l'a fait une fois. Avant, il créait
plusieurs cases à cocher, maintenant il ne le fait qu'une seule fois. C'est suffisant pour commencer. Ensuite, ajoutons
l'animation. Nous allons donc passer au plan d'
animation de mêlée. Nous allons passer au graphique d'animation, et nous allons entrer dans l'état ennemi
au corps à corps Donc, pour le moment, il est réglé
sur inactif et prêt à fonctionner. Il ne nous reste plus qu'à
créer un nouvel état d'animation. Et nous appellerons plutôt cela
animation. Appelons-le x swing. Appelons-le simplement
X Swing Attack. OK ? Nous l'appellerons
simplement X Swing Attack. Ensuite, nous passerons de l'attaque inactive
à l'attaque au coup de hache, et nous passerons du
travail à l'attaque réelle. Nous n'avons même pas besoin de nous déplacer
pour nous absenter du travail. La raison pour laquelle nous
supprimerons cela, nous allons simplement nous connecter depuis le mode veille. Et si nous
n'avons besoin de nous connecter inactifs, c'est parce que l'IA
s'arrête toujours complètement avant
de commencer à balancer la hache. Maintenant, quand on regarde le code, remarque qu'il arrête d'abord
tout mouvement, puis qu'il commence à
attaquer. OK ? Ce qui signifie
qu'à ce moment-là, sa vitesse de déplacement
doit être nulle. Nous n'avons donc pas à nous
inquiéter de le faire depuis le travail,
car les joueurs travaillent. Mais en général, vous les empêchez de mourir, même si c'est pour une
fraction de seconde
, puis les animations d'
attaque sont diffusées. Maintenant,
double-cliquons sur x swing, et nous voulons simplement
jouer à Attack à partir d'ici. OK. Et vous verrez que cette animation s'
appelle attaque. Maintenant, dans le plan maintenant qu'il est prêt
à
lancer l'attaque, nous avons besoin condition pour
le faire passer
de l'inactivité à l'attaque, nous avons besoin d'une condition pour
le faire passer
de l'inactivité à l'attaque,
et la condition deviendra un ennemi de mêlée Ensuite, nous voulons vérifier
X Swing Attack. Nous avons une attaque X Swing, et nous voulons voir, hé, est-ce exactement égal à Okay. Est-ce exactement égal à « Oui, alors jouez à l'animation X
Swing Attack » ? C'est tout ce que ça va faire. Nous avons actuellement un moyen faire passer de
x swinging à idle, mais nous voulons juste le tester Maintenant, il fait l'
animation X Swing. Regarde ça. Regarde comme ça
tue le joueur ennemi. C'est un bon petit squelette
Evo. Bon petit endosquelette. Bravo. Maintenant que
c'est configuré pour cela, nous devons simplement
relier l'apparition dégâts à
une image d'animation, ce qui est assez simple Nous allons donc passer à Melenemy et nous allons vous faire
apparaître l'acteur
de la boîte à succès, et nous allons
créer un événement personnalisé OK. Nous
ajoutons donc un événement personnalisé. Nous appellerons cet événement ou nous
l'
appellerons simplement Axe Swing, c'est le
seul nom que nous allons lui donner. Maintenant que cet événement est arrivé, nous allons faire
glisser tout ce code permettant de apparaître cet acteur dans Box, et nous allons
le connecter d'ici, puis nous reviendrons ici et nous romprons
ce lien, d'accord ? Donc, la seule chose
qui va
s'étendre dans la boîte à chaleur c'est cet événement personnalisé X Swing. OK. En fait, changeons-le car X swing ne
suffit pas. Appelons-le X Swing Hit Box. OK ? C'est comme ça que nous
allons l'appeler. Et puis, bien sûr, comme
Good Little Citizens, nous allons ajouter
une zone de commentaires, et nous allons
l'appeler , nous allons
taper le commentaire, apparaître en X swing case afin de
pouvoir facilement
savoir ce qui sur la
case afin de
pouvoir facilement
savoir ce qui se passe Donc, avec cet événement, si nous revenons au niveau, remarquons qu'il ne fait plus de dégâts car la
boîte de tir a été supprimée. Revenons maintenant au plan
d'animation. Et ce que nous allons
faire, c'est y
aller, voyons voir. Non, nous devons accéder à la source de l'
animation. Nous y voilà. Nous allons passer à l'animation d'
attaque et jouons rapidement à
l'animation d'attaque. Sympa. Maintenant, nous allons y
aller, non ? Ici, boum, juste là
quand il fait le découpage. À l'endroit où
il fait le
découpage, nous allons ajouter une notification. Nous allons ajouter une nouvelle
notification et nous allons l'appeler XSwingHTBX C'est le nom de la notification. Maintenant que cette notification est configurée, nous allons revenir au plan d'animation Me
Enemy Nous allons passer à la notification. Voilà XSwingHTBx
qui est bon, puis nous allons entraîner Devenez un ennemi de mêlée, puis nous le traînerons, puis nous voudrons utiliser
la boîte à chapeau X Swing C'est pourquoi il est important de tout nommer d'
une manière
logique. Vous n'avez donc pas besoin
de trop réfléchir à ce que vous faites. C'est tout simplement simple. Nous savons donc qu'il s'agit de la boîte X
Swing it, et la voici. Donc, avec cette configuration, nous allons compiler et
maintenant jouons. Boum, boum, ça fait des dégâts. Boum, encore des dégâts. Boom, euh, le joueur est mort. Sympa. Et c'est pour nous. Nous avons donc Sepuldon. Refaisons cette sortie. Je tue le joueur, le
tue. Bien. Le joueur est donc mort.
Maintenant, pourquoi. La raison pour laquelle cela fonctionne si
efficacement et je recommande toutes ces méthodes
est que nous avons séparé la position de
l'animation de la hitbox. Nous avons séparé l'
animation des dégâts. Tout est séparé afin que
nous puissions l'ajuster séparément. Peut-être que vous voulez ajuster la zone de frappe, vous
pouvez l'ajuster. Vous pouvez ajuster l'animation et modifier
l'emplacement de la zone de frappe. C'est juste un bon game
design en général, je le recommande vivement. Quoi qu'
il en soit, maintenant que nous l'avons configuré pour que l'ennemi puisse réellement se diriger vers l'
endroit où se trouve le joueur et commencer à infliger des dégâts. La prochaine chose que nous voulons, c'est apporter
quelques ajustements. Maintenant, vous remarquerez que
quand je craque, ça essaie vraiment de
venir et de continuer à
attaquer. Remarquez que quand
je m'enfuis, il joue toujours
cette animation. OK ? Nous ne voulons pas
qu'il fasse cela. Nous voulons séparer le mouvement du moment où
il lance l'attaque. Nous voulons ajouter un peu de délai lorsque l'ennemi décide
d'effectuer différentes actions. C'est le meilleur moyen d'avoir
une bonne IA dans votre jeu. C'est ce que nous allons faire dans la
vidéo suivante, avec quelques ajustements de l'IA.
71. 68 Ajouter une fonction de réinitialisation de l'état d'attaque: C'est bon. Maintenant que notre IA est capable de comprendre
quand elle attaque, ne nous reste plus qu'à ajuster
le timing, d'accord ? Ce n'est donc pas comme courir partout en faisant
ce que l'on veut. OK. Donc
tout d'abord, l'ennemi au corps à corps, position
ascendante, la collision, le
chevauchement, tout est dynamique, accord, je ne sais pas ce que
nous rencontrons. Mais il y a quelque chose que
nous sommes en train de
rencontrer, oui, le flipbook papier
qu'il a créé pour bloquer tout ce qui devrait
résoudre le problème Maintenant je peux, je ne sais pas
ce qui en est la cause. Mm. OK. Je n' aime pas ça. Je n'aime pas
ce que font les caméras. Sinon, cela pourrait
être un personnage de héros. Je vais donc passer
à la caméra du héros, la caméra, puis
vérifier sa collision. Voyons voir. OK, j'ai vérifié. Ce n'est pas l'appareil photo. C'est le bras à ressort.
C'est le printemps. Je vais sortir. En ce moment
, il fait un test de collision. Je l'ai désactivé pendant
le test de collision. Je veux m'assurer que cela a
cessé. OK, c'est beaucoup mieux. Bien mieux. C'est ce que je préfère. OK, donc on peut juste passer
en revue les gens. Va-t'en, va-t'en, va-t'en,
c'est bien. C'est très bien Quoi qu'il en soit, c'était
juste une chose rapide. Maintenant, fondamentalement, nous
voulons que le mouvement et les actions de l'IA aient, faute
de meilleur terme, un peu plus de sens, d'accord ? Alors c'est ce que nous
allons faire, d'accord ? Lorsque l'IA se déplace et commence à
attaquer le joueur, nous allons effectuer une double vérification de base de la distance entre le
joueur et le pion Et puis une fois qu'il dépasse
une certaine distance, nous supposons que le
joueur
s'enfuit ou qu'il est sorti de la distance où
il peut être attaqué. Ensuite, à ce moment-là, nous allons désactiver l'animation
de l'attaque. OK, c'est l'aperçu
général. Nous allons donc affronter l'ennemi
au corps à corps. Je viendrai par ici. Et puis juste ici, autour
du passage à la zone d'attaque, juste après le simple
déplacement vers le lieu, alors qu'il fait son déplacement
vers le lieu, puis la prochaine chose qu'
il va faire, en fait, la première chose qu'
il va faire, c'est de le
dire ici OK, nous allons donc
faire une simple vérification. Je vais faire une simple vérification des
succursales. Et au sein de cette branche, nous allons demander
si elle attaquait. D'accord ? Nous allons attaquer. En d'autres termes, à
l'heure actuelle, le joueur est
hors de portée d'attaque, mais l'IA
attaque toujours. OK. Comme il s'agissait toujours d'une attaque, la première chose
que nous voulions faire de définir une attaque x swing. Non, alors pourquoi me
montre-t-il tout cela ? Oui, nous voilà parés à
Swing Attack Off. OK. Maintenant que nous avons activé
x swing attack two, attendez, allons-le un peu plus loin, donnez-lui plus d'espace. Juste après avoir déclenché l'attaque
X Swing, elle se déplacera
simplement vers sa position. Cependant, s'il
n'attaquait pas, il lui
suffira de se déplacer vers l'emplacement. Il s'agit d'une logique de code
simple de base. D'accord ? Très basique. Revenons donc au plan d'animation de
mêlée, au graphique d'animation, à
l'état de l'ennemi
au corps Nous allons donc venir ici et nous allons lancer
l'attaque X Swing. OK, et nous allons d'abord le
laisser tel quel. Venez ici, principalement de l'animation
animée, bla, bla, bla, bla, bla Principalement de l'animation, nous allons
avoir l'attaque X Swing. Et pour passer de l'
inactivité au swing de hache, il
suffit que l'
attaque x swing soit égale à vraie. Cependant, pour passer d'une attaque X
Swing à une attaque inactive, nous voulons
avoir l'ennemi au corps à corps Nous voulons obtenir une attaque X Swing. OK, nous avons droit à
l'attaque X Swing. Et aussi, nous allons
faire attaquer le A, OK. Ensuite, ce que nous voulons faire c'est vérifier deux choses. Pour commencer, nous voulons
dire égal à. Je veux vérifier si le
swing attaque plutôt. Je veux voir, voyons voir. La logique doit être stricte. La logique doit être stricte. Si l'attaque Aswing est fausse, elle peut entrer dans cette transition Faisons une vérification rapide. OK, ça s'est arrêté maintenant. OK. Mais cela crée
un autre problème. Cela ne va pas revenir
dans l'animation. Remarquez donc que c'est une attaque. OK. Redémarrez, il attaque. Cependant, s'il attaque et que nous sortons de
la zone d'attaque, lorsqu'il revient à
portée d'attaque, boum, il n'est plus
capable d'attaquer. OK. Je devrais sérieusement me
laisser désactiver ces notifications
de discorde OK, c'est comme ça
que ça marche en ce moment, et puis quand tu t'enfuis, les animations
fonctionnent correctement. Maintenant, pour que
cela fonctionne, c'est exactement ce que
vous devez faire. commencer, à l'intérieur
de l'ennemi au corps à corps, vous allez l'organiser de telle sorte
que, juste après, je puisse
zoomer Juste après avoir vérifié
la distance,
nous bifurquons et vérifions pour voir si condition d'attaque est le pouls, il continuera à
effectuer le mouvement. Cela permet de garantir
qu'il ne commence bouger qu'une fois que l'animation de l'attaque
s'est déroulée en quatre. Ensuite, assurez-vous, bien sûr, que la branche d'attaque normale
existe. Maintenant, remarquez qu'à la fin de l'
attaque, le code d'animation commence, à
droite, I attack
est défini sur yes, et l'attaque CSwing
est définie sur yes Maintenant, en plus de cela,
vous allez ajouter un simple état
de réinitialisation de l'attaque. Nous allons commencer par
un événement personnalisé appelé Attack Stat Reset. Et à l'intérieur de cela, il
réinitialise ses statistiques d'attaque, et l'attaque cswing est
également reprogrammée pour être Et cela se trouve juste à l'intérieur
du plan de mêlée de l'ennemi. Et puis à l'intérieur de la source
d'animation, d'accord ? Accédez à l'
animation de l'attaque et, à la fin, ajoutez une notification connue
sous le nom de réinitialisation de l'état de l'attaque. Une fois cette notification, cette
notification
est bien entendu configurée à la toute fin de l'animation,
à la toute fin. Après avoir configuré cette notification, accédez au
plan d'animation de l'ennemi au corps à corps Et sous le notificateur
de réinitialisation de l'état d'attaque,
ajoutez la réinitialisation de l'état d'
attaque par notification de réception, afin qu'il fasse appel à cette fonction de réinitialisation de l'état d'
attaque. Et une fois que vous avez
tout ce set, lorsque l'ennemi s'
approche du joueur, il est capable de lancer l'attaque, mais le joueur
peut s'enfuir. OK. Maintenant, dans la vidéo suivante, nous allons apporter
une modification simple car maintenant le
joueur peut simplement
avancer alors qu'il n'en est plus
capable, comme vous pouvez le voir, le joueur n'est plus en mesure subir des dégâts
d'ici, et l'ennemi ne fait
demi-tour qu' une fois que le joueur a
parcouru une certaine distance. Nous voulons l'ajuster pour que le personnage ennemi soit toujours orienté dans la direction du
joueur. D'accord ? Boom, non, allons-y. OK, c'est bon. C'est ce que nous allons faire. Petit
ajustement lors de la prochaine
72. 69 Empêcher le joueur de pouvoir maîtriser l'IA: Bien, nous voulons donc
empêcher le joueur de tout tromper en
écrasant nos ennemis Un moyen simple de le faire est donc que la collision entre les capsules est actuellement réglée sur le préréglage de
collision du pion Nous pouvons essentiellement le configurer comme quelque chose
d'aussi simple que de
bloquer toute compilation dynamique, afin de ne pas perturber
la disposition des niveaux Assurez-vous que cela
doit réellement être sur le terrain. Je n'aime pas sa position
quand il est dehors ou là. Maintenant, le joueur ne peut plus simplement traverser l'ennemi au
bulldozer, il doit
vraiment sauter par-dessus Mais maintenant, avec cette simple modification, sélectionnons le personnage. OK, c'est notre héros. Sélectionnez le
mouvement de son personnage, sélectionnez Sauter. Actuellement, la
vitesse de saut Z est fixée à 840. Nous allons porter ce
chiffre à 900. OK. Faisons une vérification rapide. Oui, c'est stupide. 909 000
centimètres/seconde, ce n'est pas ce que nous voulions.
Voyons voir. Réglons cela à
9 mètres/seconde. Parfois, Unreal
Engine, parfois Unreal Engine, change les chiffres d'une manière qui
n'a aucun sens pour moi Il y a eu de meilleurs
flux, juste une variable. Quoi qu'il en soit, maintenant nous sommes
capables de sauter par-dessus l'ennemi, mais nous ne pouvons pas nous contenter de le
traverser au bulldozer OK ? Ça
devenait un peu fou. Maintenant que c'est
réglé, nous pouvons passer à autre chose
73. 70 Nerver l'ennemi en més-méprise avec l'IA: C'est bon. Dans
l'état actuel, nous avons donc un simple ennemi de mêlée qui attaquera le joueur OK, il arrive et
attaque le joueur. Ce qui est plutôt raisonnable.
OK. C'est cool. Cependant, notez qu'
à chaque fois qu'il attaque, il recommence immédiatement à poursuivre
le joueur. Nous voulons intégrer des éléments à l'IA une fois qu'elle a
fait quelque chose, laisser ralentir
un peu et retarder sa prochaine action pour
donner au joueur
plus de temps pour réagir. Passons donc à
l'ennemi au corps à corps, et nous
allons maintenant séparer un plus
grand nombre de ses capacités. Pour commencer, Clear est visible. Cette ficelle, nous
allons nous en débarrasser. Nous n'en avons pas besoin actuellement. Et la prochaine chose que
nous allons
faire est d'entrer dans le niveau. Nous allons réduire la portée de
visibilité, donc ce
sera beaucoup plus clair. Je sélectionne donc sa détection des
joueurs. Et je vais augmenter
sa portée de détection. Actuellement, il est défini sur un rayon de 1 000
sites. Je vais réduire
la portée de détection, son rayon de visée à 600. OK. Juste pour qu'une grande partie de ce qui se passe soit
un peu visible. OK ? Alors maintenant, le joueur
doit être dans les 600 unités. Le prochain NaF qui lui
sera attribué
sera celui de sa vitesse de
déplacement, du mouvement du personnage Ensuite, recherchez la vitesse. Sa vitesse de travail maximale
est donc actuellement de 600. Nous allons
le réduire à 450. OK. Donc quatre à 50
centimètres/seconde, ce qui signifie que c'est désormais nettement
plus lent que Il détecte donc le joueur, mais le joueur peut facilement
sauter par-dessus et s'enfuir. Remarquez que le joueur est
sur le point de s'enfuir. Maintenant, il se
dirige vers le joueur, mais nous l'avons ralenti. Ce sont des nerfs de
simplification de base, d'accord, parce que vous ne voulez jamais
cela,
vous ne voulez jamais , vous savez, que votre ennemi soit trop
difficile pour le joueur. Remarquez donc qu'il
doit se mettre à portée, puis il attaque, il doit se mettre
à portée, puis il attaque, mais le
joueur peut s'enfuir. Le joueur peut s'enfuir avant que son animation d'attaque ne soit
terminée. OK ? Ce ne sont donc que
quelques nerfs de base. Le nerf de la vitesse de déplacement
et l'animation sont donc déjà suffisamment
lents pour que le
joueur puisse raisonnablement le contrer en
s'enfuyant. OK ? C'est juste pour donner
un petit bonus aux joueurs Maintenant que c'est fait, allons-y et faisons en sorte que
chaque fois que le joueur
attaque l'ennemi,
celui-ci chaque fois que le joueur
attaque l'ennemi, soit
immédiatement étourdi, afin que
le joueur soit capable de lancer sa triple attaque à l'épée et de
brûler l'ennemi à mort. Entrons dans le vif du sujet.
74. 71 Animation de la mort pour l'IA et quelques théories de logique: Maintenant que nous avons quelques points
de base en main,
ce que nous voulons
vraiment, c'est que, pour commencer, lorsque le joueur inflige des
dégâts à l'ennemi, nous ne voulons pas qu'
il continue d'attaquer En gros, c'est un peu suffisant. Nous voulons qu'ils entrent
un peu dans le hit stern pour que le joueur puisse
réellement obtenir son combo. Nous savons maintenant que pour ce faire, nous devons ajouter une animation de statère
thermique à nos petits
squelettes là-bas. Passons donc à l'art de notre ennemi de
mêlée, et nous voulons trouver Skeleton Dead. OK, et le squelette a été touché. Maintenant, si nous
regardons la chaleur du squelette, elle est essentiellement
préréglée avec, par exemple ,
« Oh, elle a subi un
petit dommage dû à la chaleur, puis elle revient au ralenti. Il s'agit d'une animation informatique de base. OK. Revenons donc ici. Donc, si le squelette est touché
et que le squelette est
mort, c'est le squelette
qui tombe. OK, tu peux le voir là-bas. Le squelette tombe en fait. Maintenant, par souci de
logique,
nous n'utiliserons que le squelette mort
pour cette animation. OK ? Nous allons donc sélectionner le squelette mort et configurer
les actions des sprites Nous voulons extraire
tous les sprites. Maintenant, vous pouvez voir que tous les sprites
sont là lorsque nous zoomons. Il existe plusieurs sprites. Mais sortons-le de l'automatique
et remettons-le dans le réseau. Maintenant, ce sont une, deux, trois, quatre, cinq, six,
sept, huit, neuf, dix, 11, 12, 13, 14, 15 animations différentes. Nous devons donc diviser
la largeur de la cellule par 15. Ouvrons donc notre
calculateur très rapidement. Donc 495/15 c'est 33. Nous allons donc faire en sorte que la largeur de cellule 33 pixels, extraire
ces sprites Ensuite, nous allons créer un flip book, et
nous l'appellerons. Nous allons dire que c'est mort. On va juste dire que c'est mort, d'accord ? Il s'agit donc de l'animation
morte actuelle. Vous pouvez le voir là-bas, 15
films par seconde, d'accord ? C'est l'animation.
OK ? C'est cool. Permettez-moi donc de faire une pause et de
passer en revue image par image. Vous pouvez donc voir que ça commence
par devenir blanc, d'accord ? Elle devient blanche. Puis il retombe un
peu, puis il s'effondre. C'est donc là
que la logique entre en jeu. Nous allons le configurer de telle sorte
qu'aux alentours de la sixième image, avant qu'il ne commence à s'effondrer, nous procédions à un
contrôle de santé de base. Si l'état de santé est bon, il
redeviendra inactif, d'accord ? Cependant, si la santé est nulle ou plutôt
nulle ou inférieure à zéro, elle s'effondrera, et ce sera la fin de notre joli petit squelette
ennemi au corps OK ? Nous avons donc maintenant cette
animation. Jouons-y d'abord. Il est donc configuré pour se déplacer à
15 images par seconde. Mais je pense que nous
devons le ralentir un peu ou le ralentir à
environ 20 images par seconde. Ah, ça accélère les choses. Toutes mes excuses. Ralentissons à une dizaine d'
images par seconde. Donc ça en prend un coup. Ça en prend un coup.
Ça en prend un coup. OK. Remettons-le à 15. Nous reviendrons plus tard en fonction
de l'apparence et de la sensation des choses. Maintenant que nous avons
configuré cette animation, revenons à
notre source d'animation, et nous voulons ajouter une
nouvelle séquence d'animation, et nous appellerons la séquence
d'animation, papa. Nous allons le garder, vous savez,
nettoyer les noms,
les garder propres. En ce qui concerne les données d'animation, nous recherchons
Dead on Flipbook Voici donc l'
animation des morts-vivants. Regarde ça. Plutôt cool. Maintenant que nous
avons terminé de configurer l'animation ici,
revenons en arrière. Revenons en arrière et jetons
un coup d'œil. Revenons à
notre ennemi de mêlée. OK, nous allons revenir à notre
réflexion ici, Animation graph. Passons au plan
d'animation de l' ennemi
au corps à corps. Sélectionnez l'ennemi de mêlée, et nous voulons maintenant avoir
un nouvel état d'animation Et cet état d'animation
va s'appeler Dad. Effectuez un zoom arrière. Faites un zoom arrière,
revenez en arrière, changez le nom. On dit que c'est mort. Et nous
allons le traîner ici. Donc, d'une attaque inactive à une attaque en X, nous pouvons passer immédiatement
à la mort, d'accord ? Et mort, nous allons passer au
type d'animation play dead, donc il va commencer à jouer
l'animation morte. OK, c'est vraiment
ce que ça va faire. Compilons rapidement. Maintenant, il n'est lié à rien. La prochaine chose que nous
allons faire est relier
et de le configurer de
manière à ce qu'il joue chaque fois
que l'ennemi le prend
75. 72 Rendre la barre de santé de l'IA visible et quelques ajustements avant de passer à l'étape suivante: C'est bon. Désormais, grâce au pouvoir du voyage dans le temps
généralisé, le joueur peut attaquer
le mannequin d'attaque et sa santé
finira par atteindre zéro OK ? Il n'est pas encore
prêt à mourir, mais nous sommes capables d'attaquer
l'ennemi plutôt que d' attaquer l'ennemi et
de réduire sa santé. Certaines choses
ont été modifiées. Premièrement, pour
attaquer le joueur à l'épée, modifiez ses
dégâts de base d'environ 25, augmentez-les à 40, afin qu'il inflige plus de dégâts. Ensuite, pour la
hache, balancez-la dans la
boîte, réduisez les dégâts à un. C'est juste pour que nous
puissions faire quelques tests sans que cela ne tue
le joueur très rapidement C'est à peu près ce qu'il
faut faire pour cela. Ensuite, dirigez-vous vers l'ennemi au corps à corps et
créez un nouveau commentaire Ce commentaire s'intitule
« headstater »
sur le
fait de subir des dégâts, mais nous voulons nous
assurer de le configurer de manière à
ce que l'ennemi subisse réellement mais nous voulons nous
assurer de le configurer de manière à
ce que l'ennemi subisse réellement des dégâts visibles, car il
veut que sa santé soit révélée Pour que l'état de santé apparaisse, la première chose à faire est de
revenir au widget, revenir au widget et de le
configurer pour qu'il soit visible. Réglez-le pour qu'il soit visible comme vrai. Une fois cela fait, il ne reste plus qu'à organiser et configurer
ces plans Dans ce commentaire, nous
commençons par un événement : chaque dommage, puis une variable
atteint stan et nous allons faire une chaîne d'impression de base indiquant que
les dégâts sont en cours. Ensuite, nous allons
créer une autre chaîne d'impression, qui va taper les dégâts plutôt
que la santé de l'ennemi. Maintenant, si nous y retournons, remarquez que vous
voyez Dammi Health ici Pour que cela soit révélé, rendez-vous dans
My Blueprint et il y a un
paramètre, puis affichez variables
héritées
car la variable DamiHealth est héritée
de Maintenant, nous utilisons beaucoup la
santé de Dami ici. Pour commencer, nous
obtiendrons les points de vie de dammi, et nous déduirons
le montant des dégâts de
l'événement Nous le soustrayons donc simplement
en définissant dammi health. Il y a une soustraction en cours. C'est notre nouvelle satanée santé. Une fois que nous avons terminé, nous venons chercher
le widget auprès de l'
ennemi au corps à corps et nous le traînons vers l'extérieur. Et puis nous obtenons le
widget qui se trouve à l'intérieur, qui est, bien sûr, une
dammi health bar Et une fois que nous l'aurons placée dans la barre de santé
dammi ici, tant que barre de santé dammi, nous allons bien sûr
cibler la barre de progression de dammi
Health, et nous la définirons
comme le pourcentage de 100 en utilisant le pourcentage défini à
partir de la barre de progression de dammi
Health, et nous utiliserons le
damiHealth divisé par 100, et ce sera la santé que nous aurons Et avec toute cette configuration, le
joueur pourra infliger des
dégâts à l'ennemi et nous pouvons voir la barre de
santé baisser. Avec toute cette configuration, passons maintenant à l'ajout
de la logique Hit Stern.
76. 73 Ennemi més-mépris et Mort tout en un: Maintenant, pour ajouter le nombre de têtes au jeu,
lorsque nous sommes dans le plan ennemi au
corps à corps,
notez qu'en cas de dégâts,
nous avons configuré cette variable
appelée
headstater lorsque nous sommes dans le plan ennemi au
corps à corps, notez qu'en cas de dégâts, , et nous l'avons configurée pour qu'elle soit vraie Maintenant que nous
avons cette configuration,
nous allons passer au plan d'animation
Me Enemy,
et nous allons le configurer de telle sorte
que, de l'attaque à la hache, il puisse passer à l'animation morte, et tout ce dont nous avons besoin
c' est d'ASMleeEnmy Nous voulons vérifier que
Headstan Get est en ligne. Nous voulons vérifier qu'il est inférieur à égal. D'accord. Nous l'avons
fait plusieurs fois. Cela devrait être facile pour toi maintenant. Et tant que le nombre de coups
est égal à positif, on peut passer d'une
attaque à une animation, vous savez, jouer à
The Dead. Alors faisons-le. Donc
je t'attaque. Il fait donc maintenant
l'animation morte. Remarquez, une fois qu'il est touché une fois, il attaque, il attaque. Mais une fois qu'il est touché une fois, il joue l'animation morte. D'accord ? C'est cool. Maintenant,
c'est parfaitement bien. Mais revenons au plan
d'animation. Nous voulons également qu'elle
puisse passer de l'animation morte
à l'animation inactive. Mais nous allons le
configurer comme ça. Maintenant, la raison pour laquelle
ça passe du X balancement
OK, à la mort. Et la raison pour laquelle
il devrait également être capable de passer du mode inactif à l'état mort, nous le configurerons plus tard, c'est
parce que dès qu'il se trouve dans la zone de dégagement, il commence à faire le x swing Mais on l'atteint, il commence à
jouer l'animation morte, et cette animation est cette animation qui montre qu'
elle s'effondre Mais nous ne voulons pas
qu'il joue toujours l'animation morte s'il n'
est pas encore réellement mort. Nous allons donc venir ici. Voyons voir un, deux,
trois, juste avant
qu'il ne commence à s'effondrer Vers la fin
de la cinquième image, nous allons
créer une nouvelle notification. Nous allons donc ajouter une notification. Nous ajouterons une nouvelle notification, que nous appellerons
Meleem heads OK, on l'appelle
juste Melee Enemy Headstand. Et c'est comme ça que nous
allons l'appeler. C'est le notificateur. Maintenant que nous sommes en train de le faire
, l'ennemi bat la tête, d'accord ? C'est vérifié là-bas. Passons maintenant à l'État et
remarquons-moi . Enemy
Headstand avertit ici, à l'intérieur du plan Et ce que nous voulons faire, c'est
nous transformer en ennemis. Maintenant, la prochaine chose que nous voulons faire est de
créer une fonction. Et cette fonction
sera la fonction DST de mêlée de
l'ennemi D'accord ? Maintenant, revenons au plan de
mêlée de l'ennemi, j'ajoute une zone de commentaire, puis nous allons appeler
ce frappeur une vérification d' aide.
Tu peux l'appeler. Honnêtement, vous pouvez changer
cela de plusieurs manières. Voyons voir, ce n'est pas un problème que j'appelle
Melanem Headstart. Disons que c'est le bilan de
santé de mon chef. Donc, chaque fois que le joueur est en tête, il l'exécute
plutôt que l'EM est Head Stan, il effectue cette vérification. Ensuite, nous allons
créer un nouvel événement, et ce sera
un événement personnalisé, d'accord ? Maintenant, juste pour être sûr que les
noms sont exactement les mêmes, cela s'appelle mele ENM hit
Stern. Nous allons l'appeler. Nous allons lui donner
le nom d'ici. Mele N hit Stern. Maintenant, nous avons ce check du frappeur ennemi fonctionne
plutôt
ici, cet événement personnalisé Maintenant, que voulons-nous faire
dans cet événement personnalisé, n'est-ce pas ? Donc, ce que nous voulons faire, c'est ce que nous voulons
vraiment faire, c'est
mettre fin à cette satanée santé D'accord ? Nous voulons donc retrouver santé et faire un bilan
de base, d'accord ? Donc, ce que nous voulons
voir, c'est
voir inférieur ou égal à. Et est-ce inférieur ou
égal à zéro, d'accord ? Ensuite, nous allons
faire une branche de base. Une branche très basique. Maintenant, si l'état de santé
du mannequin est inférieur
ou égal à zéro, nous voulons
le définir de manière à modifier la
propriété de la variable
Hetster D'accord ? Donc, si la
santé de l'ennemi est inférieure à zéro, ou égale à zéro,
cela signifie que l'ennemi de mêlée
est réellement mort. Donc, si c'
est vrai,
c'
est simple, nous le laisserons tel quel c'
est simple, nous le laisserons tel , nous le laisserons tel quel. D'accord ? Cependant, si c'est faux, ce que nous allons faire, c'est
mettre la tête baissée. D'accord ? Oh, je ne suis pas en train de taper. Réglez le bandeau installé dans le
bandeau pour qu'il soit éteint. Maintenant, si nous le
faisons, c'est
parce que nous voulons activer
le headstater parce que nous voulons l'ennemi sorte de l'animation
du headstater Maintenant, cela ne fonctionnera pas actuellement car remarquez pour le moment
qu'il n'est pas encore prêt à fonctionner. Je les ai frappés une fois qu'ils sont
encore debout. Maintenant, pour que cela
fonctionne,
nous devons tout d'abord configurer
l'événement ici. Nous voulons créer un centre commercial ennemi, l'
installer dans
le plan d' animation figurant
dans la notification Parfait Il est maintenant
configuré dans le Notify. Cela ne devrait toujours pas fonctionner,
mais vous devez vous assurer que même avec l'événement,
il est correctement configuré. D'accord. Ensuite,
nous voulons revenir au plan
d'animation
dans le graphique d'animation, et nous voulons pouvoir passer de
XSwing à l'animation morte,
en passant également de
l'animation inactive à l'animation morte Je vais simplement copier exactement
le même code depuis AxSing, car
la logique est exactement
la même
chaque fois qu'il est en mode Headstand, puis nous double-cliquons sur l'animation morte
et sur le play dead, nous allons la configurer pour
qu'elle ne tourne pas En d'autres termes, il s'agit d'une
animation qui ne se joue qu'une seule fois. D'accord ? Alors maintenant, il ne tourne plus en boucle. Maintenant qu'il n'est
plus en boucle, je peux passer
de l'état mort au ralenti dans un cas où,
si le frappeur est égal à off, il
repasse directement au Et si le frappeur est égal à off, il peut revenir directement en arrière. Passons à l'
attaque si elle est désactivée. D'accord. Il dispose donc des deux
itinéraires. Alors jouons maintenant.
Remarquez que maintenant, nous l'avons debout,
laissez-moi le refaire. Maintenant, il peut attaquer. Si je le touche, il commence à attaquer, mais il recommence à
attaquer et
il est capable de s'en prendre à nouveau
au joueur. Des têtes, puis c'est debout. Mais cette fois, c'est l'animation
qui se joue. J'espère que cela a du sens. J'ai fait de mon mieux pour
décrire la logique complète. S'il vous plaît, si rien
n'a de sens, revenez en arrière et regardez à nouveau la vidéo Je veux que cela
fonctionne correctement, mais plus que cela, je veux
aussi que cela
ait beaucoup de sens. Maintenant, l'ennemi peut
désormais être tué. Donc un, c'est la tête debout, un, deux, trois, maintenant c'est la tête debout, et maintenant elle est morte. Nous l'avons configuré correctement
pour qu'il meure correctement. Maintenant, dans cet esprit, nous ne voulons pas que ces flics restent là
pour toujours. D'accord ? Donc, ce que nous allons
faire, c'est
le configurer à l'intérieur de l' ennemi de mêlée de telle sorte que si cette condition de dammi est égale ou
inférieure à zéro, nous voulons également
qu'il y un délai de 0,2
seconde, c'est parfaitement bien, mais je pense que c'est
un peu trop court Mais alors nous allons simplement
détruire l'acteur, et ce sera le soi. Donc, compilons rapidement ceci. Compilez bien.
Non, non, non, compilez. Tout d'abord, sauvegardons
tout et vérifions-nous que toutes les modifications sont correctement
enregistrées. Ceci est compilé. Alors ça a encore frappé, mort. Et puis, boum, il
a disparu du monde. Et c'est une méthode
globale très simple pour le configurer de telle sorte que l'ennemi puisse entrer dans
Headstan lorsqu'il subit des dégâts OK, mais recommencez à attaquer, mais il peut toujours
entrer dans Head Stan, et maintenant il est mort. Maintenant, avec cette configuration, ce très bon système
pour Headstart, nous pouvons simplement avancer
et apporter d'autres ajustements Il y a plusieurs
directions différentes que vous pouvez prendre. Pour commencer, nous pouvons maintenant faire exactement
la même chose pour le personnage du joueur et le
configurer dans Headster Nous pouvons faire exactement la même
chose pour les autres ennemis, puisque la logique devrait
maintenant avoir du sens pour vous. Avec cette configuration,
passons à l'
ajout de plus de code
dans notre jeu. Ensuite, nous allons faire quelques nettoyages
et ajustements, vérifier rapidement
tout ce qui concerne l'ennemi, ajuster certains chiffres, puis passer à un autre
type d'ennemi pour vous
77. 74 Configuration du classement d'ennemis: Maintenant,
commençons rapidement avec
un bel ennemi à distance dans notre jeu, car nous avons
l'ennemi de mêlée ici Mais pour le moment, nous n'avons pas
besoin de vous pour le moment, nous pouvons
donc simplement vous le laisser dans le
monde entier pour y revenir plus tard, mais pour le moment, supprimons-le
simplement Nous n'en avons pas besoin pour le moment. Mais ce que nous allons
faire, c'est créer
un tout nouveau dossier,
appeler ce dossier ennemi à distance et créer
deux dossiers à l'intérieur, l' un appelé animation,
l'autre intitulé art. Maintenant, dans le cadre de l'art, vous allez avoir quelques sprites de base qui vous seront fournis
dans le cadre de ce projet, afin que vous puissiez les
utiliser pour apprendre Vous pouvez également utiliser
votre propre animation si vous êtes un très bon artiste, et nous pouvons commencer à
créer l'ennemi à distance Une fois que vous aurez configuré ces
deux dossiers, la prochaine chose que
nous allons
faire est de passer
aux personnages. Nous allons revenir à l'attaque, bon
sang, et la prochaine chose que
nous voulons faire, c'est
créer un plan pour enfants, d'accord Et nous allons appeler le plan un ennemi à
distance. OK ? Nous allons chercher ce petit enfant. Nous allons le couper. Et je veux
essentiellement le déplacer. Voyons voir, utilisons
move, voulons utiliser move. Nous allons venir
ici, nous allons le récupérer, et nous allons l'entraîner vers ennemi à
distance et nous voulons nous y
déplacer, nous voulons le déplacer Maintenant, notre
ennemi à distance est ici. Maintenant, quand je double-clique
sur l'ennemi à distance, laissez-moi le
faire entrer ici Nous avons ici notre gentil
petit ennemi à distance pratiquement prêt à partir La prochaine chose que nous
allons faire, bien sûr,
est de sélectionner le cube sur lequel
nous rechercherons une collision. Nous allons le régler pour qu'il n'y ait pas de collision. Ensuite, en ce qui concerne la visibilité, nous la rendrons invisible
car nous n'avons vraiment pas du tout besoin de
cet Ube.
Mais nous y voilà. Il existe une barre de santé
simple et basique, et le graphique des événements est
actuellement complètement vide. C'est un
excellent point de départ pour nous. Maintenant que c'est fait, passons à autre chose et ajoutons l'animation de base
afin que nous puissions réellement avoir quelque chose à examiner lorsque
nous examinerons notre arrangement
78. 75 animations simples en inactivité pour l'ennemi à portée de main: ajout
de l'animation inactive de base
à l'ennemi à distance sera donc à l'ennemi à distance très similaire à façon dont nous l'avons fait
pour l'ennemi
au corps à corps Maintenant, juste pour m'assurer que nous faisons tout correctement,
je vais ouvrir
le plan de l'
ennemi au corps à corps, d' Maintenant, dans le même ordre d'idées, la toute première chose que
nous allons faire est d'ajouter un article de flipbook
en papier, Nous ajoutons donc simplement et nous
voulons un flipbook papier. Le flip
book en papier est donc maintenant ajouté. Maintenant que c'est ajouté, d'accord. Exactement de la même manière qu'à l'intérieur
de l'ennemi au corps à corps, d'accord ? Maintenant que le flipbook
papier est ajouté, la prochaine chose que nous
allons faire est y ajouter
une animation Nous allons donc passer à l'art. Non, pas dans The Mele Enemy. Passons à l'ennemi
arrangé, à l'art, et nous avons quelques animations
différentes, mais nous voulons l'animation inactive. Alors double-cliquez. Vous pouvez
noter qu'il y a un ,
deux, trois ou
cinq ou six sprites OK. Donc, essentiellement, nous voulons nous
assurer
d'extraire ces sprites Maintenant, ce que nous allons faire, c'est
d'abord appliquer au papier deux réglages de
texture D. En fait,
appliquons-les à tout. OK. Maintenant, à partir de l'inactivité, je vais passer à Sprite Actions et je vais sélectionner Extraire Sprite Laisse-moi y revenir encore une fois. Tout d'abord, permettez-moi de tout enregistrer
rapidement. OK. Donc, à partir du mode veille, il suffit de cliquer avec le bouton droit de la souris
, puis d'accéder à Sprite Actions et d'extraire Sprite comme cela a
été fait plusieurs fois Notez maintenant que le vrai moteur veut entrer et extraire
manuellement le sprite Nous ne le ferons pas.
Configurons-le sous forme de grille. Nous savons maintenant que ce sont un, deux, trois, quatre, cinq, six, des sprites OK. Donc, ce que nous
allons faire, c'est simplement calculer que c'est 750/6, ce qui en fait 125. Nous allons donc faire en sorte que
la largeur de cellule soit 125. Donc, en ce qui concerne la largeur de cellule,
nous allons la définir sur 125 x 125. C'est ce que tu vois. C'est plutôt cool, non ? OK. Maintenant que nous l'avons
, extrayons-le. Maintenant que tous nos
sprites ont été extraits, nous allons simplement créer un
flip book que nous
appellerons ranged M underscore En gros, c'est comme ça que
nous allons l'appeler. Regardons maintenant
l'animation inactive. C'est une animation inactive assez cool, agréable
et simple. Avec cette configuration d'animation inactive, revenons au plan de l'
ennemi à distance Notre flipbook papier est là et nous allons simplement
remplacer le
flipbook source par une animation Idle à distance Ça y est. Donc voilà. Maintenant, si nous retournons
dans le monde,
juste à côté de notre joueur, nous ajouterons simplement un ennemi
à distance Assurez-vous qu'il
est réglé sur zéro. OK. Et bien, nous avons notre petite dame
fantôme ennemie à distance juste là Elle ne fait rien, mais elle existe dans
le monde en ce moment. Faisons maintenant quelques ajustements. Revenons donc à l'ennemi à distance. Ensuite, nous allons voir avec l'ennemi mêlé que
nous atteignons l'échelle sept ce qui est de l'ennemi à distance, Pour ce qui est de l'ennemi à distance,
passons d'abord à l'échelle
quatre C'est très gros, très gros. À l'échelle de quatre, il
n' existe même plus dans
le monde. Donc, ce que nous allons faire, c'est
commencer par
relever le positionnement de ce
classeur en papier, arrêter ça. Maintenant que nous l'
avons soulevé, compilez. Maintenant, c'est encore trop gros. Réduisons-le à deux. Puis abaissez
la position de la dame fantôme flottante.
Et voyons voir maintenant. OK, c'est pas mal. À deux heures, ça a l'air
plutôt raisonnable, mais ça semble quand même un
peu trop petit. Voyons donc 2,52 0,5, ça a l'air correct Ça a l'air juste. Et maintenant, remarquez que si nous
restons à l'intérieur, ça s'écaille. Ce que nous pouvons faire, c'est simplement
sélectionner l'ennemi à distance. Et sur l'axe de voyons voir, sur l'axe Y, nous pouvons simplement le déplacer
de dix unités. Nous allons donc le déplacer à moins dix,
disons. Maintenant, c'est en arrière-plan. Ils ne sont donc pas
exactement sur le plan des pixels, et vous pouvez simplement les ajuster
car à moins dix, ils ne scintillent plus Techniquement, il ne devrait
plus scintiller même à un
point négatif, car ces
sprites ont une épaisseur d'un pixel OK ? C'est ainsi que vous pouvez vous
débarrasser de tout chevauchement de pixels. C'est une façon assez
simplifiée de le faire. OK. Mais maintenant, nous avons notre NEM arrangé avec une animation
de base en mode inactif Nous allons maintenant ajouter un simple projectile que
l' ennemi à distance
lance sur le joueur C'est ce que nous allons faire dans la vidéo suivante, puis nous irons plus
loin en ajoutant plus d'animations et de vie à
cet ennemi à distance. Allons-y
79. 76 Génère un projectile qui va à l'emplacement du joueur lors du lancement: OK, maintenant notre ennemi à
distance existe, vous pouvez le toucher
et il subit des dégâts, mais il ne peut pas simplement subir des dégâts Il doit infliger des dégâts
au joueur. Donc, pour nous assurer que cela
inflige des dégâts au joueur, créons un objet
capable de suivre la position du joueur et de lui
infliger des dégâts. Maintenant, dans
le dossier des ennemis à
distance, comme nous l'avons
fait partout ailleurs, créons un dossier
appelé Damage it box, dans lequel nous allons
ajouter un plan Dirigez-vous vers l'ennemi à distance. C'est l'
ennemi à distance en ce moment. Nous allons créer un nouveau dossier et nous voulons l'appeler damage
it box. Dans ce dossier, OK, dans ce dossier, nous allons créer
une nouvelle classe de plan, et nous voulons simplement
créer un acteur de plan Et nous allons appeler
cela un projectile ennemi. C'est comme ça que nous
allons l'appeler. Et puis économisons rapidement. Donc, à l'intérieur du projectile
ennemi, tout ce que nous allons faire, c'
est ajouter une sphère
rapide, d'accord ? C'est tout ce que nous voulons,
cette sphère de base. Alors compilons rapidement. Alors maintenant,
lançons rapidement le
projectile ennemi dans le monde. Apportez-le probablement quelque part. Donc voilà. Il y a
une grosse tache ici, d'accord ? C'est le projectile ennemi. Donc ce que nous voulons, c'est
que le blob se déplace
vers
le joueur, d'accord ? Donc, pour que cette sphère
se déplace vers le joueur, allons dans le
projectile ennemi et allons-y Passons rapidement à son graphe d'événements Mais avant de le faire,
sélectionnez la sphère. Je sélectionne la collision,
puis je sélectionne Superposer
toutes les dynamiques de sorte que, vous savez, essentiellement
avec la sphère, ne puisse pas sauter
dedans et faire se déplacer dans le joueur
sans bloquer l'espace. OK, avec cette configuration, retournez dans la sphère, accédez à son graphe d'événements, et commençons maintenant à le déplacer vers
la position du joueur. OK. Maintenant, pour lui donner la
bonne quantité de mouvement, nous allons d'abord lui ajouter
une certaine propriété,
à savoir le mouvement du
projectile Nous avons donc maintenant ajouté le mouvement
du projectile
à la sphère Nous pouvons commencer à jouer avec son mouvement d'une manière bien
intégrée dans un véritable moteur. Maintenant, les choses vont devenir
un peu mathématiques, mais j'espère qu'avec votre
connaissance d'Unreal Engine, puisque vous en êtes arrivé
jusqu'ici dans le didacticiel, cela aura du sens Donc, la première chose que
nous allons faire est de déterminer l'emplacement joueur,
de
déterminer l'emplacement de la balle elle-même, d'accord, de
la sphère, et d'essayer de déplacer la sphère vers l'emplacement du
joueur. OK ? C'est essentiellement ce que nous voulons faire pour le faire
avancer vers le joueur. C'est donc la grande théorie
globale. OK. Donc, la première
chose que nous allons faire est de commencer par introduire
le mouvement du projectile,
de vouloir qu'il soit là et de nous assurer qu'il est configuré pour s'activer OK. Et nous le mettons sur le nœud Event Begin Play. Maintenant, le nœud Event Begin Play est fondamentalement
le premier nœud appelé chaque fois que cet
objet apparaît dans le jeu Je veux donc faire tout cela au moment où
l'événement commencera à jouer. Maintenant c'est tout :
redressez la connexion. Maintenant que c'est fait,
il est activé. Nous avons activé le mouvement du
projectile. La prochaine chose que nous voulons
faire est de régler sa vélocité. Vous voulez régler la vélocité. Voyons dans l'espace,
et c'est tout. Je veux régler la
vitesse dans l'espace local et remarquer qu'il s'agit d'une composante du mouvement du
projectile Laisse-moi le chercher et le
mettre ici. Maintenant, je pense que
la vélocité est actuellement réglée sur zéro, zéro. C'est ce à quoi nous assistons. Réglons-le sur un sur l'axe X pour commencer, compilons et voyons à quoi
cela ressemble. Remarquez que ça va vers le bas. Cool. OK, alors revenez ici
et nous allons le régler sur un, un, un pour des raisons de simplicité. OK. Il
essaie donc de bouger, et il continue de se
répandre dans le monde entier. OK. Nous devrons procéder à des
ajustements plus importants. Maintenant, ce que nous voulons que soit
cette vélocité, nous n'allons pas l'incliner et concentrer sur la vélocité Nous voulons en fait qu'il
ait une valeur spécifique, qui est la valeur de la distance entre le
joueur et l'objet lui-même. Ce que nous allons faire, c'est obtenir
le personnage du joueur. Nous allons le récupérer et une
fois que nous l'aurons obtenu, déterminons l'emplacement. OK, nous avons donc maintenant la position du
joueur. Nous l'avons Ensuite, nous voulons savoir où se
trouve le soi, d'accord ? Il s'agit donc de remarquer
la cible elle-même. Cela signifie que cet
endroit est l'emplacement du
projectile lui-même. Maintenant, ce que nous voulons
faire, c'est soustraire ces deux
emplacements l'un de l'autre OK. Voici donc essentiellement la différence entre ces deux acteurs
différents. Et avec cela, la prochaine chose que nous
allons faire est faire
une simple multiplication. Notez que le multiplicateur
possède trois coordonnées. C'est pour X, Y et Z,
et nous allons relier la fin de ce multiplicateur à la
vélocité. Supposons donc que nous
définissions le facteur
multiplicateur sur un, un et un, il se déplacera
à une vitesse d' une unité par seconde
vers le joueur Regardons à quoi cela ressemble
réellement dans le jeu. Donc, dans le jeu, appuyez sur Play. Il se déplace maintenant vers l'emplacement réel du
joueur. Il fonctionne donc comme prévu. Cependant, remarquez que
cela descend trop loin, c'est une question de gravité. Donc, pour résoudre ce problème, nous allons
revenir au projectile. Nous allons sélectionner le mouvement du
projectile. Et après avoir sélectionné le mouvement du
projectile, la prochaine chose que nous voulons
faire est de rechercher dans mouvement
du projectile, Hum, nous voulons que ce
soit mis à zéro car il s'agit d'un projectile sans
gravité Si nous devons commencer à prendre en
compte la gravité, nous allons avoir
un problème, d'accord. Les choses deviennent très compliquées
et très incontrôlables. Donc, sans gravité,
jetons un coup d'œil. Boum, il se dirige
vers le joueur. Maintenant qu'il se déplace
vers le joueur, faisons en sorte
qu'il se distrait automatiquement au contact
du joueur, d'accord ? Maintenant, le moyen le plus simple de le
faire s'arrêter plutôt que par contact est simplement de le
faire, vous savez, s'arrêter. Chaque fois qu'il touche quelque chose,
il est détruit. Nous allons donc créer
un acteur destructeur. OK. Il y a donc ce composant de
destruction de l'acteur. Nous allons le mettre ici. Bien entendu, la cible est le
soi avec l'acteur destructeur. Ensuite, nous laissons cela ici et ajoutons que nous rechercherons l'
événement sur Projectile Stop OK. Voyons voir, voir. Donc, pour appeler ça, je
vais devoir rendre sur
Projectile Movement Il y a cet événement appelé On
Projectile Stop. Découvrons-le rapidement. Maintenant, nous avons cet événement à notre
disposition, et ajoutons-le rapidement juste avant
la destruction de l'acteur. OK. Permettez-moi de rompre ce lien. Je ne pense pas que cela soit nécessaire. Testons rapidement. Donc, à l'arrêt du projectile, cela signifie qu'à chaque mouvement, le projectile
s'arrête À chaque mouvement, arrêt
du projectile, il sera détruit Arrête. Commençons. Boum. OK ? Le mouvement ne
s'arrête donc pas encore, car il ne
se chevauche pas réellement avec le joueur
qui l'a provoqué Nous devons donc maintenant simplement
ajouter un chevauchement rapide. Maintenant que nous sommes ici, entrons et disons :
OK, nous avons donc cette sphère. La sphère est bonne. Ajoutons autre chose. Ajoutons la collision. Ajoutons une collision de sphères. Trouvons la
sphère elle-même. En fait, je le veux
dans la racine par défaut. Voici donc la sphère. Réduisons la
taille de cette sphère. OK, donc la collision se produit
juste autour de la sphère. C'est donc la
première sphère, pas de problème. Ainsi, avec la sphère 1, nous voulons ajouter un événement au début
du chevauchement des composants. C'est l'événement que
nous voulons ajouter. Et ce que nous voulons faire, c'est que
les composants commencent à se chevaucher. Nous allons immédiatement lancer le casting au joueur, mais pour le moment,
nous l'appelons héros. Nous l'appellerons donc cast to hero. Et ce
sera l'autre acteur, c'est l'objet
qu'il aura touché. Et juste après
cela,
cela détruira l'acteur. Maintenant que nous l'avons,
compilons rapidement. Et immédiatement, ça
frappe l'acteur. Il est immédiatement détruit. C'est cool, et puis
pour lui infliger des dégâts, remarquez qu'il est immédiatement
détruit une fois qu'il est sur le personnage du
joueur, c'est bien. Maintenant, pour l'endommager, il nous
reste plus qu'
à le faire traîner. Et nous voulons dire : « infligez des
dégâts, bloquez
des dégâts, peu importe ». Et nous voulons que l'
acteur endommagé soit le héros. Supposons que chaque
projectile inflige 30 dégâts. OK. Faisons-les, compilons
rapidement, puis appuyons sur Play. Regarde ça. Le joueur vient de subir
30 dégâts directs sur sa barre de santé parce qu'il a été touché
par le projectile Nous avons donc maintenant un
ennemi de base et un beau projectile
qui peut
réellement endommager le personnage du
joueur Dans la vidéo suivante,
combinons les deux pour avoir
un dangereux ennemi à distance
80. 77 Configuration du plan d'animation pour Ranged Enemy: Maintenant que nous avons
le projectile de base, retirons-le rapidement du monde, car il ne
sera
pas là uniquement pour faire des choses tout seul Non, il doit être créé
par notre ennemi à distance. Maintenant que c'est fait, allons-y et ajoutons des animations appropriées pour lancer
la balle à notre ennemi à distance Maintenant, pour ce faire, la première
chose que nous allons faire est de passer à l'animation de
l'ennemi à distance Ensuite, nous
voulons ajouter
une sauce d'animation ZD en papier, et nous appellerons cette source d'animation
ennemie Et nous allons maintenant ajouter
un plan d'animation. Ensuite, bien sûr, on nous demande quelle source nous voulons
utiliser, à savoir l'
animation ennemie à distance. En tant que source. Nous appelons cette animation orange B P. C'est ainsi que nous l'appellerons pour des
raisons d'organisation. Maintenant, nous allons ouvrir la source
d'animation de l'ennemi à distance et ajouter une nouvelle
séquence, la première Bien entendu, nous l'
appellerons inactif. C'est le nom de la première car nous partons d'
une animation inactive. Ensuite, nous voulons simplement trouver l'ennemi à distance inactif.
C'est l'animation. Une jolie petite
animation inactive est disponible. Ensuite, pour effectuer la configuration appropriée, nous voulons ouvrir le plan d'animation de l'
ennemi Cela ouvre la voie. Maintenant que nous
avons choisi l'ennemi à distance, nous voulons
trouver le propre acteur OK, très similaire à ce que
nous avons fait avec la mêlée. Ensuite, nous voulons promouvoir l'ennemi
à distance avec une variable car c'est ce que nous
allons utiliser dans l'animation C'est donc tout. L'événement lancer un ennemi à distance, consiste
à
lancer un ennemi à distance,
puis en tant qu'ennemi à distance, sera la variable D'accord. Maintenant
que c'est configuré, nous avons accès
au graphe d'animation et nous voulons créer
un nouvel état d'animation. Nous allons donc ajouter une nouvelle machine à
états, et nous appellerons simplement
cette gamme EEM Nous allons rester simples et nous allons configurer cela comme sortie. Ensuite, pour nous assurer que
cela fonctionne efficacement, nous reviendrons au plan de l'
ennemi à distance Nous y ajouterons le composant papier
Z D, pour gérer les animations. Nous allons ajouter
le Blueprint ennemi à distance
comme classe d' instance d'animation Ensuite, pour le composant de
rendu, nous allons sélectionner
le flipbook papier comme composant de rendu Chaque fois que Paper
réalise les animations, il les gère comme avons
fait trois
fois, deux fois auparavant. J'espère que tout cela vous semble
logique. Parce que maintenant, remarquez qu'il
est simplement bloqué, mais nous reviendrons ensuite au plan d' animation de
l'ennemi Nous allons le sélectionner, le
faire glisser hors de l'état d'animation. Définissez l'état comme inactif. Oh, cliquez sur I comme inactif, puis sélectionnez l'état inactif, puis nous voulons qu'il
joue l'animation inactive. Compilez, revenez en arrière. Et maintenant, lorsque nous
entrons dans le niveau, l'
animation inactive est correctement jouée. C'est exactement
ce que nous voulons atteindre, et j'espère que
, comme vous avez si bien
appris des autres vidéos, tout cela vous connecte et prend tout son sens pour vous. Vous devriez en fait être capable de le faire principalement par vous-même. Mais maintenant que c'est fait, passons à
l'ajout de animation du
dessin
du projectile Maintenant, si vous revenez aux
personnages arrangés en NEM
et que vous revenez à l'art, remarquez qu'il y a cette animation d'aviron
d'attaque D'accord. Maintenant, avec cela, nous voulons obtenir cette animation d'
attaque. Faites de même, appliquez
du papier à ces paramètres, puis extrayez les sprites Il va toujours
faire la même chose en
essayant de les extraire automatiquement
pour vous, mais le vrai moteur n'est pas encore
assez intelligent pour le faire. Configurez-le donc sous forme de grille,
puis divisez 750 par un,
deux, trois, quatre, cinq ,
six, pour
obtenir un, deux, cinq, et cela
nous donnera des sprites à bande propre Nous les extrayons. Elles apparaissent
sous la forme d'une attaque de zéro à cinq, puis nous créons un flipbook, que nous voulons appeler attaque EM
soulignée à distance D'accord. Et sur ce,
remarquez l'animation. C'est l'attaque ennemie à distance. Mais ralentissons. Je pense que c'est bien
trop rapide, d'accord ? Donc, ce que je veux,
c'est qu'au lieu de 15 images, faisons-en cinq images. C'est bien mieux. C'est beaucoup plus raisonnable en tant qu'animation d'
attaque. Vous pouvez donc voir la
sorcière lever la main
puis la lancer. C'est donc très, très bien. Maintenant que nous avons
cette animation ici, revenons à la source NEM
à distance Nous ajoutons une nouvelle séquence d'animation, que nous appellerons
simplement attaque. Restez simple. Les données d'animation
proviendront de
l'animation d' attaque
NEM à distance. Ça y est. OK, c'est essentiellement ça. Et puis, avec l'animation d'
attaque NEM à distance en jeu, sauvegardons rapidement tout Maintenant, nous pouvons revenir
au NEM à distance en
gros, non ? Il est donc inactif. Nous devons maintenant le
configurer pour l'attaque. Nous allons donc créer un
nouvel état d'animation, et nous allons simplement le configurer
comme attaque de jeu afin qu'il reproduise
l'animation d'attaque lors de sa transition vers Et nous allons le mettre en place. Nous le ferons plus tard, mais
changeons le nom. Whoa, de cet État,
ne devrait pas être simplement un État. Ça devrait être une attaque. Nous avons maintenant un moyen de
passer de l'inactivité à l'attaque Il est possible de lire l'animation de l'
attaque, mais il n'y a pas encore de
code pour la faire passer,
et c'est bon Mais maintenant, revenons
simplement
au plan de l'ennemi à
distance et passons au
graphique des événements Maintenant,
pour qu'il attaque de la même
manière que
nous avons configuré l'ennemi au corps à corps, nous
allons
ajouter un capteur de points D'accord. Et nous allons appeler cela comme avant, la détection des
joueurs. Donc, une fois le joueur détecté, cela fonctionnera et pareil, rayon de
visée le
réduira à 500, disons. L'audience sera nulle. Nous ne voulons pas qu'il soit entendu. L'intervalle de détection est réglé sur
0,5, ce qui est fantastique. C'est raisonnable.
Je vais le réduire à 0,1 juste pour que l'intervalle
de détection soit meilleur. La plage de vision sera réglée à 179 degrés afin d'offrir
une grande portée visuelle. Ensuite, nous allons simplement
passer au graphique des événements. Nous allons le faire glisser non, nous n'avons pas besoin de le faire glisser. Nous procéderons à une
détection claire lorsqu' un pion C est détecté par
un joueur Donc, chaque fois qu'il voit le pion, tout ce que nous voulions
faire était d'imprimer une chaîne et de dire « Hé,
joueur détecté OK, ce sera un bon début pour voir si
cela fonctionne correctement. Appuyez donc sur Play. L'argile n'
est pas détectée. La couleur est en cours de détection. Nous savons donc qu'il fonctionne correctement dans
la plage denamy Nous n'en avons plus besoin. Maintenant que nous l'avons, nous
allons simplement
faire apparaître
ce projectile Maintenant que nous l'avons. Dans le même
ordre d'idées que précédemment,
nous allons passer au flip book en
papier, et ce que nous voulons
faire, c'est ajouter un collisionneur de boîtes de base, et nous voulons appeler
cela une apparition de projectiles D'accord. Donc, la raison en est que c'est là que le
projectile va apparaître, nous pouvons
donc le faire glisser Et mettons-le quelque
part ici, d'accord ? Sympa. Nous allons le mettre
quelque part ici. Maintenant que l'apparition de ce
projectile est bloquée, nous allons passer au graphique des événements Ainsi, chaque fois que
le joueur est détecté, il fait apparaître ce projectile Nous allons donc utiliser le
nœud de base pour le spawning. Nous l'appellerons donc spawn actor, accord, actor from task Et la classe sera celle
des projectiles ennemis. D'accord. C'est juste
la classe de base que nous allons utiliser. Ensuite, pour la transformation de la portée, nous obtiendrons la portée du
projectile Nous allons découvrir son emplacement sauvage. Oh, physique. Je ne
sais pas pourquoi j' ai choisi cette physique.
C'est ma faute. Ce que nous voulons, c'est
obtenir un environnement sauvage. Et puis c'est dans cet endroit sauvage qu'il se transformera. Faites-le glisser ici,
faites-le glisser ici. Alors maintenant, cela prend tout son sens. Donc, en gros, il va sentir et chaque fois qu'il est détecté, il va apparaître
dans ce projectile Compilons,
vérifions que cela fonctionne. Remarquez donc qu'il continue d'apparaître dans ces projectiles et remarquez que les projectiles apparaissent en se dirigeant
vers
l'endroit vers Nous avons donc maintenant cette génération
de projectiles prête à être lancée. Maintenant, dans la vidéo suivante, ajoutons l'animation
de lancement,
et nous définissons l'image dans laquelle le projectile va
réellement apparaître
81. 78 Lier l'animation de lancement avec Projectile Spawn: Maintenant que tout cela est configuré, nous avons organisé l'
apparition de nos ennemis dans ces projectiles Revenons maintenant rapidement au plan NEM
à distance. Et n'oubliez pas qu'à chaque
fois qu'il détecte le joueur, il apparaît
dans le projectile Mais au lieu qu'il apparaisse dans le projectile chaque fois qu'il
détecte le joueur, nous allons procéder à un ajustement
très basique Commençons donc par ajouter
un petit commentaire. J'ai donc ajouté le
commentaire de just, vous savez, detect player. Bien entendu, comme toujours, sur fond
noir, texte blanc, augmentez la taille
de ce commentaire et assurez-vous que les nœuds
sont bien positionnés. Nous savons donc qu'à l'intérieur, il ne fait que
détecter le joueur. Et maintenant, cela apparaît
dans le projectile. Donc, ce que nous allons faire c'est
rompre ce lien et le faire glisser ici pour séparer
ces deux actions, puis après avoir
détecté le joueur, créer une nouvelle
commande, puis appeler le projectile filé C'est bon. Alors permettez-moi d'
en parler rapidement ici. Et nous allons
créer une fonction personnalisée. OK. Maintenant, il s'agit plutôt
d'un événement personnalisé, et nous appellerons cela un incendie. Non, appelons ça
Shoot Fireball. OK. En fait, ce n'est pas une boule de feu
parce que ce n'est pas une boule de feu C'est une boule magique. Il suffit donc de l'
appeler Shoot Magic Ball. Shoot Magic Ball est donc le
nom de cette fonction. Et chaque fois que l'on appelle Shoot
Magic Ball, elle se déplace dans le
projectile, d'accord ? Maintenant, avec cette configuration
et à l'écart,
sortons du terrain pour détecter le joueur. Maintenant, nous voulons le configurer pour qu'il
fasse l'une des deux choses suivantes. Tout d'abord, s'il détecte
que le joueur est très proche, nous voulons que l'ennemi
à distance tente de s'enfuir. Et il ne devrait le faire qu'une seule fois. Cependant, si le joueur
est au champ de tir, il tentera
de tirer un
projectile sur le joueur Maintenant, fondamentalement,
commençons simplement par le configurer telle sorte qu'une fois que
le joueur est vu, il lance une boule de feu
sur le joueur Et pour
ce faire, nous allons
simplement créer une nouvelle variable. Et nous allons ajouter
cette variable. Ce sera un
booléen de base. Et nous allons l'appeler
I Footing Magic Ball. OK. Maintenant, avec cette configuration
variable,
nous allons la faire glisser vers l'extérieur
et définir
comme set is shooting magic ball. Et nous allons définir cela comme « oui ». Cela commence par un non, mais
dès que le joueur sera vu, nous le configurerons pour
tirer la balle magique. Maintenant que sa boule
magique est prête à être lancée, ouvrons le
plan d'animation de l'ennemi Maintenant, dans le plan d'
animation, pour passer de l'inactivité à l'attaque, il
suffit de
passer à la transition, puis de laisser l'
ennemi à distance, désolé, l'entraîner Incarnez l'ennemi à distance. Nous cherchons à
tirer une balle magique. Ensuite, nous voulons dire : « Hé, égal à y », alors vous pouvez
entrer cette transition. C'est très logique et cela
devrait très facilement avoir du sens. Revenons donc
au niveau principal. Alors remarquez, c'est maintenant
que le joueur entre immédiatement. Il commence à jouer cette animation montrant qu'il
lance la balle magique. Maintenant,
nous allons retourner dans la source de l'
animation et sélectionner l'animation d'
attaque. Nous voulons chercher un moment où la balle sera lancée par ici. Boum, et nous allons
créer une nouvelle notification. Nous allons créer une nouvelle notification
et nous allons appeler la notification lancer une boule magique C'est ainsi
que nous l'
appellerons Zoom arrière. Donc, à peu près, oh, désolée. à peu près à ce moment que nous lançons la boule magique. Maintenant que cette configuration est
intégrée à la source d'animation, nous allons revenir au plan, et nous allons chercher la balle magique
de réception Ensuite, ce que nous voulons
faire, c'est devenir un ennemi à distance. Nous voulons que l'événement du lancer que je l'ai appelé
Shoot Magic Ball ici. Nous appellerons donc cet événement
Shoot Magic Ball. Il est toujours préférable de
les nommer d'une manière logique. Nous y voilà donc. Donc, chaque
fois que cette notification est appelée, elle doit lancer la boule magique. Alors,
allons-y. Voyons voir. Alors, retournez dans le jeu. Désormais, chaque fois que l'ennemi
voit le joueur, il lance la boule magique. OK. Boum. C'est très bien. C'est donc un élément de base. Nous avons maintenant la configuration de l'animation pour lancer la boule magique, d'accord ? Passons donc à autre chose. Maintenant, corrigeons le changement de
direction, puis ajoutons
une
animation beaucoup plus animée, car à l'
heure actuelle , la boule magique est essentiellement celle qui
flotte devant le joueur. Faisons un ajustement
à son apparence.
82. 79 Ajustement de la direction du sprite en fonction de l'emplacement du joueur: Maintenant que
l'ennemi à distance est
capable de lancer une
balle magique sur le joueur,
et que cela est configuré et
effectué en fonction de l'animation,
assurons-nous que la première chose que fait à distance est
capable de lancer une
balle magique sur le joueur, et que cela est configuré et
effectué en fonction de l'animation, assurons-nous que la première chose que l'ennemi à
distance lorsque
le joueur est à portée
de détection est faire face au joueur Nous allons maintenant examiner le sprite des ennemis à
distance,
et vous remarquerez que
ces sprites ont été
dessinés en regardant vers la gauche
plutôt que dessinés en regardant vers la gauche
plutôt Nous allons donc simplement sélectionner le flip book
en papier, ajuster
sa rotation sur l'axe Z,
et le faire simplement pivoter de 180 degrés négatifs. C'est vraiment aussi simple que cela. Alors maintenant, il fait face correctement
au joueur. Cependant, notez que lorsque
vous passez de l'autre côté, il n'est plus orienté correctement. C'est normal et
simple à corriger. Maintenant, tout ça, je vais juste vous montrer le code une
fois qu'il aura été écrit. Remarquez maintenant qu'il fait face à
la bonne direction. Et laissez-moi vous expliquer rapidement les plans et
les réflexions. Maintenant, pour le faire rapidement, permettez-moi de commencer par
vous montrer comment fonctionne le flux de
code. Je l'ai donc configuré pour que l'ennemi à
distance soit débogué. Maintenant, remarquez qu'il passe
par la ligne supérieure. Lorsque je passe à ce côté gauche, cela passe par
la ligne inférieure. Ici, il s'
écoule par le haut du pot dans les hochements de tête. Ici, ça coule
par le bas. J'ai ajusté, bien sûr, les dégâts à B et 1
sur le projectile ennemi, mais c'est juste pour vous montrer Passons maintenant
aux nœuds eux-mêmes. La toute première chose
que nous faisons est de passer directement d'
Os Pon au
casting du héros. Après avoir choisi le
héros en tant que héros, nous obtenons son composant capsule. Essentiellement, presque
tous les composants feront l'affaire, mais la capsule est très utile. Ensuite, nous obtenons
l'emplacement sauvage, et en utilisant le clic gauche, nous divisons les épingles
de la structure afin d'obtenir la valeur
X séparément. Une fois que nous aurons terminé, nous aurons le
composant flipbook que nous pouvons obtenir ici depuis l'intérieur de l'ennemi
à distance, comme
n'importe quel composant
le fera d'habitude,
mais nous utiliserons simplement
le flipbook pour des raisons de
simplicité, puis nous le
retrouverons mais nous utiliserons simplement
le flipbook pour des raisons de
simplicité, puis nous le retrouverons Une fois cela fait, nous passons à autre chose et nous
voulons soustraire. Maintenant, nous voulons soustraire la position sauvage de la capsule du
classeur en papier, cela nous
donnera une mesure de la distance entre les deux Ensuite, nous vérifierons
la différence de
distance en utilisant le nœud
supérieur à, et est-elle supérieure
ou égale à zéro ? C'est la logique qui le sous-tend. Ensuite, nous avons ouvert une succursale. Maintenant, la branche est simple. La distance est
supérieure ou égale à
zéro, ce qui est vrai. Cela signifie que le
joueur est sur la droite. Nous allons donc configurer la
rotation sauvage à moins 180 en appelant self, en récupérant le flip book en papier
et en réglant la rotation sauvage. Il s'agit du nœud que
vous allez utiliser. Maintenant, après l'
avoir réglé sur moins 180, il sera correctement orienté vers le
joueur. Cependant, si c'est faux, cela signifie
que le joueur
est derrière l'ennemi Nous allons
donc mettre la nouvelle
rotation à zéro. J'espère que la logique vous semble logique et qu'
ensuite, nous reconnecterons tout
à sa balle magique. Voyons cela à
nouveau en action maintenant que vous
avez vu les nœuds. Donc je suis parce que le joueur
est du bon côté. Le sprite est orienté vers la droite. Le joueur est sur le côté gauche, le sprite est
constamment orienté dans
la bonne direction, ce qui est très bien Maintenant que c'est fait, passons à autre chose et apportons quelques ajustements supplémentaires
à notre IA NEM à distance
83. 80 Ajouter du sprite à la boule magique: C'est bon. Alors maintenant, l'ennemi lance
une véritable boule magique. Nous allons corriger la direction
dans la vidéo suivante, mais vous pouvez voir l'ennemi
lancer une balle et
laissez-moi vous expliquer les étapes très
simples pour le configurer. Pour commencer, il vous suffit d'entrer dans le projectile ennemi et supprimer la sphère initiale Une fois que c'est fait, ajoutez un livre
à feuillet en papier, ce que vous avez
déjà fait plusieurs fois. Je l'ai également configuré pour
que ses ombres soient projetées, ce que je trouve cool,
et j'ai également ajouté ombres à l'
ennemi à distance en plus de cela Ensuite, après avoir ajouté
le flipbook en papier, vous remarquerez qu'à l'intérieur du dossier
de
l'ennemi à distance se trouve un fichier
appelé Maintenant, à l'intérieur du projectile
se trouvent un, deux, trois ,
quatre, cinq, six petits sprites
. Pour extraire les sprites, vous leur appliquez des réglages de
texture en deux D sur du papier, puis
vous passez à extraire
les sprites,
et le vrai essaiera toujours de les
extraire et le vrai essaiera toujours Mais si vous voulez le
configurer sur une grille et une largeur de cellule,
au lieu de 288, vous obtenez juste 288 et
vous le divisez par six, ce qui devrait vous donner
une largeur de cellule de 48. Et remarquez maintenant que vous pouvez
extraire proprement tous
ces six sprites Après les avoir extraites,
il suffit de les récupérer et de les transformer en flip book Et ça continue, non. C'était le flipbook, le livre, et appelez le
flipbook la boule magique Une fois que c'est fait, vous l'ajoutez au
flipbook papier et Wala,
vous avez fondamentalement fini d' ajouter le fib, bien sûr, d'augmenter le, augmenter l'échelle
à la bonne taille Maintenant que cette
boule de feu est configurée, nous allons maintenant
entrer dans le code permettant organiser sa direction de manière à ce qu'
elle fasse face à la
direction, qu'elle se déplace C'est ce que nous allons faire dans la vidéo suivante. Maintenant, au cas où vous rencontreriez des difficultés pour effectuer cette configuration simple, peut-être que
le fait de revenir à certaines des vidéos précédentes vous
aidera. Il s'agit en quelque sorte d'une
vérification des connaissances, car il s'agit d'
une action que vous auriez déjà dû effectuer environ cinq ou
six fois, et elle devrait être dans votre sang. Cependant, si vous avez parfaitement
compris comment procéder, cela signifie
que vous apprenez
efficacement grâce au didacticiel, et j'en suis très heureuse.
Allons de l'avant.
84. 81 Direction changeante de la balle magique: Maintenant que le sprite
a été ajouté à la boule magique, ajustons simplement sa direction Mais avant cela,
nous allons faire un
nettoyage de base rapide du code, d'accord ? Alors maintenant, en ce qui concerne le code du projectile
ennemi, il y a beaucoup de choses à faire Organisons-le rapidement. Tout ce code est donc
pour Actor Begin Overlap. C'est le code qui
gère les dégâts. Nous ajouterons simplement un commentaire rapide en appuyant sur C. J'aimerais
régler la taille du téléphone sur 50. Et puis, comme toujours, texte blanc sur fond
noir. Maintenant, nous allons simplement
l'ajouter ici, agrandir pour qu'
il y ait suffisamment d'espace. Excellente. Maintenant,
je vais déposer ces nœuds ici, juste
à l'intérieur du commentaire. Ce qui se
passe est donc assez clair. Cela commence donc à
superposer la sphère, à
lancer sur le héros
et à infliger des dégâts, et augmentons ces
dégâts de un
à 30, car il ne s'agissait que d'un seul
pour les tests de base. Et en arrêtant le mouvement du projectile, il se détruit lui-même.
C'est une bonne chose. Il se détruit tout seul.
C'est une bonne chose. Passons maintenant au nœud
de début de jeu. Écoutons rapidement ce commentaire. Dites ceci Oh, mon
Dieu, tout d'abord, définissez le commentaire
comme un simple commentaire afin qu'il ne déplace pas
nos nœuds. Il a donc
tout réorganisé dès le début du jeu. Jusqu'au mouvement du
projectile. Laissez-moi accélérer les choses. C'est bon. Ces nœuds sont donc désormais tous
organisés en un seul endroit. Aucune modification supplémentaire
n'a été apportée. Donc, ce que nous allons
faire, c'est juste après avoir défini la vélocité
dans l'espace local, nous allons la configurer telle sorte qu'elle pointe dans
la direction du personnage du
joueur une fois qu'elle aura
fini de la régler. Et voilà à quoi
ça ressemble. Il y a deux choses
que nous voulons. Tout d'abord, nous voulons savoir où
se trouve l'acteur, d'accord ? C'est notre acteur actuel. Et nous voulons simplement
que son emplacement soit disponible pour que nous puissions nous y référer. Après avoir trouvé la position de
l'
acteur, la prochaine chose que nous voulons faire
est de savoir, oh, désolée. Nous voulons connaître sa vitesse
actuelle. Ces deux éléments seront
importants pour choisir la direction vers laquelle le
projectile pointe Maintenant, il y a un nouveau nœud que
nous allons référencer, et ce nœud s'appelle
find look at rotation. OK ? C'est le nœud que nous voulons. C'est ce qu'on appelle le find
Look at rotation. Et ce que nous voulons, c'est qu'il indique essentiellement
une valeur
de rotation à examiner par notre projectile Et pour que cela fonctionne, il faut un point de départ
et un emplacement cible. Maintenant, le lieu de départ sera l'emplacement actuel de l'
acteur. Cependant, la cible
va être différente. Ce que nous allons
faire, c'est ajouter et additionner la vélocité actuelle, et après avoir additionné, nous allons ajouter la position de
l'acteur. Et la raison en est que la vitesse
indiquera la direction dans laquelle le
projectile se déplace Et avec ceux-ci, nous en
tirons la valeur et nous la
fixons comme objectif. La cible se trouvera
à environ une image du point de départ de l'
acteur. Maintenant, avec ça, nous
allons trouver la rotation, et nous allons voir,
acheter un flipbook en papier, d'accord ? Donc, oh, non, nous n'en avons
même pas besoin. Ce dont nous avons besoin, c'est
juste du flipbook, puis nous allons
définir la rotation OK. Je veux donc
définir une rotation sauvage, et ce sera le
nœud auquel nous nous connecterons. Ensuite, la
rotation Look sera définie comme nouvelle rotation. Cependant, en raison du fonctionnement du code du moteur
Unreal, si nous l'exécutons tout
seul en ce moment, il ne
fonctionnera pas efficacement Et c'est la raison pour laquelle,
avec tout tel quel, si nous passons au niveau
développeur et que nous appuyons sur Play, toutes nos excuses Arrêtons d'abord cette
simulation très rapidement. D'accord, parce qu'il
essayait de nous le montrer, mais nous ne voulions pas le voir. Donc, si nous appuyons sur Play, remarquons qu'il n'y a aucun changement. n'y a aucun changement dans la
façon dont il gère la direction, sauf, bien sûr, il n'
y a aucun changement. La raison en est qu'en raison de la
rapidité avec laquelle le calcul est effectué, nous avons besoin que cela se produise
après au moins une image. Donc, pour que cela se produise
après au moins une image, nous allons
faire juste après avoir réglé la vélocité
dans l'espace local, d'accord ? Juste après ce nœud de
vélocité défini dans l'espace local, nous allons
définir un délai, un délai, mais il existe différents
types de délai, et le délai que nous voulons est celui-ci appelé delay
until next Tech. Nous allons donc simplement
attendre la prochaine technologie. Ensuite, une fois cela fait, il passera par le reste des nœuds pour définir la rotation
du flipbook en papier Essayons-le maintenant. OK.
Maintenant, cela fonctionne correctement. Notez que la direction
est correctement calculée. Maintenant, vous pouvez demander, mais attendez. Ça a l'air un peu
flippy. Pourquoi est-ce le cas ? Par exemple, verticalement, il semble que la direction soit bonne,
mais tout va mal. C'est en fait très simple. Nous retournons simplement dans
le projectile ennemi. Nous retournons dans la fenêtre d'affichage et remarquons qu'il s'agit
du flipbook papier Donc, ce que nous allons faire, c'est obtenir le
flipbook papier lui-même, et nous voulons inverser la tendance Maintenant que nous sommes revenus, vous remarquerez que le projectile
est orienté vers la gauche Donc, comme il est
orienté vers la gauche, nous allons faire
un petit ajustement. Donc, au lieu d'ajouter la position de l'acteur
et la vélocité du get, nous allons le changer, et nous allons le
régler pour qu'il soit soustrait. Nous voulons donc soustraire
la position de l'acteur. Nous voulons plutôt
soustraire la vitesse de
l'emplacement de l'acteur et la définir
comme cible Maintenant, avec cette configuration, revenons en arrière et voyons si
cela fonctionne comme prévu. Alors, appuyons sur Play, oui, maintenant cela fonctionne comme prévu. Remarquez que la petite boule magique va réellement dans la
bonne direction. C'est plutôt cool. Et
maintenant que nous l'avons, remarquez qu'il se
déplace en fait essentiellement dans
la bonne direction. OK. Sympa. Regarde ça. OK, maintenant nous avons notre boule de feu
magique en mouvement. Dans la bonne direction. Regarde ça. OK. C'est fait. Avançons maintenant et apportons quelques ajustements supplémentaires à l'IA de l'ennemi à distance
85. 82 Mettre en place la combinaison d'animation de coups et de morts: Donc, pour vraiment compléter et
finaliser cet ennemi à distance, ajustons-le de telle sorte que lorsque je touche l'EM à distance ou que je touche l'un
des joueurs, il entre dans une bonne base en matière d'animation
statère, puis Et puis remarquez
que ces projectiles
apparaissent dans le monde,
mais ils continuent en quelque sorte à
l'
infini à moins qu'ils ne
touchent le infini à moins qu'ils ne
touchent Nous allons donc mettre un chronomètre pour les empêcher de
rester en vie pour toujours. Faisons ces deux
choses dès maintenant. abord, nous allons commencer par
le projectile ennemi et configurer de telle sorte qu'
en cas d'échec du casting, il y ait un délai ,
et ce délai durera, disons, 6 secondes, puis il
détruira l'acteur Le projectile
ne peut donc rester à l'écran 6 secondes
environ avant être complètement
retiré du monde D'accord ? C'est fait. Passons maintenant directement
à l'ennemi à distance, ouvrons,
retournons ouvrons,
retournons dans le giron
de l'ennemi à distance, revenons à l'art, art, et vous remarquerez qu' un sprite appelé hart
double-clique dessus pour indiquer qu'il y a une
petite animation en forme de cœur ici lorsqu'il
subit des dégâts.
C'est cool. Ensuite, il y en a une autre qui s'appelle la mort. Maintenant, remarquez que la mort et l'art ont
beaucoup de similitudes. Nous voulons donc configurer le code de la même
manière que
nous le faisions auparavant. Il y a donc une animation de dégâts, mais si la santé tombe en
dessous de zéro ou égale à zéro, l'animation de mort est terminée. Commençons par quelques opérations d'extraction
de sprites de base. J'ai donc sélectionné Hart. Et tout d'abord,
cœur et mort, permettez-moi d'appliquer rapidement du papier
aux paramètres de texture, et de tout enregistrer rapidement. Ensuite,
commencez par l'art. Et, désolé, cliquez avec le bouton droit sur Sprite
Actions, extrayez Sprite. Il y a trois sprites. Configurons-le sous forme de grille. Nous allons donc faire quelques calculs
de base. OK, donc je devrais vraiment
épingler la calculatrice ici. Nous obtiendrons donc 375/3, ce qui signifie que la largeur des
cellules est de 125, et nous extrayons ces sprites Il y a donc le cœur zéro, le t un et le cœur
deux. C'est une bonne chose. Ensuite, nous allons sélectionner les animations de
mort, d'
accord, les
actions du sprite de la mort, extraire le sprite Configurons-le sur la grille. Et maintenant c'est 875 ou une, deux, trois ou cinq,
six, sept images D'accord. Donc, si nous sortons
notre calculatrice et que nous obtenons 875 et que nous le divisons par sept, nous obtenons 125 à nouveau. Donc 125, nous coupons correctement
ces sprites
et les extrayons. C'est cool. Maintenant, ce que nous allons faire sélectionner tous les sprites de
la mort, puis nous allons créer
un flipbook et nous l'
appellerons ,
appelons-le simplement mort, d'accord Disons que c'est la mort à distance d'
EM Underscore. D'accord. Maintenant, avec cette configuration, remarquez
qu'il s'agit de
l'animation de la mort. Ce que nous
allons faire maintenant, c'est d' abord ralentir cela à une
dizaine d'images par seconde. Maintenant, ce que nous allons
faire , c'est ajouter
une autre image clé. Nous allons le traîner dedans. Voyons donc
voir que c'est le premier cadre. Le cadre deux est vide,
puis le cadre OK. Donc ça en est un et ça en est deux. Donc, à l'intérieur de ce cadre
vide, nous
allons choisir un nouveau sprite, et nous allons en chercher un,
voyons voir, le blesser, le sprite C'est celui-ci, qui a flash
blanc, vous savez. Alors maintenant, c'est comme ça que
ça fait des dégâts. Ensuite, nous
ajouterons une autre image après et dans cette image nous ajouterons
une autre animation. Choisissons un nouveau sprite. Appelons donc Pick Heart Zero. Nous utiliserons Heart Zero pour cela. Donc, remarquez qu'il clignote rapidement chaque fois qu'il
subit des dégâts, ce qui est cool. Supprimons maintenant le nombre d'images
par seconde au lieu de dix. Réduisons-les à neuf. Alors, diffusons l'animation
. Remarquez cela. Il émet donc ce petit flash
lorsqu'il subit des dégâts, et c'est l'animation. OK, arrêtons-nous là. Avec cette configuration, nous avons maintenant une
animation de mort ennemie à distance prête à fonctionner. Nous allons donc simplement revenir à l'ennemi
à distance, passer à l'animation Ouvrons la source d'animation de l'
ennemi à distance. Ajoutez une nouvelle séquence d'animation. Nous allons le renommer « mort ». D'accord. Et dans Death of Death, nous utiliserons la
mort ennemie à distance comme animation Nous allons donc configurer cela
comme animation. Maintenant, dans la leçon suivante, ajoutons les bonnes notifications
et les bons événements pour que
cette présentation soit correcte.
86. Un ennemi de 83 rangs frappe s'il subit des dégâts: D'accord. Alors revenons à la sauce de l'
animation, d'accord ? Notez qu'il
y a des images où l'ennemi est légèrement touché. Nous ne voulons pas entrer dans la
troisième image de l'animation. Donc, juste à la fin de
la deuxième animation, nous ajouterons une notification. Nous appellerons cela une nouvelle notification, et nous allons l'appeler un
stateur ennemi à distance C'est comme ça que nous
allons l'appeler. C'est ce qu'on appelle un headstand
ennemi à distance. D'accord ? Juste des têtes
ennemies à distance se tiennent debout C'est comme ça que
ça va s'appeler. D'accord. Maintenant, une fois que nous
avons cette configuration, nous passons au plan NEM à
distance et
remarquons que, sous notifications, l'adster NM à
distance se trouve ici remarquons que, sous notifications, l'adster NM à
distance se trouve Nous allons donc
accéder à la fonction ici. Nous allons donc retourner dans
l'ennemi à distance. Au lieu de cela, nous allons simplement copier
cette zone de commentaire spécifique , d'
accord, et la coller et
nous allons appeler ça. Non, oublie le headstand. C'est juste pour
des raisons de rapidité, appelons ça le
hit-stater, c'est le commentaire Mais ce que nous
voulons vraiment, c'est
créer un
événement personnalisé. Oui, d'accord ? Et cet
événement personnalisé s'
appellera Range NEM hits stater C'est vraiment comme ça que
nous voulons l'appeler. Préparez simplement cet événement
personnalisé simple. Maintenant que l'événement est prêt, créons une nouvelle variable. Et nous appellerons cette variable dans headstar. C'est un booléen de base et elle s'appelle Maintenant, maintenant, nous allons
rapidement compiler ceci. Au début du jeu, il sera vide. Il s'agit de sa valeur par défaut. Maintenant, ce que nous allons faire, c'est maintenant que nous avons
cette variable headstand Lorsque cette fonction de maintien à distance de
la tête de l'ennemi est
activée, nous voulons simplement qu'elle vérifie rapidement l'état de santé de
l'ennemi Retournons en arrière. Et maintenant,
nous allons dire qu'en tant qu'ennemi à distance, nous voulons qu'il
élimine l'ennemi à distance selon sa fonction de
statère Nous l'avons fait à
plusieurs reprises, cela devrait
donc être logique. Maintenant que nous l'avons, nous savons qu'à chaque fois que
cette animation sera
diffusée, elle fera l'objet
d'un rapide coup d'œil Et ce que nous voulons, c'est que s' il s'
avère que
le joueur ennemi est mort, animation complète de la
mort
soit Cependant, si le
hit finit par être, vous savez, non, vous êtes
juste en position debout, vous n'êtes pas encore
mort, il revient en arrière À son animation inactive pendant
une courte période. Puis il revient à son animation d'attaque après avoir
détecté le joueur. C'est la logique
que nous préconisons. Alors revenez ici. Sauvons tout rapidement et
retournons dans l'ennemi à distance. Ici, nous voulons
simplement commencer par vérifier
la valeur sanitaire. La première chose que
nous allons faire, c'est obtenir
la santé de Dami, la traîner ici et nous
voulons obtenir la santé de Dami, et nous allons
créer une branche de base Et ce que nous voulons faire,
c'est vérifier si l'état de santé de Dami
est meilleur. D'accord. En d'autres termes, est-il
supérieur à zéro ? Si la santé de dammi
est supérieure à zéro, cela sera vrai D'accord. Donc, si la santé de dammi
est supérieure à zéro,
nous la réglons sur true, puis nous
exécuterons simplement certaines fonctions ici Et pour commencer,
nous allons dire : OK, écoutez, je suppose que la santé est
inférieure à zéro Si elle est inférieure à zéro, ce que nous voulons faire,
c'est faire traîner
tout cela , puis nous voulons dire, Hé, non, plutôt,
laissez-moi préciser que cette logique
a du sens. D'accord. Donc, s'il est inférieur à
zéro, c'est ce que nous voulons vraiment. D'accord ? Non, s'il est
inférieur à zéro, en d'autres termes, c'est faux. Nous voulons qu'il y ait un
délai d'environ 1 seconde, juste un délai d'une seconde, puis
nous détruisons immédiatement l'acteur. D'accord ? Il s'agit d'une simple vérification. C'est une vérification très simple. Et cela signifie
que l'
ennemi à distance est maintenant mort. Donc, si nous revenons au graphique d'animation de
l'ennemi à distance, remarquons qu'il n'y a que du
inactif et qu'il y a de l'attaque Mais maintenant, créons
un nouvel état d'animation, que
nous appelons mort. D'accord. Ainsi, de l'attaque à la mort, elle peut passer, et de l'oisiveté à la mort,
elle peut passer. Et la façon dont cela peut faire
la transition, c'est allons-y. Nous allons le faire
vérifier en tant qu'ennemi à distance. Nous voulons nous faire frapper Stern, non ? Et si in hits stater est égal à, oui, il
est dans son statère Il peut faire une transition. D'accord. Donc, tant que l'
ennemi est dans sa position, il peut faire la transition.
C'est essentiellement ça. Ensuite, nous prenons un moyen
de simplement copier ceci. Ainsi, chaque fois que l'ennemi
se tient debout, il commence à jouer
l'animation de la mort Donc, copions-le et mettons-le
ici. Cela permet d'économiser cela. Nous double-cliquons sur la mort
et nous voulons jouer l'animation de la mort depuis l'intérieur du
nœud de mort ici, d'accord, ce petit état. Il peut donc passer de l'oisiveté à la mort et
de l'attaque à la mort. Cependant, il ne
peut redevenir inactif que
s'il n'est plus en position debout, puis il peut revenir à
son animation inactive, d'accord ? C'est essentiellement tout pour le moment. Maintenant, voici à quoi
cela ressemble. Oh, il n'est pas
encore redevenu inactif. Nous y reviendrons ensuite. Maintenant, remarquez qu'à l'
heure actuelle, dans l'ennemi
à distance, il n'y a aucun moyen de le faire rentrer. Il y a actuellement aucun moyen de lui
donner la propriété de
statère des coups Changeons cela. Donc, la façon dont nous
allons procéder est de créer rapidement
cette boîte de commentaires et de la mettre ici. Entrez l'animation tt
en cas de dommage. Ce qui est assez
facile à comprendre. Entrez donc dans l'animation du headstand dès que
vous subissez des dégâts. Nous commençons donc par connaître
l'événement, les dégâts éventuels. OK, nous allons détecter les
éventuels dégâts. Ensuite, nous allons simplement le placer dans bandeau et le configurer telle sorte qu'une fois qu'
il est en position debout, il s'installe correctement Maintenant, avec cela, nous revenons au niveau des
développeurs. Il subit donc des dégâts. Il joue ça maintenant, mais
il le joue indéfiniment. Donc, pour l'empêcher de
jouer, nous y retournons. Et cette fois, lorsqu'il effectue la double vérification de base
et découvre qu'il l'est, en fait, son état de santé est
toujours supérieur à zéro. Ce qu'il va faire, c'est
que nous voulons le mettre en position debout, donc nous allons le mettre en place
et nous dirons non,
il n' est plus en position debout. Voilà donc à quoi cela
ressemble. Remarquez ça, non ? Donc, si tu arrêtes
de combiner l'ennemi, il revient immédiatement, C'est essentiellement
ce que nous voulons vraiment. Alors, entrons ici. Il lance donc un projectile.
Maintenant, je suis en train de le toucher. D'accord. Il est donc en train de subir
des dégâts, mais remarquez qu'il n'est pas en train de mourir et qu'il y a un peu de retard. Au contraire, le délai avant qu'il n' attaque à nouveau est
vraiment trop court. Suggérons-le donc dans le prochain
87. 84 Décalage de l'attaque après la prise d'un coup: C'est bon. Maintenant, nous avons notre ennemi à belle portée
que nous pouvons attaquer, et lorsque nous attaquons, il entre un peu dans son statère et il ne peut pas nous attaquer en retour C'est plutôt cool. Faisons un ajustement simple pour
qu'une fois touché, il dépense beaucoup plus
avant de passer animation d'attaque proprement dite afin d'avoir
plus de poids. Pour ce faire,
il suffit d'ouvrir une seule chose pour commencer, est d'aller dans
le dossier des ennemis à
distance et de nous assurer que le plan de l'
ennemi à distance Et une fois qu'il sera ouvert, nous pouvons
maintenant avancer et retarder
un peu plus le démarrage Maintenant, la prochaine chose que
nous allons faire, que vous remarquerez que
lorsque nous infligons des dégâts au mannequin d'attaque
pendant qu'il subit les dégâts, remarquerez que la barre de santé ne
fonctionne pas correctement se produit
parce
qu' une fois que nous avons appelé pour signaler un dommage, il cesse d'être appelé
dans le plan parent Nous allons donc devoir
copier l'ensemble du code de l' événement, tout dommage causé par le parent pour nous assurer qu'il
fonctionne correctement ici. Maintenant, le moyen le plus rapide de le faire est d'ouvrir
votre plan factice d'attaque et de
vous votre plan factice d'attaque et rendre compte des
dégâts éventuels, et de remarquer que nous pouvons
entrer et maintenant faire une copie de tout cela
, puis le mettre dans l'enfant Maintenant, laissez-moi vous montrer à
quoi cela ressemble, puis je vais
vous expliquer le code. Donc, boum, il y a
un peu de tête, puis c'est mort. tour est joué. Maintenant, voici à
quoi cela ressemble fondamentalement dans le code. En fait, revenons un peu
en arrière, d'accord ? Donc pour le moment, l'ennemi est capable de me lancer des projectiles,
d' Il est capable de lancer des projectiles. Oh, claquez. Non Non Prise de fenêtre. Cependant, une fois que je l'ai frappée, maintenant, je remarque que c'est pendant
environ 2 secondes, d'accord ? C'est la vraie star à succès. Et pendant 2 secondes, je ne
peux rien faire. Maintenant, bien sûr,
c'est exagéré. Dans un vrai jeu, vous voulez que ce
temps soit un peu plus court, mais j'exagère
juste pour enseigner, d'accord ? Ainsi, l'ennemi, plutôt que le personnage du
joueur, peut frapper un ennemi uniquement
pour l'ennemi à distance, et pendant un certain temps, il ne peut
absolument rien faire
et puis il est mort. C'est aussi simple que cela, d'accord.
C'est aussi simple que cela. Maintenant, laissez-moi entrer dans le code, et nous allons
y aller étape par étape. Nous allons donc commencer par
l'ennemi à distance de base. OK. Donc ici, maintenant, d' accord, il ne vous reste plus
qu'à le configurer pour le mettre en position debout Mais allons-y étape par étape. Donc, une fois que nous avons qualifié l'événement d'événement de
dommage
ici, il ne
fonctionnera plus depuis l'événement parent. Nous devons donc réajouter
tout ce code. Commençons donc.
Il y a une séquence. Signalons tout ici pendant un moment. Et suivez cette ligne. Nous
obtenons cette satanée santé Bien sûr, cela
vient de l'intérieur du personnage. OK. Et une fois que nous aurons obtenu
la santé de dammi,
nous soustrairons les dégâts de tous les dégâts infligés
à la santé de dammi et
la
définirons tous les dégâts infligés
à la santé de comme la nouvelle santé Une fois que c'est fait, nous voulons passer à la barre de santé de Dammi Maintenant, la façon dont nous le faisons
est d'appeler un widget. Le widget est ici. Nous l'avons déjà ajouté. C'est la barre de santé. Nous obtenons un widget et nous passons
à Dammi Health Bar. Ensuite, en tant que barre de progression de Dammi
Health, nous allons obtenir Dammi Health, diviser par 100 et le définir comme le pourcentage défini,
c'est fait Tout ce que
cela fait, c'est que lorsque
nous touchons le mannequin, plutôt que lorsque nous touchons cet ennemi, il
apparaisse réellement
dans sa barre de santé OK, passons à autre chose. Maintenant que nous l'avons, OK. Revenons au bilan de santé
du chef ennemi
à distance. OK ? C'est là
que nous vérifions si l'état si l'état de santé est
inférieur ou supérieur à zéro. OK ? C'est la tête de l'
ennemi à distance. Ici,
ce que nous voulons faire, c'est il y ait
un délai d'une seconde, puis cela détruirait l'acteur. C'est bon pour le moment, d'accord. Cependant, nous voulons le configurer pour qu'il
soit en position fermée. Est-ce que c'est tirer une
balle magique ? Non, ça ne l'est pas. Ajout d'un
délai rapide de 2 secondes. Ensuite, nous voulons créer une nouvelle variable
appelée Cannot Shoot. Maintenant, quel est le but
du tournage de Carnot ? Nous allons aborder la question
Impossible de tirer plus tard, mais simplement créer cette variable. Et pour le moment, l'option « Impossible de
tirer » est désactivée. Cela signifie qu'après un délai de
deux secondes, appareil
ne peut pas tirer, ce qui signifie qu'il peut tirer, d'accord ? Revenons maintenant à l'animation de l'ennemi à distance.
C'est une animation sur la mort. À la fin de son animation de
mort, nous l'avons configurée pour qu'elle se détruise elle-même. Cela consiste à utiliser un Notify. OK ? Désormais, dans le plan d'animation à
distance, il est simplement configuré de telle sorte que s'il tire sur la
boule magique, il passe à Si ce n'est pas le cas, il passe au ralenti. Je n'aurai pas cette configuration, d'accord ? Et puis, de l'animation Attack
to the Death, c'
est-à-dire, est-ce que c'est en headstand ? Oui S'il n'est plus debout, il peut revenir à l'attaque, ou s'il n'est plus debout, il peut redevenir inactif
ou revenir à l'identifiant, d'accord ? C'est une logique de base. Tu l'as
déjà fait. Passons maintenant à la destruction du soi. Cela ne fait que créer
une fonction dans l'ennemi à distance
appelée destroy self Maintenant, à portée d'ennemi, nous avons
essentiellement défini Destroy Self comme acteur de destruction de base. C'est tout ce qu'il fait. Il détruit l'acteur si son enfer descend en dessous de
zéro ou atteint zéro. OK. C'est tout ce qu'il fait. Maintenant, avec cette configuration, quel que soit
le dommage, le casque est prêt
à être allumé Il ne tire plus la boule magique et
il ne peut pas tirer. Voyons maintenant à quoi cela ressemble
réellement en
termes de code, d'accord ? Revenons maintenant à l'endroit où
le joueur a été détecté. Il y a un grand
changement cette fois-ci. OK, nous avons ajouté : est-ce que c' est dans le headstand S'il est en position debout,
il ne devrait rien faire. Si Headstand est vrai, ne faites rien. S'il n'y a pas de tête, il devrait faire le
reste de ce code Bien sûr, il y a
toujours le casting du héros, ce que
nous avons fait, le changement de
direction. Mais après le changement de direction
et le réglage de la rotation sauvage, nous avons ajouté une nouvelle branche et la branche est assez
simple, elle ne peut pas tirer. S'il ne peut pas tirer,
il ne fait rien. S'il peut tirer, il lance la boule magique. Maintenant, regardons et voyons à quoi cela ressemble réellement, d'accord ? Je vais le régler sur dbug, je joue. Donc en ce moment, il peut
tirer, donc il tire. Cependant, d'accord,
laissez-moi recommencer. Donc, une fois que je l'ai touché, il se tient debout
et ne peut plus tirer pendant un moment. Et vous pouvez l'ajuster
à votre guise. Maintenant, si vous avez suivi correctement
les didacticiels, tout cela
est parfaitement logique. Maintenant, vous avez un ennemi à distance qui
fonctionne, et passons rapidement ennemi
masculin pour le
faire entrer dans le monde Oh, en fait, j'en
ai déjà un ici. C'est un ennemi que
j'ai placé ici. J'ai donc un ennemi mâle qui vient
m'attaquer, mais, bien sûr, je peux le toucher et le tuer, pour qu'il meure, puis nous
avons un ennemi à distance Viens Moria. Moi et ça se lie. Nous avons donc maintenant un ennemi à distance et un ennemi masculin
prêts à être utilisés, et vous savez comment utiliser le papier z d pour
configurer ces deux ennemis Il y a donc encore une chose que nous allons faire
pour l'ennemi à distance, puis nous irons de l'avant Et c'est ainsi que nous
allons affronter l'ennemi à distance. Nous allons accéder au widget de sa barre de santé et le configurer pour
qu'il ne soit pas visible. Et si nous l'avons fait,
c'est parce que nous
voulons simplement améliorer l'
apparence de notre niveau. OK ? OK. que leurs
barres de santé ne sont plus visibles dans le jeu, c'est cool. Configurons-le également pour
l'ennemi mêlé. Je veux dire, avec le widget. Nous n'avons pas besoin que cette barre
de santé soit visible. C'est une bonne chose. Maintenant que c'est fait.
OK. Développez un niveau. Voi a fini. Maintenant que
nous en avons terminé, apportons un autre ajustement
à l'ennemi à distance Ce qui va être le cas,
nous allons le configurer. Il s'agit en fait de
deux ajustements. La première est que
nous allons apporter un léger ajustement
à sa vélocité. Et à l'heure actuelle, il semble se
heurter à
l'ennemi à distance, ce que nous
ne voulons pas dire Nous voulons donc que l'
ennemi de mêlée soit capable de se déplacer et de ne pas interagir avec l'ennemi à distance, car en
ce moment il s'y attache, ce
qui n'est pas ce que nous voulons Ensuite, nous voulons le configurer de telle sorte que l'ennemi à distance, une fois que vous atteignez une certaine distance, cesse de vous lancer des
projectiles Nous voulons qu'il ne
lance que des projectiles dans une plage spécifiée OK ? C'est ce que nous allons faire. Ensuite,
88. 85 Comment éviter que vos ennemis ne se coincent les uns les autres: Dans cette vidéo, commençons par le simple problème
de base. Nous avons un ennemi de mêlée. OK. Alors, allez,
suivez-moi. Suivez-moi. Allez, allez,
ici. OK. Mais une fois qu'il atteint l'
ennemi à distance, il reste bloqué Alors résolvons ce
problème, d'accord ? Maintenant, la façon dont
nous allons résoudre ce problème est passer au plan Me NEM OK. Et nous allons sélectionner le composant de la capsule, car c'est là
que
se produisent la plupart des collisions, d'accord ? Nous allons maintenant entrer dans les détails, et je veux
rechercher sa collision. Maintenant, pour le moment, il est configuré
pour bloquer toute dynamique, et changeons cela en pasteur. Maintenant qu'il est dans un état personnalisé, notez que nous pouvons modifier ses réponses aux collisions
dans tous les domaines. Nous allons donc sélectionner un
pion et le configurer pour
qu'il soit ignoré, afin qu'il puisse être configuré pour ignorer, superposer ou bloquer, mais nous allons
simplement le configurer pour ignorer complètement les
pions en général, Une fois cela fait,
nous compilons rapidement. Maintenant,
testons-le rapidement et voyons s'il fera réellement
le travail. OK ? OK. Et voilà. Donc, il ignore
complètement maintenant, Oh, snap, je dois courir C'est bon, je suis mort. Mais vous pouvez voir que maintenant
il ignore complètement l'ennemi à distance et qu'il
ne restera plus coincé dessus Oui, c'est en gros la
solution. Passons à autre chose.
89. 86 Création d'une gamme d'attaque pour l'ennemi ciblé: OK. Permettez-moi de vous
montrer rapidement le résultat final car l'ennemi attaquait
constamment, mais maintenant il attaque le joueur. Cependant, une fois que je sors
d'une certaine portée, il cesse d'attaquer le joueur. Quand je reviens à portée,
il commence à attaquer. Et une fois que je suis sorti
de cette zone, il arrête immédiatement d'attaquer le joueur. C'est ce que nous voulons. Maintenant, laissez-moi vous expliquer
le code étape par étape. Passons donc à
l'ennemi à distance. La toute première chose
que nous allons
faire est d'ajouter une grande sphère. Ce type de sphère vous
oblige donc à entrer, bien
sûr, dans la capsule
et à ajouter une sphère. J'ai réglé ma sphère à
environ 20 unités de rayon. Vous pouvez le configurer comme le
rayon de votre choix. Et j'appelle ce champ d'attaque par
collision de sphères. Une fois la portée d'attaque configurée, il suffit d'ajouter simplement deux événements
différents, d'accord ? Le premier événement est le
chevauchement de début et le
chevauchement de fin est le second. Une fois que vous avez créé ces
deux événements, passons au graphique des événements. Maintenant, la première chose que
nous voulons faire, c'est juste avant que la détection du
joueur commence à vérifier s'il a une longueur d'avance, ne
commence à vérifier s'il a une longueur d'avance,
nous voulons qu'il effectue une simple
vérification sous une nouvelle variable, une valeur booléenne,
appelée portée d'attaque En gros, cela indique si le joueur est
à portée d'attaque ou non. Donc, si c'est vrai, ça continue. Si c'est faux, cela ne fait rien. Maintenant, lorsqu'il s'agit gérer
réellement
la portée d'attaque, commençons par
examiner les deux événements. Nous avons l'événement de
début de chevauchement du composant. Et nous avons l'événement de chevauchement de
fin de composant. Maintenant, cela mène à
deux choses différentes. Ils sont tous deux attribués
au héros parce que nous
voulons uniquement que le composant soit le héros à
l'origine de cela Et maintenant, s'il a
commencé à se chevaucher, sa
portée d'attaque deviendra vraie. S'il met fin au chevauchement, il définit la portée d'attaque sur off, puis juste pour des raisons de clarté
visuelle. Il indique s'il est
à portée d'attaque, il indique s'il est à portée d'attaque. Une fois hors de portée d'attaque, il s'imprime en toute sécurité et déclenche le tir balle
magique pour empêcher l'ennemi à distance
de tirer le ballon Voyons cela en temps réel. Je suis maintenant à portée d'attaque. Je suis maintenant en sécurité. Je suis à portée d'attaque.
Je suis maintenant en sécurité. Mais maintenant, bien que la portée d'
attaque soit là, nous passons
maintenant dans la zone
de détection, d'accord ? Parce que cela permet
également de détecter les pattes qui
provoque réellement les attaques Maintenant que je suis à portée d'attaque, je touche le pion qui détecte et
il commence à m'attaquer Mais quand je pars, je suis maintenant en sécurité, et l'appareil cesse de m'attaquer et de me
lancer des projectiles C'est la logique simple utilisée pour créer une zone d'
attaque autour de
l'ennemi à distance , puis utiliser la détection pour gérer le lancement de projectiles
vers
90. 87 Un regard sur le niveau: C'est bon. Maintenant
que nous avons terminé travailler sur ces IA, plaçons-les
dans un niveau. Revenons aux niveaux et maintenant que nous avons fini de travailler
au niveau développeur, passons au niveau 1. Maintenant, c'est notre niveau 1
actuel, et nous allons faire un
peu plus de conception de niveaux car ce niveau a
été conçu pour être très ouvert. Compressons-le
pour qu'il occupe une surface
beaucoup plus petite ce qui est
en fait assez simple. Nous allons récupérer ces deux objets au début
du niveau et les
déplacer ici. OK, c'est beaucoup, beaucoup mieux
avec ce changement. Et puis il y a notre personnage de
joueur. Donc, pour l'instant, c'est
depuis le début du niveau. Oh, il y a
autre chose que nous n'avons pas ajouté. Il y a donc ce petit bloc
que j'ai ajouté au niveau. OK, je le traîne ici. Faites-le glisser ici. Cela empêche essentiellement le joueur de monter complètement les
escaliers, juste un pâté de maisons. Et maintenant, nous avons ces petites étapes que le joueur ces petites étapes que le joueur
peut suivre.
Assurez-vous qu'à l'intérieur de la ressource
méga-scans, si vous avez utilisé une ressource
méga-scan, pour vous assurer
que la
collision fonctionne correctement, assurez-vous de rechercher les paramètres de
collision dedans, et vous voulez vous assurer qu'elle est configurée pour utiliser une collision
complexe aussi simple que possible
afin de garantir que le joueur peut réellement
marcher dessus correctement. Maintenant que c'est
fait, voyons voir si le joueur
part d'ici. Nous les ferons entrer, puis ils
commenceront par combattre un seul ennemi au corps à corps Ensuite, ils
avanceront et il y aura
un ennemi à distance là-haut, puis il y aura un autre ennemi
de mêlée à combattre,
puis un ennemi à distance Et une fois qu'ils auront terminé, ils
monteront les escaliers et il y aura un boss
là-haut, d'accord ? Passons maintenant à la conception de niveaux
supplémentaires de base. Je vais le récupérer et le copier. La raison pour laquelle je le fais, c'est parce
que je veux, voyons voir, d'accord, ce ne
sera pas suffisant pour moi. Ce que nous allons faire, c'est
ajouter une forme, et vous vous demandez peut-être quelle forme, nous voulons juste un simple
cube. Mettons-le à l'échelle. Débloquons la mise à l'échelle. Je pense à une échelle de 50 sur le X, dix sur le Y, puis de
50 sur l'horizontale. OK ? Maintenant, nous avons
cette énorme ombre projetée, puis je vais sélectionner ce bloc. Je ne le mettrai pas en rotation. Je vais le mettre en mouvement. Faisons avancer les choses de cette façon. Sympa. Maintenant, il projette une énorme ombre là-bas. Permettez-moi de
faire avancer la caméra de cette façon et je voudrais juste ajuster un peu
cette ombre. OK ? C'est comme de la
triche dans le développement d'un jeu, d'accord ? Utiliser un
objet artificiel pour projeter une ombre. Maintenant, il y a cette ombre
qui, je pense,
lui donne une bien meilleure apparence. Alors maintenant, lorsque vous sauterez par-dessus, venant ici, vous
aurez des ennemis à combattre. Et puis, une fois que les ennemis ont été combattus, vous
avancez, puis vous
montez les escaliers, et c'est
dans cette zone ombragée le boss
va être affronté C'est parfait. Mais maintenant, vous remarquerez que
notre matériau sprite ne
réagit pas à la lumière Ajustons-le donc pour qu' il puisse réellement
réagir à la lumière et que nous puissions voir clairement quand le joueur est entré dans
la zone d'ombre. C'est ce que nous allons faire dans la vidéo suivante. Ensuite, nous allons faire
de la conception des niveaux, ajouter quelques personnages, puis nous terminerons
le didacticiel une fois que je
vous aurai montré le dernier exercice, qui consiste à créer
un boss ennemi. Allons-y.
91. 88 Faire réagir le sprite du joueur à la lumière: OK, donc j'ai placé le joueur juste autour de
la zone causée par ce petit objet
là-bas parce
qu'en ce moment, lorsque les joueurs sont dans l'
ombre, ils ont l'air en retard. Lorsque le joueur est
éclairé, il a l'air en retard. Nous pouvons donc effectuer un réglage
simple pour le faire réagir à la lumière. Tout d'abord, allez dans les paramètres et assurez-vous que les options Afficher contenu
du moteur et Afficher contenu du plug-in sont toutes deux sélectionnées. Cela va exposer
Unreal Engine à l' ensemble de son
moteur et à son contenu de plug-in C'est la raison pour laquelle
nous faisons cela, c'est
parce que nous allons entrer dans le lecteur, puis nous allons sélectionner
le bloc-notes en papier et remarquer que son contenu
actuel est le sprite masqué et
non éclairé,
et nous voulons remplacer cela par le matériau masqué éclairé par le
sprite, qui permettra à notre
sprite de recevoir de la Passons donc au
niveau 1, appuyez sur Play. Je remarque que maintenant notre
sprite accepte la lumière et
qu'il y réagit La couleur change-t-elle en fonction de l'éclairage
rebondissant qui l'entoure ? Littéralement, lorsque la
cape n'est pas éclairée, vous pouvez voir
que c'est plutôt cool. Et maintenant, chaque fois que
le personnage du joueur se déplace dans une zone sombre, vous pouvez voir l'obscurité
qui l'entoure. C'est cool. Mais maintenant que c'est fait, ajoutons un peu de
lumière au personnage qu'il ait toujours
quelque chose qui brille. Maintenant, pour ce faire, il
suffit d'entrer dans le héros, sélectionner le composant de la capsule. Et ce que nous voulons faire,
c'est ajouter de la lumière. OK, nous allons commencer par un feu ponctuel de base. Faisons-le glisser
ici. Et par ici. Maintenant, le personnage
emportera toujours un peu de
lumière avec lui. Déplacez-le vers le personnage. Voyons à quoi cela ressemble. Remarquez ici, c'est
un peu trop clair, ça brille sur tout. Mais lorsque le personnage du joueur
se trouve maintenant dans une zone sombre, il a toujours une lumière
sur lui. Nous pouvons entrer. Soulevez sa position
et déplacez-la vers l' arrière pour l'adoucir un peu,
et il vaut mieux maintenant qu'elle ne soit pas visible dans les zones claires. Mais une fois que vous
entrez dans une zone sombre, il y a juste un
peu
de lumière sur le
personnage du joueur, ce qui l'
aide vraiment à
mieux paraître dans la scène. OK. Vous pouvez désormais apporter toutes sortes de
réglages à l'éclairage. Vous pouvez changer son positionnement, vous pouvez changer son emplacement. Tout dépend de vous, mais c'est une bonne façon de donner un peu de vie à votre sprite
92. 89 retouches générales pour le niveau: C'est bon. Alors
permettez-moi de faire rapidement une conception de
niveaux douce et lente. J'ai donc ajouté une autre plateforme ici, je l'ai
ajoutée ici. OK, alors voyons vite. Le joueur peut-il accéder à
cette plateforme ? Oui, le joueur peut accéder à
cette plateforme. C'est une bonne chose. Permettez-moi de le copier-coller. Assurez-vous que ces deux éléments s'
emboîtent correctement. Le joueur peut-il sauter sur cette plateforme et
ensuite c'est excellent. Maintenant, assurez-vous que c'est
un peu difficile. Il est toujours bon de
placer un ennemi rangé dans un endroit difficile à atteindre
pour le joueur. Permettez-moi de revenir un
peu sur sa position. Voyons voir. Mangez-le et c'est bon. Maintenant que cet
ennemi à distance est là-haut, je suis ici et je le
place, attends, laisse-moi m'assurer que sa position
est négative un, moins 20 Maintenant, c'est un ennemi à distance. Je vais placer un autre
ennemi à distance juste ici. Négatif sur le
positionnement, c'est bien. Ensuite, je vais mettre
un neem de mêlée par-dessus. Il s'agit de la prochaine phase
du développement du jeu. Lorsque vous aurez terminé
votre planification, vous allez créer
votre code art et votre animation, puis le son. Cela va créer des composants
individuels, mais les composants individuels
ne font pas vraiment du jeu cet ennemi, le personnage du
joueur, les niveaux. Ce qui caractérise vraiment un jeu, c'est lorsque ces composants sont
assemblés de manière à
interagir les uns avec les autres. Oh, désolée pour ça. Vous remarquez qu'il a
du mal à bouger, pourquoi ? Parce qu'il manque la navigation. Ajoutons rapidement. Voyons voir, un gros maillage nerveux limite le volume Permettez-moi d'augmenter sa taille
à environ 20 ici, excellent, puis d'augmenter
sa hauteur à environ 20. C'est trop profond. Non, je
n'ai pas besoin de beaucoup de largeur. Mettons-le à environ dix. Bien, puis déplacez-le sur tous ces
différents personnages. OK. Maintenant, pour ce qui est de sa hauteur, laissez-la
tomber au
sol pour commencer, puis
ajustez-la de manière significative à, disons, 20, afin qu'elle puisse regarder ces zones de
navigation D'accord, 20 c'est raisonnable. Peut-être que nous pouvons aller un peu plus haut. Faisons en sorte que ce soit 30. Bien. Il y a ces limites de navigation, augmentez un peu sa largeur, augmentez sa longueur d'environ 30 Je pense que 30, c'est
à peu près ce qu'il faut ici. Alors, comme cela bloque la voiture
ennemie, c'est suffisant. Ensuite, nous copierons ce volume de
limites pour créer
un second volume de limites. Et ce volume limité réduira
simplement sa largeur car le volume suivant
ne fera que tenir. Je ne veux pas qu'il
atteigne les escaliers. Ici, nous sommes parfaits,
puis copiez-le et collez-le dans
le monde, et ici. Le volume de cette prochaine limite doit être encore plus petit, car il
suffit de gérer
l'arène ici Sympa. Nos ennemis peuvent donc se
déplacer dans toutes ces zones. Ensuite, je vais envoyer un autre ennemi
masculin ici. Il y en a deux, bien sûr. Et Valla, nous avons tout ce qu'il faut pour
atteindre un niveau de base. Hé ! Maintenant, nos ennemis sont réellement
capables de nous poursuivre correctement. Celui-là est mort. Sympa. Maintenant que nous arrivons ici, on nous lance des balles
magiques. Hé, hé, tu meurs, tu meurs. Celui-là est également mort. Et maintenant, mourez deux, et maintenant que c'est fait, nous passons à autre chose triomphalement Notez maintenant que ce
matériau de sprite n'est pas en retard Nous allons
donc
apporter quelques ajustements uniquement à ce matériau de sprite Nous allons donc sélectionner
l'ennemi à distance, accéder à Viewport, sélectionner
le flip book en papier et l'ajuster au dernier
sprite Ensuite, nous allons y
ajouter une lumière ponctuelle. OK. En fait,
apportons-le ici. En quelque sorte ici. C'est bon Ensuite,
nous allons rapidement ajuster la
couleur des lumières pour qu'elle soit verte. Oh, c'est vert. Parfait Ensuite, maintenant que nous avons réglé ce feu pour
qu'il soit vert, la prochaine chose que nous allons
faire est de réduire le rayon. Voyons voir. Nous allons réduire
son
rayon d'atténuation directement. Numéro 200. Faisons 150. 150, ce n'est pas assez, 100. Sympa. Maintenant, c'est un joli petit rayon
d'atténuation. C'est une bonne chose. Maintenant, avec ça, nous allons revenir au niveau. Et cette fois, je pense, laissez-moi trouver le personnage du joueur
et le déplacer ici pour que nous puissions rapidement passer à l'action, tuer ce type Super, viens ici. Maintenant, regardez ça. Oh,
mais nous avons un problème. Donc, en ce moment, dans le champ de tir,
l'ennemi, les projecteurs
sont braqués sur le flip book, alors il est en train d'être inversé Maintenant,
connectons-le au composant de la capsule afin
qu'il ne se retourne pas. OK. Au revoir. Maintenant, il est tard et il y a cette
petite lueur verte. Mais on peut toujours ajuster la
position de la lueur verte. On peut
le mettre plus près des pieds et
le reculer un peu. Juste un petit peu. Nous pouvons réduire
son intensité à 2 500 ,
puis augmenter
légèrement son rayon d'
atténuation , puis baisser à nouveau son
intensité à 1 500 Maintenant, voyons à quoi cela ressemble en termes de gain. prie, meurs. Je
t'attaque, au revoir. Maintenant, ça a l'air bien, mais c'est un peu trop près
du sol maintenant. Nous l'avons fait, mais c'est cool. Il fait encore froid à l'idée de voir ça. Augmentons-le un peu. Revenez ici, puis soulevez-le un peu plus loin. Ça
devrait aller. La prochaine chose que nous allons
faire, c'est dans le champ électromagnétique à distance, ouvrir ce projectile, puis nous allons
ajouter une lumière, une lumière, lumière ponctuelle OK. Je vais
le traîner ici. Et puis, bien sûr, la couleur de la lumière
sera le vert, ce beau vert. Et puis le rayon d'atténuation ramènera à environ 1:50. 150, c'est trop. Passons à 100 et
voyons si c' est sur laquelle
se trouve la sphère ? OK. Voyons maintenant à
quoi ressemblent les projectiles. En me lançant un projectile ? Oui, les projectiles ont maintenant une jolie petite lumière
qui bouge avec eux C'est juste un toucher doux. Gardez à l'esprit, bien sûr, que vous pouvez Oh, mon Dieu. Mourez, mourez, mourez, mourez. OK, tu es parti. Maintenant, tout cela n'est que pour vous
montrer quelques petites touches. ce, sans même ajouter votre propre son personnalisé, ni les effets de
chaleur et les dégâts. Maintenant c'est l'heure pour
moi,
dans la prochaine vidéo, de
vous faire passer votre test final, qui sera de
créer un boss EM. Avec tout ce que vous avez appris, tout devrait se combiner.
93. 90 Faire un ennemi patron comme entraînement final: Maintenant que vous avez
appris tout ce que
j'ai à
vous apprendre sur les principes fondamentaux
du développement en 2,5 D, vous êtes maintenant prêt pour
votre entraînement final. Maintenant, dans
cette zone ou dans toute autre
zone que vous avez désignée pour votre
boss ,
vous allez
créer un boss ennemi Il s'agit de votre dernier test d'
entraînement avant commencer à créer
vos propres projets de jeu. Maintenant, les animations
que vous allez utiliser
pour ce projet se
trouvent toutes dans un simple modèle gratuit sur chaque point IO, appelé Demon
Slime. Il propose de nombreuses animations
différentes, qu'il
s'
agisse d'un petit blob un personnage de boss
complètement mature Il possède une animation d'attaque, un stop, des
flammes et un sort. Maintenant, le
lien correspondant va être
inclus dans le cours. Maintenant, une fois que vous l'avez
et que vous l'avez importé, vous avez maintenant toutes
les connaissances nécessaires pour créer un boss simple. illustrer simplement
ce que vous pouvez faire le boss
pourrait venir
attaquer le joueur. C'est un
exemple simplifié, d'accord ? Ensuite, vous pouvez faire autre
chose, comme, par exemple, frapper de telle sorte qu'une fois que le boss a été attaqué
à un certain niveau, il apparaisse en ennemi arrangé Maintenant, j'espère pouvoir l'
obtenir en un seul essai. Cela m'a fait du mal. La partie est terminée. OK. C'est donc un exemple
simple. Il existe de nombreuses
façons de concevoir Boss AI, mais je
voudrais vous donner un petit conseil :
celle-ci est configurée en
deux phases différentes. Dans la première phase, il
ne fait qu'une attaque au
corps à corps lorsqu'il est à portée Dans la deuxième phase, il apparaît dans un
seul ennemi
à distance censé
attaquer le joueur Il ne s'agit que d'un simple ensemble d'
exemples de ce que vous
pourriez faire pour être créatif. Si vous ajoutez le moignon,
vous pouvez faire en sorte
que, dans la première phase, il choisisse au hasard entre une attaque au corps à corps et
la souche ou le lancement
d'un sort peut être appelé
sous forme d'animation
avant d' attirer
cet ennemi à distance Il existe de nombreuses manières
de créer un boss. Je ne peux que faire des recommandations. En tant que
développeur de jeux, c'est à vous de créer des
choses pour vous-même. À l'issue de ce dernier exercice d'
entraînement, je tiens à
vous remercier d'avoir suivi le cours de
développement de jeux vidéo en 2,5 D. J'espère que vous avez
beaucoup appris pour progresser
dans le développement de jeux vidéo. N'oubliez pas de toujours
réfléchir, planifier avant d'exécuter. Enfin, souvenez-vous vraiment que planifier les choses
est vraiment trop difficile, d' accord ? La planification est bonne. En tant que développeur de
jeux, n'ayez donc pas peur de simplement écrire des choses et de vous en
servir comme guide. Et mon dernier conseil simple vise à simplifier la façon dont vous aimez développer des jeux Commencez toujours par un design
généralisé, puis passez au code et enfin
à cet art. Et enfin, du son pour tout ce que vous
faites pour votre jeu. Jusqu'à notre prochaine rencontre, je suis hyper développeur et si vous avez
des questions, peux m'envoyer un message, mais j'espère que vous avez
beaucoup appris grâce à ce cours Sinon, sortez
et n'oubliez pas jeu de
vos rêves ne se
construira pas tout seul. Je vous souhaite bonne chance.