Transcription
1. Promo 00 FPS: Dans ce cours, nous allons
créer un jeu FPS. Nous commençons par la façon dont nous pouvons
regarder autour de nous et nous déplacer. Ensuite, nous ajouterons une arme
à distribuer ou à incarner. Ensuite, à l'aide de certains outils
du plan du widget, nous ajouterons un croisement sans
utiliser de texture ni d' Ensuite, nous optons pour les animations, afin de pouvoir courir , marcher,
marcher et tirer. Et nous avons un AM sur le site, ce qui nous permet de regarder
la lunette et de filmer. Ensuite, nous ajouterons
des effets visuels, son chaque fois que
nous tirons avec un pistolet. Ensuite, nous
rechargeons le pistolet, comme vous pouvez le voir,
il a l'air génial Le rechargement aura également
un son plein. Ensuite, nous passerons en revue conception
approfondie de l'interface utilisateur de
notre système de munitions, puis de notre barre de santé
et de notre barre de bouclier. Ensuite, en tant qu'ennemi, nous allons importer un maillage squelettique
fissuré, et nous utiliserons un contrôleur IA pour contrôler le craquage afin
qu'il puisse poursuivre le joueur, attaquer le joueur et
tuer le joueur également Et on peut aussi tuer les rayonnages. Ensuite, nous aurons quelques
objets, par exemple des
munitions, des points de santé, un bouclier,
afin que nous puissions les récupérer. Et pour cela, nous allons créer un plan modulaire
pour l'article Donc, si vous placez l'un de ces
objets dans le niveau, vous déciderez ce que doit être
cet objet. Commençons donc
ce cours ensemble.
2. 01 Créer un projet et importer des fichiers: Pour créer un jeu FES, nous devons créer un projet, et j'utilise ARL
Engine 5.5 0.3. vous plaît, si vous êtes
débutant, tenez-vous-en à cette version,
car une version plus récente changera le
nom des nœuds, et cela vous embrouillera. Installez donc le moteur ARL, 5.5 0.3 et ouvrez-le. Et ici, allez aux
jeux et ici, créez un projet vierge, non ? Nous voulons que ce soit dans Blueprint,
le maximum pour ordinateur de bureau, et nous n'avons pas besoin
de contenu de démarrage, et je veux
l'appeler FPS, non ? Head Create et il
créera ou projettera. Alors que
nous ouvrons notre nouveau projet, dans la description de cette vidéo, il y a un fichier zip appelé fps point zip. Téléchargez-le. Mets-le
sur ton bureau, comme je le fais ici. Et ne cliquez pas
dessus pour l'ouvrir. Vous pouvez voir qu'il
y a un fichier FPS là-bas. Vous devez le glisser-déposer et le placer sur votre bureau. Les chemins du fichier
qu'il contient sont très importants. Donc, si vous ouvrez ce dossier
FPS à l'intérieur, il devrait
y avoir un
dossier d'actifs. C'est ça. Cela ne devrait pas
être autre chose. Changer les noms
ici n'est pas écrit pour rien. Vous pouvez modifier les noms ou repositionner des éléments
dans le moteur ARL Tu ne devrais pas le faire ici. Non, ouvrez le projet ARIO Engine. Accédez au tiroir de contenu, cliquez avec le bouton
droit sur le dossier de contenu, puis cliquez sur Afficher l'
explorateur. C'est ça. Non, cela ouvrira le dossier de contenu de
notre projet FPS, n'est-ce pas ? Vous pouvez simplement glisser-déposer
ce dossier FPS à l'intérieur, et savoir que si
nous allons dans le tiroir de contenu, il y aura un dossier FPS, mais il n'y aura rien. Nous devons fermer un moteur Ale
ouvert, mais pour le moment,
laissez-le tel quel. Nous devons modifier certains
paramètres, et après cela, nous fermerons un moteur Aureo
ouvert, n'est-ce pas ? Tout d'abord, allez dans Modifier, allez dans les préférences de l'éditeur, et ici, recherchez « Ouvrir ». Et dans l'emplacement
ouvert de l'éditeur d'actifs, remplacez-le par défaut par
la fenêtre principale. Donc, peu importe ce que nous ouvrons, il sera ouvert ici. Il sera plus facile de travailler avec. Maintenant, tu peux simplement le fermer. Ensuite, la commande de la tête se trouve sur votre clavier pour
enregistrer ce niveau. Vous pouvez simplement l'enregistrer
dans le dossier de contenu. Sauvegardez la tête, et elle sera sauvegardée. Non,
vous devez ensuite modifier les paramètres du projet,
accéder
à Cartes et modes, et remplacer la carte
de départ de l'
éditeur la nouvelle carte que nous avons enregistrée. Après cela, allez ici
pour la carte par défaut du jeu, remplacez-la également par une nouvelle carte
. C'est ça. Après cela, vous
pouvez simplement le fermer. Tout ira bien. Vous pouvez simplement fermer le moteur Are. Et vas-y et ouvre-le à nouveau. Non, le moteur arrière n'est pas ouvert. Vous pouvez accéder au tiroir de contenu. Dans le dossier FS, vous pouvez
voir qu'il y a toutes ces ressources et que nous
voulons les utiliser pour créer un jeu
sur FPS. Il y a des
graphismes, des textures et un
maillage squelettique que vous souhaitez utiliser
pour créer un jeu
sur FPS.
3. Plan 02 FPS: La première étape pour créer notre jeu FPS n'est pas de
créer un plan Mais avant cela, je
veux que cela soit organisé. Donc, dans ce dossier FS,
je veux cliquer avec le bouton droit de la souris, aller dans Nouveau dossier et
créer un nouveau dossier, et je veux l'appeler blueprint Tous nos plans
seront donc là. Accédez au
dossier des plans, cliquez dessus avec le bouton droit de la souris, créez une classe de plan correspondant type de personnage car elle contient composante
de mouvement du
personnage et il sera plus facile de créer un jeu
FPS, Créez donc une classe de personnage. Je veux l'appeler BP FPS. C'est ça. Je vais cliquer
dessus pour l'ouvrir et vous pouvez voir qu'il s'
ouvrira ici. C'est bon Non, parce que nous voulons créer un jeu FPS, un jeu à la première personne. C'est pourquoi je ne veux pas utiliser ce maillage que nous avons ici. La première
chose importante dans le jeu FS est la caméra. Cliquez donc sur la capsule,
puis sur AD et ajoutez une caméra. Alors recherchez un appareil photo. Mets-le là. C'
est notre appareil photo. Ensuite, en tant qu'enfant de cet appareil photo, je souhaite ajouter un maillage squelettique. Si je me contente de tourner ça en dérision et
de le laisser tomber, si je le dis comme un enfant,
ce sera génial,
mais on ne peut pas faire ça Nous pouvons simplement laisser cela,
mais cliquer sur la caméra, cliquer sur Ajouter et ajouter
un maillage squelettique. Recherchez un
maillage squelettique et ajoutez-le ici. J'ai envie de l'appeler armes
parce que dans le jeu FBS, nous ne verrons que les armes C'est pourquoi je l'appelle armes. ce, j'ai envie de
cliquer sur les bras, de passer à Skeleton Mesh Acid et de
choisir le mannequin Sk. Et vous pouvez le voir ici. heure actuelle, la position des
choses n'est pas bonne ici, donc je veux d'abord changer la
position de la caméra. Je veux en parler comme ça. Je pense que c'est une bonne chose en plus
d'une collision, non ? heure actuelle, vous pouvez voir
que chaque fois que nous changeons quelque chose, cela augmente de dix unités, n'est-ce pas ? Ou nous pouvons simplement changer cela en
cliquant ici et mettre à un ou nous pouvons
simplement le désactiver complètement. Non, nous pouvons mieux le positionner. Par exemple, ici en haut
du composant de la capsule. Non, le positionnement du
surmain n'est pas correct, alors cliquez sur les bras et nous devons le baisser comme ça Par exemple, laissez-moi le baisser jusqu'à ce qu'il atteigne le bout de
cet appareil photo, non ? Encore une fois, il
faut que ça baisse comme ça. Hein ? Non,
pour que tu voies les mains, ce que je veux, est-ce que je veux
choisir l'animation ici ? Par exemple, cliquez ici, modifiez le plan
d'utilisation de l'animation pour utiliser la ressource d'animation Et avec cela, nous pouvons simplement choisir l'animation idéale, non ? Bras inactifs. Maintenant, comme vous pouvez le constater, nous n'avions pas du tout
besoin de le faire pivoter. Donc, rien qu'avec ça, tout
fonctionne bien, non ? C'est toujours une bonne idée de placer l'animation au ralenti,
puis de changer de position. Ce sera plus facile comme ça. Maintenant, pour
que vous le voyiez mieux, je veux
aller dans le tiroir de contenu ici, cliquer avec le bouton
droit de la souris, accéder à la classe
Blueprint et créer une base de mode de jeu Et je veux l'appeler
GM BP pour le mode jeu. Blueprint, et je
veux l'appeler FPS. Je vais cliquer dessus pour l'ouvrir. La seule chose que
je veux changer ici, c'est la classe punk par défaut. Cliquez ici et remplacez-le BPPS Head. Sachez que
si vous allez sur notre nouvelle carte et
que vous passez à la création de mots ici,
nous pouvons changer le mode de jeu pour ne plus utiliser GMBPFPS
. Juste avec ça, si
vous écrasez le jeu, non, vous pouvez voir les bras. Bien entendu, nous ne pouvons rien
déplacer car nous n'avons
pas écrit de code
pour que vous puissiez mieux le voir. Je veux cliquer ici et l'
ouvrir dans les nouvelles fenêtres de l'éditeur. Pi, non ? Tu peux le voir. L'un des problèmes que nous avons ici c'est que nous ne pouvons pas voir
les bras, n'est-ce pas ? Pour que nous puissions le voir, nous pouvons changer
la position des bras. Par exemple, parlez-en
un peu, comme ceci. Bien entendu, nous le
modifierons à l'avenir. Mais non, on le voit mieux. Encore une fois, changeons-le, parlons-en un
peu et courons. Non, tu le vois mieux. Je voudrais également l'amener
un peu vers la gauche. Comme ça. Si tu cours, non, tu peux mieux
voir les bras. Bien entendu, ce n'est pas la position
finale que vous
souhaitez y placer simplement pour ne pas la
laisser avec ces valeurs, et nous la modifierons ultérieurement. Pour le moment c'est bien.
4. 03 Regardez autour de vous: n'est pas la première chose que
vous voulez faire, nous voulons pouvoir
regarder autour de vous. Et pour cela,
nous avons besoin d'une contribution. Allons donc dans le
tiroir de contenu et ici,
dans le dossier FPS, clic
droit ici, créons un nouveau dossier et je
veux l'appeler entrées, n'est-ce pas ? Cliquez dessus pour l'ouvrir
, cliquez avec le bouton droit de la souris ici, accédez à la saisie et créez
la carte d'entrée en contexte. Je veux l'appeler
IMC FPS, c'est vrai. Cliquez dessus pour l'ouvrir. Ensuite, nous voulons
créer une action d'entrée. Alors, cliquez avec le bouton droit de la souris ici, accédez à la saisie et créez une action de
saisie. Je veux l'appeler, je
regarde autour de moi, d'accord. Avec cela, parce que nous voulons
regarder vers le haut, vers le bas, à gauche et à droite, c'est pourquoi je veux changer
cela en axe vers le. Assurez-vous de sauvegarder,
et après cela, nous devons le mapper à l'intérieur
ou saisir la carte dans son contexte. Donc, ici, créez
une nouvelle cartographie, et ce que vous voulez
cartographier, c'est que je regarde autour et comment nous voulons voir
autour de vous avec le plus de X et de Y. Donc, cliquez ici, allez au plus grand nombre
et changez-le en X, Y par rapport à l'axe, n'est-ce pas ? Juste sur ce point, nous devons
implémenter
cet IMCFPS dans
notre plan directeur, n'est-ce pas cet IMCFPS dans
notre plan directeur Alors, allez au graphique des événements ici, obtenez d'
abord le contrôleur du joueur, obtenez le contrôleur du joueur. Et à partir de là, nous devons en extraire le
composant d'entrée amélioré et
y ajouter ou y saisir du contexte de
mappage. Ajoutez un
contexte de mappage d'entrée, à droite. Connectez-y l'épingle d'exécution cliquez ici
et choisissez IMCFS Maintenant que c'est activé, si vous cliquez
avec le bouton droit de la souris ici, recherchez un aperçu, vous pouvez voir qu'il y a un événement
d'action ici. Avec ça, ça nous donnera X et Y de sursouris, non ? Alors, prenez-le
ici et cassez-le. Il a X et Y pour sursouris, et avec cela, nous pouvons changer
le O de la caméra, par
exemple, ou le contrôleur avec le X de la
souris et changer le pas de la caméra ou contrôleur avec
le Y de overmse Donc, ici, la première chose
que vous voulez faire, ajouter au contrôleur une entrée pour regarder à
gauche et à droite, et nous pouvons utiliser juste
le s de celui-ci, n'est-ce pas ? Ensuite, nous voulons
pouvoir regarder vers le haut et vers le bas. Et pour ce faire, nous devons
changer le pitch du contrôleur, le
contrôleur, l'entrée de tonalité, n'est-ce pas ? Et nous devons modifier la
tonalité par Y de notre souris. Juste avec ça, si nous nous dirigeons vers la
compilation et la relançons, non, vous pouvez voir, je peux
regarder à gauche et à droite. Je ne peux pas regarder de haut en bas, mais la gauche et la droite
fonctionnent bien. La raison pour laquelle nous ne
pouvons pas regarder de haut en bas, si vous passez à la classe par défaut
et que vous recherchez le pitch, il existe un pitch de
rotation du contrôleur qui, par défaut, est désactivé. Si vous l'activez
et qu'il n'y a pas de jeu Runo, non, nous pouvons regarder de haut en bas. Mais le problème quand on
regarde vers le haut et vers le bas, c'est
que c'est inversé. Nous devons donc changer quelque chose. Donc, chaque fois que nous utilisons notre mode, nous avançons, nous
levons les yeux, n'est-ce pas ? Pour ce faire, il existe
plusieurs façons de simplement multiplier ce Y par
moins un comme ceci, multiplier par moins
un, et cela fonctionnera. Nous l'avons mis ici. Maintenant, si
vous renversez le jeu avec ça, nous pouvons regarder en haut et en bas gauche et à droite,
tout va bien. Mais la meilleure façon de le
faire n'est pas comme ça. Nous pouvons simplement accéder à la carte d'entrée
dans son contexte et ici, ajouter un modificateur à
la plupart des X et Y. Ajoutez un modificateur et le
type sera le négatif, mais nous voulons simplement
annuler le Y Alors
développez-le et dites-lui de ne pas annuler X ou Z, juste d'annuler le Y. Assurez-vous que vous êtes en sécurité.
Non, en cours de jeu, vous pouvez voir que nous pouvons regarder en haut, en bas, gauche et à droite, et tout
semble parfait. Tout est beau.
Maintenant, nous pouvons regarder autour de nous. Il est temps de se déplacer.
5. 04 Aller de l'avant à l'arrière: Non, nous voulons pouvoir
avancer et reculer. Pour ce faire, nous devons aller dans le dossier de saisie
FPS, cliquer avec le bouton
droit de la souris ici, créer une action de saisie, et je veux
l'appeler un go forward. En arrière. Je vais cliquer dessus pour l' ouvrir car pour
avancer et reculer, il ne s'agit que d'une seule valeur Nous pouvons
donc simplement la remplacer par
l'axe 1 D, une valeur flottante. Vous pouvez simplement l'enregistrer
et passer maintenant à IMC FPS. Nous devons le cartographier là-bas. Donc, ici, ce que vous voulez
cartographier s'appelle
avancer et reculer. Non, quand voulons-nous
avancer, en cliquant ici, tête W. Et quand nous
voulons revenir en arrière, en cliquant ici pour
ajouter une autre entrée et en cliquant sur les en-têtes ici. Chaque fois que nous appuyons sur S, nous
voulons revenir en arrière. Mais par défaut, chaque fois que nous
appuyons sur W ou S, il en passe un. Nous devons donc annuler le S qu'il passe moins un Allez donc ici pour modifier et
ajoutez-y un modificateur négatif. C'est ça. Maintenant, avec cela, nous pouvons avancer et reculer. Et comment nous pouvons le faire, ici,
nous pouvons dire : « J'irai de l'avant ». Et
en arrière, c'est vrai. Une fois cela fait, nous pouvons ajouter une entrée de mouvement en fonction de la
valeur d'action dont nous disposons. Nous pouvons simplement relier cette valeur
d'action à ici, mais la direction est
vraiment importante. Dans quelle direction ? Nous devons avancer
et reculer. Et cette valeur d'échelle
nous donne une valeur comprise entre
moins un et un. Si nous appuyons sur W, cela nous en
donnera un. Si nous appuyons sur S, cela nous
donnera moins un. La direction que nous voulons
prendre est donc un vecteur avant
pour avancer, et le vecteur avant est multiplié
par cette valeur d'échelle. Chaque fois que nous aurons un S, ce
sera moins un. Donc vecteur avant,
multipliez par moins un, cela nous donnera un vecteur
arrière, non ? Nous pouvons donc obtenir la rotation
de contrôle, obtenir la rotation de contrôle. Et à partir de cela, nous pouvons obtenir le vecteur
avant, n'est-ce pas ? Et avec cela, nous pouvons
avancer et reculer. Compilons
et lançons un jeu de mots. Maintenant, si vous avancez, vous verrez que cela fonctionne bien. Nous pouvons avancer et reculer et
regarder à gauche et à droite. Ça a l'air génial. Mais la prochaine chose que
nous voulons faire, pouvoir
aller à gauche et à droite. À l'heure actuelle, D et A sur notre
clavier ne font rien. Comme nous l'avons fait pour Ford Victor, nous avons la même chose pour
Right Victor. Je voulais te lancer
ce défi. Essayez d'aller à gauche et à droite avec
D et A sur votre clavier. Nous allons le faire ensuite.
6. 05 Aller à gauche et à droite: Pour aller à gauche et à droite. Comme nous l'avons fait dans la dernière vidéo, nous devons créer
une action de saisie. Alors, cliquez avec le bouton droit de la souris ici, accédez à saisie et créez une action de saisie. Nous sommes dans le dossier des entrées. Je veux l'appeler
IA, aller à gauche, à droite. Je vais cliquer dessus pour l'ouvrir. En haut, je veux qu'
il flotte aussi,
parce que nous allons soit à
gauche, soit à droite. OK ? Et maintenant, allez dans IMCFPS,
créez un nouveau mappage Nous voulons cartographier, D,
aller à gauche et à droite. Choisissez IA, allez à gauche et à droite. Et chaque fois que nous appuyons sur D,
nous voulons aller à droite. Et ajoutez une autre entrée chaque fois que
nous appuyons sur A sur notre clavier, alors cliquez ici, si vous avez un A sur votre clavier, nous
voulons aller à gauche. Mais encore une fois, dans ces deux
cas, il en sera adopté un. Chaque fois que nous appuyons sur A, nous
voulons l'annuler, sorte qu'il passe moins un Cliquez ici, ajoutez un
modificateur et choisissez la négation. C'est ça. Assurez-vous d'
économiser, non, allez ici. Et comme nous l'avons fait pour
avancer et reculer, nous avons besoin d'inventer, d'aller à gauche, écrire l'événement, n'est-ce pas ? Et encore une fois, nous devons ajouter
du mouvement à la saisie, n'est-ce pas ? Et avec cela, la valeur d'échelle, comme vous le savez, devrait
être une valeur d'action. Mais la direction du mot, encore une fois, nous pouvons obtenir cette rotation de
contrôle, et à partir de là, nous pouvons obtenir le bon vecteur et
le relier à la direction du mot. Juste avec cela, nous avons
compilé une sauvegarde et un jeu Runo. Maintenant, vous pouvez voir, je peux aller à gauche et à droite et tout
fonctionne bien. Et c'est tout.
C'est tout ce que nous devons faire pour nous déplacer ou.
7. 06 Ajouter un pistolet: Il n'y a aucune autre chose que
nous voulons faire. Nous voulons donner une arme à
notre joueur. Voyons comment nous pouvons le faire. Pour le pistolet, le pistolet que nous avons importé n'est qu'
un treillis squelettique. Nous pouvons donc simplement cliquer
sur nos bras ici et cliquer sur ajouter une
machine squelettique ici, n'est-ce pas ? Et le maillage squelettique, je veux l'appeler pistolet. C'est vrai. Sur ce, je veux aller ici et choisir l' atout
du maillage squelettique plutôt
que le pistolet. Mais si vous allez dans la fenêtre d'affichage, vous pouvez voir que la rotation du canon n'
est pas bonne du tout, n'est-ce Alors, comment pouvons-nous le
mettre en main ou dans le maillage
squelettique d' un
personnage ou d'un personnage ?
Si vous cliquez
ici, cliquez sur cette loupe trouvez le squelette et
double-cliquez dessus Il devrait y avoir une prise
ici que nous pouvons utiliser. Ça s'appelle Grip Point, non ? ce, si vous cliquez
ici et que vous cliquez sur ou que vous
utilisez un pistolet et que vous choisissez le
socket parent comme point de préhension, cela devrait
être au niveau du personnage, mais pour l'instant, c'est
là-haut, non ? Ce n'est pas bon. La raison pour
laquelle il se trouve là-haut, c'est parce qu'il est
décalé par rapport à son emplacement. Donc, pour résoudre ce
problème, nous pouvons simplement cliquer ici et cela le mettra en
main. Non, ça y est,
compilons et exécutons le jeu. Non, vous pouvez voir, nous
pouvons voir le pistolet, tout
regarder, non ? Tu peux voir. Mais le positionnement
de notre main n'est pas correct, le moment, nous ne pouvons pas le
découvrir, n'est-ce pas ? Nous devons donc
le réduire un peu. Cliquez donc sur les bras et
abaissez-les un peu. Permettez-moi de le résumer comme
ça , sans compilation de tête ni
testo pour voir si tout va bien. Si cela vous convient, vous pouvez simplement l'utiliser. Mais encore une fois, vous pouvez le déplacer à l'endroit
de votre choix. Pour moi, en ce moment, c'est une bonne chose. Mais en changeant simplement ce bras, vous pouvez le faire avancer,
reculer, descendre vers le haut. Tu peux faire ce que tu veux. Cette position pour le
non est bonne pour.
8. 07 Sprint: Il n'y a aucune autre chose que
nous voulons faire. Nous voulons être capables
de sprinter, non ? Voyons donc comment nous pouvons le faire. Pour ce faire,
nous avons besoin d'une contribution. Il suffit donc d'aller dans le tiroir de
contenu ici, d'
aller dans les entrées, de
cliquer avec le bouton droit de la souris ici, créer une nouvelle action de saisie. Et je veux
l'appeler IA sprint, non ? Ne cliquez pas dessus pour l'ouvrir. Le booléen numérique
est largement suffisant. Tu peux juste le
fermer. Accédez à IMCFPS Nous voulons le cartographier ici. Cliquez donc sur Nouveau mappage
pour créer une nouvelle carte. Et ce que nous voulons cartographier s'
appelle un sprint, n'est-ce pas ? Allons-y simplement. Quand voulons-nous que cela se produise ? Cliquez ici, appuyez
sur la touche gauche votre clavier pour y placer la
touche gauche, et c'est tout. Avec le virage à gauche, nous voulions être capables
de sprinter, n'est-ce pas ? Maintenant, dans notre
plan graphique d'événements, ce que nous voulons faire. Nous voulons cliquer avec le bouton droit de
la souris sur Rechercher un sprint, n'est-ce pas ? Avec cela, chaque fois que
nous
appuyons sur la touche gauche, nous voulons pouvoir sprinter. Et chaque fois que nous relâchons
le levier de vitesses vers la gauche, nous voulons qu'il marche, n'est-ce pas ? Donc, par défaut, nous
voulions marcher. Mais comment pouvons-nous y parvenir ? Dans le composant de
mouvement du personnage, il existe de nombreuses options
que nous pouvons modifier. Par exemple, la vitesse de
marche maximale est de 600 par défaut. Par défaut, nous
voulons entrer. Je vais donc le réduire à 250. Donc non, juste avec ça, si vous renversez le jeu
et que vous avancez, vous pouvez voir que nous allons de
l'avant, pas vite. Juste 250
centimètres/seconde, non ? Non, nous voulons modifier la vitesse maximale du walki
chaque fois que nous maintenons la touche Shift enfoncée Nous pouvons le faire. Cette
variable, la vitesse
maximale du walkie, se trouve dans le composant de
mouvement du personnage Nous pouvons donc le saisir et
rechercher la vitesse maximale du walkie, et nous voulons régler la vitesse
maximale de marche, n'est-ce Juste avec ça chaque fois que
nous appuyons sur la touche gauche. Nous voulons faire passer la vitesse
maximale de marche à 600. Et encore une fois, sélectionnons simplement ce Control C Control V
pour le coller ici. Chaque fois que nous relâchons
la touche Shift gauche, nous voulions la
ramener à 250, n'est-ce pas ? Maintenant que cela est réglé,
disons simplement compiler, enregistrer et exécuter. Non, si vous avancez, vous pouvez voir qu'il marche, et si vous maintenez la touche gauche enfoncée, la vitesse de marche
est beaucoup plus élevée maintenant. Vous pouvez voir que nous marchons
et que maintenant nous courons. Maintenant, la prochaine chose
que vous voulez
faire , c'est jouer
les animations. heure actuelle, il joue
une animation inactive, peu importe que vous marchiez ou
que vous couriez. Voyons comment
ajouter des animations.
9. 08 Plan d'animation: Non, nous pouvons nous déplacer et regarder autour de nous, mais le problème est
qu'il n'y a pas d'animation. Voyons donc comment nous pouvons le faire. Cliquez sur les bras. Vous pouvez voir qu'au lieu d' utiliser une seule animation
à jouer, nous pouvons lui dire d'utiliser un plan
d'animation Et avec le plan
d'animation, nous pouvons décider de l'animation
à jouer, n'est-ce pas ? Donc, pour ce faire, je veux
aller dans le tiroir de contenu, aller dans
le dossier Blueprint, et ici, cliquer avec le bouton
droit, aller dans Animation et créer un
plan d'animation, Pour lequel, nous voulons créer un plan d' animation pour
SK Manikin Arms Sélectionnez donc cette
création de tête et je voudrais l'appeler ABP pour Animation
Blueprint FPS,
n' Ils cliqueront dessus pour l'ouvrir. Voici donc notre plan
d'animation. Et dans notre plan d'animation, nous avons un aperçu
qui
nous montre ce que cela est lié
à Output pose ce moment, c'est à Apos, il ne lui arrive
rien Nous pouvons aller dans Asset
Browser et trouver, par
exemple, les bras inactifs, n'est-ce pas ? Il suffit de le glisser-déposer et de le
connecter comme ceci. Maintenant, si vous aviez compilé, vous pouvez voir qu'il
ira à la pose IDL. Et sachez qu'avec cela, si
vous allez sur nos BPFP,
cliquez sur les bras, nous pouvons décider du plan d'
animation C'est ce qu'on appelle ABP FPS, non ? Sachez qu'une fois cela fait,
si nous renversons le jeu, ce sera exactement comme avant, il jouera l'
animation inactive pour nous. Et si on déménage, rien ne
se passe, n'est-ce pas ? Maintenant, l'étape suivante consiste à choisir l'animation
à jouer. Et pour y parvenir,
nous voulons vérifier la vitesse ou la vélocité
de notre personnage. Par exemple, si c'est 250, jouez à cette animation de promenade, n'est-ce pas ? Mais si c'est 600, jouez à cette animation de sprint. Et si la vitesse est nulle,
lancez l'animation inactive, non ? Par exemple, si j'y connecte l'animation de la marche
et que je compile la tête. Non, vous pouvez voir qu'il
diffuse l'animation de la promenade. Mais le problème, c'est
qu'il jouera en même temps, et après cela, vous pouvez
voir qu'il restera ici. C'est pourquoi nous n'avons pas
activé l'animation en boucle. Activez donc l'animation en boucle une
fois cette tête compilée, vous pouvez voir qu'elle sera
jouée en boucle. Et maintenant, vous pouvez voir que nous avons
une animation en boucle. Maintenant, si vous renversez le jeu, il jouera toujours
l'animation de marche. Peu importe que vous
marchiez ou couriez, jouer cette animation, n'est-ce pas ? Non, nous ne voulons pas le
faire comme ça. Nous voulons utiliser ces
trois animations et les mélanger. Ainsi, chaque fois que la
vélocité est nulle, nous jouons l'animation inactive. Et chaque fois que nous commençons à marcher, nous passons doucement
de l'inactivité à la marche. Et chaque fois que nous maintenons la touche gauche enfoncée , passez
doucement de l'
animation de marche à l'animation de sprint. Si nous connectons l'animation du
sprint et activons l'
animation en boucle que j'ai compilée, vous pouvez voir qu'il s'agit de l'
animation pour courir. C'est ça. Voyons maintenant comment
nous pouvons faire la prochaine vidéo.
10. 09 Obtenir la vitesse du personnage: Non, pour décider de
l'animation à jouer, nous devons connaître la
vélocité de notre personnage. Et comment nous pouvons le faire, nous
pouvons le faire dans Event Graph. Dans le graphique des événements, nous pouvons obtenir l'événement de début de partie en recherchant l'événement de
début de partie, n'est-ce pas ? Et nous pouvons utiliser ce propriétaire
de Try Get Pan. Si vous ne l'avez pas
et qu'il est supprimé, recherchez
simplement le propriétaire de Try
Get Pawn C'est ça, non ? C'est facile Et nous voulons le convertir
en FPS, non ? BPFP pour que nous puissions en déduire la
vélocité, non ? Pour faciliter les choses, je veux cliquer avec le bouton droit de la souris ici, le
promouvoir en tant que variable, et je veux l'appeler BPFP C'est ça, et mets-le ici. Maintenant, dans l'animation de mise à jour, ce que je veux faire, c'est obtenir ce BPFPS Et tout d'abord, je veux
vérifier si c'est valide. Il est très important de
vérifier s'il est valide. Et après avoir vérifié
si c'est valide, nous pouvons en déduire la
vélocité. Alors, obtenez de la vélocité. Il suffit de rechercher get
loci. C'est ici. Tu peux l'obtenir comme ça. Cela dit, je veux en
connaître la longueur. Recherchez la longueur,
la longueur du vecteur X et Y, car avec cela, nous voulons faire passer la
marche au ralenti et à la course à pied. Il est au sol,
c'est pourquoi j'utilise X et Y. Maintenant, je peux cliquer dessus avec le bouton droit de la souris, transformer en variable et
je peux le réduire en vitesse, n'est-ce pas Une fois cela fait,
connectons-le comme ceci. Et je veux utiliser
un test
d'impression ici pour le montrer, non ? Il suffit de le connecter comme ça. Maintenant, je
voudrais revenir à graphique animé et connecter l'une
de ces animations à ici Peu importe
lequel, c'est juste pour tester. Retournez au graphique des événements. Nous voulons montrer la vitesse,
non ? Donc, jeu Runo. À l'heure actuelle,
vous pouvez voir que la vitesse est nulle. Si nous vous l'avions dit, la vitesse avoisinerait les 250. Et si nous maintenons la
touche gauche sur le clavier, elle atteindra une valeur
proche de 600, n'est-ce pas ? Maintenant, vous pouvez voir que nous intégrons la
vélocité ou la vitesse de notre personnage
dans notre plan d'animation Sur cette base, nous voulons
décider de l'animation
à jouer.
11. 10 Espaces de mélange: Maintenant, dans notre plan d'animation, nous savons quelle est la vitesse
de notre personnage, n'est-ce pas Sur cette base, nous voulons décider de l'animation
à jouer. Pour ce faire,
il existe plusieurs moyens. Une solution consiste à le faire
avec des machines d'État, une autre à le faire
avec des espaces Blender. Je trouve que Blender
Spaces est bien meilleur. Donc, pour ce faire,
je veux aller dans tiroir de
contenu et je veux
aller dans le dossier FPS. Et ici, cliquez avec le bouton droit sur Accéder au nouveau dossier et
créez un nouveau dossier, et je veux l'appeler
animations, non ? Oh, cliquez dessus pour l'
ouvrir ici. Cliquez avec le bouton droit sur Accéder à l'animation, et ici, descendez jusqu'à ce que vous atteigniez l'
espace du mixeur. Cliquez dessus. Il vous indiquera pour lequel vous souhaitez créer
un espace mixeur. Je veux le faire pour S
Mankin Arms, non ? On l'appelle BS pour
mélanger les espaces. Marchez, courez. OK. Je vais cliquer
dessus pour l'ouvrir. Comme vous pouvez le voir,
il y a le détail des actifs ici et
nous avons un graphique ici. Donc, ici, nous pouvons ajouter de
l'animation à cela, non ? Par exemple, si je prends l'
idole et que je la place n'importe où, vous pouvez voir qu'elle diffusera
l'animation inactive. Il existe également un axe horizontal
et un axe vertical. Nous pouvons les nommer et les utiliser. Par exemple, l'axe
horizontal, je veux aller ici et changer
son nom de non en speed. OK ? Et en fonction la vitesse de notre
personnage qui est comprise entre 0 et 600, nous voulons décider de
l'animation à jouer C'est ça, non ?
Non, par exemple, cette animation qui est destinée au
ralenti à la vitesse zéro, nous voulons qu'elle se produise, n'est-ce pas ? Alors mets-le à zéro,
et celui-ci à zéro, tu peux aussi
le mettre à zéro. Donc, si la vitesse est nulle, l'animation inactive sera jouée. Et utilisons simplement Walk maintenant. Cliquez sur cette promenade. Quand voulons-nous que cette marche ait lieu lorsque la vitesse est de 250 ? Et ce non, on peut aussi le
mettre à zéro. Maintenant, comment pouvons-nous le tester ? Si vous maintenez le contrôle,
vous pouvez voir, je peux changer la vitesse et
savoir que lorsque nous atteindrons 250, vous pourrez voir que c'est clairement
l'animation de la marche. Et c'est un mélange entre les deux. Vous pouvez voir à quel point c'est
beau. Maintenant, nous pouvons également ajouter le
sprint ici, par
exemple, et cliquer dessus. Et maintenant, nous voulons parler de cette animation destinée au sprint ou
à la course Je veux que cela se produise
à la vitesse 600, et nous pouvons également
mettre cela à zéro. Non, si vous maintenez le contrôle
et que vous le testez, si le SPD est nul, l'animation inactive sera jouée Et si le SPD est de 250, il diffusera l'animation de marche, et si la vitesse est de 600, il jouera l'animation de course, et vous pouvez voir que c'est génial
, non ? C'est ça. Nous voulons
utiliser cet espace du plenda. Assurez-vous donc de
tout enregistrer et de savoir que dans notre plan d'animation,
nous pouvons passer à un graphique animé, au lieu d'utiliser le, nous pouvons utiliser BS Wakron car nous avons créé un
espace de mixage pour C'est pourquoi l'espace du mixeur
sera ajouté ici. Nous pouvons simplement le glisser-déposer
et le connecter à OwoodPose. Il a besoin d'une variable
de vitesse, nous pouvons simplement l'obtenir à partir des variables et le
connecter à ici. Maintenant, si vous appuyez sur
compiler par défaut, l'animation sera inactive. Maintenant, si vous
parcourez le jeu, vous pouvez voir qu'il s'agit d'une animation
inactive. Si vous marchez, vous pouvez voir qu'il diffuse
l'animation de marche. Et si vous maintenez la touche Shift enfoncée, vous passez à
l'animation de sprint ou à l'animation d'exécution, et vous pouvez voir que tout est beau. Et maintenant, encore une fois, il
va repartir en marche, et après cela, si nous restons, il passera à l'
animation inactive, n'est-ce pas ? On peut faire plein de
choses avec ça. Vous pouvez voir que lorsque je fais des
tests ici, lorsque je modifie la valeur, cela prend un
peu de temps. Il y a deux croix ici, et l'une d'elles est loin
derrière la suivante. Vous pouvez voir que c'est pour les
mélanger, non ? Comment pouvons-nous changer cela ? Nous
pouvons modifier cette heure de déménagement. Par exemple,
disons simplement arbre à points, n'est-ce pas ? Et maintenant, si vous gardez le contrôle, vous pouvez voir qu'il
faudra plus de temps pour nous rejoindre et atteindre la principale
croix verte. Tu peux le voir. Non, nous pouvons modifier
ce type de déménagement pour, par
exemple, « es in » et « ease out ». Et je sais que ça aura
l'air bien mieux. Maintenant que c'est fait.
Permettez-moi de changer cela en 1 seconde. C'est beaucoup. Il vous faudra 1 seconde pour
atteindre la croix verte principale, mais vous pouvez voir la
différence. Laissez-moi passer en revue le jeu
et savoir si vous
marchez, vous verrez qu'il vous
faudra un peu de temps, 1 seconde pour atteindre
l'animation de marche. Et si nous essayons de courir, il faudra 1 seconde
pour commencer à courir, et vous pouvez voir à quel point c'est
beau de
se fondre entre les deux. Mais cette valeur de 1
seconde est trop élevée. Mettons-y juste un point. Vous pouvez décider ce que vous
voulez y faire, mais je pense que c'est
largement suffisant. Tu peux voir. Nous pouvons aller courir
, nous pouvons recommencer à marcher et nous remettre au ralenti. Et je trouve que ça a l'air génial. Maintenant que c'est fait, nous pouvons accéder à ABP FBS, accéder à Event Graph et supprimer cet anneau d'impression parce que
nous n'en avons plus besoin
12. 11 Interface utilisateur à cheval: Non, il est temps d'ajouter une interface utilisateur. Voyons comment nous pouvons le faire. Pour ce faire, je veux accéder au tiroir de contenu du dossier FS. Je veux cliquer avec le bouton droit de la souris, créer un nouveau dossier pour tous nos éléments
d'interface utilisateur, et je veux l'appeler digits. Alors cliquez avec le bouton droit ici, descendez jusqu'à ce que vous atteigniez l'interface utilisateur et descendez et
créez un plan de widget, le type que vous souhaitez
créer s'appelle widget utilisateur, alors cliquez dessus et je
veux appeler le WBP Je veux créer
le réticule. Je vais cliquer dessus pour l'ouvrir et je sais ici
que la première chose à faire est de descendre et d'ajouter
un panneau Canvas, descendre et d'ajouter
un panneau Canvas car pour le panneau Canvas en forme de
réticule,
il est plus facile de travailler avec, n' Non, c'est la prochaine chose
que je veux faire. Je veux créer des cheveux, des croix avec juste des bordures. Je ne veux utiliser aucune image. Alors allez vers le haut et glissez et déposez
une bordure à l'intérieur ici. La première chose que je veux faire, d'en changer
l'ancre pour qu'elle soit au milieu. Vous pouvez voir que l'ancre est
actuellement au milieu. Et si vous changez les positions
X et Y à zéro, vous pouvez voir que cela les
placera au milieu. Mais cela l'alignera dans le coin supérieur gauche, et nous pouvons modifier
cet alignement. Dans cet alignement,
on peut dire qu'il
s'aligne par le
point d'ancrage au milieu. Et comment nous pouvons le faire,
nous pouvons mettre 0,5 et 0,5 pour X et Y pour l'alignement, donc cela le placera au milieu. Ce que signifie
cet alignement, c'est X zéro. Celui-ci est X 0,5, et celui-ci est X un. Et encore une fois, celui-ci est Y zéro. Celui-ci est Y 0,5 et
celui-ci est Y un, non ? N'oubliez pas cela parce que
nous voulons beaucoup l'utiliser. Maintenant, pour ce qui est de sa taille, je voudrais
le mettre sur cinq ou cinq. Comme ça, je veux que
ce soit plus croisé, mais je veux
le changer pour l'améliorer Passez à l'appréhension, aux pinceaux, et ici, changeons simplement la couleur de teinte en Donc le vert devrait être zéro, bleu devrait être zéro,
et c'est tout. Non, ce sont nos avantages, mais un
simple carré n'est pas bon. Je veux le faire tourner. Encore une fois, cliquez dessus, passez aux dessins ici et
changez-le en boîte arrondie. C'est ça. C'est magnifique. Voyons maintenant comment
nous pouvons l'utiliser. Pour l'utiliser, je veux aller sur
BPFPS et ici, au début du jeu, je veux créer ce plan de
widget Vous pouvez voir que je suis chez
Bigmplay et ici, je veux créer ce
widget, créer un widget Recherchez simplement Create Widget. Le widget que vous souhaitez
créer s'appelle WBPCrossaer. Ensuite, je
veux cliquer dessus avec le bouton droit de la souris, promouvoir en tant que variable, et je veux l'appeler W
BP, cross hair, c'est vrai. Ensuite, je veux l'ajouter
à la fenêtre d'affichage, ajouter à la fenêtre d'affichage, afin que nous puissions le
voir directement dans notre jeu C'est ça. Maintenant, avec ça, si vous renversez le jeu, vous pouvez voir que le point
rouge est là. Ça a l'air génial,
et ça marche bien. Magnifique. Mais je voudrais
y ajouter d'autres éléments. Voyons voir, nous pouvons le faire ensuite.
13. 12 Ailes à chevalière: Ensuite, je veux améliorer un
peu
ce réticule. Pour ce faire, je veux passer
au réticule WBP ici,
et encore une fois, je veux
utiliser une bordure, Avec cette bordure, par défaut, elle sera placée en haut ici. Je veux cliquer dessus et changer nouveau
le point d'ancrage
au milieu et changer la position X et position Y à zéro
pour être au milieu. Maintenant, ce que je veux faire, est changer la taille. Par exemple, la taille Y. Je veux que
ce soit 5 et la taille X. Restons-en à 20 Je pense que c'est une bonne chose. Non, je
veux aussi qu'il soit rond. Alors dessine, je veux
le changer en boîte arrondie. Ça a l'air bien mieux, non ? Et je veux l'aligner avec le milieu
du Y, comme ceci. Ce point que nous avons
ici, ce point ici. Cliquez donc dessus et modifiez l'alignement du
Y 2.5. C'est ça. Non, nous pouvons le positionner
un peu mieux. Par exemple, dix unités
vers la droite. C'est ça. Non, c'est un croisement, mais je veux le dupliquer
en le sélectionnant,
Control D, pour le dupliquer Tout d'abord, je veux changer la
position Y à zéro parce que je
veux placer cette aile, autre aile que
nous copier/coller le côté gauche exactement comme ceci,
mais en miroir de ce côté. C'est pourquoi je veux changer l'alignement dans la
direction x en un, afin qu'il aille à
cette partie, n'est-ce pas ? Et pour la position X, je veux la changer
en moins dix. Donc, de ce point à
ce point, il y a dix, et de ce point
à ce point c'est moins dix. C'est ça. Ou le réticule est prêt. Je trouve que c'est magnifique. Non, passons juste en revue le jeu. Vous pouvez le voir ou le traverser.
Ça a l'air magnifique. Maintenant, ce que je veux changer, sélectionner les deux, passer à la
couleur
de teinte et en changer
l'alpha, 2.6, par exemple. Je pense que de cette façon, c'est beaucoup mieux. Si vous écrasez le jeu,
non, vous pouvez le voir. Je trouve que c'est magnifique. Non, il y a une chose que je voudrais
changer ici, vous pouvez voir, si vous regardez le
positionnement de notre traverse, c'est qu'
il est un peu surélevé Si nous tirons, cela
n'a pas l'air bien parce que notre arme semble un peu abaissée. C'est pourquoi je
veux sélectionner ces trois bordures,
donc maintenez le contrôle,
sélectionnez-en trois
et modifiez le décalage
pour qu' il soit saisi par 50, n'est-ce pas ? Donc ça baisse un peu. Et maintenant, si vous
écrasez le jeu, non, vous pouvez voir qu'il est plus
aligné. C'est magnifique. Non, notre traversée est terminée.
14. 13 Ciblage: Sachez que nous avons un
réticule. Ce que je veux faire, c'est être capable de viser, à fois avec le réticule et
avec la lunette Donc, pour ce faire,
laissez-moi d'abord enregistrer ceci. Nous n'en avons pas besoin. Sauvegardez ceci, fermez-le. Nous n'en avons pas besoin. Pour viser, nous avons également besoin d'
une entrée. Donc, allez dans un premier dossier, allez dans la saisie, cliquez avec le bouton droit de la souris ici,
allez dans la saisie et
créez une action de saisie, et je veux l'appeler I aim,
n'est-ce pas ? Cliquez dessus, ouvrez-le. Le booléen numérique est largement
suffisant . Tu
peux juste le fermer. Accédez au contexte de mappage d'entrée, créez un nouveau mappage. Permettez-moi de maintenir la touche Maj enfoncée
, de cliquer ici et de cliquer à nouveau. Cela le soulèvera de
manière effondrée parce que c'est un gâchis. Cliquez ici, nous voulons
cartographier l'objectif, à droite. Ensuite, cliquez ici
et appuyez sur le bouton le plus à droite. Avec le bouton le plus à droite, nous
voulons pouvoir viser, non ? Accédez aux BPFP maintenant ici,
trouvez une pièce ici et
cliquez avec le bouton droit de la souris pour rechercher IA Et cela fait, chaque fois que
nous appuyons sur le bouton le plus à droite, cela commence à se produire Et chaque fois que nous relâcherons le bouton le
plus à droite, cette opération sera terminée. Et ce que je
veux en faire, créer une variable
et je veux l'appeler « aim , n'
est-ce pas ? Et je veux
les installer ici. Chaque fois que nous appuyons sur le bouton le plus à
droite, nous voulons dire que nous visons. Et chaque fois que nous
relâchons le bouton le plus à droite, alors contribuez à le coller, nous voulons les rendre faux. Et la prochaine chose que je veux faire chaque fois que nous visons le plus
à droite en bas, utiliser la lunette, n'est-ce pas Donc, pour cela, nous n'avons plus besoin
du réticule. Je vais donc prendre le
réticule comme celui-ci, glisser-déposer et
régler la visibilité dessus Recherchez la visibilité du set. Et si nous visons, nous voulons régler la visibilité du réticule principal de manière
à ce qu'il ne soit pas dirigé,
n'est-ce pas ? Contrôle C, on le
colle ici. Et chaque fois que nous relâchons
le fond le plus à droite, nous le rendons visible. Maintenant, si vous aviez
compilé et exécuté le jeu,
vous pouvez voir si j'appuie sur le bouton le
plus à droite,
le widget disparaîtra, le widget disparaîtra, et chaque fois que nous relâcherons le bouton le plus à
droite, le widget sera là, n'est-ce La croix s'en va. Maintenant, comment nous
voulons utiliser le scope. Pour ce faire,
il existe un oscilloscope, un maillage statique que vous pouvez utiliser. heure actuelle, si vous regardez cela, vous pouvez voir qu'il n'
y a aucune marge de manœuvre. Pour ajouter le maillage
statique de la portée à Ogon, nous pouvons simplement cliquer
sur Ogon car
Ogon est un maillage squelettique.
Il a quelques os. Nous pouvons y connecter des
objets, non ? Donc, ici, ajoutez un msh statique, recherchez un maillage statique
et ajoutez le maillage statique et ajoutez le C'est ce que j'appelle
une lunette, c'est vrai. Et le maillage statique que vous
souhaitez utiliser s'appelle scope, mais vous pouvez le voir,
nous le mettrons ici. C'est pourquoi nous voulons le mettre
sur une alvéole ou sur un os. Donc, en cliquant ici, il
y a un socket de scope,
un socket de scope, n' est-ce pas ? Si vous le mettez là, non, vous pouvez voir que la lunette sera là et que nous
pourrons l'utiliser, n'est-ce pas ? Ça a l'air vraiment génial. Mais comment voulons-nous modifier
la position de l'Ogun ou de la caméra pour qu'il passe à la lunette pour examiner la
lunette, comment pouvons-nous le faire ? Pour cela, il y a l'animation. Laisse-moi te le
montrer. Si vous allez dans Assets, passez aux armes, l'animation, non ? Nous avons des armes. Visez le haut, non ? Il y
ira avec cette taille. Tu peux le voir. Il le placera
devant la caméra. Ça a l'air vraiment génial.
On peut utiliser ça, non ? Mais comment nous pouvons l'utiliser, nous
devons utiliser un
plan d'animation pour cela Il est maintenant temps de vous
montrer comment vous pouvez utiliser
cette animation avec les bras en l'air. Nous pouvons donc examiner le champ d'application
des machines immobilières. Voyons comment nous
pouvons le faire ensuite.
15. 14 Commencer à cibler: Sachez que dans notre plan d'
animation, nous voulons utiliser
cette animation active pour placer la lunette
devant la caméra Pour ce faire,
nous devons d'abord savoir dans notre plan d'animation
si vous visez ou non Donc, allez au
graphique des événements, et ici, nous obtenons la vélocité, nous pouvons également obtenir sa visée. Donc, recherchez Get I aiming et nous pouvons simplement
le promouvoir en variable, n'est-ce pas ? Il suffit de le mettre ici
et de savoir que nous avons accès
à Is aiming dans notre plan d'
Anmissionblueprint Passez maintenant à un graphique animé. Nous ne voulons pas faire ce genre de
choses. Je peux juste les couper, non ? Vous pouvez voir si nous
irons à nouveau à Apos. Non, je veux ajouter une machine
immobilière, non ? Ajoutez une machine immobilière,
et je veux l' appeler locomotion, d'accord Et avec cela, je veux
relier ces deux éléments ici. Avec cette machine immobilière, nous pouvons décider à tout moment l'animation
à jouer, n'
est-ce pas ? En créant des domaines. Ajoutez donc le domaine ici, et je dirais que
c'est Walk, Run, Idle. Ils
seront donc tous là, non ? Et entrons simplement à l'intérieur
et contrôlons de coller l'espace du mixeur
que nous avons ici l'espace du mixeur
que nous avons
découpé et connecté
comme ça. Par défaut, lorsque
nous parcourons le jeu, le premier domaine
connecté à l'entrée sera
toujours actif, n'est-ce pas ? Donc, juste avec ça, vous pouvez voir que tout devrait
fonctionner comme avant. La marche devrait fonctionner, la course à pied devrait fonctionner. Tout devrait fonctionner, non ? Comme avant. Nous
n'avons rien changé. Mais avec cette machine étatique, nous pouvons décider d'autres successions. Par exemple, ajoutons
simplement un autre este. Je veux l'appeler « commencer à viser ». Hein ? Et en
commençant par viser l'intérieur, nous voulons jouer les bras en l'air. Alors, allez dans Asset
Browser ici et trouvez les objectifs en l'air, pas les bras en l'air. Alors saisissez ces objectifs et
connectez-les à ici comme ceci. Maintenant, le plus important, c'est que l'animation en boucle pour celui-ci ne devrait pas être activée du tout, non ? Juste avec ça, il y a une règle. Avec cette règle, nous devons décider à quel moment commencer à viser. Donc, par exemple,
allons-y. Nous pouvons utiliser son objectif ici. Donc, si vous
visez, vous devriez commencer par viser, non ? Vous pouvez le survoler Il dit : Si vous visez, vous devriez vous diriger vers une
étoile qui vise, n'est-ce pas ? Non, compilons, exécutons. Maintenant, avec ça. Si je maintiens le bouton le plus droit, vous pouvez voir qu'il a joué
cette animation, n'est-ce pas ? Mais pour le moment, le
positionnement de notre caméra des bras n'est pas bon, donc nous devons corriger cela, n'est-ce pas ? Donc, pour résoudre ce problème, nous devons cliquer sur les bras et
le faire avec ça. Les valeurs que j'ai trouvées
sont Z quatre -168,27, non ? Vous pouvez simplement jouer
avec ces valeurs. Et pour le Y, je
veux mettre 1.4, et testons avec ça, assurant de sauvegarder et de compiler. Maintenant, si vous maintenez
le bouton le plus à droite, non, vous pouvez voir
que cela fonctionne correctement. Mais ça ne reviendra pas, non ? Cela n'arrivera qu'
une seule fois. Nous allons régler ce problème. Mais vous pouvez voir que c'est
censé être comme ça. Oh jeu, c'est censé être comme
ça. Maintenant, si vous maintenez
le bouton le plus à droite, vous pouvez voir, nous pouvons voir à travers le
D ou le réticule La prochaine chose que je vois ici, si je maintenais le bouton le plus à droite, vous verrez que le point rouge n'
est pas dans la bonne
position, n'est-ce Une façon d'y remédier
est d'accéder à un oscilloscope et de modifier son
positionnement, par
exemple en l'
amenant un
peu vers la droite , par exemple 0,1, n'est-ce pas ? Un petit peu. Non,
courons. Et maintenant, vous pouvez voir qu'il
est exactement au milieu. Ça a l'air génial
et magnifique. Mais nous allons viser, mais nous n'allons pas revenir en arrière. Voyons comment nous pouvons résoudre ce problème.
16. 15 Cibler des animations: Non, nous jouons à la visée initiale, elle
démarrera et la mettra dans
la bonne position. Mais lorsque nous relâchons
le bouton le plus en bas à droite, il ne revient pas en arrière, et
c'est un problème. Pour résoudre ce problème, rendez-vous sur ABP FBS. Et ici, une fois la
visée initiale terminée, nous voulons créer un autre état, et je veux l'appeler visée. Donc, avec elle, il devrait y avoir une marche à
visée inactive
que vous pouvez voir ici. Les bras sont braqués au ralenti. En cas de doute, cliquez
dessus, vous pouvez le voir. Les bras visent le repos, les bras visent la marche. Vous pouvez voir que nous avons des
animations pour ceux-là, n'est-ce pas ? Mais lorsque cette visée
doit avoir lieu, nous pouvons simplement indiquer cette règle
chaque fois
que l'animation dans laquelle nous décidons de
commencer à viser sera automatiquement
envoyée à Amin, n'est-ce pas ? Donc, ici, nous pouvons simplement
cliquer dessus et choisir règle
automatique basée sur le lecteur de
séquence, n'est-ce pas ? Alors, vérifiez ça. J'irai
automatiquement chez Amin. Et à l'intérieur, pour viser le non
, utilisons simplement les bras pour viser au ralenti. Il suffit de le mettre là. Cette fois, ça devrait être en boucle. N'oubliez pas de le mettre en boucle. Non, nous allons simplement
compiler en tête. Retournez. Et pour que vous le voyiez mieux, je voudrais passer en revue le jeu, rendre petit comme ça. Ensuite, il suffit
de cliquer
ici et de choisir l'
instance afin que vous
puissiez voir quel domaine
joue. Et une fois cela fait. Maintenant, si je tiens
le bouton le plus à droite, vous pouvez voir qu'il est allé
au domaine d'Amin, n'est-ce pas ? Tout d'abord, il jouera
le rôle d'Amin de départ, puis il
passera à l'état d'Amin. Regardez-le encore une fois. Vous pouvez voir qu'il y ira
automatiquement. Mais la prochaine chose
que vous voulez faire, chaque fois que nous relâchons le bouton Most avec le bouton
droit, nous voulons revenir à Walk
Run Idle, tout, n'est-ce pas ? Encore une fois, nous pouvons simplement nous
connecter d'ici à ici. Cela nous donnera des règles. Et en effet, nous pouvons juste
vérifier que je vise, non ? Nous vérifions que la visée n'était pas vraie. Recherchez donc Not Bullion. Si nous ne visons pas, vous pouvez passer de la visée à la marche,
à la course et au ralenti, n'est-ce pas ? Juste sur ce, je veux
que tu voies tout. Alors permettez-moi de réduire ce jeu
et de l'exécuter. Non,
tu peux tout voir. Si je maintiens le bouton le plus à droite, vous pouvez voir qu'il ira à Amin jusqu'à ce que je maintienne le bouton le
plus à droite, il restera sur l'Amin
et quand je le relâcherai, vous pouvez voir qu'il
reviendra à marcher au ralenti Vous pouvez voir que ça a l'air génial. Mais l'un des problèmes que nous
avons ici, c'est que d'abord, lorsque nous marchons et que nous
visons, une autre animation doit être diffusée. Mais en ce moment, il joue
le rôle de l'idole qui vise, non ? Et lorsque nous visons et
maintenons la touche, nous sprintons. Encore une fois, nous devons
jouer une autre animation. Nous ne devrions pas être capables de viser
lorsque nous sprintons, n'est-ce pas ? Nous allons corriger tout cela
et ensuite
17. 16 Objectif de marche: Non, nous visons et nous
commençons à tout viser. Mais lorsque nous marchons, nous ne jouons pas à la marche visée. Et lorsque nous courons, nous n'annulons pas le ciblage. Voyons comment nous pouvons résoudre ce problème. Tout d'abord, chaque fois que nous visons et que nous marchons,
nous voulons jouer à une
animation différente parce que nous avons bras d'animation
différents.
Visez au ralenti et les bras visent à marcher. Et comme je veux l'utiliser, je veux utiliser des espaces mélangés Allez donc dans le dossier FPS, allez dans les animations et cliquez avec
le bouton droit ici, passez à l'animation et créez un espace de fusion pour notre squelette de mannequin
C. Je veux l'appeler visée
BS, non ? C'est ça. Je vais cliquer
dessus pour l'ouvrir. Non, en fonction de la vitesse ou
du personnage, nous voulons décider de l'
animation à jouer, n'est-ce pas ? Donc, pour ce faire, je veux
utiliser la valeur horizontale. Donc, en valeur horizontale, je veux à nouveau l'appeler
vitesse, non ? Et comme vous le savez, parce que nous avons AM idle and aim walk
et que la marche est de 250. Donc, cette valeur est la valeur XoS minimale, je veux la mettre sur zéro, et la valeur maximale de la vitesse, je veux la mettre sur 250, non ? Vous pouvez donc voir de zéro à 250. Non, je veux prendre ces bras,
les mettre ici,
cliquer dessus, et je veux
dire que cliquer dessus, et je veux chaque fois que la vitesse est nulle,
cette animation, nous
voulons qu'elle se produise Armes et oisifs, non ? Nous pouvons également mettre
zéro pour aucun ici. Mais quand nous marchons, alors que le dragon laisse tomber ses bras
et marche, cliquez ici. Quand voulons-nous que ces
bras et cette marche apparaissent lorsque la
vitesse est de 250, n'est-ce pas ? Et on peut mettre
ça zéro à zéro. Maintenant, si la vitesse est nulle, il jouera le bras au ralenti. Mais si la vitesse est de 250, il jouera Arms AM Walk et il se fondra vraiment bien entre
les deux .
Assurez-vous d'économiser. Accédez à ABP FBS en état de
visée ici. Au lieu de simplement l'utiliser, je veux utiliser BS viser correctement Dragon
Drop, le mettre ici, et cela a aussi besoin de vitesse. Alors associez la vitesse à cela. C'est ça. Tête. Maintenant, si vous renversez le jeu,
voyons ce qui va se passer. Si je l'agrandis, si nous sommes au ralenti
et que la vitesse est nulle, vous pouvez voir que cela joue
au ralenti, n'est-ce pas ? Mais si nous marchons, vous pouvez voir que non, c'est jouer à la visée,
et ça a l'air génial. Si vous relâchez le bas à droite, vous pouvez voir que cela fonctionne correctement. Et si nous allons voir Amin, vous pouvez voir que cela
fonctionne bien également. Ça a l'air génial, non ? Mais le problème pour le
moment, c'est que si je maintiens la touche
Shift pendant que nous visons et marchons, voyons
ce qui va se passer. Tu peux voir. Encore une fois,
il s'agit de viser et jouer l'animation de
marche à visée. Nous ne voulons pas que cela se produise. Alors, comment pouvons-nous résoudre ce problème ? Nous voulons vérifier la vitesse. Si la vitesse est supérieure à 250, elle devrait quitter la
visée, n'est-ce pas ? Encore une fois, je veux
faire glisser et dessiner partir de cet aimingtd
pour marcher au ralenti Créez une autre règle en
visant à marcher et à courir. Et avec ça, je
veux vérifier la vitesse. Si la vitesse est
supérieure, par exemple, 255 ou 250, cela signifie
qu'il faut passer de visée à la marche, au ralenti, n'est-ce pas ? Juste avec ça, si
vous aviez compilé, lancez-le. Lorsque nous visons, avancez, vous pouvez voir que l'
animation est bonne. Si nous maintenons la touche Shift enfoncée, vous
pouvez voir le problème. J'essaie de me remettre à
courir, mais encore une fois, vais
recommencer à viser. Qu'est-ce qui se passe ? Laisse-moi aller à la machine à empiler , la
mettre ici
et la lancer à nouveau. Faites-le un petit comme celui-ci et choisissez une instance afin que vous puissiez mieux le
voir et le savoir ici. Vous pouvez voir qu'il va
viser . Lorsque vous marchez,
encore une fois, il vise. Mais si je maintiens la touche Maj enfoncée, vous pouvez voir qu'il va
tourner au ralenti et qu'après
cela, il recommencera à
viser, n'est-ce pas ? B vise, car il
va commencer à viser. Donc, à l'intérieur, nous voulons vérifier deux choses. Si la vitesse est
inférieure à 250 ou 255 et que la visée e est vraie, vous pouvez passer du stade de marche au
ralenti à celui de commencer à viser. Nous devons donc vérifier la vitesse
pour commencer à viser, non ? Donc, pour cela, je vais obtenir
la vitesse et vérifier si elle est inférieure, par
exemple, à 255. Et je veux vérifier
les deux,
afin de pouvoir le vérifier
avec un booléen Ce booléen, ce qu'il fait, vérifiera les deux Et si les deux sont vrais, on passera du stade de marche au ralenti
à celui de visée, non ? Non, compilons,
exécutons le jeu, et ici, passons à Locomotion, que vous
puissiez le
voir ici également Non, si je vise, vous pouvez voir qu'il va
commencer à viser et à viser. Après ça. Si nous marchons à nouveau, il continuera à viser. Mais si vous maintenez la touche Shift enfoncée, vous pouvez voir que non, il va
marcher, courir et tourner au ralenti. Et si je relâche la touche Shift, vais commencer à
viser et ensuite viser et
à faire une boucle, n'est-ce pas ? Encore une fois, vous pouvez voir à quel point c'est
beau. Maintenant, la prochaine chose
que je veux faire, aller ici et de modifier
ce temps de déplacement 2.3, par exemple, pour qu'il ait une bien meilleure
apparence. Et ce
type de déménagement, je veux le dire assouplissement », est révolu. C'est ça. Je pense que de cette façon,
c'est beaucoup mieux. Non,
revoyons le jeu à nouveau. Non, ici, nous sommes
en mode Walkun Inactif. Nous sommes en train de marcher en ce moment. Nous sommes en train de viser. Et après cela, nous nous lançons
dans le sprint, non ? Vous pouvez voir que tout
fonctionne bien. Ça a l'air magnifique.
18. 17 Monts d'anime: Non, la prochaine chose
que vous voulez faire, être capable de
tirer ou d'utiliser une arme, mais il faudra
un peu de temps et quelques vidéos pour
le faire complètement. Donc, pour ce faire, nous avons d'
abord besoin d'une contribution. Chaque fois que nous appuyons sur
le bouton le plus à gauche ou sur le clavier, nous devrions tirer avec
notre arme, non ? Accédez au dossier FPS, allez à la saisie,
cliquez avec le bouton droit de la souris ici, allez à la saisie, passez à l'action de saisie
et appelez-le iAFre, n'est-ce pas ? Tu n'as pas besoin de changer
quoi que ce soit ici. Vous pouvez simplement le fermer, accéder à
IMC FPS, pour l'y mapper. Encore une fois, vous pouvez maintenir la touche Maj cliquer ici, relâcher la touche
Maj et cliquer ici, vous verrez qu'elle
s'ouvrira normalement. Mais si nous ajoutons une nouvelle cartographie, encore une fois, c'est un gâchis ici
en ce moment. Nous voulons cartographier l'IAFre, choisir iAFre après
avoir développé ce bouton, cliquez ici
et le bouton le plus à gauche y sera automatiquement placé choisir iAFre après
avoir développé ce bouton, cliquez ici
et le bouton le plus à gauche y sera automatiquement placé
.
C'est ça. Assurez-vous d'économiser. Accédez au BPFPS, accédez au graphique des événements Non, nous voulons pouvoir
tirer par-dessus une arme. Je veux aller ici, chercher IA Fire, non ? Et avec cela, chaque fois que
nous appuyons sur le bouton le plus à gauche, cela commence à se produire, et nous voulons tirer avec
notre arme, Mais avant cela, vous devez vérifier auprès d'une branche
si vous visez ou non. Alors connectez en visant à cela. Non, la première chose que
vous voulez faire ici est de jouer à l'animation, mais comment pouvons-nous le faire ? Nous pouvons le faire de nombreuses manières, mais je voudrais vous montrer des montages
d'animation Voyons comment nous pouvons les utiliser. Accédez au tiroir de contenu, accédez aux
actifs, aux animations des bras. Et ici, il
y a de l'animation. Par exemple, les armes à
feu AM et les armes à feu. D'accord ? Sélectionnez donc les deux, cliquez avec
le bouton droit sur l'une d'elles, créez et créez un vintage à
partir de ces animations Maintenant que c'est fait, je veux faire glisser et dessiner les deux
dans des animations à l'intérieur d'un
dossier féroce, puis les y déplacer. Non, passons simplement aux animations. Vous pouvez voir les montages
d'animation. Là-bas. Tout d'abord, nous
voulons tirer avec des armes, non avec des
armes dirigées, n'est-ce pas ? Non, vous pouvez voir qu'il s'agit d'un montage d'animation que nous pouvons
jouer quand nous le voulons. Mais les montages d'animation ont besoin
d'une machine à sous pour y jouer. Chaque
montage d'animation peut donc avoir un emplacement. Par défaut, c'est l'emplacement par défaut, et c'est
largement suffisant pour nous. Et nous pouvons décider
où cet emplacement doit se trouver dans notre plan
d'animation, n'est-ce pas ? Nous pouvons donc y jouer cette
animation. Alors allez dans Animation
Blueprint, allez dans Anmgraph. Et après cette agitation, je veux rechercher l'emplacement
par défaut, non ? Cet emplacement par défaut se situera entre la pose d'Ot Wood
et notre machine à états, et avec cela, nous pourrons jouer
notre montage d'animation. Là-bas. Il sera donc ajouté à toutes les animations que
nous avons ici, n'est-ce pas ? Maintenant, compilons, en toute sécurité, passons à notre FPS. Et ici, si vous ne
visez pas, nous pouvons simplement jouer au montage, non ? Il suffit de jouer au montage. Et ici, tout d'abord, il faut un maillage squelettique sur lequel
jouer de l'animation, afin que nous puissions mettre nos bras, les mettre là, n'est-ce pas ? Ensuite, il a besoin d'un montage pour jouer. Donc, en cliquant ici, nous voulons utiliser Arms Fire Montage,
et c'est tout. Passons simplement à la compilation
et à l'exécution du jeu. Et agrandissez ça. Maintenant, si vous ne visez pas et que vous appuyez le plus à gauche
en bas à gauche, vous pouvez le voir Nous pouvons jouer l'animation du feu. Tu peux le voir.
Ce n'est pas trop, mais ça marche bien. Tu peux voir, cool. Non, lorsque nous
visons, encore une fois, nous voulons faire de
même, donc Control C, Control V pour le coller ici
si c' est vrai, nous visons. Nous voulons jouer le montage AM
Fire, non ? Ouvrons-le
ici, AM Fire Montage. Encore une fois, ce montage AM Fire utilise l'emplacement par défaut,
n'est-ce pas ? Nous pouvons donc simplement utiliser cet emplacement
par défaut pour tout, non ? C'est amplement suffisant. Donc non, ici, testons
ça. Si vous courez et que vous
visez le bouton le plus élevé, non, vous pouvez voir que cela
fonctionne bien également. Donc non, nous sommes une simple animation
pour tirer par-dessus une arme. Et je trouve que ça a l'air génial pour les deux. Cela fonctionne bien.
19. 18 Flash du museau: Non, nous tirons avec une arme et nous
diffusons de l'animation pour elle. Mais non, je veux en faire plus. Par exemple, voyons voir, nous voulons voir où nous nous
dirigeons, n'est-ce pas ? Nous voulons créer des effets
visuels. Nous voulons avoir du son. Nous voulons avoir, par exemple, un gestionnaire
Amo parce qu'il
ne devrait pas être infini, n'est-ce pas ? Pour ce faire, je veux créer une
fonction qui
sera réutilisable afin que nous puissions
l'utiliser où nous voulons. Donc, pour ce faire, je
veux créer une fonction, et je veux l'appeler
tir d'arme, n'est-ce pas ? C'est ça. Maintenant, dans ce tir d'arme, première chose que je
veux faire est de
jouer à l'animation d'Ogun lui-même, car Ogun lui-même
possède une certaine Laisse-moi te le montrer. Nous allons
dans le dossier FPS, dans Asset, Gun et dans
l'animation Gun, vous pouvez voir qu'il y a
deux animations ici. L'un est pour les coups de feu et
l'autre pour le rechargement des armes. Il suffit de
double-cliquer sur l'un d'entre eux. Et vous pouvez voir que
nous avons des coups de feu. Il ne lui arrive rien. Laisse-moi zoomer. Si vous
zoomez simplement ici, vous pouvez voir qu'il y a une animation
ici lorsque nous lançons celui-ci. Il suffit de revenir en arrière
et juste comme ça. Nous voulons jouer cette animation. Donc pour cela, ici, nous pouvons récupérer notre arme. Nous n'avons pas besoin de plan d'
animation pour ce type d'animations Nous pouvons simplement dire jouer à
l'animation, non ? Bien sûr, vous pouvez également
utiliser un plan d'animation pour une arme à feu y ajouter une machine à sous
et jouer à un dessin animé Mais c'est exagéré. Nous pouvons simplement le faire comme ça. Jouez à une animation de coups de feu. Allons-y et choisissons des
coups de feu, d'accord ? Maintenant, avec ça,
voyons comment nous pouvons l'utiliser. Nous voulons l'utiliser
sur les deux. Que nous visions ou non, nous voulons utiliser ce tir d'arme. Fonction.
Connectons-le donc ici et utilisons également
cette fonction ici. Vous pouvez donc voir qu'il est réutilisable. Nous pouvons le faire en même temps et l'utiliser
pour plusieurs endroits, non ? Maintenant que c'est fait,
rien n'est changé. Mais si nous renversons le jeu, vous pouvez voir que nous sommes en train de tirer. On n'y voit rien de
différent, mais il joue en fait de l'animation. Et vous pouvez dire que nous ne montrons rien
avec cette animation. Pourquoi l'utilisons-nous ? Nous l'utilisons pour une raison ou une autre. Si vous passez à l'animation de coups de feu, vous pouvez voir ici que chaque fois que nous tournons, nous
voulons ajouter un son Une façon de le faire, c'est aller ici et de jouer
un son ici. Mais il est vraiment plus facile de jouer un son dans la séquence
d'animation. Nous pouvons lui dire dans quel cadre
le son doit se produire. Dans chaque image, cette
balle devrait s'éteindre, non ? Nous pouvons faire tout
cela ici, et ce sera parfait. Donc, ici, la première
chose que je
veux , c'est ajouter un système Naga Alors cliquez avec le bouton droit ici, ajoutez le système de particules Notify and go and put
play Naga Je veux que cela se produise dès
le début,
et le système Naga
auquel vous voulez jouer s'appelle NS Weapon Fire
Muzzle Flash Rifle,
n' Il suffit de le mettre là. Maintenant, si vous y jouez,
voyons ce qui va se passer. Vous pouvez voir que cela se passe ici à 00, par
exemple. Nous pouvons changer cela en y mettant
un socket nommé. Donc, pour trouver la douille
, il suffit de cliquer
ici pour accéder à un squelette de plus d'arme. Et ici, nous devons jouer à ce
système Muszzle Flash Naugur à bout de souffle ou Et il y a une douille qui
s'appelle muselière. Vous pouvez voir que c'est une pointe d'Ogun. Juste comme ça, nous pouvons
simplement copier cette controverse pour la copier et la mettre ici sous
forme de nom d'os. Maintenant, avec ça, si nous avions
Enter, il l'y placerait. Et chaque fois que nous jouons à ce jeu, vous pouvez voir que cela
se produira au moment du basculement du pistolet. Maintenant que c'est fait, passons en
revue le jeu et tirons. Vous pouvez voir, non, c'est en
train de jouer, non ? Et nous pouvons retourner voir Amin. Dans ce cas, cela
se produit également. Ça a l'air génial, non ? Ensuite, je voudrais
vous lancer ce défi en tant que graphique pour l' éjection
d'obus, n'est-ce pas ? ce que tu essaies de faire.
Nous allons le faire ensuite.
20. 19 Son de tir et éjection d'obus: La prochaine chose que vous voulez faire, éjection de l'obus Pour ce faire,
c'est comme avant. Ici, chaque fois que cette
animation atteint ce point, par
exemple, lorsque
l'obus peut être éjecté, suffit de cliquer avec le bouton droit de la souris ici, d'
ajouter une notification cette fois, jouer à Naga Particle Effect
, de cliquer dessus, et ici, de choisir l'éjection d'obus à feu
d'arme NS Choisis ça. nous pouvons passer à un squelette
et vous pouvez voir qu'il y a une En ce
qui concerne le nom de l'os, encore une fois,
nous pouvons passer à un squelette
et vous pouvez voir qu'il y a une éjection de
coque ici qui
se trouve à la bonne position Nous pouvons donc nous en servir. Ici, nous pouvons simplement
rechercher Shell Eject Maintenant que c'est fait. Vous pouvez voir qu'il y a une éjection d'obus, mais cela se produit
très vite, non ? Donc, avec ça,
sauvegardons, passons à notre niveau, exécutons le jeu
et savons que si vous tirez, vous pouvez le voir, mais dans cette phase AMS, vous
pouvez mieux le voir Cela se passe très
vite, mais c'est là. C'est amplement suffisant. Non, la prochaine chose que
nous voulons faire, jouer du son. Encore une fois, dans Gunfire,
au début, nous voulons ajouter un autre
notificateur pour émettre un son Donc, même ici, nous pouvons
cliquer avec le bouton droit de la souris et dire « jouer le son ». Mais vous voyez, je veux le
mettre au début. Laisse-moi l'agrandir. Je voudrais le mettre
au début,
mais nous avons déjà quelque chose. Nous pouvons donc ajouter une autre
piste. C'est la première piste. Il suffit de cliquer
ici. Ajoutez une autre piste, une piste pour le faire, non ? Au début, nous
voulons émettre un son. Choisissez donc play sound.
Mets-le au début. Maintenant, pour le son,
en cliquant ici, nous voulons d'abord jouer à ce fusil d'assaut.
Il suffit de l'utiliser, non ? Maintenant, si nous sauvegardons, passez à notre jeu. Vous pouvez voir que je peux tirer, et maintenant nous
avons aussi du son. Ça a l'air vraiment génial. Et Shell éjecte W. Non, notre jeu est
21. 20 Trace de ligne lorsque nous visons: La prochaine chose que nous
voulons faire c'est
voir où regarde notre arme. Si nous tirons sur une arme, là où elle devrait avoir
un impact, non ? Donc, pour ce faire, nous avons
besoin d'un tracé linéaire, non ? Donc je ne veux pas le faire ici parce que ça va tout
gâcher. Le tracé des lignes nécessite
beaucoup de choses. C'est pourquoi je souhaite créer une autre fonction
uniquement pour le tracé de ligne. Et ici, je peux simplement
créer la fonction. Je veux l'appeler Fire
Line Trace, non ? Et avec elle, d'abord et d'abord, nous avons deux domaines pour vérifier où
regarde Morgan. Laisse-moi te le montrer. Si nous ne visons pas, cela signifie que nous devons
tirer là où réticule nous
regarde, n'est-ce pas ? Donc, si vous ne visez pas, c'est différent de lorsque
nous visons. Lorsque nous visons,
nous devons tirer là où
regarde une lunette, n'est-ce pas ? Alors d'abord, faisons-le simplement
avec un oscilloscope. Donc, ici, la première chose
que vous voulez vérifier, vérifier si
vous visez ou non. Utilisez donc une branche et vérifiez
si vous visez ou non. Avec elle, si c'est vrai, cela signifie que nous visons. Donc dans ce cas, je veux utiliser un
tracé linéaire par canal, non ? J'ai besoin d'un point de départ et d'arrivée. Donc, nous allons simplement fournir. Pour le point de départ, je peux obtenir la lunette
comme ceci. Et à l'intérieur de cette lunette, il y a aussi une prise. Alors laisse-moi te le montrer. Cliquez sur A Scope et ouvrez
ce scope, astatic Mish. Je vais cliquer dessus pour l'ouvrir. Et ici, vous pouvez voir
qu'il y a un socket. Bien sûr, il est trop
difficile de zoomer dessus. Je réduis la vitesse de l'
appareil photo en maintenant le
bouton le plus à droite et le plus au milieu. Je peux le faire. Maintenant, ce socket. Si vous ne l'avez pas, bien
sûr, vous l'avez. Vous pouvez simplement cliquer
ici, créer un autre socket et positionner,
n'est-ce pas ?
Positionnez-le. Vous pouvez voir qu'il est là par
défaut. Nous pouvons simplement l'
évoquer, le mettre au milieu. Pour ce qui est de la taille, je peux juste y mettre
0,1 pour chacun d'entre eux, 0,1 pour celui-ci et 0,1 pour celui-ci. De cette façon, il est beaucoup plus
facile de le positionner, non ? Positionnez-le exactement à
ce point rouge, non ? Juste comme ça. Nous pouvons simplement supprimer
cette dernière portée. Nous voulons créer notre propre champ d'application. Cette douille est venue avec l'acide. C'est pourquoi il est là.
Mettons-le simplement là. Et laissez-moi voir si c'est parfait. C'est un peu
difficile de le positionner. C'est pourquoi ils se sont
ajoutés eux-mêmes, mais je voulais vous montrer
comment ajouter un socket. Et c'est tout. Je pense que
ça a l'air bien. C'est là que nous pointons. Maintenant, avec ce support, nous pouvons connaître sa position. Nous avons donc besoin de
son nom, non ? Avec ça, nous pouvons aller
ici à partir de cette lunette, je peux obtenir l'
emplacement de ce socket comme ça Et l'emplacement du socket
que vous souhaitez obtenir s'appelle également socket
, n'est-ce pas ? Nous l'avons appelé socket
ici, donc c'est tout. Maintenant, c'est notre point de départ. Non, nous voulons connaître
l'emplacement final, mais pour ce qui est de l'emplacement final, notre socket doit être orienté
au bon endroit, n'est-ce pas ? Donc, pour ce faire, revenez à une lunette et nous voulons la faire pivoter jusqu'à
ce que la direction X soit
le vecteur avant, n'est-ce pas ? Il suffit donc de la tête E pour le
faire pivoter comme ceci. 90 degrés d'abord pour voir
ce qui va se passer, tête W. Non, vous pouvez voir que le X
est dans la bonne direction. Si nous passons au plan
et qu'ici,
vous le regardez, vous pouvez
voir qu'il fait face dans cette direction Le X doit faire face de cette façon. Ainsi, lorsque nous
en obtenons le vecteur direct, il est dans la bonne direction. C'est tout pour notre socket. Ou une prise. Non, c'est parfait. Maintenant, allons-y, passons
à la fonction de traçage des lignes de feu. Nous sommes en train d'obtenir le
point de départ, mais nous devons également
obtenir le point d'arrivée. Pour l'emplacement final, je veux d'abord obtenir la rotation du
socket, et le socket dans lequel
vous voulez obtenir sa rotation est également appelé
socket, n'est-ce pas ? Et avec elle, nous pouvons en extraire le vecteur
avant. Et après avoir obtenu
le vecteur avant, parce que le vecteur direct
est d'une longueur de un. Ce n'est pas trop. Il n'
y aura pas grand-chose devant nous. C'est pourquoi je veux le multiplier
par une valeur vraiment importante. Tous les X, Y et Z doivent être multipliés par une
très grande valeur Je peux
donc soit mettre une grande
valeur dans chacun d'eux, cliquer avec le bouton droit de la souris ici, le
changer en valeur flottante,
et je devrais y mettre une très grande
valeur, c'est tout. Non, nous devons y ajouter l'
emplacement de départ, n'est-ce pas, parce que nous voulons que cela
commence à partir de l'
emplacement de départ pour avancer, n'est-ce pas ? Donc, c'est ça. C'
est notre destination finale. Et pour que vous puissiez
le voir pour que Draw puisse taper, je voudrais le changer
pour la durée et non, nous allons simplement compiler en tête. Nous avons notre fonction.
Utilisons-le simplement. Ici, je veux passer à find line trace ici et le
connecter comme ça. Maintenant, si nous avions compilé
et exécuté le jeu, si nous tirions comme ça, rien ne se passerait
parce que nous avons créé ou tracé des lignes juste pour le
moment où nous visons. Mais lorsque nous visons, il
suffit de le regarder. Cool, je peux voir qu'il
y a une ligne entre la lunette et l'endroit où
nous regardons. Vous pouvez voir si je
photographie ici, vous pouvez voir, c'est bien, mais c'est un peu exagéré. Si vous voulez qu'il
soit parfait, vous pouvez vous tourner vers un oscilloscope et faire
pivoter légèrement dans le
sens large, exemple de moins cinq degrés, n'est-ce pas ? Il va donc regarder un peu vers le
bas. Maintenant, si vous renversez le jeu, il s'agit de la rotation du pistolet, de la lunette et
tout ça, n'est-ce pas ? Alors tirons. Non, tu peux voir
que c'est parfait. Bien sûr,
c'était bien comme ça, non ? Laissez-moi photographier
ici, par exemple. Non, tu peux voir que
tout a l'air génial. Nous l'avons donc simplement
fait pivoter légèrement vers le bas, pour qu'il soit orienté vers le bon point, non ? Et c'est tout. Maintenant, nous avons une trace de fourrure
chaque fois que nous visons. Nous voulons faire de même
chaque fois que nous ne visons pas. Voyons ce que nous
pouvons faire ensuite
22. 21 Trace de ligne pour un état de non-ciblage: Non, nous voulons créer le tracé linéaire lorsque
nous ne visons pas. Voyons comment nous pouvons le
faire. Pour ce faire, je veux accéder à la fonction Fire Line
Trace ici. En cas de panne, lorsque nous ne visons pas, je souhaite utiliser un autre tracé
linéaire par canal, d'
accord, comme avant, j'ai besoin d'
un point de départ et d'arrivée. Quels sont les points de départ et d'arrivée ? Le point de départ, je veux que
ce soit exactement au milieu de l'écran,
là où se trouve le réticule. Ce n'est pas exactement au milieu. Nous le réduisons un peu. Nous y réfléchirons également, mais c'est le point de départ. Et pour l'emplacement final, nous pouvons simplement utiliser la direction que
vise ce point, n'est-ce pas ? Laissez-moi vous montrer comment
vous pouvez le faire. Tout d'abord, nous devons trouver
le milieu de l'écran. Comment pouvons-nous le faire, nous pouvons
obtenir la taille de la fenêtre d'affichage, n'est-ce pas ? Avec cette taille de fenêtre d'affichage, si vous cliquez
dessus avec le bouton droit de la souris, si vous fendez une épingle, cela nous donnera le X et le Y de
la taille de notre moniteur ou d'un
écran ou d'une fenêtre d'affichage, Non, parce que nous voulions
le milieu. Nous pouvons diviser X par deux, et cela nous donnera
le milieu, et nous devons faire de
même pour le Y également. Donc, divisez-le par deux, et
comme dans le sens du blanc, nous avons fait un peu avec le bas ,
nous pouvons en ajouter un petit peu , disons 35,
nous allons tester avec cela. Et avec ces valeurs, nous trouverons ce point
rouge, non ? Maintenant, nous voulons convertir cette position artistique,
car il s'agit d'une position à l'écran. Il
existe un nœud pour cela. C'est ce qu'on appelle D project
screen to art. Et si je clique ici avec le bouton droit la souris
et que je divise la
goupille, il faut un X et un Y. Donc c'est le Y, c'est le X. Ensuite, il faut la manette du
joueur Alors, procurez-vous la manette du joueur
comme celle-ci. C'est ça. Nous avons maintenant le point de départ, et cela nous
donnera également l'orientation du
mot . Faites de la place. La direction de ce mot est exactement que le vecteur
avant du
milieu de l'écran, n'est-ce pas ? Donc, comme la direction
est une longueur de un, c'est pourquoi nous voulons la multiplier
par une valeur vraiment élevée. Alors changeons simplement
cela en float et multiplions le par une très
grande valeur comme celle-ci. Ensuite, nous voulons également
y ajouter la position de départ , et c'est tout. C'est notre destination finale. Et pour que vous le voyiez,
je voudrais remplacer ce type de debo
draw par
duration. C'est ça. Maintenant, si vous écrasez
le jeu et que vous tirez ici, vous pouvez voir, encore une fois,
que c'est un peu trop haut. Nous devons donc en ajouter d'autres. 50, par exemple, non ? Maintenant, si vous écrasez
le jeu et que vous tirez, vous pouvez voir que c'est parfait. Pourquoi devrions-nous utiliser 50 ? Si nous passons à Widget Blueprint, laissez-moi vous le montrer FPS, Widget et passer au
Widget Blueprint Ici, si nous les
sélectionnons toutes, peu
importe
laquelle vous pouvez voir le décalage vers le haut, nous utilisons 50. C'est pourquoi nous devrions en
ajouter 50, non ? Vous pouvez dire : Non, c'est
parfait, non ? Non, nous avons des tracés linéaires
lorsque nous ne visons pas
23. 22 Résultats de retour: La prochaine chose que tu veux faire. Nous voulons vérifier avec
ces tracés linéaires. Si nous avons trouvé quelque chose, renvoyez le résultat.
Voyons comment nous pouvons le faire. Tout d'abord,
commençons par celui-ci. Ici, tout d'abord,
il y a une valeur de retour, et avec elle, nous pouvons
la vérifier avec une branche. Donc si c'est vrai, cela signifie que
nous avons touché quelque chose, non ? Dans ce cas, nous pouvons donc renvoyer
la valeur que vous souhaitez. Ajoutez une note de retour, nous voulons
renvoyer un résultat Ohad, n'est-ce pas ? Une solution consiste simplement à
cliquer sur les résultats, les
nommer, et tout ça. Mais le meilleur moyen et le plus rapide
est de saisir cela, dépasser le
résultat, et ici, étendre et d'obtenir
tout ce dont nous avons
besoin, n'est-ce pas ? Donc, la première chose dont nous avons besoin, est le point d'impact. Donc, il suffit de
glisser-déposer, de le placer là, et il le mettra en sortie pour nous et le nommera pour nous, n'
est-ce pas ? C'est magnifique. Ensuite, nous avons également besoin d'un
impact normal. Dragon Drop l'a
donc mis là aussi. Ensuite, nous avons besoin de l'
acteur principal, Dragon Drop. Magnifique. Ensuite, c'est un nom d'
os, non ? Glissez et déposez, placez-le
là, et c'est tout. C'est tout ce dont nous avons besoin
pour pouvoir, par
exemple, ajouter des effets
visuels, n'est-ce pas ? Donc, non, nous renvoyons des informations utiles à partir de cette fonction et nous
pouvons les utiliser, non ? Mais si je n'ai rien touché ? Ce que nous devrions rendre, n'est-ce pas ? Lorsque nous ne
touchons rien, nous n'avons pas de point d'impact
normal, acteur
thermique, de nom d'os. Nous ne l'avons pas parce que
nous n'avons rien touché. Je vais donc passer cet arbre vide, mais au point d'impact,
je passerai l'extrémité de la trace, l'emplacement final, n'est-ce pas ? Nous avons donc quelque chose à photographier, le point d'impact
ou le lieu d'arrivée, n'est-ce pas ? Et non, avec toutes ces commandes C Control V pour les coller ici
et les connecter. Vous n'avez pas besoin de
le faire à partir de zéro. Alors connectez-le à ici, connectez-le à ici,
et cela devrait fonctionner. C'est ça. Maintenant, nous renvoyons
les informations utiles. Et avec ces
informations, d'abord, nous serons vraiment organisés, et nous pourrons en faire plein
de choses. Voyons maintenant
comment utiliser ces résultats. Nous ajoutons donc quelques effets
visuels de la Nagra.
24. 23 VFX du traceur de feu: abord, aucun graphique que je souhaite ajouter ne s'appelle fair tracer, et nous voulons le faire
avec toutes ces valeurs. Nous voulons créer
des effets visuels. Ici, il vaut mieux
ajouter un nœud de séquence. Donc, avec ce nœud de séquence, nous pouvons un par un
, créer un effet visuel, non ? Et pour jouer à ce correctif visuel de la
Nagra, je souhaite créer
une autre fonction, afin qu'elle soit plus facile
à utiliser Tout d'abord. Créons simplement
une fonction. Je veux l'appeler Fire
Tracer, VFX, non ? Et là où je veux l'utiliser, laissez-moi accéder au Web et lancer,
puis à zéro, non ? Fire Tracer Vax et
connectez-le comme ça. Maintenant, avec ça maintenant,
allons-y. Je veux créer un
système, un système d'envergure, le système inaugural attaché, pourquoi attaché parce que nous voulons attacher au bout
ou au pistolet, n'est-ce pas Donc d'abord, nous devons
choisir Fire Tracer. Alors recherchez un traceur d'arme à
feu, mettez-le là. à quoi nous voulons l'attacher, nous voulons l'attacher à notre arme. Alors connectez-y le pistolet. Le nom du point ci-joint, nous voulions le bout ou le pistolet. Alors laisse-moi trouver le squelette du pistolet. Nous avons une muselière. Nous pouvons donc l'utiliser, non ? Donc, entête deux
dessus,
pour que tu puisses le renommer, Ctrl C pour copier Ctrl C pour copier
le nom et le coller ici. C'est ça. Non, rien ne se passera
car il y a des pomètres utilisateur à l'intérieur ce système Niagara que
nous voulions changer. Alors cliquons simplement sur
cette loupe, ouvrons
celle-ci, ces effets visuels, et sachez qu'ici, laissez-moi d'
abord vous la montrer Si je l'avais, il n'
y a rien parce que le promètre utilisateur sur lequel nous
voulons nous asseoir n'est pas réglé, n'est-ce Nous devons donc mettre à jour
la position d'impact. Ce nom est donc
très important. Maintenant, avec ça, revenons à ça. Et ici, avec
cet effet Naga, nous voulons savoir où se trouve
la fin de ce traceur d'
incendie, n'est-ce pas ? Nous devrions donc dire Nagara
set vector array. Pourquoi définir un tableau vectoriel ? Encore une fois, si je vais ici, vous pouvez voir qu'il s'agit d'une interface de données, d'un
tableau, d'un arbre de flux Niagara. L'arbre de flux Niagara est comme
un vecteur ou un plan. Rappelez-vous donc qu'
ici, il faut un tableau, mais comme nous ne touchons qu'
un seul endroit à la fois, nous pouvons simplement créer un tableau
avec une seule entrée. Et quelle est cette contribution ? C'est le point d'impact. Cette fonction a donc besoin du point d'
impact comme entrée. Cliquez ici, et le
type, comme vous
le savez, doit être vectoriel, et je veux l'appeler point d'
impact, non ? Et nous pouvons utiliser ce point d'
impact ici, saisir et
rechercher un point d'impact. C'est ce que j'ai trouvé ici. Nous pourrions simplement
glisser-déposer des connexions comme ça, mais de cette façon, c'est
beaucoup plus propre, non ? Il suffit de le mettre
ici. Le nom du nom de remplacement est
vraiment important Il est donc très important de
copier le nom exact ici. Nous pouvons donc cliquer dessus avec le bouton droit de la souris, renommer
la tête et
Croce le copier Et ici, il
faut le coller, non ? Mais rien qu'avec ça,
ça ne marchera pas. Si vous allez ici, vous pouvez voir la variable que
nous avons ici, la
variable de tableau vectoriel que nous
avons ici se trouve dans l'espace utilisateur. C'est pourquoi nous devrions également
ajouter cet utilisateur. Donc, ici, nous devons ajouter les positions d'
impact
des points de l'utilisateur, n'est-ce pas ? Donc, avec cela, nous ajoutons la position d'impact avec ou le point d'impact,
n'est-ce pas ? C'est ça. Non, nous devrions tirer avec une arme et passer du point d'impact
au point d'impact, non ? Alors passez-le comme
cette compilation de tête. Non, je veux accéder à Fire
Line Tracer et désactiver ce type
de Draw Debuc parce que nous
n'en avons plus besoin. Ici aussi, remplacez le type de débuc de dessin par
none, nous pouvons maintenant le tester Si vous écrasez le jeu,
voyons voir. Si vous le voyez, à
notre rencontre , nous avons une trace de
ligne de feu, non ? Peu importe celui que nous utilisons, nous l'avons, non ? C'est trop cool. Non, nous ajoutons des effets
visuels lorsque nous tirons ou que nous
tirons avec une arme. Ensuite, nous voulons également
avoir un impact. Voyons comment nous
pouvons le faire. Suivant.
25. 24 Effets spéciaux liés à l'impact du feu: Non, un autre
effet visuel que je voudrais
ajouter concerne l'impact sur
le sol, n'est-ce pas ? Voyons donc comment nous pouvons le faire. Comme cela a été le cas pour Fire Tracer VFX, nous devons également créer une fonction
pour celui-ci Impact ou
impact incendie, effets visuels, non ? C'est notre fonction. Et dans le cadre de cette fonction, nous voulons utiliser un
système de spa sur place, n'est-ce pas ? C'est amplement suffisant. Le système que vous souhaitez utiliser s'appelle le béton NS
Impact, n'est-ce pas ? Il suffit de l'utiliser. Maintenant, pour ce qui est de l'échelle de rotation des
emplacements, vous n'avez pas à
vous en soucier. Il suffit de cliquer dessus
et de l'ouvrir ici. Regardons-le
simplement. Il a été compilé. Vous pouvez le voir à quoi
il ressemblait. Si vous utilisez le promètre, vous pouvez constater qu'il a besoin d'une position normale d' impact et d'une position d'
impact, n'est-ce pas ? Nous devons donc fournir cela
avec ces valeurs, n'est-ce pas ? Encore une fois, l'impact normal est un
tableau, un arbre de flux vectoriel. Et l'impact positionne, encore une fois, une matrice, cette fois une position. Encore une fois, positionnez-vous, c'est
comme un vecteur, non ? Alors maintenant,
allons-y et configurons-les. Ici, nous n'avons pas besoin de
définir la rotation de l'emplacement
et une échelle. Ils sont compensés à
ce stade parce l'emplacement que nous avons ici est beaucoup plus
important, n'est-ce pas ? Donc, la première chose que vous
voulez faire ici, que
nous disons Naga set position array, n'est-ce pas ? Juste comme ça. Nous l'appelons tableau de positions, mais c'est exactement comme
définir un vecteur. Si nous le faisons parce que nous ne touchons qu'une
chose à la fois
, vous pouvez voir que
ce n'est qu'un vecteur. Ils l'appellent simplement
position à ce stade. Vous allez donc apprendre les deux. Nous avons donc besoin du point
d'impact de cette position, non ? Donc, à l'entrée, nous pouvons créer une entrée, et je veux l'appeler point d'
impact, n'est-ce pas ? Et on peut l'utiliser ici. Recherchez l'impact. Point. Non. Son nom
est vraiment important. Il suffit donc de trouver le
nom du poste, de cliquer dessus avec le bouton
droit de la souris, de renommer la tête, contrôler C, de le copier Et ici, laisse-moi zoomer. Nous voulons utiliser point
avec ce nom, non ? Position d'impact.
Maintenant, avec ce t, prochaine chose que vous voulez
définir, ce sont les normales d'impact Alors faisons-le
maintenant. Nous pouvons le récupérer. Cette fois, tu devrais dire que
Niagara a tué Victor Ay, non ? Et il a besoin d'une épingle d'exécution. Cette fois, nous voulons
mettre à jour les normales. Alors allons-y, cliquez avec
le bouton droit sur celui-ci, renommez-le, polémique
pour le copier Et ici, nous voulons dire « User point impact
normalals ». C'est ça. Pour passer les normales,
encore une fois, il faut un tableau Faisons donc simplement un tableau. Et à l'entrée, nous avons également besoin d'
un impact normal. Créez donc une entrée. Je veux l'appeler
Impact normal, non ? Et on peut juste
l'utiliser ici. Donc, ici, recherchez Impact. Normal. C'est ça. Je pense que tout est terminé. Je devrais travailler, mais
nous devrions tirer avec des
armes et
utiliser cette fonction. Lancez, impactez un VFX, connectez-le
, puis un à celui-ci. J'ai besoin d'un point d'impact. Donnons-lui donc
le point d'impact, et il faut que l'impact soit normal. Donnons-lui donc également un impact normal. Et c'est tout. Maintenant, dirigeons-nous simplement
compiler et exécuter. Si tu tires, tu peux le voir. Il s'agit de graphismes simples ou inexistants pour chauffer quelque chose et cela devrait se produire
pour les deux. Lorsque nous visons, vous pouvez le voir, mais il est là. Tu vois ? Ça a l'air génial. Ça a l'air magnifique.
26. Mode Gun Burst 25: Sachez que nous pouvons
tirer par-dessus une arme, il est temps de passer également au mode
rafale. Nous pouvons donc tirer les uns
après les autres. Nous avons une cadence de tir, non ? Donc, si vous maintenez la touche la plus à gauche en bas, nous voulons tirer encore et
encore, Donc, pour ce faire, je
veux revenir au graphe des événements. Et chaque fois que nous
tirons par-dessus une arme, peu
importe laquelle, si nous la maintenons
pendant 0,1 seconde, par exemple, nous voulons pouvoir tirer
encore et encore. Donc, ici, je veux
utiliser une minuterie. Donc, ici,
recherchez un minuteur réglé, par événement, il est plus
facile de travailler avec celui-ci. Tout d'abord, cette fois, je
voulais rester au courant. Donc je veux que ça se produise toutes les
0,17 seconde, non ? Ainsi, toutes les 17 secondes, cet événement aura lieu et nous pouvons créer un
événement personnalisé pour celui-ci. Recherchez donc un
événement personnalisé et celui-ci parce que c'est pour
lorsque nous visons Je vais appeler cet événement personnalisé parce qu'il est différent de celui
lorsque nous ne visons pas. Je veux dire que c'est du feu quand je
vise, non ? C'est ça. Non, cet événement se produira
toutes les 0,17 secondes, n'est-ce pas ? Et avec cela, nous voulons jouer
à ces deux-là. Tout d'abord, jouez à un dessin animé,
puis à
une arme, à un feu, non ?
Comme toujours. Contrôle C : nous le
collons ici et le
connectons comme ça. Comme vous le savez, lorsque l'animation d' un étranger ou d'une arme destinée à viser ou
à ne pas viser est différente. C'est pourquoi je l'appelle
différemment. Ensuite, nous voulons faire de même
lorsque nous ne visons pas. Nous avons besoin de plus d'espace. Alors laisse-moi prendre
ça, en parler. Maintenant, dans celui-ci, encore une fois, je veux aussi régler une minuterie. Réglez à nouveau le chronomètre par événement. Et encore une fois, dans celui-ci, je veux que ça arrive
toutes les 0,17 seconde, et je veux que ça se passe en boucle Donc, avec cela, cet événement aura lieu toutes les 0,17
secondes, non ? Créez donc un événement personnalisé
pour et je voudrais appeler celui-ci tirer quand vous
ne visez pas, n'est-ce pas ? Ou quel que soit le nom que vous voulez lui donner,
ça devrait être juste différent
avec celui-ci, non ? Et cela se produira toutes les
0,17 secondes, non ? Et pour chacune d'entre elles, nous voulons également jouer ces
deux fonctions. Jouez à un montage et
ensuite, tirez avec une arme à feu. Maintenant, passons simplement en revue le jeu pour voir s'
il y a un problème. Ici, si je maintiens le mouvement vers la gauche,
non, nous tirons. Mais si nous relâchons le bouton le
plus à gauche, il n'arrêtera pas Voyons comment nous pouvons résoudre ce problème. Donc, si nous relâchons le bouton le
plus à gauche, ce qui se passera pendant toute cette
période d'incendie se produira Cela va se produire, et nous
voulons annuler le chronomètre. Voyons donc comment nous pouvons le faire. Pour que nous puissions
annuler le chronomètre, nous devons enregistrer ce
chronomètre dans une variable. Donc, en cliquant avec le bouton droit de
la souris ici, passez à une variable, et
je veux dire que c'est un déclenchement. R, non ? Et je souhaite également utiliser
la même variable pour
cette minuterie. Donc, polémique sur Control V
pour le coller ici. C'est la même
variable, non ? Je ne veux pas créer
beaucoup de variables ici. Et chaque fois que nous relâchons le bouton le plus à gauche,
que voulez-vous faire ? Nous voulons obtenir ce
chronomètre et l'effacer, n'est-ce pas ? Cela n'arrivera donc plus. Nous disons donc effacer et invalidez chronomètre par manche chaque fois qu'
il est terminé Maintenant que c'est fait,
il ne reste plus qu' à
compiler et exécuter le jeu. Non, si je tire.
Chaque fois que je le relâche, vous pouvez voir qu'il ne
pourra pas tirer. C'est ça. C, non ? Non,
testons-le simplement lorsque nous visons. Cela fonctionne parfaitement bien.
27. 26 Pointe de la corde d'impression: Non, la prochaine chose que
nous voulons faire, d'avoir un système de munitions Nous ne devrions donc pas être capables de
filmer à l'infini, non ? Donc, pour ce faire, je veux
aller au BPFPS et ici, je veux créer une variable
de type entier, non Et le nom,
je veux l' appeler ammo et ensuite, je veux créer une autre
variable pour le stockage Des munitions, non ? Disons les munitions de stockage, donnez-leur une valeur par défaut Par exemple, 50, non ? Et les munitions en elles-mêmes, disons que nous en avons
dix, non ? C'est ça. Sur un ShowT. La meilleure façon de l'afficher est d'utiliser
une chaîne d'impression sur eventq Trouvons donc simplement l'événement. Comme je veux le faire,
c' est une bonne pratique de
faire les débogages comme celui-ci Après cela, nous
créerons une interface utilisateur pour cela. Donc, ici, je veux utiliser
une chaîne d'impression, d'accord. Et avec cela, je veux
utiliser un format de texte, n'est-ce pas ? Ainsi, avec ce format de texte, nous pouvons combiner certains
textes ensemble. Je peux dire, par exemple, ouvrir et fermer les bretelles bouclées Et là-dedans, je
veux dire munitions, non ? Et après cela, j'
ajouterai du texte, par
exemple, d' une autre accolade
bouclée Je veux l'appeler stockage, munitions ou quel que soit le nom que vous
voulez Si vous vous y rendez,
vous pouvez voir
qu'il y aura deux broches ici, si nous connectons les munitions aux munitions d'ici
et des munitions de stockage à celle-ci Bien sûr, je n'ai pas écrit
ce nom correctement. D'une munition de rangement à une
munition de stockage ici. Ce que fera ce nœud, c'est remplacer les
bretelles bouclées qui se trouvent à l'intérieur
de ces munitions par cette
variable de munitions, et il
remplacera bretelles
bouclées pour munitions de stockage par cette variable de munitions de stockage Le nom de ceci et celui-ci n'a pas besoin d'
être le même. Non, cela étant fait, nous devons
étendre le test d'impression
et lui donner une clé. Peu importe la
clé que vous y mettez, nous voulons que ce soit la persévérance. Donc, si nous ajoutons la clé, ce sera la persévérance, non ? Head Compilation et aucun jeu Runo. Non, vous pouvez voir dans le coin
supérieur gauche qu'il est écrit dix sur 15
parce que nous avons dix munitions sur 15 munitions de
stockage, n'est-ce Supposons, par exemple, que
nous réduisions ces munitions
. Par exemple,
lorsque nous tirons la tête, nous voulons obtenir les bonnes munitions, et nous voulons en
réduire une Nous pouvons donc utiliser
decrement int, non ? Ce que fera ce nœud, il diminuera les
munitions d'une unité. C'est ça. Et cela l'économisera également
dans les munitions. C'est un moyen rapide de le faire. Maintenant, si vous écrasez le jeu,
vous pouvez voir que je peux tirer, et ce sera neuf, huit, six, trois, deux, un. Et vous pouvez voir qu'il peut
atteindre des valeurs négatives. Mais nous ne voulons pas faire le gestionnaire de
munitions comme ça. Supprimez-le, vous n'en avez pas besoin. Nous allons créer une fonction
pour gérer les munitions. Voyons comment nous
pouvons le faire ensuite
28. 27 Gestionnaire de munitions: Non, je souhaite créer une
fonction pour réduire les munitions. Donc, pour ce faire, créons simplement une fonction
et je voudrais l'
appeler diminuer les munitions, n'est-ce pas Et à l'intérieur, chaque fois
que nous appelons cette fonction, nous voulons diminuer
les munitions d'une seule unité, comme nous le faisions auparavant, n'est-ce pas Ici,
nous voulons d'abord vérifier
si nous avons des munitions
si elles sont supérieures à zéro,
nous voulons les vérifier avec une branche, pour
qu'elles ne descendent pas en dessous de zéro, n'est-ce pas Ça ne devrait pas être
comme ça, non ? Donc, s'il est supérieur à zéro, nous voulons obtenir les munitions
et en réduire une, et comment nous pouvons le faire avec
moins moins décrémenter int, je les diminuerai d'
une unité et cela les économisera en soi. C'est ça. Compile et sauvegarde Non, où voulons-nous que cela se produise chaque fois que l'arme tire Donc, ici, que voulez-vous faire avant de
faire quoi que ce soit, accord, nous voulons utiliser cette fonction de
réduction des munitions Et parce que nous créons
un feu d'arme, il est très facile de l'ajouter
partout, n'est-ce pas ? En l'ajoutant simplement ici,
car les coups de feu
sont omniprésents. Maintenant, si vous renversez le jeu, vous pouvez voir qu'il est dix
et que nous pouvons tirer. Je passe à zéro après zéro, ça ne passera pas à moins, mais
encore une fois, on peut tirer. Voyons comment nous
pouvons résoudre ce problème maintenant. Si nous passons à un graphique incurvé, je tire
au début. Ce
que nous voulons faire, c'est
vérifier si nous avons des
munitions, puis tirer avec l'arme, n'est-ce pas Nous avons donc besoin d'espace, créez de l'espace comme celui-ci. Je veux utiliser une succursale ici. Donc, branche. Et avec cette branche, nous voulons vérifier
si nous avons des munitions Alors, prenez les munitions, et si la quantité de munitions
est supérieure à zéro, dans ce cas, nous pouvons Maintenant, compilons, exécutons. Maintenant, si vous tirez, vous pouvez voir que nous ne pouvons plus tirer, mais nous avons un autre problème. Ici, si nous prenons des photos sans relâcher le bouton le
plus à gauche, il pourra reprendre la
prise de vue. Tu vois ? Mais si vous relâchez
le bouton le plus à gauche et que vous essayez de prendre à nouveau la photo, cela ne fonctionnera La raison pour laquelle cela se produit, c'est à
cause de ces chronomètres. Sur ces minuteries, nous
devons également vérifier les munitions
, non ? Donc, dans ces deux chronomètres, nous voulons vérifier exactement
auprès de cette succursale que
nous avons ici, n'est-ce pas ? Organisons-le un
peu comme ça et Croce pourra le copier, car lorsque vous l'utilisez sur ces
deux minuteries Si nous avons des munitions, vous pouvez continuer à tirer avec
l'arme Encore une fois, pour celui-ci, nous
allons le mettre ici, connecter le
pin d'exécution comme ça. Maintenant, si nous avions compilé
et exécuté le jeu, si nous tirions toutes nos munitions, il ne serait pas capable de tirer Tu peux voir que ça ne
marche plus. Il est maintenant temps de
pouvoir recharger. Tu vois, nous pouvons le faire ensuite.
29. 28 Événement personnalisé de rechargement du pistolet: Non, nous
voulons pouvoir recharger notre arme, mais je voudrais la
casser en quelques étapes, afin que
vous puissiez le comprendre plus facilement Ce n'est pas si compliqué, mais je veux que cela soit organisé. Donc, pour le recharger, je
veux aller ici. Comme ici, cliquez avec le bouton droit de la souris, créez un événement personnalisé, ajoutez un événement personnalisé, et je veux l'appeler
reload Gun, non ? C'est ça. Et avec elle, je veux juste utiliser
une chaîne d'impression, et je veux y ajouter. Rechargez, non ? Non, quand voulons-nous que ce
rechargement ait lieu, n'est-ce pas ? abord, nous voulons que cela
se produise automatiquement
lors ce chronomètre, événement personnalisé, de
ce chronomètre, événement personnalisé, qu'il s'agisse de viser ou de ne pas viser.
Dans les deux cas, si les munitions n'étaient
pas supérieures à zéro, nous voulons utiliser Reload Gun. D'accord ? C'est tout ici,
et ici aussi. Rechargez, Gun. Et où d'autre ? Voyons voir. Chaque fois que nous appuyons
sur R sur notre clavier, nous voulons également recharger Nous avons donc également besoin d'une contribution. Allons donc simplement dans le dossier
des entrées, faisons un clic
droit ici, passons à la
saisie et créons une action de saisie. Je veux l'appeler IAR load. C'est ça. Nous n'avons pas
besoin de changer quoi que ce soit à l'intérieur,
nous devons le cartographier. Donc, ici, IMC FPS, cliquez sur Ajouter un nouveau mappage
et nous voulons cartographier le rechargement de
l'IA qui se trouve ici .
Quand voulons-nous que cela se produise ? Cliquez ici,
sur R de votre clavier. Chaque fois que nous appuyons sur R, nous
voulons que cela se produise, non ? Non, ici en bas, ce que je veux faire, je veux cliquer ici avec
le bouton droit de la souris, rechercher IA reload D'accord ? Ainsi, chaque fois que nous appuyons Recharger le point de départ, chaque fois que nous
appuyons sur le bouton Recharger ou sur
R de notre clavier, nous voulons recharger
le pistolet C'est ça. Maintenant, nous
venons de compiler. Tout d'abord, si j'appuie sur R, vous pouvez voir qu'il est écrit « recharger », et cela fonctionne bien Si nous tirons avec notre arme et qu'elle diminue ses
munitions, il suffit de la tenir Une fois qu'il a atteint zéro, c'est par exemple recharger, et après
cela, nous ne pouvons plus tirer Un autre endroit que nous
voulons recharger est au début de cet
IA Fire, chaque fois que nous vérifions si les munitions sont supérieures à zéro
, n'est-ce Dans ce cas, nous voulons également
recharger, non ? Donc ici, en cas de chute, si les munitions n'étaient pas
supérieures à zéro, nous voulons recharger le pistolet Pourquoi devons-nous l'ajouter ici ? Disons que nous tirons avec
notre arme comme
ça avec le
bouton le plus à gauche à chaque fois, non ? Et quand il atteint zéro, si vous appuyez sur le
bouton le plus à gauche, cela indique Si vous appuyez à
nouveau sur le bouton le plus à gauche, cela indique « recharger ». Encore une fois, vous pouvez voir que
non, cela fonctionne bien. Non, nous savons où recharger le pistolet, et quand le recharger, implémentons simplement
le système de rechargement
30. 29 Remplissez le magazine: Non, la première chose que je
veux faire pour le rechargement, créer une fonction uniquement
pour augmenter le nombre de munitions La raison pour laquelle je souhaite créer une fonction pour cela,
même si nous avons un événement personnalisé, c'est parce que nous
devons vérifier beaucoup de logique. Nous avons beaucoup de logique. Je ne veux pas tout gâcher. Nous y ajouterons également de l'
animation. L'animation sera donc là, mais la logique
résidera dans cette fonction. Donc, ici, je veux créer une fonction et je veux l'
appeler reload, non ? Et lors de ce rechargement,
je veux tout d'
abord vérifier les munitions. Si
les munitions sont égales à zéro Cela signifie qu'il n'y a aucune balle dans
le magazine, n'est-ce pas ? Il y a une différence, non ? Utilisez donc une branche ici
pour vérifier les munitions. Ensuite, nous devons
définir, à chaque fois que nous
rechargeons notre arme, le nombre
de balles que
notre chargeur peut encaisser lorsqu'il est complètement
rechargé, n'
est-ce notre chargeur peut encaisser lorsqu'il est complètement
rechargé, Donc, pour cela, je veux
créer une variable, et je veux l'appeler reloaded Max Ammo reloaded Max Ammo Donc, pendant que je vérifie si
les munitions sont égales à zéro. Supposons, par exemple, que
dans une munition de stockage, nous ayons 50 balles Et dans notre magazine, il y a trois balles. Et nous avons chargé des munitions Mg. Disons que c'est 12, non ? Mettons-en 12. Non, si nous avons trois balles dans le chargeur et que le maximum de munitions
rechargées est de 12, cela signifie que nous n'avons besoin que de
neuf balles provenant des munitions de stockage pour être ajoutées
au chargeur Nous n'avons pas besoin de
ranger ces trois-là. Mais si les munitions
étaient égales à zéro, cela signifie qu'il n'y a pas de balle
dans le chargeur, donc ce sera plus facile Nous pouvons simplement diminuer
le nombre de munitions de stockage et
augmenter le nombre de munitions, n'est-ce pas ? C'est ça. Nous
avons donc deux domaines. Premièrement, s'il y a déjà une
balle dans le chargeur, s'il
n'y en a pas et que le
chargeur est vide, n'est-ce pas ? Donc, s'il est égal à zéro, cela signifie que cela se produira
et que le magazine est vide. Dans ce cas,
nous voulons tout d'abord vérifier si les munitions de stockage étaient
plus grosses que les munitions Max rechargées, dans
ce cas, ce cas, Nous voulons vérifier
cela auprès d'une agence. Ainsi, si les munitions de stockage
étaient supérieures au nombre maximum de munitions rechargées,
nous pouvons d'abord diminuer le nombre de munitions de stockage Alors, soustrayez les munitions de stockage par
les
munitions Max rechargées et enregistrez-les à
nouveau
dans les
munitions de stockage, comme ça , d'accord Et une fois que nous
en aurons retiré les munitions de stockage, nous pourrons les ajouter à
notre magazine, n' Nous pouvons donc obtenir les
munitions comme celles-ci,
le maximum de munitions rechargées
et les conserver à nouveau dans
les munitions et les conserver à nouveau dans
les Juste comme ça, sauvegardez-le à nouveau dans les munitions Max. C'est ça. Ce que nous faisons,
c'est vérifier s'il
n'y a pas de balle dans le chargeur et s'il y a suffisamment de munitions dans le magasin pour le
remplir, nous diminuons la quantité de munitions
que nous voulons mettre dans le chargeur
et nous les ajoutons aux munitions elles-mêmes Maintenant que c'est fait, voyons
comment nous pouvons le tester. Je souhaite accéder au graphique des événements. Après ce test d'impression par rechargement, je souhaite utiliser la fonction de
rechargement, je souhaite utiliser la fonction de
rechargement,
n'est-ce pas ? Juste comme ça. Non, disons simplement le statut. Pour que cela se produise pour nous, faut d'
abord que les munitions atteignent zéro n'y a donc pas de balle dans
le magazine. Alors allons-y. Non, c'est zéro. Si nous appuyons une fois de
plus sur le bouton le plus à gauche, cela en ajoutera 12, et cela diminuera
de 12 le stock de munitions Et vous pouvez le voir ici. Nous avons 12 balles
dans le chargeur, et nous diminuons
de 12 balles les munitions de stockage Et encore une fois, si vous tirez
et qu'il atteint zéro, et si vous appuyez une fois de plus
sur le bouton le plus à gauche, cela réduit les munitions de
stockage de 12 et augmente les
munitions de 12. C'est
31. 30 Utilisation du reste des munitions conservées: Non, pour le prochain test. Ici, si le
chargeur est vide et les munitions de rangement ne sont pas
plus grosses que les munitions Max rechargées, des chutes se produiront, n'
est-ce Et si ces chutes se produisent,
cela signifie que nous n'avons pas assez de munitions dans les munitions
de stockage pour atteindre 12 C'est moins de 12, non ? Parce que le nombre de munitions
MX rechargées est de 12, alors les munitions de stockage n'en ont
pas Ce faux va donc se produire. Et dans ce cas, nous voulons ajouter le reste de la balle aux
munitions comme ceci,
obtenir les munitions, ajouter le risque d'y ajouter le risque lié
aux munitions de stockage, d'accord, comme ça Et gardez-le dans les munitions,
gardez-le là en cas
de chute comme celle-ci Ensuite, nous voulons mettre les munitions
de stockage à
zéro. C'est ça. Voyons comment nous pouvons le tester. Pour tester aussi facilement, je veux me tourner vers une munition de stockage Je veux le remplacer par
huit, par exemple, n'est-ce pas ? Le nombre maximum de munitions rechargées est donc de 12, mais les munitions de stockage ne sont que de huit, donc elles ne peuvent pas
remplir le chargeur Maintenant, si
vous testez notre jeu, passons à huit jusqu'à ce que nous atteignions zéro. Non, si j'appuie sur le bouton ifmost, cela réduira le nombre
de munitions de stockage à zéro, et cela
ajoutera les huit balles que nous avions dans les munitions
de stockage aux munitions Non, si je tire, quand il atteindra zéro,
rien ne se passera. Il ne peut plus être rechargé. Non, cette succession réservée aux cas où le magazine est
vide est terminée. Non, nous voulons faire cela lorsque
le magazine contient une balle
et que nous appuyons sur
R sur notre clavier. Voyons comment nous pouvons le mettre en œuvre.
32. 31 Manuel de recharge: Supposons qu'il y ait déjà
une puce dans notre magazine et que nous ayons un R. Alors,
comment pouvons-nous y faire face ? Dans ce cas, les
munitions ne seront pas nulles. Ce faux va donc se produire. Et si ces fausses munitions se produisent d'abord, nous devons d'abord savoir combien de
balles nous devons retirer d'une munition de stockage et l'
ajouter aux munitions, que le chargeur
soit plein, Donc, pour ce faire, je veux créer une variable pour
le calculer. Donc ici, créez à nouveau
une variable, de type entier
et je veux
l'appeler montant à ajouter. Quantité de munitions à ajouter,
non ? C'est mieux. Maintenant, pour le calculer, nous devons obtenir le Maxamo
rechargé qui, dans ce cas, vaut 12, c'est vrai, et soustraire par les munitions que nous avons
déjà Et
voilà le montant que vous souhaitez ajouter au magazine, pour
qu'il atteigne le Maxamo
rechargé, Juste comme ça. Maintenant que nous savons quelle quantité de munitions nous devons ajouter au chargeur ou aux munitions, je voudrais vérifier s'il y a suffisamment de munitions dans les munitions de
stockage Je peux donc vérifier cela
auprès de la succursale, non ? Et je veux vérifier les munitions
de stockage pour voir si elles
contiennent plus de munitions que la
quantité de munitions à ajouter Si les munitions de stockage contiennent suffisamment de munitions pour
remplir le chargeur, c'est vrai Cela dit,
nous devons d'abord réduire quantité de munitions contenues dans les munitions
de stockage,
donc soustraire la
quantité à ajouter aux munitions donc soustraire la
quantité à ajouter aux de stockage et
économiser à l'intérieur des munitions de stockage Donc, avec cela, nous réduisons la quantité de munitions entreposées chaque
année, n'est-ce pas ? Ensuite, nous voulons
ajouter ce montant au magazine. Nous obtenons donc les munitions et nous y ajoutons la quantité de munitions
à ajouter, d'
accord, avec un nœud d'ajout Et on économise les munitions
après ça, non ? Donc, juste comme ça, nous pouvons économiser les munitions Cool. Maintenant, compilons, sauvegardons et testons Tattooed Disons que non, nous en avons
dix dans notre magazine. Le nombre maximum de munitions rechargées est de 12, et nous en avons huit
en stock Si nous entendons R, que
devrait-il se passer ? Les munitions de stockage devraient
diminuer de deux, et elles seront de six, et les munitions elles-mêmes devraient
atteindre 12, Tête R, et maintenant tu
peux voir, 12 sur six. Cela fonctionne bien, non ? Encore une fois, vous devriez en avoir sept. Nous devons en ajouter cinq,
donc il y en aura encore 12, munitions Max
rechargées, non ? Et les munitions de stockage
utiliseront une seule tête R, et vous pouvez maintenant en voir 121 Vous pouvez donc voir
que cela fonctionne bien. L'étape suivante est lorsque les munitions de stockage n'
ont pas assez de munitions pour
remplir le chargeur Nous pouvons donc simplement ajouter le reste des munitions qui se trouvent à l'intérieur des munitions
de stockage dans le chargeur Et réglez ensuite les munitions de stockage à zéro car il
n'y en a pas assez Donc pour cela, je veux
mettre les munitions ici, les
ajouter aux
munitions de stockage et ensuite, placer les munitions,
comme ça, connecter l'
exécution, épingler Ensuite, nous voulons remettre les munitions de stockage à
zéro, elles seront donc nulles Maintenant, voyons comment
nous pouvons envoyer des SMS. Testez ça. Si vous renversez le jeu,
tirons sur tout, non ? Nous en avons deux sur notre
chargeur en ce moment, et nous en avons huit
en réserve,
et le nombre de munitions rechargées est de 12, donc cela ne
remplira pas le Si nous appuyons sur R, la quantité de munitions dans le chargeur
devrait être de dix, et les munitions de stockage
devraient être Alors, appuyons simplement sur R. Maintenant,
vous pouvez voir, dix sur zéro. C'est ça. Cela
fonctionne bien, non. Nous avons un système de munitions pour
33. 32 Animation recharger: Il n'y a aucune autre chose que
nous voulons faire. Nous voulons jouer de l'animation lorsque nous rechargeons, non ? C'est vraiment important.
Allez donc dans le tiroir de contenu. Je veux vous montrer l'
animation, alors allez dans Asset, allez dans Arms, arm Animation, et laissez-moi trouver le rechargement Vous pouvez le voir ici.
C'est notre recharge. Nous voulons que cela se produise, jouez cette animation, non ? Donc, pour ce faire, encore une fois, je veux utiliser un montage i. Alors cliquez dessus avec le bouton droit de la souris, allez
créer et créer des
images, n' C'est ça. Je veux le
glisser-déposer, le mettre dans le
dossier d'animation de l'Opus, le déplacer
là, à droite. Par défaut, tout
devrait bien se passer. Nous avons un
montage de rechargement, non ? Accéder à la fonction de rechargement de BPfPST est bonne
. Cette diminution des munitions est une bonne chose. Non, fermons juste
certaines d'entre elles. Nous n'avons pas besoin de ceux-là. Passez donc au graphique des événements. Non, ici, nous n'avons plus besoin
de dire « recharger ». Nous avons la fonction
de rechargement. Vous pouvez simplement le
supprimer pour non, bien sûr. Tout d'abord, ici, nous voulons vérifier s'il y a des munitions dans une munition
de stockage ou non Alors vérifiez-le auprès de la succursale. Les munitions de stockage,
nous devrions vérifier si elles sont supérieures à zéro, non ? S'il est supérieur à zéro, nous pouvons jouer les
animations, non ? Si c'est vrai, nous voulons jouer
à un montage. Alors recherchez Play
Montage, non ? Celui-ci est
incomplet. Donc, chaque fois que le millésime
sera complètement joué,
cette partie incomplète se
produira, n' Le montage auquel
vous souhaitez jouer
s'appelle montage de rechargement des bras, et le mage squelettique
sur
lequel vous souhaitez jouer cette animation s'appelle bras Alors, dragon, laisse-le tomber, mets-le là. Non, tu n'as pas besoin
de changer quoi que ce soit. Pour qu'il ne nous cause aucun bogue, nous devons créer une variable. Donc, chaque fois que c'est clair. Cet animotage est clair. Ne rechargez pas à nouveau. Les rechargements ne peuvent donc pas s'
interrompre, n'est-ce pas ? Donc, ici, je veux créer une variable de type booléen, et je veux l'appeler
es reloading Donc, au début, nous voulons définir le
rechargement ese sur true Réglez donc la facilité de rechargement sur true lorsque nous voulons
jouer l'animation Et avant tout cela,
nous voulons vérifier. Si ce rechargement n'est pas
vrai, vous pouvez le recharger. Donc, ici, vérifiez-le avec
la branche comme ceci. Si nous ne rechargeons pas,
vous pouvez commencer le rechargement vous pouvez commencer le rechargement Et une fois le rechargement terminé, nous pouvons régler ce rechargement pour qu'il
tombe à nouveau, c'est vrai, Et lorsque cette animation sera complètement jouée, nous pourrons également utiliser la
fonction de rechargement Donc, la
fonction de rechargement de Dragon Drop est ici. Ensuite, après avoir joué
cette animation, nous devrions également jouer une autre animation . Laisse-moi te le montrer. Si vous allez sur Asset, allez sur Gn, si vous vous souvenez de Gone Animation, nous avons également une
animation Gun reload Il suffit de le regarder. Le
magazine va sortir, non ? Nous voulons également jouer à cette
animation. Donc, ici, on peut oublier le pistolet. Avec cette animation, nous
voulons jouer cette animation. Donc cette exécution se fera
exactement avec ça, non ? Ici, nous pouvons
jouer à l'animation, droite, et connecter cette épingle
d'exécution à ici. Et l'animation
que vous voulez jouer s'
appelle gun reload C'est amplement suffisant. Non, c'est juste le Sato.
Si vous deviez compiler, et si vous appuyez sur Exécuter, non, voyons ce qui va se passer Si j'appuie sur R, vous pouvez
voir que cela fonctionne bien. Et maintenant, nous en avons 12. Maintenant, si vous tirez à nouveau
et si vous tapez à nouveau, vous pouvez voir que le rechargement
fonctionne correctement Mais un problème que
je peux voir ici, rechargeons d'abord Vous pouvez voir que nous sommes en train de recharger,
tout semble bon. Mais nous avons 12 balles
dans notre magazine. Mais si vous cliquez encore une fois, l'
animation sera jouée pour nous. Rien ne s'est passé en ce qui concerne la quantité de balles dans le
rangement et les munitions, mais c'est l'animation qui joue, donc nous devons corriger ce problème Nous pouvons le réparer ici. Nous voulons donc vérifier
si les munitions de stockage
étaient supérieures à zéro et,
avec le lingot final, nous voulons vérifier si les
munitions n'étaient pas égales,
pas égales au nombre maximum de munitions
rechargées.
Dans ce cas, Dans ce cas Encore une fois, si les
munitions de stockage contiennent des munitions et
que les
munitions ne sont pas remplies,
le chargeur n'est pas rempli le chargeur n'est Si ces deux cas
sont vrais, vous pouvez recharger. Maintenant, si vous avez compilé
et exécuté, nous en avons dix. Si vous rechargez, c'
est bon, non ? Et je sais que si j'avais R, vous pouvez le voir en animation
simple, non ? Nous tirons, et après cette tête R, vous pouvez voir, non, c'est du
rechargement ou de l'arme Ce set ou ce rechargement est terminé
34. 33 Recharge sonore: Non, nous sommes en train de recharger et nous
utilisons l'animation pour cela,
mais il n'y a aucun son Donc, pour ajouter du son,
là où je veux le faire, je veux le faire dans cette séquence
d'animation, en rechargeant le pistolet Cliquez donc sur cette
loupe, ouvrez le rechargement du pistolet Ici, comme vous le savez,
nous pouvons émettre du son. Alors laisse-moi voir ça. Tout d'abord, le magazine
sort, non ? C'est ça. Dans ce cas, ici, nous voulons émettre un son. Ici, cliquez avec le bouton droit de la souris sur
Ajouter
et notifier le son, et le son que
nous voulons jouer est rechargé Rechargez la première partie. C'est ça. Ensuite, un autre
magazine sera publié, puis vous voudrez
y aller. Encore une fois, je veux jouer un autre son, ajouter Nodify, jouer Et le son que cette fois,
encore une fois, il y a le rechargement de la deuxième
partie, nom, c'est vrai Après cela, nous
avons un onglet, non ? Maintenant, pour la partie suivante, il y a un robinet.
Laisse-moi te le montrer. Si vous parcourez le jeu, et que nous appuyons simplement, vous pouvez voir qu'il
y a un onglet. Mais ici, en l'ajoutant,
c' est un peu difficile. Nous devrions le mettre
quelque part et, avec cela, décider si cela doit
se produire tôt ou tard. Accédez donc à Ajouter une notification pour jouer le son. Et pour ce son, cliquez ici,
recherchez « tap tap in the gun ». Voyons si rien qu'avec ça, le son est bon ou non. Maintenant, si vous frappez, et je
pense que ça a l'air bien. Il se trouve sur le châssis 42, près de 42. Bien sûr, vous devriez jouer
avec cela jusqu'à ce qu'il soit parfait. Maintenant,
jouons-y
aussi ici . Ça a l'air génial. C'est magnifique. Tu
peux juste le fermer. Aucun rechargement excessif n'
émet de bruit. Tu vois ? Cool.
35. 34 Allumage lors du sprint: Non, nous voulons corriger certains bugs qui
vous ont permis de le trouver jusqu'à présent. Donc, si je passe par-dessus
le jeu et que j'entre ici, sprintons, non ? Et si nous maintenons le
bouton fmost enfoncé, oubliez-le. Ça n'a pas l'air bien, non ? Donc, ce que nous voulons faire, changer la vitesse maximale de marche à 250
lorsque nous voulons tirer, n'est-ce pas ? Donc, ici, dans le graphique des événements, lorsque nous voulons tirer,
laissez-moi le trouver. Je tire. Tout d'abord, permettez-moi
de faire de la place ici. Avant de vérifier si
vous visez ou non, je souhaite modifier
la vitesse de marche maximale. Téléchargez la
composante de mouvement du personnage et
réglez ici la vitesse de marche maximale à 250. C'est la vitesse de marche, non, pas la vitesse de
sprint, non ? Alors, mettez-le là. Non, il
passera à l'état de marche. Mais lorsque nous relâcherons le bouton le
plus à gauche, c'est terminé, et nous voulons revenir à
l'état dans lequel nous étions Nous voulions donc savoir si
nous étions en train de courir ou non. Donc, pour ce faire, je veux
créer une variable, et je veux dire
qu'elle est en cours d'exécution. C'est ça. Maintenant, où
voulons-nous définir cela ? Montez là où nous sommes
fixés, le maximum que nous devons atteindre. Si nous le mettons sur 600, nous voulons régler la course à deux, on pourrait simplement l'appeler «
Sprinter », peu importe Contin control, on le
colle ici, et c'est pour marcher, non ? Sachez donc que nous savons
quand nous courons. Donc ici, avant d'
activer le chronomètre, je voudrais vérifier si nous utilisons une branche ou non, n'est-ce pas ? Vérifiez donc si nous sommes en train de courir. Si vous relâchez
le bouton le plus à gauche alors que nous étions en train de courir, nous voulons à nouveau faire passer la vitesse de
marche maximale à 600 Passons donc au
mouvement du personnage, et ici, fixons la vitesse de marche maximale
à 600, n'est-ce pas ? Si nous étions en train de courir, connectez
la broche d'exécution deux, et ceci pour effacer le chronomètre. Mais si on marchait, on devrait continuer à
marcher, non ? Mais pour être sûrs, nous pouvons simplement le mettre sur 250. Si nous étions déjà en train de marcher et tirer et que nous relâchions le bouton le
plus à gauche, encore une fois, nous voulions rester à
la vitesse de marche, Nous connectons donc les deux
ici, et c'est tout. Maintenant, si vous renversez le jeu,
voyons ce qui va se passer. Courons et avons
laissé le bouton le plus à gauche. Vous pouvez voir qu'il faudra
marcher, mais nous avons un problème. Voyons voir. Si nous essayons de tirer,
il devrait se recharger Et vous pouvez voir que
lorsqu'il court, il tire aussi, un petit peu, non ? C'est à cause de l'espace dont nous disposons dans le
mixeur. Nous devons donc changer
cela, aller voir des singes, assister à des animations, et
faire marcher et courir des bières. Et je veux remettre la
douceur à zéro. Testons simplement cela non. Si nous parcourons le jeu et essayons
de lancer le bouton pour en obtenir plus, vous pouvez voir qu'il
fonctionne bien, non. Cool.
Et c'est notre problème.
36. 35 Réparer la course et le tirage: Le prochain problème que nous avons,
laissez-moi vous le montrer. Disons que nous nous déplaçons
et que nous tirons, non ? Et nous maintenons le quart de travail. Vous pouvez voir ce qui va se passer. Laissez-moi marcher, maintenez le bouton le plus à gauche et maintenez la
touche Shift enfoncée. Vous pouvez voir quel est le problème. Chaque fois que nous tirons, nous ne devrions pas autoriser le
joueur à sprinter. Donc, pour ce faire,
nous devons d'abord savoir quand
nous tirons, n'est-ce pas ? Lorsque nous tirons, lorsque cet incendie s'est produit et que les
munitions sont supérieures à zéro Je veux donc créer une variable, et je veux l'appeler es firing. Et dans ce cas, nous voulons le définir sur
true, n'est-ce pas ? Une fois cela fait, chaque fois que nous essayons de courir, laissez-moi le trouver. Nous montons. Chaque fois que nous essayons de courir,
que voulez-vous faire ? Nous voulons vérifier que c'est en train de se déclencher. Obtenez-le et vérifiez-le
auprès de la succursale. Et cette fois, je veux que le démarrage et le déclencheur
vérifient cela, accord. C'est vraiment important. Si vous ne tirez pas, nous pouvons passer à une vitesse de
marche maximale de 600. Non, compilons,
sauvegardons et exécutons le jeu, tirons, déplaçons et maintenons la touche Maj enfoncée. Après cela, vous pouvez
voir que nous ne pouvons plus courir. Tu vois, si je relâche le bouton le
plus à gauche,
encore une fois, nous ne pouvons pas courir Quel est donc le problème ? Le problème est que chaque fois que
nous relâchons le bouton le plus à gauche, nous ne réglons pas le déclenchement de
Es sur false Ici, lorsque nous relâchons le bouton
le plus à gauche, le feu IA, nous devons
régler le tir E sur false C'est ça. Maintenant,
vérifions-le. Vous pouvez voir que nous ne pouvons pas
courir. Non, on ne peut pas courir. Donc tout va bien, nous n'avons aucun bug. Bien sûr, si vous trouvez un bogue, laissez-le
simplement dans la
section des questions ou sur le canal Discord Je vais créer une vidéo pour.
37. Arrière-plan d'interface utilisateur 36 Ammo: Non, nous voulons créer
une interface utilisateur pour notre AO. Voyons comment nous pouvons le faire. Pour ce faire, je veux
aller dans le tiroir de contenu, aller dans le dossier FPS, aller dans le widget. Et ici, à droite, cliquez sur Accéder à l'interface utilisateur
et créez un plan de widget correspondant au type de widget utilisateur.
Je veux l'appeler DUBP Amo UI, droite, cliquez dessus pour l'ouvrir Ici, la première chose
que je veux ajouter, ajouter un panneau Canvas. Ensuite, je veux ajouter une bordure ici.
Et cliquez dessus. Je veux montrer l'AO dans
le coin inférieur gauche. C'est pourquoi je souhaite également
changer le point d'ancrage dans le coin
inférieur gauche et changer la position X
et la position Y à zéro. Non, je veux changer l'
alignement en Y pour qu'il soit un,
celui-ci , mais le x zéro est
largement suffisant, non ? Donc, ici, l'alignement de
Y, je veux qu'il en soit un, et je veux lui donner
un peu de rembourrage qu'il s'éloigne
de cette bordure Donc, en position X, je veux mettre 50 et en position Y, je veux utiliser -50 pour
que ça monte Pour la taille, je veux
changer les tailles à 300 x 100, non ? C'est ça. Ensuite, celui-ci, allez dans
les apparences, passez au pinceau et changez l'image
dessinée en boîte arrondie. Donc ça a l'air beaucoup mieux. Ensuite, passez au réglage du plan. Faites passer la radio
d'angle à dix pour tous. Comme ça, changez
la couleur
du contour en blanc, non ? Juste comme ça aussi. cause de cela, je veux en
mettre un là-dedans, et le type arrondi, je veux le changer pour
fixer le rayon. Ensuite, je souhaite également utiliser la transparence du
pinceau. Non, je trouve que ça a l'air bien, mais je veux aussi en changer la
teinte. La couleur de la teinte, je veux qu'elle soit exactement noire pour que vous
puissiez voir les bordures, et je veux changer l'
Alpha 20.5, par exemple, chauffer OK. Et c'est l'
arrière-plan de Over AO UI, n'est-ce pas ? Juste avec ça,
ajoutons-le à notre plan. Au début de la partie, nous devons le créer et l'ajouter
à la fenêtre d'affichage Donc ici, encore une fois, je vais dire créer un widget, non ? Et le widget que vous souhaitez
créer s'appelle WBP MouI. Ensuite, je veux rediriger la
promoted vers une variable, et je veux l'appeler AO UI ou il vaut mieux l'
appeler WBP MOI Il sera plus facile
de le trouver, non ? Après cela, vous souhaitez l'ajouter
d'une fenêtre à l'autre. Et juste avec ça,
si vous écrasez le jeu, vous verrez que nous avons un
arrière-plan pour afficher l'AO. Voyons maintenant comment y ajouter plus belles choses.
38. 37 Widget boîte horizontale: La prochaine chose que je veux faire. Je veux vous montrer ce que vous voulez créer avec
ce fond d'écran. Laisse-moi te parler de la
peinture. C'est gratuit, non ? Donc, ici, nous avons
un historique, n'est-ce pas ? Dans ce contexte, ce que
je veux faire en premier. Et ici, je veux montrer l'image d'une arme
comme celle-ci. Je ne peux pas faire mieux que ça. Après cela, je
veux ajouter une ligne ici et ajouter une ligne
ici également. Et ici, je veux
montrer la quantité de munitions, par
exemple, dix par huit, par
exemple, n'est-ce pas ? Et laisse-moi changer
la taille comme ça. Ensuite,
laissez-moi cliquer ici pour
choisir l'un d'entre eux. Ici, je veux vous montrer
comment vous pouvez recharger. Nous ajoutons donc une image
ici et ici, nous disons recharger, non ? Comme ce rechargement, comme ça. C'est donc à peu près
ce que nous voulons montrer. Une image, une ligne
et le numéro de balle à l'intérieur du
magazine et du rangement. Et après cela, montrez une
image ici pour dire que si vous appuyez sur R, vous pouvez recharger C'est ça. C'est
ce que nous voulons faire. C'est notre référence, non ? Pour ce faire,
je veux tout d'abord ajouter une boîte
horizontale, non ? Donc, ici, ajoutez une boîte
horizontale. Nous pouvons donc ajouter horizontalement des
éléments les uns après les autres. La première chose que je
veux ajouter à l'intérieur cette boîte horizontale
est juste une image. Ajoutez donc une image et l'
image que je souhaite utiliser, passez au pinceau et ici. Recherchez M four. C'est ça. Maintenant, vous pouvez
en voir la taille. C'est trop gros. Je veux lui dire de
remplir la moitié de l'arrière-plan. Cliquez donc sur remplir et
remplacez le 1 par 0,5 pour non. Bien sûr, il a tout
rempli parce qu'il n'y a rien
là-bas en ce moment. Mais lorsque nous ajouterons d'autres éléments, vous verrez que cela fonctionne. Ensuite, je veux également
l'aligner à gauche et au milieu, au milieu en vertical et à
gauche en horizontal. Donc, à gauche de ce côté et
au milieu de ce côté. Ensuite, je veux
changer la couleur de teinte en quelque chose comme ça, une couleur bleue, d'accord. Comme ça, je trouve que ça
a l'air bien mieux. Ensuite, je veux ajouter une
ligne au milieu ici, donc ajouter une bordure à l'intérieur de
cette horizontale. Vous pouvez voir qu'il
sera ajouté ici. Et encore une fois, nous voulions lui dire quelle partie de l'écran
elle devait être ressentie. Par défaut, lorsque nous
en mettons une ici et 0,5 pour
celle-ci, cela signifie que l'
arrière-plan entier sera de 1,5, que l'une d'elles
sera cette image, 0,5 d'entre elles sera
celle-ci et quatre images, n'est-ce pas ? Donc, celui-ci, je veux
créer juste une ligne. Donc,
je veux que la taille de ce champ soit de 0,005, vraiment un petit nombre Je n'ai pas envie de faire la prochaine chose. Je veux en réduire
l'Alpha à 0,5. Hein ? Tu peux le voir. Et je veux ajouter un peu de
rembourrage en haut et en bas. Je pense donc qu'en haut, mettons simplement dix pour le haut
et en bas jusqu'à dix également. Et c'est tout pour le non,
laisse-le comme ça. Ensuite, je veux
créer une verticale pour empiler les objets les uns
sur les autres Nous créons ceci, nous
créons cette ligne. Mais non, nous avons besoin d'une boîte verticale pour pouvoir empiler les objets les uns
sur les autres. Trouvons donc une boîte verticale, une boîte verticale, une boîte
horizontale ajoutée. Et celui-ci Encore une fois,
je voulais faire le plein, mais cette fois, je
voulais en remplir 0,6, non ? Tout cela est
relatif, n'est-ce pas ? Juste avec ça, si tu
cliques ici, tu peux le voir. Il y a une ligne ici et une
boîte verticale ici. Et attention, la taille de
cette image n'est pas bonne. Je veux changer la
taille de cette image à 152 x 41, et c'est tout. Maintenant, nous avons une bonne image. Nous avons une boîte verticale dans laquelle nous pouvons y ajouter
beaucoup de choses. Mais pour le moment, je trouve que
ça a l'air génial. Disons simplement compiler et
exécuter, et maintenant vous pouvez voir. C'est magnifique. Pour le moment, nous ne mettons rien à jour. Nous ne l'avons pas encore terminé, mais dans la vidéo suivante, nous
essaierons de le terminer complètement.
39. 38 Ammo UI pour les magazines et le stockage: La prochaine chose que
nous voulons faire, d'indiquer le
montant du droit. Alors revenons ici. Tout d'abord, nous
avons des chiffres, et pour ce que je veux
faire,
nous voulons d'abord empiler certaines choses les unes
sur les autres. Et la première chose
que nous voulons
empiler en haut, ce sont ces chiffres. Et je veux utiliser une autre case
horizontale pour, par exemple, ceci soit un texte, ceci soit un autre texte, et ce sera un autre texte. Donc ils ne
les poussent pas du tout, non ? Après cela, nous ajoutons la ligne avec la
bordure, puis une autre case horizontale pour mettre cette image ici
et après cela, un texte ici, non ? Voyons donc comment nous pouvons le faire. Pour ce faire,
je veux tout d'abord créer
une boîte horizontale, ajouter une boîte horizontale au-dessus
de la boîte verticale, et vous pouvez voir un haut ici. Et je veux dire ressentir
50 % ou 0,5 %, non ? C'est relatif à d'autres choses qui se trouvent à l'intérieur parce qu'il
n'y a rien là-dedans, 0,5 remplira
tout, n'est-ce pas ? Ensuite, nous avons besoin d'une frontière. Alors laissez-moi monter, prendre une bordure
parce que nous avons besoin d'une ligne. Et celui-ci, encore une fois, nous
voulions tout remplir, et
je veux que la quantité de remplissage soit de 0,01. C'est ça. Ensuite, je veux ajouter une autre boîte
horizontale comme celle-ci. Et celui-ci, encore une fois, nous
voulions remplir un écran. Cette fois, encore une fois,
0,5 également, non ? Maintenant, avec ça,
si vous cliquez dessus, vous pouvez le voir. C'est ça. La première chose que je veux faire, cliquer sur
cette bordure et changer sa couleur de teinte Alpha à 0,5. OK. Donc ça a l'air beaucoup
mieux. Tu peux le voir. Ça a l'air bien mieux, non ? Ensuite, pour notre boîte horizontale, je veux qu'elle soit exactement
au milieu, comme ceci. Vous pouvez voir qu'il est devenu petit, mais lorsque nous y ajouterons des éléments,
il s'agrandira. Donc, ce que je veux ajouter
n'est qu'un texte. Alors permettez-moi d'en ajouter un, ajouter un autre.
Il nous en faut trois, non ? Ajoutez-en une autre. Ce premier, appelons-le simplement amo. Hein ? Le suivant, nous n'avons pas besoin de le
nommer. Ce n'est qu'une barre oblique, non ? Et le suivant, ce sera des munitions
de stockage, non ? C'est ça. Maintenant,
pour que vous puissiez le voir, par
exemple, ici, disons huit,
n'est-ce pas ? Et pour celui-ci, disons
juste à partir de 50 ans, non ? Pour le non, bien sûr. Et celui du milieu, utilisons-le
simplement, est une barre oblique, non ? Juste comme ça. Nous
montrons la quantité de munitions par pré, n'est-ce pas ? Maintenant, je veux cliquer
sur chacun d'eux, les
sélectionner tous
et changer de couleur. Par exemple, pour ce qui est de l'opacité ou de l'alpha de tous,
je veux qu'elle soit de 0,8, un peu faible . Je voulais aussi qu'elles soient
toutes
alignées au milieu Donc, si nous changeons la taille de l'écran, elle sera toujours au
milieu. C'est ça. C'est magnifique. Il n'y a pas de boîte à quatre
ni de boîte horizontale ici. Il faut d'abord ajouter une image. Ajoutez donc une image ici. L'image que vous
souhaitez ajouter s'appelle R on ou clavier R. Nous la
montrons ici. Ensuite, nous voulons dire
remplir l'écran. Il suffit d'en pointer un arbre, non ? Encore une fois, c'est relatif. Lorsque nous y ajoutons d'autres éléments, nous pouvons modifier le
numéro du champ en conséquence. Si nous ajoutons autre chose et que
cette valeur
est supérieure à cela,
cela occupera plus de volume dans
notre boîte horizontale, n'est-ce pas ? Ensuite, le rembourrage. Donc, ici, rembourrage dans toutes les directions. Je veux en mettre cinq comme ça. Encore une fois, je veux qu'il soit aligné
au centre pour tous. Maintenant, pour ce qui est de la taille de l'image, je veux la changer
en 261 par 258. Juste sur ce, je voudrais ajouter autre chose, comme un
texte que je sais que vous pouvez voir. Et avec ce texte, je
veux cliquer dessus, encore une fois, lui dire de tout
remplir. Ce texte, je
veux le remplir de 0,5, et je veux qu'il soit aligné
au milieu dans les deux cas. Et pour ce qui est de l'Alpha, je veux qu'il soit aussi de 0,8. Et je veux dire rechargez. Là-dessus, et c'est tout. Maintenant, nous avons plus d'interface utilisateur, non ? Maintenant, si vous parcourez le jeu, vous pouvez voir que nous avons plus d'interface utilisateur, mais nous n'avons pas cette ligne. Augmentons simplement
cette valeur jusqu'à ce
que nous obtenions 0,2 et aucun run over game. Non, vous pouvez voir
que la limite est là. Non, tout semble bon. Il est maintenant temps de mettre
à jour ces chiffres. Voyons comment nous pouvons le
faire dans la prochaine vidéo.
40. 39 Mise à jour de l'interface utilisateur ammo: Ensuite, nous voulons mettre à jour la quantité d' AO et
d'AO de stockage l'intérieur de l'endroit où vous vous trouvez.
Voyons si nous pouvons le faire. Pour ce faire, nous
devons cliquer sur ce texte AO et maintenir la touche Ctrl enfoncée, sélectionner également l'AO de stockage et le rendre variable
en cochant cette case. les rendant variables, nous avons accès à eux dans
le graphique ici, n'est-ce pas ? Pour les mettre à jour, je
souhaite créer une fonction. Donc, par exemple, je veux
nommer cette mise à jour AO, n'est-ce pas ? Avec ces munitions mises à jour, je souhaite mettre à jour les munitions Alors, prenez les munitions et je
veux y mettre du texte. Posez un texto ici, non ? Et ils ont besoin d'un
texte à l'intérieur. Mais l'AO n'est qu'un entier. Cliquez donc sur mettre à jour AO et
créez une entrée ici, et je veux appeler
cela un montant ou AO ou quel que soit le nom que
vous voulez. Le type, je veux que
ce soit un entier, et maintenant je peux simplement le
connecter à ici. Il le
changera automatiquement en texte, et sachez qu'avec cette
fonction, nous pouvons le mettre à jour. Nous devons faire de même pour
mettre à jour les munitions de stockage. Sélectionnez tout, contrôlez
C pour le copier et créez une autre fonction pour mettre à jour les munitions
de stockage, n'est-ce pas ? Et avec cela, contrôlez V pour tout
coller ici, connectez l'épingle d'exécution. Cette fois, nous ne
voulons pas changer les munitions. Nous voulons changer
les munitions de stockage. Alors glissez-le et maintenez-le ici, et nous pouvons simplement le connecter
à ici et lui donner un nom, n'est-ce pas ? Alors cliquez ici, nommez-le
également par le montant. C'est ça. Maintenant, nous avons deux fonctions
qui, avec celles-ci, nous pouvons mettre à jour l'Amo dans OUI. Donc non, pour ce faire, nous devrions passer au
BPFBSF et d'abord, ici, au début du jeu, sur le chemin d'
exécution du
début du jeu, nous devons les mettre à jour tous les deux Nous pouvons donc obtenir le WBP
MOI, et ici, utiliser la mise à jour AO correctement et y connecter
le pin d'exécution Nous voulons mettre à jour les munitions avec les munitions que nous
avons ici, n'est-ce Ensuite, nous devons également mettre à jour
les munitions de stockage. Donc ici, recherchez
Update Storage Ammo, connectez le code d'exécution, et pour le montant, nous devons
transmettre les munitions de stockage, Avec ces deux options, nous pouvons cliquer dessus avec
le bouton droit de la souris
et les réduire à une fonction de mise à
jour de l'AOI, n'est-ce pas ? Donc, avec cette fonction,
où que nous la
placions, nous mettons à jour les munitions Maintenant, voyons voir. Si nous compilons, vous pouvez voir que les munitions sont dix et les
munitions de stockage de Passons simplement en revue le jeu. On peut en voir dix et huit. Si nous tournons, ce n'est pas une mise à jour. C'est un problème où
nous devrions la mettre à jour chaque fois que nous diminuons
la quantité de munitions, où nous pouvons le faire en tirant avec des armes
, directement pour réduire les munitions À la fin de la réduction des munitions,
nous pouvons utiliser cette mise à jour MOI, juste comme ça,
connectée comme ça, compilation de
la tête, et pas de course, et voyons ce qui va Vous voyez qu'il est en train de se mettre à jour. Et si nous partons,
voyons ce qui va se passer. Ce n'est pas une mise à jour, non. Donc, quand il diminue, tout va bien, mais lorsque nous
rechargeons, il ne se met pas à jour Voyons donc comment nous pouvons également ajouter
cette fonctionnalité. Découvrez où nous sommes en train de recharger. Ici, nous avons un pistolet de
recharge à la fin. Lorsque ce rechargement se produira, encore une fois, nous voulons mettre à jour
MOUI connected de cette Et maintenant, testons
Std. Si nous renversons le jeu, si nous
voyons quand nous
tournons, il est en train de se mettre à jour Cool. Si j'appuie sur R,
on verra ce qui va se passer. Non, tu peux voir. À chaque fois, il est mis à jour.
Ça a l'air génial. C'est magnifique.
Testons davantage Non, tout fonctionne bien. Nous n'avons plus besoin de cette chaîne
d'impression, nous pouvons
donc accéder à Event. Laissez-moi le trouver. C'est en haut. Nous
pouvons simplement le supprimer car nous le
montrons avec AUIO C'est ça. Félicitations.
41. 40 Objet d'ammunition: Non, disons que notre
balle est vide. Nous n'en avons aucune
dans le magazine. Nous n'en avons pas dans un entrepôt, nous avons
donc besoin d'un article pour pouvoir le récupérer, n'est-ce pas ? Donc, pour ce faire,
je veux aller le dossier
FPS et
ici, aller dans Blueprint Cliquez avec le bouton droit ici, créez une classe
de plan de type d'acteur, et je voudrais l'appeler article BP,
n'est-ce pas ? Parce qu'à l'avenir, je veux que cet article soit également une autre
chose. C'est pourquoi je vais l'appeler item. Mais pour l'instant, je veux m'
en servir comme d'une balle, non ? Alors maintenant, la première
chose que je voudrais ajouter,
c'est ajouter un système de
porticules Niagara, et je veux le glisser-déposer, mettre comme
snroot par défaut et savoir que ce que je veux
y mettre s'appelle des munitions NS, n'est-ce et je veux le glisser-déposer, le
mettre comme
snroot par défaut et savoir
que ce que je veux
y mettre s'appelle des munitions NS, n'est-ce pas ?
Il suffit de choisir ceci. Maintenant, tu peux le voir. Chaque fois que
nous entrons en collision avec celui-ci, nous le récupérons et notre quantité de
munitions
augmentera, n' est-ce pas Ensuite, je veux ajouter
une collision de sphères. Recherchez donc une
collision de sphères et mettez-la là. Maintenant, je veux aborder cette
question comme ça et
descendre ici jusqu'à ce que vous
atteigniez la
section de collision, devrait se chevaucher tout devrait se chevaucher de manière dynamique et
générer un événement de chevauchement. La prochaine chose que je
veux ajouter ici, d'ajouter un montant, non ? Montant à ajouter, non ? Alors, cliquez ici. Je
veux le changer en entier. Supposons,
par exemple, que
nous voulions ajouter 25
munitions à notre espace de stockage Je veux que ce montant soit modifiable
par instance
et exposé sur span Alors compilez et sauvegardez. Maintenant, mettons simplement certains
d'entre eux en niveau ou en niveau. Je veux cliquer sur notre joueur
Sart head F pour y accéder. Non, je veux les mettre, un de ces objets BP ici
pour que nous puissions entrer en collision avec lui Maintenant, si vous courez, vous pouvez voir nous pouvons avancer et
entrer en collision avec lui, n'est-ce pas ? Cool. Mais pour le moment, il ne fait rien. Voyons comment
nous pouvons le récupérer. Passons simplement à BP
FPS et ici, cliquez sur le composant de la capsule. Si vous descendez, nous pouvons créer un chevauchement
des composants BN. Laissez-moi l'apporter
ici pour que nous ayons un peu d'espace. Ici, nous voulons vérifier. Si vous
chevauchez quelque chose, nous voulons vérifier s'il s'agit d'un objet, obtenir l'autre objet avec
lequel nous nous recouvrons, mouler en BP Objet, non ? Et comme nous savons que cet article en
PP à l'heure actuelle, il peut s'agir simplement d'une munition Nous pouvons en obtenir une quantité, une quantité, juste, l'obtenir, et l'ajouter à des munitions de stockage, les
additionner comme
ça, connectés comme ça Ensuite, sauvegardez-le dans les munitions de
rangement, enregistrez-le comme ça et connectez-y l'
épingle d'exécution, n'est-ce pas ? Et après cela, nous devons mettre à jour
le MoUI, n'est-ce pas Tout comme cette mise à jour du MOUI. Voyons maintenant ce qui va se passer. Si vous écrasez le jeu, vous pouvez voir si je le
chevauche,
ce qui va se passer, je nous en
ajouterai 25. Mais la prochaine chose que nous voulons faire chaque fois que
nous le chevauchons,
c' est de le détruire, afin ne pas
pouvoir le récupérer
encore et encore. Donc, à la fin, nous voulons faire entrer l'autre acteur
ici et le détruire. Dites, détruisez l'acteur, c'est vrai, et connectez-le comme ça. Maintenant que c'est fait,
ajoutons-en un peu plus. Par exemple, le PPIM est là. Attendez, créez-en une copie. Vous pouvez voir que parfois
ça ne le montre pas,
c' est juste un bug.
Ne t'inquiète pas pour ça. Le montant de celui-ci, nous pouvons simplement le modifier en
détail si vous cliquez dessus. En ce moment, celui-ci en a 25. On peut en mettre huit, non, et celui-ci en fait 25, non ? Non, courons. Si vous prenez celui-ci, il nous en ajoutera huit, vous pouvez le voir, et il
sera détruit. Et encore une fois, si nous prenons celui-ci, cela nous en ajoutera 25, non ? Tu vois ? Non, nous avons encore
une balle à tirer.
42. Plan Kraken 41: Il n'y a
rien à ajouter ensuite, nous voulons ajouter de l'IA, NM et nous
voulons utiliser le suivi. Pour ce faire, il
existe un fichier zip dans la
description de cette vidéo
qui s'appelle ai point zip. Téléchargez-le. Mettez-le
sur votre bureau. Double-cliquez dessus pour l'ouvrir. Ensuite, allez dans Real Engine ici, cliquez sur le tiroir de contenu. Accédez au dossier de contenu, cliquez avec le bouton
droit de la souris dessus, affichez-le dans l'explorateur et sachez que nous avons le
dossier de contenu de notre projet. Non, une fois cela fait, faites glisser le dossier AI dans ce
dossier de contenu. Assurez-vous qu'il s'appelle
exactement AI. Après ça, à l'intérieur, ça
devrait craquer, non ? C'est ça. Ne changez
rien pour l'instant. Si vous voulez changer quoi que ce soit, vous pouvez accéder à Areal Engine
et le faire, n'est-ce Non, une fois cela fait,
si vous y allez,
vous pouvez voir qu' il y a un
dossier à craquer et des actifs, comme un maillage
pour trop craquer, n' Donc, non,
créons simplement une surfissuration. Dans ce dossier génial,
je veux cliquer avec le bouton droit de la souris, créer un nouveau dossier,
et je veux l' appeler BluePrint, Je vais cliquer dessus pour l'ouvrir
correctement, cliquer ici, créer une classe de plan
car notre fissuration peut bouger C'est pourquoi je veux créer une classe de personnage pour
ou pour craquer, n'est-ce pas Et je veux l'appeler «
BP crack », non ? Je vais cliquer dessus pour l'ouvrir. La première chose que je
veux faire ici, cliquer sur le
maillage et choisir le maillage. Alors cliquez ici et
choisissez le crack, non ? Tu peux voir, c'est vraiment grand. Non, la
collision entre les capsules, pour le moment, est trop petite, mais
Cracken est trop grande. Il suffit donc de cliquer sur
le composant de la capsule et de modifier le
Halfte et le rayon de la capsule Je veux le changer en 352
pour les deux, comme ça. Non, je veux cliquer sur le Kraken
ou le mailler, et je veux le repositionner
jusqu'à ce qu'il soit au milieu Je veux le changer
en -350, non ? Ce sera au
milieu. C'est une bonne chose. Maintenant, avec ça, regardons simplement
l'une de ses animations. Ainsi, par exemple, utilisez l'actif d'
animation et choisissez l'une des
animations de craquage. Par exemple, inactif. Vous pouvez voir, ou Kraken fait face à la direction Y
positive, et nous voulons qu'il soit orienté vers
la direction X positive, le vecteur avant, cette flèche dans laquelle nous ne pouvons pas la
voir ici, n'est-ce Laisse-moi me diriger vers F pour zoomer dessus. Vous pouvez voir la flèche. Il s'
agit de notre vecteur direct. Kraken devrait donc faire face dans cette direction, et nous pouvons le faire pivoter de
-90 autour de l'axe Z, pour qu'il fasse face à la direction
X positive, De cette façon, encore une fois, c'est
comme si vous faisiez face au test positif parce que
si vous cliquez ici, vous pouvez voir que c'est
la position du mot, et c'est le positionnement local, la rotation
locale, n'est-ce pas ? C'est donc ce que vous voulez aligner sur l'axe
X positif, à droite. Et avec ça, ce que je
veux faire, c'est compiler,
enregistrer, passer à un
niveau et en mettre un ici, non ? Juste comme ça. Ce sera sur le terrain. Non, c'est bon. Tu peux
voir que c'est magnifique. Maintenant, passons en revue le jeu et
non, vous pouvez voir que nous en avons
ou que nous craquons, n'est-ce pas ? Ça a l'air magnifique. Il s'agit simplement de
jouer l'animation idéale.
43. Contrôleur IA 42: Non, nous voulons
créer un contrôleur, un contrôleur AI pour surcraquer Il peut donc le déplacer. Il peut trouver le joueur. Je peux toucher le joueur, lui faire du mal
et tout ça. Donc, pour ce faire, allez dans
le tiroir de contenu. Je souhaite créer notre
manette à l'intérieur nos plans, car
ce n'est qu'un plan Alors, cliquez avec le bouton droit ici, créez une classe de plan, accédez à toutes les classes et
recherchez un contrôleur AI, n'est-ce pas ? Et celui que
je veux utiliser s'
appelle DTRKrod Sélectionné, sélectionnez la tête,
et je veux l'appeler AIC pour contrôleur AI.
Détruis-le. Hein ? C'est ça. Non, avec ça, nous voulons aller là où se
craquer et passer aux valeurs par défaut des classes,
descendre jusqu'
à ce que vous atteigniez
la section des pions Si je peux le trouver, c'est un
peu difficile. C'est ici en bas. Vous pouvez voir dans la section Pan que
nous avons une classe de contrôleur AI, et nous voulons lui fournir notre propre contrôleur
que nous créons, n'est-ce pas ? Juste avec ça, non, nous ne
pouvons pas lui dire
où aller, où séjourner,
quand aller et tout ça. Mais maintenant que nous sommes là, passons simplement aux mouvements des
personnages. Je veux changer
certaines choses ici. Par exemple, pour ce qui est de la vitesse de
marche maximale pour craquer, je veux la changer à 250 Cela semble plus naturel de cette façon. À la baisse, lorsque vous
atteignez le taux de rotation, je veux également le réduire de
100, et c'est tout. Maintenant, nous avons un contrôleur qui
peut contrôler la fissuration, mais comment voulons-nous le contrôler ? Il suffit de cliquer ici. Ici, vous pouvez voir que c'est
comme n'importe quel plan, n'est-ce pas ? Mais le moteur Ari nous fournit
un outil appelé arbre de
comportement qui nous permet de faire beaucoup de choses de
manière simple et rapide, n'est-ce pas ? Passons donc au tiroir de
contenu ici. Cliquez avec le bouton droit de la souris, accédez à Intelligence
artificielle ou IA et créez
un arbre comportemental. Je veux l'appeler BT. Kraken C'est notre comportement. Et si vous ne
cliquez pas dessus ici, nous pouvons décider de ce que le craquage
doit faire à tout moment Et je vais tout expliquer.
Ne t'inquiète pas pour ça. Notez simplement qu'
avec cet arbre de comportement, nous pouvons gérer le
comportement de notre crack. Et cette artère comportementale
a besoin d'un tableau noir. À l'heure actuelle, vous pouvez
voir qu'il est nivelé. Le Blackboard est l'endroit où
nous enregistrons nos données. Nous enregistrons où se trouve notre joueur, nous enregistrons les lieux
et tout ce dont nous avons besoin. Nous avons donc également besoin d'un
tableau noir. Cliquez ici avec le bouton droit de la souris, accédez à Intelligence
artificielle
et créez un tableau noir Cette fois, je veux l'
appeler BB crack, non ? Vous pouvez cliquer
dessus pour l'ouvrir. Et non, nous devons relier cette
fissuration artérielle liée au comportement de BT à ce tableau noir Nous enregistrons donc nos données
dans le Blackboard, et grâce au comportement
, nous pouvons y accéder. Donc, pour placer le
Blackboard ici, dans l'artère comportementale, nous devons cliquer ici dans l'artère
comportementale et
choisir l'actif Cliquez ici, choisissez
le BB crack et sachez que nous avons accès à notre
tableau noir juste Vous pouvez le voir ici,
nous pouvons accéder aux deux ou vous pouvez
simplement l'ouvrir comme ça. Les deux sont identiques. Oh, vous pouvez voir que le tableau noir est connecté à notre arbre de comportement Et nous pouvons le sauver. Pas d'aperçu ni de contrôleur d'IA. Nous devons demander à ce contrôleur d'
IA d'utiliser cet arbre de comportement pour gérer le comportement de notre fissuration
et comment nous pouvons le faire Nous pouvons dire « run behavior tree ». Et il nous dira
quel arbre de comportement, choisissez le craquage BT, non ? Et c'est tout. Notre contrôleur d'
IA contrôlera le craquage grâce à
cet arbre de comportement ici Ensuite, nous
parlerons de cet arbre de comportement.
44. 43 Passer à Kraken: Maintenant, laissez-moi vous expliquer comment
ces choses fonctionnent. abord, nous créons
un contrôleur d'IA, et avec le contrôleur d'IA, nous exécutons une artère comportementale, et dans l'artère comportementale, nous pouvons décider de ce que
le crack peut faire C'est exactement comme n'importe quelle entrée. Par exemple, nous avons un orignal
et un clavier, non ? Donc, dans Moose and Keyboard, il ne s'agit
que d'une
manette lorsque nous vous avons indiqué où le craquage
devait aller Lorsque nous appuyons sur S, il devrait
revenir en arrière, non ? Mais dans l'artère comportementale, nous les appelons tâches. Par exemple, tâche
pour avancer. Tâche pour revenir en arrière. Bien sûr, nous ne voulons pas le
faire comme ça, mais nous le faisons
avec des tâches, non ? Vous savez que le
craquage de l'AIC consiste à contrôler
ou à craquer, Et avec notre artère comportementale, nous sommes en train de décider quel contrôleur d'
IA doit passer
au cracker, n'est-ce pas ? Donc ici, si c'est
Dragon Drop à partir d'ici, vous pouvez voir qu'il y a
certaines choses là-dedans dont le plus utilisé
est un nœud de séquence. Ce nœud de séquence,
si vous le survolez, vous indiquera également de quoi il s'agit. Quelle que soit la tâche que
nous ajoutons ici, elle sera exécutée
de gauche à droite. Le positionnement des choses
ici est donc très important. Ce n'est pas comme un
plan selon lequel vous pouvez connecter n'importe quoi
où vous voulez, n'est-ce pas ? Ici, il exécutera
les tâches de gauche à droite. Et si l'une des tâches échoue, la séquence elle-même échouera. Mais si toutes les
tâches liées à la séquence peuvent être exécutées avec succès
sans problème, la séquence, comme nous
l'appelons, a
réussi, n'est-ce pas ? Par exemple, l'une
des tâches que nous voulons utiliser s'appelle déplacer vers, n'est-ce pas ? Ce déplacement entraînera
le déplacement fissuration
excessive vers un emplacement Nous avons donc besoin d'un emplacement
vers lequel déplacer, et comment définir
cet emplacement, nous pouvons le définir à l'intérieur
du tableau noir Vous pouvez voir ici que nous avons
une catégorie Blackboard, et ici, nous pouvons décider
où elle doit aller Par exemple, si je vais dans
Blackboard et que j'
ajoute ici la clé du type de vecteur, et que je veux l'appeler
emplacement où aller, n'est-ce pas ? Ainsi, si je me dirige vers
Enregistrer et que je reviens au comportement 3 et que je
clique sur ou que je passe à un autre, nous pouvons décider de la touche
Blackboard que ce déplacement doit utiliser
pour se déplacer vers un emplacement Maintenant que cela est fait
ou que vous passez au nœud ou aux tâches, vous
avez un emplacement où vous rendre. Vous pouvez voir qu'il est écrit de déménager dans un
lieu où aller, n'est-ce pas ? Nous devons donc mettre à jour cet
emplacement dans BP Kraken. Alors, allez sur BP Kraken, et ici,
disons simplement qu'au début de Play, nous voulons mettre à jour ou clé
Blackboard
appelée emplacement où aller,
donc ici, nous pouvons
accéder à Recherchez donc Blackboard. Nous disons d'aller chercher le tableau. Je vais me procurer le tableau
car il est connecté ici par le contrôleur AI
que nous créons Et ici, nous voulons
définir un vecteur. Recherchez un vecteur, définissez
la valeur sous forme de vecteur, n'est-ce pas ? Non, la prochaine chose dont
cette valeur définie en tant que vecteur
a besoin est un kename Nous devrions donc passer à notre
comportement trois fois après cela le Blackboard et copier ce nom headf two
control C pour copier, et nous pouvons simplement l'utiliser pour
le kename Mais le nom de clé que vous pouvez voir, je ne peux pas le coller ici Donc, ce que je veux
faire, c'est utiliser une chaîne pour nommer le
nœud ici, n'est-ce pas ? Je peux donc indiquer ou envoyer un texto le
lieu où aller, non ? Et la valeur du vecteur, la position dans laquelle
nous voulons qu'il
prenne, laissons-la simplement nulle, zéro, zéro. Peu
importe, non ? Alors maintenant, si vous passez au niveau supérieur, c'est ou si vous craquez, et pour que vous puissiez voir où se
trouve la position 000, je vais cliquer sur l'un de ces objets et le
mettre sur 00 position Vous pouvez donc voir que c'est l'emplacement 00 que vous
pouvez voir ici. Donc, sinon la fissuration devrait
commencer là et s'arrêter ici. Maintenant, si vous écrasez le jeu, vous pouvez voir où le
craquage ne bouge pas La raison pour laquelle elle ne se déplace pas
vers cette position 000, c'est parce que notre IA a besoin d'un Navmsh pour
trouver son visage Cliquez ici et ajoutez un maillage de navigation. OK, Nav Msh Bounce Volume.
Il suffit de le mettre là. Je veux changer la taille
dans chaque direction en 100, par
exemple, et dans
la direction, 100 également. Et dans le sens Z
, utilisons simplement 50, non ? C'est amplement suffisant.
Passons simplement en revue le jeu. Vous pouvez maintenant voir où se déplace la
fissuration. Le mouvement n'est pas si important. Nous n'avons pas
d'animation pour le déplacement, mais vous pouvez voir qu'il bouge
et qu'il fonctionne bien. Et chaque fois qu'il atteindra
la position 000, il
s'arrêtera maintenant, vous pouvez voir qu'il s'arrêtera
à la position 000.
45. 44 Vérifiez si le joueur est à portée: Sachez que nous savons comment
passer au-dessus des rayonnages. Ce que nous voulons faire maintenant, vérifier si le
joueur est dans la ligne de mire, aller le voir et
l'attaquer et nous le ferons
dans plusieurs vidéos. Donc, pour ce faire,
nous devons d'abord savoir si
le joueur est à portée pour que les joueurs puissent le voir , quelque chose
comme ça, n'est-ce pas Pour ce faire, je veux
créer une collision de sphères. Cliquez donc sur la capsule, cliquez sur AD et
recherchez une sphère. Collision avec ça. Je veux le rendre vraiment grand. Comme le
rayon de 6 000 de la sphère, non ? Juste comme ça. Vous
pouvez voir à quel point il est grand. Et je sais qu'avec ça, si
je devais compiler, sauvegarder, passer à un niveau ou passer à un niveau, je voudrais le placer en dehors du point de départ du joueur. Alors
mettons-le peut-être ici. Ensuite, je
veux acheter un Navmsh et le rendre
vraiment plus grand, par
exemple 500 x 500 C'est ça. Juste assez grand pour qu'il
puisse nous trouver, non ? cela fait, chaque fois que nous entrons
dans cette sphère, Une fois cela fait,
chaque fois que nous entrons
dans cette sphère,
nous voulons que ce soit le joueur qui craque, n'est-ce pas ? Donc, pour ce faire, je
veux cliquer sur ou sur une sphère, descendre ici et
créer un chevauchement de début. Sur ce, je voudrais
voir l'acteur qui commence à
se superposer à cette
collision sphérique avec le
casting, a choisi deux FPS BP, n'est-ce pas ? Et si c'est le joueur, le succès se produira, et je veux le montrer avec
juste un trésor d'impression, n'est-ce pas ? Et je tiens à dire que
le joueur est à portée. C'est ça. Maintenant, si le
joueur sort de la zone de jeu, clique
à nouveau sur la
sphère, et ici, il suffit de créer un chevauchement de
composants. Dans ce cas, encore une fois, je veux faire de même. Control C Control
V pi tout cela, connectez la broche d'exécution, un
autre acteur à un objet. Non, cette fois, je veux
dire que le joueur n'est pas à portée. Donc, ici, ce n'est pas dans la gamme
et la couleur, je veux la rendre rouge pour que
vous puissiez mieux la voir. C'est ça. La tête va bien. Maintenant, avec ça, compilons
, sauvegardons et exécutons le jeu. Non, vous pouvez voir, cela
ne dit rien, mais si vous
avancez dedans,
vous pouvez voir que le
joueur est à portée,
et si nous en sortons,
il se déplace parce qu'il
veut aller à la position 00. Et vous pouvez voir que cela indique que
le joueur n'est pas à portée. Encore une fois, si nous y arrivons, joueur est à portée, et si nous en
sortons, voyons ce qui se passera. Le joueur n'est pas à portée. Encore une fois, si nous y entrons, vous pouvez voir comment cela fonctionne. Maintenant, avec cela, nous
voulons créer un système. Ainsi, chaque fois
que nous entrons dans cette collision de sphères, s'en prend au joueur. Voyons comment nous
pouvons le faire. Suivant.
46. Joueur de chasse Kraken 45: Non, nous voulons
craquer et suivre le joueur, s'il est à portée. Donc, pour cela, nous n'avons pas
besoin de cet anneau d'impression. Ensuite, nous n'avons plus besoin de définir l'
emplacement auquel accéder, nous pouvons
donc également le supprimer. Maintenant que c'est fait, je veux accéder
à Blackboard ici, et nous n'avons pas besoin de cet
emplacement pour le supprimer Nous n'avons pas besoin de celui-ci non plus. Nous voulons sauver
le joueur, n'est-ce pas ? Et dans notre arbre de comportement, nous voulons dire « passer
au joueur », n'est-ce pas ? Passons donc à
Blackboard ici. La clé que je veux
créer est le type d'objet, et je veux l'appeler joueur,
n'est-ce pas ? Et le type de clé
a étendu la classe de base. Je veux le changer en
BPFPS, non ? Assurez-vous qu'il s'agit de BP FPS. Donc non, ce joueur peut enregistrer
un joueur FPS à l'intérieur. Et dans notre
arbre de comportement, dans ce mouvement, nous voulions, dire, nous en
prendre au joueur. C'est ça. Nous y avons mis le
joueur, non ? Mais non, si je renverse
le jeu
comme ça ou si je
ne le craque pas du tout Vous pouvez voir qu'il
ne bouge pas du tout. Même si vous êtes
à l'intérieur de la collision, n'est-ce pas ? Il ne bouge pas. Pourquoi ça ne bouge pas ?
Parce que nous n'avons pas du tout
configuré ce joueur. Et où voulons-nous le placer ? Sur ce point, il y a un chevauchement. Donc, si le joueur se trouve à l'intérieur
de la collision de sphères, Kraken peut s'en prendre à elle Donc pour ce faire, ce que je veux faire, je veux obtenir
notre tableau noir,
donc acheter un tableau noir Et nous voulons définir la valeur de l'objet. Recherchez donc un objet, à
droite, définissez la valeur en tant qu'objet. C'est ça. J'ai besoin
de l'épingle d'exécution. L'objet que vous
souhaitez transmettre est BPFS et le nom de la clé, nous voulons utiliser une
chaîne pour le nommer, n'est-ce pas ? Et le nom est joueur. C'est ça, mets-le là. Et une fois cela fait,
si vous voulez compiler, enregistrer un run over en ce moment, vous pouvez voir que notre
cracker ne bouge pas Si nous nous dirigeons vers elle et que nous
entrons en collision
dans l'atmosphère, elle devrait nous poursuivre. Maintenant, vous pouvez voir qu'il s'
en prend à nous. Attendons. Si nous nous rapprochons,
nous y aiderons. Et si nous nous rapprochons de nous, voyons ce qui va
se passer. Attendons. Attendons. Attendons. Et maintenant, vous pouvez voir
qu'il y reste. C'est ça. Il joue
l'animation inactive. Et si nous déménageons à nouveau, il bougera également avec nous. Vous pouvez voir pour nous joindre, non ? Non, il s'approche trop près
de nous. Nous pouvons changer cela. Accédez au comportement T ici
et cliquez sur ce déplacement vers. Nous pouvons changer le
rayonnement acceptable de cinq parce que
cinq est trop petit
à 1 300, Le saviez-vous alors si nous avions un jeu
compilateur et runo, n'est-ce pas ? Non, il ne nous poursuit pas. Et si nous entrons dans
la collision de la sphère, elle nous poursuivra et
attendra près de nous, mais pas si près que
nous sommes en dessous, n'est-ce pas ? Donc, non, attendons, attendons. Et maintenant, vous pouvez le voir,
il y attendra. C'est génial, non ?
Aucune fissuration ne peut s'ensuivre
47. 46 Kraken reçoit des dommages: Il n'y a pas d'autre chose que
tu veuilles faire. Nous voulons être capables de
tirer sur notre fissuration, réduire sa santé et d'
avoir une guerre sanitaire, n'est-ce pas ? Alors lançons notre jeu et partons. Vous pouvez voir que je peux le filmer, mais laissez-le nous parvenir. Chaque fois que nous
tournons dessus,
c' est comme si rien ne
se passait, n'est-ce pas ? Cela n'a aucun impact. Voyons donc quel
est le problème. Si nous allons à notre crack BP, à Mish, nous devons
empêcher sa collision Donc, d'abord, je
veux changer le
préréglage de collision en paramètre personnalisé parce que je veux faire
certaines choses ici. Je voulais tout bloquer, mais superposer le jeu de mots et
générer également un événement de chevauchement Il ne souhaite pas qu'il compile
et exécute le jeu. Maintenant,
approchons-nous de lui pour voir si nous le touchons, s'il a
un impact ou non Non, vous pouvez voir que lorsque nous le frappons, vous pouvez réellement voir l'effet. Je peux voir qu'il y a un certain
effet, impact sur les effets visuels, n'est-ce pas ? Alors laisse-moi tirer. Ici, vous pouvez voir que
non, cela fonctionne. On peut le toucher. Mais
quand on l'atteint, il ne
se passe rien, n'est-ce pas ? Nous devons endommager ou craquer,
et pour y parvenir,
nous devons ouvrir
notre plan de FPS, notre
PFPS et y entrer, PFPS et y entrer, où que nous Est-ce que la CIA est en feu, non ? Nous devons tirer avec des armes. Après avoir établi le tracé de la ligne for, faisons de la place. Nous voulons trouver l'acteur à succès et infliger des dégâts, n'
est-ce pas ? C'est ça. Facile. Appliquez des dégâts à l'
acteur que vous frappez. Si l'acteur craque,
cela se produira. S'il est moulé,
cela n'arrivera pas. Un moteur l'ignorera, non ? Maintenant, pour les dégâts de base, je veux utiliser un
flotteur aléatoire à portée, n'est-ce pas ? Disons que chaque fois que nous
voulons ajouter cinq à huit dégâts. Donc à chaque fois, ce
sera différent, non ? Voyons maintenant si
cela fonctionne ou non. Allez à BP Cracking et ici, trouvez l'espace vide
et recherchez dégâts, n'est-ce pas ? Et je veux vérifier avec
la chaîne de l'imprimante, imprimer une chaîne pour voir quels sont les dommages,
n'est-ce pas ? Chaque fois que nous l'avons. Maintenant, si vous écrasez le jeu et que vous tirez dessus, vous pouvez en voir cinq, sept, sept, et non, vous pouvez
voir, cela fonctionne bien. Nous sommes en train de l'endommager ou de le
fissurer. Cool, non ?
48. 47 Système de santé Kraken: Non, nous voulons créer un système de santé pour les personnes qui se
surpassent, n'est-ce pas ? Nous n'avons donc pas besoin de
cette chaîne d'impression. Ce que je veux faire ici, créer une variable, et je veux
l'appeler santé, non ? Et le type, je
veux qu'il soit flottant. Ensuite, je veux créer
une autre variable, et je veux l'appeler Max
Health, non ? C'est ça. Par exemple, disons que la santé est de 45 ou
50 et que la santé maximale 100 ou ce que vous
voulez y mettre. Cela devrait fonctionner avec
tous, non ? Maintenant que c'est fait, chaque fois que la fissure
peut être endommagée, nous voulons vérifier si la santé une branche
est supérieure
à zéro, n'est-ce pas ? Recherchez donc une branche comme celle-ci. S'il est supérieur à zéro, nous pouvons diminuer
la santé, n'est-ce pas ? Ici, la vérité se produira, et dans ce cas, nous voulons retrouver notre
santé et soustraire de ce chiffre
endommagé Et après cela, nous
voulons le sauvegarder à nouveau
dans le système de santé au cas où c' est vrai, n'est-ce pas ? C'est ça. Il n'y a aucune autre chose
que nous voulons faire. Nous voulons vérifier
si l'état de santé est inférieur à zéro ou nul, n'est-ce pas ? Donc, encore une fois, je veux
me renseigner sur l'état de santé et vérifier. Si la santé est inférieure ou égale, alors zéro, cela signifie que
la fissuration est terminée. Nous devrions donc le vérifier
avec une branche comme celle-ci. Dans ce cas, si c'est le cas, nous pouvons utiliser une
chaîne d'impression pour rien de
tel et dire que le craquage est mort. Et en cas de panne, ce que je veux faire, c'est utiliser une chaîne d'impression et y indiquer l'
état de santé. C'est ça. Non, compilons et
exécutons et savons que si vous
tirez sur ou que vous craquez, vous pouvez voir que la santé
est de 42. Tirez dessus. Vous pouvez voir que c'est
en baisse, en baisse. Et quand il atteint zéro,
cela signifie que le craquage est mort. Notre système fonctionne donc bien. Mais le prochain problème
que nous rencontrons chaque fois que nous tirons sur notre crack
devrait nous suivre. Peu importe que nous soyons à l'intérieur cette collision de sphères ou non. Donc ici, lorsque
la santé est supérieure à zéro et que nous l'endommageons, ces chutes se produisent et nous
montrons ensuite la santé.
Ce que vous voulez faire, nous voulons mettre à jour le joueur dans Blackboard,
mettre à jour ce joueur
dans Blackboard, mettre à jour ce joueur dans
Blackboard, Nous l'avons déjà
fait ici, non ? Juste comme ce Control C, Control V pour
le coller ici, non ? Et pour le joueur,
pour la valeur de l'objet, nous pouvons obtenir le
personnage du joueur, non ? Et nous pouvons le caster
pour le caster sur BP FPS. J'ai besoin d'une épingle d'exécution. Donnons-le donc comme
ça et connectons-le
à la valeur de l'objet. Maintenant que c'est fait, si nous nous dirigeons vers la compilation
et le jeu Runo, vous pouvez voir qu'il ne
se dirige pas vers nous, mais si nous lui tirons dessus, non, vous pouvez voir qu'il nous suit Si nous attendons, il nous parviendra. Non, tu peux voir
que ça nous arrive. Non, ou craquer c'est vérifier
si c'est une tête ou pas. C'est magnifique.
49. 48 Kraken Health UI: Non, nous voulons créer une interface utilisateur de
barre de santé pour éviter de trop craquer. Voyons donc comment nous pouvons le faire. Accédez au tiroir de contenu, allez dans le dossier de contenu, allez dans AI Crack
et, ici, sur le clic droit, créez un nouveau dossier et je
veux l'appeler Widgets. Double-cliquez dessus pour l'ouvrir. Cliquez avec le bouton droit ici,
accédez à l'interface utilisateur, et ici, créez
un plan de widget Et je veux créer un
type de widget utilisateur, que je voudrais appeler
WP, crack et Health. C'est vrai. Je vais cliquer
dessus pour l'ouvrir. Maintenant, ici, la première
chose que je veux faire, ajouter un panneau de toile. Je veux utiliser une
barre de progression comme celle-ci, et je veux l'ancrer
au milieu comme ça, haut au milieu, bien sûr, la position X et à la position
Y, je veux qu'elle soit nulle. Sa taille, je
veux qu'elle soit de 800 dans sens
X et de 15
dans le sens Y. Et pour la position Y, je veux y mettre 50, donc ça va baisser un peu. Et PositionX, je veux aussi en
ajouter 16, non ? Pourquoi je fais cela parce que je veux mettre une image
au milieu ici, et créer également cette barre de santé
sur le côté gauche Permettez-moi donc d'utiliser Control D
pour dupliquer celui-ci. Et cette fois encore, le point d'ancrage
en haut au milieu, non ? Et sa taille est bonne. L'alignement, je veux qu'il soit X un, et la position Y, je veux qu'il soit 50, juste comme ça, comme
nous l'avons ici. Et en position X, je
veux que ce soit -60. Celui-ci est 60, c'est -60. Maintenant, vous pouvez voir que c'est
comme un miroir, n'est-ce pas ? Maintenant que c'est fait, mettons
simplement le pourcentage à 0,5 et le pourcentage de
celui-ci à 0,5 également. La prochaine chose que je veux faire. Celui-ci je voulais
aller de gauche à droite, et celui-ci je voulais aller de droite à gauche,
juste comme ça. Maintenant, si je prends les deux et change la personne
à n'importe quelle valeur, les
deux changent
comme ça en s'éloignant l'une de l'
autre, n'est-ce pas ? Ensuite,
je veux descendre pour transformer
et changer la cisaille Vous pouvez voir que je peux le cisailler comme
ça jusqu'à 50, par exemple, n'est-ce pas ? Et le suivant
-50, juste comme ça. Je pense que ça a l'air bien
mieux. Tu peux le voir. Non, je veux ajouter une
image entre eux pour qu'elle soit plus belle. Sur cette image, je
veux l'ancrer en haut
au centre, comme ceci. Choisissez l'image.
Ça s'appelle Kraken Non, changeons simplement les positions X et
Y à zéro, elles seront donc au milieu. Je veux que l'alignement
sur le X soit au milieu. 0,5 est donc le milieu. Non, c'est la prochaine chose
que je veux faire. Je souhaite modifier la taille du
contenu. Tu peux le voir. Non, je veux changer la taille à 150 x 150. Juste comme ça. Non, vous pouvez voir qu'une partie de cette maladie est en train de disparaître. Donc, ce que je veux faire, je
veux cliquer dessus, sur la position X, je veux que ce
soit 50, un peu à l'intérieur. Et pour celui-ci, cliquez dessus, changez la position
X en -50, non ? Ou nous pouvons simplement mettre -55. C'est à la limite, c'est mieux. Donc 55 pour celui-ci
et -55 pour celui-ci. Non, je trouve ça génial. Ce que je veux faire ensuite, sélectionner
les deux et
changer le type de champ de couleur en vert. Donc c'est plus
beau et ça montre
la santé, non ? Maintenant, avec cela,
en sélectionnant les deux, je veux les rendre
variables, comme ceci. Après cela, je
veux passer au graphique. J'ai
ces deux barres de progression. Vous pourriez simplement le nommer,
mais ce n'est pas important. Nous pouvons créer une fonction
pour les mettre à jour. Je vais donc l'appeler update Health. Hein ? Et sur ce, je veux
obtenir notre barre de progression, une barre de progression comme
celle-ci, et définir un pourcentage. Il a défini un pourcentage, non ? C'est réglé comme ça. Et le pourcentage, on peut simplement le
glisser-déposer, le mettre ici. Il s'agit d'une valeur de 0 à 1. Ainsi, dans notre Kraken, lorsque nous le mettons à jour, nous devons
savoir qu'il s'agit d'une valeur 0-1 Nous voulons attribuer la barre de
progression et barre de progression 17 que nous avons
ici à cette personne, les
deux en même temps. Voyons maintenant comment
nous pouvons l'utiliser. Pour l'utiliser, rendez-vous sur BP
Kraken au début de l'événement. Nous voulons créer ce widget. Alors recherchez Create
Widget, n'est-ce pas ? Et le widget que nous voulons
créer s' appelle wbpkraknHlth,
avec cela, nous voulons d'abord le promouvoir en variable Je vais donc appeler cela Health UI. C'est vrai. Et après cela, vous voulez l'ajouter à la fenêtre d'affichage, ajouter à la fenêtre d'affichage, c'est
vrai, et c'est Maintenant, la prochaine chose que
vous voulez faire, mettre à jour l'état de santé. Et pour
ce faire, nous pouvons obtenir interface utilisateur de santé et utiliser
la mise à jour de
l'état de santé qui s'y trouve. Et vous savez que l'état de santé de la
mise à jour est de 0 à 1. Nous pouvons donc obtenir notre santé et la
diviser par la santé maximale. Juste comme ça,
divisé par la santé maximale, et cela nous donnera une valeur de 0 à 1 Et c'est ce dont nous avons besoin, non ? Ensuite, nous voulons
utiliser cette fonction chaque fois que l'état de santé d'une
fissuration excessive change, par
exemple, ici, n'est-ce pas ? Partout où nous subissons
des dégâts, non ? À la fin, je
veux le coller, et dans les deux cas, je veux mettre à jour l'
état de santé, comme ça. Maintenant, si vous écrasez le jeu, vous pouvez voir que nous pouvons
voir la santé de loin. Si vous tirez dessus, vous pouvez voir qu'il diminue sur les deux. Donc ça a l'air génial. Cela fonctionne bien.
50. 49 Visibilité de la barre de santé Kraken: Il n'y a pas d'autre chose que
tu veuilles faire. Nous ne voulons pas montrer ce crack et cette barre de santé chaque fois qu'ils ne nous
poursuivent pas, n'est-ce Chaque fois que nous n'en sommes pas
près, non ? Donc, pour ce faire, tout d'abord, au début, nous voulons obtenir notre interface utilisateur de santé. Au début, nous voulons définir la visibilité de notre interface utilisateur
pour qu'elle ne soit pas visible, n'est-ce pas ? Si nous nous en approchons, il devrait être visible
dans ce cas. Cela dit, non, je
veux le
copier-coller là où je veux l'utiliser chaque fois
que nous commençons à chaque fois
que nous commençons se chevaucher avec sa
collision de sphères, n'est-ce pas ? Donc, à la fin, si nous recoupons
cette collision de sphères, nous voulons la rendre
visible comme ceci. Et encore une fois,
contrôlez pour le coller ici. Si nous finissons par se chevaucher avec
cette collision de sphères, nous voulons également la masquer. Ensuite, chaque fois que le
craquage disparaît, ce que vous voulez faire, nous
voulons également le masquer Contrôlez donc V pour le coller ici et masquer la barre de
santé. Mais si le crack
et la santé diminuent d'une balle ici et que
le point de vie n'est pas nul, dans ce cas, nous voulons le
rendre à nouveau visible ici. Alors, rendez-le visible,
connectez-le comme ça, et connectez-le
comme ça à ici. Voyons maintenant ce qui va se passer. Si vous êtes en tête de compilation et d'
exécution, vous pouvez voir n'
y a pas de barre de santé. Si vous tirez dessus, non, vous
pouvez voir la barre de santé, elle nous poursuit et si nous lui
tirons dessus jusqu'à ce qu'elle soit morte, vous pouvez voir que la
guerre sanitaire s'arrêtera. Aucune barre de santé ne s'affiche chaque fois que nous lui tirons dessus
ou que nous pénétrons dans son rayon. Encore une fois, laisse-moi courir.
Ne tirez pas dessus. Si nous nous en approchons, vous pouvez voir
maintenant qu'il affiche
la barre de santé parce que
nous nous en approchons. La prochaine chose que je
veux faire ici, dans ce chevauchement ininterrompu, chaque fois que nous entrons dans cette collision de
sphères,
c' rendre la barre de
santé visible Mais avant cela, je veux vérifier si la
santé est supérieure à zéro, si la santé de Kraken
est supérieure à zéro Alors, vérifiez l'état de santé et vérifiez. S'il est supérieur à zéro, vérifiez-le auprès de la succursale,
non ? Juste comme ça. S'il est supérieur à zéro, vous pouvez rendre la
barre de santé visible dans ce cas. C'est ça. Aucune interface utilisateur de
barre de santé ne fonctionne correctement.
51. Plan d'animation 50 Kraken: Non, nous voulons ajouter des
animations à la surfissuration. heure actuelle, il glisse, nous voulons
donc ajouter une animation. Pour ce faire, je vais
aller dans le tiroir de contenu, crack et dans le dossier,
puis dans Blueprint Et ici,
cliquez avec le bouton droit de la souris parce que je l'enregistre de
plus en plus lent, passez à l'animation, passez au plan d'animation, et nous voulons le créer pour
craquer le squelette, créer la tête Je veux appeler ça du craquage
ABP, non ? Poupée, cliquez dessus pour l'ouvrir. Et sachez qu'ici, compte tenu de
la vitesse de surfissuration, nous devons jouer à l'animation Accédez donc à Asset Browser. Vous pouvez voir que nous avons
une animation, par
exemple dl, n'est-ce pas ? Pour ce faire, je veux
créer une machine étatique. Donc, recherchez une machine à états
et je veux l'appeler Locomotion ou quel que soit le nom que
vous voulez Je vais cliquer dessus pour l'ouvrir. Et sachez qu'ici, le premier
domaine que je veux créer est un domaine que je veux appeler inactif et le prochain domaine que
je veux créer ici,
Adeste, je veux l'appeler un domaine de
promenade parce que nous
n'avons que deux domaines Et non pour les
animations, passez au ralenti. Nous voulons y placer l'
idole, la connecter
et nous assurer que l'animation
en boucle est définie. Maintenant, revenez en arrière et faites-le également
pour la promenade. Encore une fois, craquez et marchez, mettez-le ici, connectez-le. Assurez-vous que l'animation en boucle
est également cochée. Compiler. Connaissez les règles. Nous voulions passer du ralenti à marche lorsque la vitesse
est supérieure à zéro, et nous voulons passer de la marche au ralenti chaque fois que la
vitesse est nulle, n'est-ce pas ? Nous devons donc connaître la vélocité
ou la vitesse de la surfissuration. Passez donc au graphique des événements. Ici, nous voulons oublier le fait
de craquer, non ? Je vais donc créer un
plan de jeu ici, un plan d'
événement, commencer à jouer, et nous voulons recruter
ces propriétaires de pions Alors fondez-le en fissuration, en fissuration BP, d'accord, comme ça Ensuite, nous voulons le
promouvoir en tant que variable. Je veux l'appeler «
BP crack », non ? Non, ici, nous voulons acheter notre biscuit BP et vérifier
s'il est valide La recherche de est donc valide. Avec cela, s'il est valide, nous voulons obtenir sa vélocité. Alors Dragon Drop,
recherchez Get Velocity. C'est ici,
prends de la vélocité. Nous voulons obtenir la
longueur de la vélocité. La longueur des vecteurs X et Y
est largement suffisante. Non, nous voulons les transformer
en variables et nous pouvons
appeler cela la vitesse. Ou la vélocité ou quel que soit le nom que
vous voulez lui donner en cas de validité, n'est-ce pas ? C'est ça. Non, nous l'avons. Passons simplement à Locomotion. Pour cette règle, qui consiste à passer au
ralenti pour marcher, nous voulons vérifier. Si la vitesse est supérieure à zéro, comme ceci, si elle
est supérieure à zéro, vous pouvez passer du ralenti à la marche. Mais si la vitesse
est égale à zéro, on peut passer de la marche au
ralenti. Obtenez de la vitesse. Et cette fois, je
veux vérifier s'il est presque égal à zéro, non ? S'il est presque égal à zéro, avec une tolérance de cinq, par
exemple, et
qu'il y est connecté. C'est ça. Maintenant que tout cela est fait, nous devons passer à autre et y placer le plan
d'animation Cliquez donc sur O mesh, et au lieu d'utiliser
une seule ressource d'animation,
remplacez-la par un
plan d'animation et remplacez-la ABP cracking, n'est-ce pas ?
C'est ça. Maintenant que c'est fait,
si vous écrasez le jeu, si nous nous rapprochons d'ici
et si nous craquons et bougeons, vous pouvez voir que les pieds de notre
fissure bougent également. Et quand il arrivera, il redeviendra
inactif. Il suffit de le photographier. Tu peux voir, on peut aussi le
filmer. Et maintenant, vous pouvez voir que les exploits fonctionnent également bien.
Ça a l'air génial.
52. Animation de mort de 51 Kraken: La prochaine chose que
vous voulez faire de pouvoir jouer à
The Dead Animation. C'est vrai, non, on est en train de craquer. santé peut atteindre le zéro, mais aucune animation ne sera diffusée si la santé atteint
le zéro, n'est-ce pas ? Donc, pour ce faire,
trouvons simplement la bonne animation, allons dans le dossier de craquage, allons dans Asset, allons dans Animations Et maintenant, vous pouvez voir que nous
sommes en train de mourir. Si nous ne cliquons pas dessus,
vous pouvez voir l'animation. Vous pouvez voir que quand il sera mort, il jouera cette animation. Maintenant, pour jouer cette animation, je veux le faire avec un animation,
donc cliquez dessus avec le bouton droit de la souris
et créez un animontage
comme ça et créez un animontage Je veux créer un nouveau
dossier à l'intérieur ou craquer, nouveau dossier, et je veux l'
appeler animations, d'accord Sur ce, je veux mettre l'image que nous
créons dans ce dossier Déplace-le là-bas. Une
fois cela fait, il suffit de cliquer
sur le nimontage Ici, vous pouvez
voir, comme avant, qu'il utilise l'emplacement par défaut et nous voulons l'utiliser, n'est-ce pas ? Maintenant, pour placer cet emplacement, dans notre analyse ABP, nous pouvons accéder à notre
graphe anim et ici,
rechercher un emplacement, un emplacement
par défaut, nous pouvons simplement le
placer là, et c'est Maintenant, nous pouvons l'utiliser.
Va voir BP Cracking ici. Lorsque le craquage est mort, nous voulons, au lieu de
dire que le craquage est mort, jouer son animation Donc, ici, on peut
passer par-dessus le maillage, non ? Et avec cela, nous voulons
jouer au montage, n'est-ce pas,
jouer au montage. Et une fois cela fait, connectons simplement
le canal à ici. Le montage que
vous voulez jouer s'
appelle Cracking Def
montage, n'est-ce pas ? Et connectez les deux
ici, et c'est tout. Voyons maintenant si
cela fonctionne ou non. Si vous lancez notre jeu et que vous tirez
sur notre râteau, vous pouvez voir qu'il s'agit d'une animation pour sourds Voyons ce qui va se passer. Vous pouvez le voir jouer
l'animation. Mais encore une fois, après cela, il prend vie et après cela, nous
poursuit, non ?
C'est donc un problème. Donc, ce
que vous voulez faire dans ce cas,
nous voulons tout d'abord vous dire de vous en tenir à la dernière image de
l'animation pour sourds. Accédez au crack et au dossier, accédez aux animations et
ouvrez l'animontage une fois de plus Et désactivez-le
pour activer le mélange automatique. Si nous décochons cette option, elle restera à la dernière image. Si vous écrasez le numéro de jeu, voyons ce qui va se passer. Fais-le mourir. Vous pouvez voir qu'il
joue cette animation et qu'il restera dans cette image. Mais comme vous pouvez le constater,
il bouge à nouveau. C'est donc un problème. Vous pouvez voir qu'il bouge à nouveau. Nous ne devrions donc pas laisser notre artère comportementale se déplacer se
fissurer lorsqu'elle est morte. Mais faisons-le
dans une autre vidéo.
53. Passage 52 au décorateur: Non, quand le crack est mort, il bouge aussi. Donc, pour résoudre ce problème, nous devrions aller à l'endroit où se comportent
les artères en cliquant ici. Cette initiative aussi, nous
voulions éviter qu'
elle ne se produise chaque fois
que Cracking est mort. Ici, nous devons
savoir si la fissuration
est morte ou non Nous devons donc accéder à Blackboard et ajouter un autre keotyp boolean Et je veux dire que c'est
craquant. Mort, non ? Nous avons donc la variable
nécessaire, mais nous devons passer à notre
pression artérielle, la régler
chaque fois que nous mourons et jouer
à l'
animation, Dans ce cas, nous voulons
obtenir notre tableau noir,
obtenir le tableau noir et
définir une valeur booléenne Donc, recherchez un taureau, définissez la valeur comme booléenne, non ? Permettez-moi de m'organiser un
peu comme ça. Et ici, nous
voulons que cela soit vrai. Parce que le craquage est mort. Maintenant pour le nom, je veux utiliser une chaîne pour le nommer ici, non ? Et le nom, nous devrions aller ici et le copier d'
ici, en tête de deux, contrôlant C pour copier, et ici, en
contrôlant pour coller, non ? Maintenant que cela est fait, nous savons qu'il sera mis à jour
dans Blackboard, n'est-ce pas ? Non, notre artère comportementale, nous pouvons dire au mouvement à noter ou passage à la tâche de ne pas se produire
si Cacken est mort Et comment nous pouvons le faire,
nous pouvons
cliquer dessus avec le bouton droit de la souris et y ajouter
un décorateur Je veux créer un décorateur de
tableau noir, non ? C'est ça. Je veux le nommer ici pour
déménager si Kraken n'était pas mort. OK ? Nous le nommons correctement, mais non, nous devons cliquer dessus et lui dire comment
cela doit se passer. Donc, en ce qui concerne le changement de valeur, nous devrions vérifier
cela, non ? Et ce que nous voulons abandonner en cas de changement de
valeur, c'est le soi. Nous voulions donc que ce passage
à la tâche soit annulé. Quand la valeur a changé, un bateau a avorté et est parti continuer
ici, nous voulons vérifier si
le craquage Et on le vérifie.
S'il n'a pas été défini, s'il tombe, il n'est pas défini. C'est comme dire faux. Si c'est faux,
tu peux continuer. Mais si ce n'est pas faux, cela signifie que nous n'avons plus aucune chance. Cette fissuration sera vraie. Il va donc s'arrêter tout seul. Juste comme ça. Maintenant,
si tu te sens prudent, passe à un niveau et cours. Tirons simplement
dessus. Tirez à nouveau dessus, et maintenant vous pouvez le voir mourir et il ne
pourra plus bouger du tout. Vous pouvez voir qu'il ne bouge pas
du tout. On peut tirer dessus. Il ne se passera rien. C'est ça. Non, on craque et on ne
bougera pas si on le tue.
54. 53 Tâche d'attaque Kraken: Sachez que nous pouvons
tuer notre fissuration, fissure et
que nous devrions également
être capables de nous attaquer . Voyons
comment nous pouvons le faire. Pour ce faire, permettez-moi de clore certains de ces éléments
dont nous n'avons pas besoin. Nous n'avons pas besoin de celui-ci pour le moment. Nous n'avons plus besoin de ce
crack ABP. Assurez-vous d'accéder au fichier, de tout enregistrer. Non, vous pouvez simplement
les fermer, c'est vrai, et fermer le holf qui
craque parce qu'il fonctionne Maintenant, allez
à l'arbre des comportements. Je souhaite utiliser d'autres tâches. Par exemple, je souhaite
utiliser une tâche de pondération. Par exemple,
supposons que je veuille pondérer 1 seconde par écart, 0,5. Ce que cela signifie, cela signifie qu'
au hasard, il obtiendra une valeur flottante comprise
entre 0,5
et 1,5, et qu'il attendra ce moment. Ensuite, après avoir attendu ce temps, nous voulons pouvoir attaquer. Mais ici, vous pouvez voir qu'il n'
y a pas d'attaque, n'est-ce pas ? Nous devons donc créer
notre propre tâche. Pour créer une nouvelle tâche, il
vous suffit de cliquer ici
et de créer la nouvelle tâche. Je veux l'appeler tâche
T de comportement BTT. Attaque, non ? C'est ça. Assurez-vous de l'enregistrer et il l'
ouvrira automatiquement. Maintenant, ici, nous avons
besoin d'un événement. Cliquez ici, et nous voulons
d'abord recevoir Execute AI. Ainsi, chaque fois que
ce séquenceur essaie de lancer l'attaque, recherchez une attaque BTT. Que va-t-il se passer ? Cet événement se
produira dans le cadre de
cette attaque BTT. Et ici, pour le moment, je
veux utiliser une chaîne d'impression, non ? Et je veux appeler
ça une attaque, non ? Et après cela, vous savez
que ce séquenceur doit savoir si ces tâches peuvent être exécutées
avec succès ou non Nous devons donc terminer
l'exécution, terminer l'exécution et la
réussir. C'est ça. C'est tout ce que nous
devons faire. Passons
maintenant à l'artère comportementale,
et ici, sinon une
attaque BTT devrait se produire Mais ensuite, parce que
je ne veux pas que ça reproduise très vite, je veux ajouter
un autre poids, exemple, cinq secondes
par un écart de deux. C'est comme attendre comme
une valeur aléatoire de 3 à 7. Choisissez une valeur aléatoire de 3 à 7
et attendez, non ? Maintenant que c'est fait,
si vous vous dirigez, économisez, et pour que vous puissiez mieux voir les choses, je veux les rapprocher. Vous savez que le séquenceur exécute la tâche de gauche à droite Si l'un d'entre eux échoue, la séquence échouera
également et recommencera. Maintenant, si vous
écrasez le jeu ici, et que vous le réduisez. Laisse-moi le faire un
petit peu comme ça. Passer au comportement Vous pouvez voir
que le déplacement est coché,
mais pour le moment, comme le joueur est vide,
il ne fera rien. Cela va échouer, non ? Mais si on y tire dessus,
voyons ce qui va se passer. Non, le lecteur n'est pas vide. Le lecteur dans Blackboard n'
est pas vide. C'est pourquoi le déplacement se produira et vous
pouvez le voir se produire jusqu'à ce qu'il atteigne la position où il devrait s'approcher
suffisamment pour nous tirer dessus, n'est-ce pas ? Non, tu peux voir que ça va attendre. Après cela, passez à l'attaque. Et après cela, il attendra. Après cela, revenez à passer à nouveau, attendez après cette attaque. Vous pouvez également voir l'attaque dans
le coin supérieur gauche. Quand il attaquera, il imprimera une chaîne pour nous. Je peux le voir. C'est cool. Non, avec cette attaque PTT, nous voulions vraiment
jouer à l'animation d'attaque
et ensuite réduire la santé de notre joueur.
Voyons ce que nous pouvons faire.
55. 54 animations d'attaque Kraken: Voyons maintenant comment nous pouvons faire craquer, attaquer le joueur Pour ce faire, je veux
aller chez BP Cracken. Ici, je veux créer
un événement, un événement personnalisé. Recherchez donc un événement personnalisé, et je veux appeler
cela une attaque. C'est ça. C'est
amplement suffisant. Non, je veux
utiliser un anneau d'impression, n'
est-ce pas, et je veux dire que
c'est une attaque, non ? Et maintenant, passez à la tâche BTT attack
the behavior tree. Et ici, d'abord,
nous devons faire en sorte que le jeu de
mots de commande le fasse craquer à BP,
n' Ensuite, nous
voulons exécuter l'événement d'attaque, correctement, et
le connecter comme ceci. Maintenant, si vous renversez le jeu, que vous tiriez
dessus et que vous avancez , encore une fois, comme avant,
il devrait y avoir le mot attaque, non ?
Tout comme avant. Mais cette fois, nous pouvons jouer
l'animation, non ? Vous pouvez voir qu'il est écrit « attaque toutes les 5
secondes », par exemple. Tu peux le voir. C'est ça. Maintenant, là où l'attaque fonctionne bien, il ne reste plus qu'à l'implémenter. Nous ne voulons pas utiliser de bague
de test d'impression. Donc, ici, que
voulez-vous faire ? Nous voulons jouer un montage, n'est-ce pas ? Recherchez donc play Montage et dans le montage que
vous voulez jouer, le moment, nous n'
avons rien. Alors créez ça, non ? Allez dans crack and
folder, allez dans Acid. Nous avons un dossier d'animations, et ici, nous avons
un certain type d'attaques. Sélectionnez ces quatre types d' attaques, cliquez avec le bouton droit de la souris
sur l'un d'entre
eux, puis cliquez sur Créer et
créer des images pour chacun d' Maintenant, je veux les récupérer toutes,
les déposer
et déplacer dans le dossier
des animations, n'est-ce pas ? Nous voulons utiliser ce
type d'attaques. Alors maintenant, choisissons-en
un ici. Ça s'appelle l'un d'entre eux, ça s'appelle un montage d'
attaque Smash, non ? Nous voulons lui donner le
maillage squelettique d'une fissuration excessive. Non, avec ça, compilons
,
exécutons, et non, allons-y et non, allons-y pour voir si cela nous
attaque ou non. Allez de l'avant. Et non,
attendons. Vous pouvez voir qu'il nous
attaque maintenant. Nous verrons s'il
nous attaque à nouveau ou non. Vous pouvez voir qu'il
nous attaque maintenant, et c'est parfait. Mais pour des raisons de sécurité, je veux créer une variable, et je veux l'appeler es
crack attack, n'est-ce pas ? Et le type, je
veux qu'il soit flottant. Donc, si le craquage
voulait attaquer le joueur, cette attaque se produira
et nous voulons régler l'attaque par craquage sur vraie, n'
est-ce Et quand ce sera terminé, encore une fois, nous voulons définir
l'attaque géniale Mets-le ici
pour tomber, non ? C'est ça. Non, au
début de tout ça, nous voulons craquer,
attaquer, et nous voulons
vérifier cela auprès de la branche Si ce n'était pas une attaque, nous pouvons jouer l'attaque, non ? C'est ça. C'est un système de sécurité intégré. Cela ne devrait pas poser de problème, mais c'est sûr. Non, le problème
, c'est qu' il ne s'agit que
d'une simple animation, non ? Donc, ce que je veux faire, c'est
utiliser un élément de tableau aléatoire. Sur ce, je veux les
promouvoir en tant que variable, et je veux les appeler attaques
Kraken, n'est-ce pas ? Nous avons donc placé toutes les
attaques au rack dans ce tableau, et au hasard, nous avons sélectionné
l'un des montages à jouer Combien en avons-nous,
nous en avons quatre. Alors créez-en quatre et choisissez. Nous avons des fissures, la mort,
pas de fissures, de dégâts d'écrasement Après ça, craquage, attaque par
balayage, combinaison de
deux coups, non ? Encore une fois, nous avons une
attaque par balayage. C'est ça. Le suivant s'appelle Sweep Smash
Attack Three Heat Combo. Nous en mettons trois autres. Non, si vous renversez le jeu,
chaque fois que ce crack
veut nous attaquer,
une autre animation sera diffusée chaque fois que ce crack
veut nous attaquer, une autre animation sera Il
sélectionnera l'un d'eux au hasard. Parfois, l'un d'entre eux peut
se produire plusieurs fois. Vous pouvez voir, non, nous avons Smash, nous avons Sweep, vous
pouvez le voir, Tout a l'air génial.
Ce sera différent. Parfois, cela peut être répétitif car ils se ressemblent
pour la plupart. Mais vous pouvez voir que nous
sélectionnons au hasard l'une
des animations à jouer. Non, craquer, c'est
attaquer notre joueur, mais cela ne le blesse
pas mais cela ne le blesse
pas.
Voyons ce que nous pouvons faire.
56. Joueur de dommages Kraken de 55: Voyons maintenant comment
nous pouvons réellement infliger des dégâts au joueur lorsque le
cracker attaque, n'est-ce pas ? Nous savons quand c'
est le craquage qui attaque, non ? Nous voulons donc l'utiliser pour infliger des
dégâts au personnage chaque fois que
le maillage de la fissure se superpose à celui le maillage de la fissure de
notre joueur,
n' Donc, pour ce faire,
je veux cliquer sur le racken
ou le mailler. Descendez. Et jusqu'à ce que vous trouviez le
composant, commencez à vous superposer, n'est-ce pas ? Maintenant que c'est fait,
nous voulons d'abord vérifier si le
craquage attaque Alors vérifiez-le avec la
branche, trouvez-le craquelé, et vérifiez-le avec la
branche, d'accord, comme ça S'il se fissure, vous pouvez infliger des dégâts
aux autres acteurs Donc, infligez des dégâts, n'est-ce pas, si la fissuration attaque Et le montant, encore une fois, je veux utiliser une plage flottante
aléatoire comme cinq à huit à
chaque fois, n'est-ce pas ? C'est ça. Non, je veux
aller au BPFP, non ? Accédez au dossier Contenu, allez au dossier FPS. Dans Blueprint, ouvrez les BPFP. Et ici, accédez au graphique des événements,
trouvez un espace vide ici, cliquez avec le bouton
droit de la souris sur Rechercher les dégâts de
l'événement A, n'est-ce pas ? Et je veux le montrer avec
un anneau d'impression, non ? Montrez les dégâts. C'est ça. Non, je veux parler de BP
Cracken. Et ici, partout où nous avons un anneau d'empreintes, nous
voulons le supprimer. Nous savons donc que les dommages causés par la fissuration ne font que
se manifester, n'est-ce pas ? Maintenant, dirigeons-nous simplement vers la compilation, exécution, l'approche ou le craquage Tirez dessus un peu, pour qu'il nous parvienne également. Vous pouvez voir s'il nous attaque, s'il attaque un État, il nous attaquera six ou
sept, et vous pouvez le
voir, n'est-ce pas ? Maintenant que c'est fait, le
fait craquer endommage
le personnage Non, la prochaine chose que vous
voulez faire, c'est d'avoir un système de santé pour notre
joueur, une interface utilisateur dédiée à la santé. Voyons comment nous
pouvons le faire.
57. 56 Santé des joueurs et système de bouclier: Non, pour le système
de santé de notre BPFBS,
allons-y Et ici, je veux
créer des variables. Je veux aussi avoir de la santé
et un bouclier. Donc, ici, créez une variable, et je veux l'appeler santé. Le genre, je
veux être flottant. Encore une fois, créez-en un autre. Celui-ci, je veux l'appeler
Max Health, non ? Le suivant, je
voudrais l'appeler bouclier. Et un autre, je
veux l'appeler Max Shield. Disons la santé, je veux qu'elle soit de nouveau à 50 ans. OK ? Le MxL, je
veux qu'il soit 100 Le bouclier, disons qu'il est de 25, et le bouclier maximum
est également de 100. Vous pouvez modifier ces valeurs, le bouclier
maximal et les valeurs maximales de santé, et cela fonctionnera.
Ne t'inquiète pas pour ça. Maintenant, avec tout cela, ce que nous voulons faire, je ne
veux pas simplement le montrer avec
la chaîne d'impression. Tout d'abord,
je voudrais vérifier
les dégâts que nous subissons
dans le plan de notre joueur Et si les dégâts
que cela nous cause sont supérieurs
au bouclier dont nous disposons, nous voulons diminuer notre santé. Mais si ce n'est pas
plus que le bouclier, nous voulons le réduire par rapport
au bouclier, n'est-ce pas ? Alors maintenant, ici, nous voulons vérifier le bouclier. Obtenez-le. Si les dégâts étaient supérieurs ou égaux aux dégâts du
bouclier, n'est-ce pas ? C'est vrai, cela se produira. Cela signifie, par exemple, le bouclier est, par exemple, cinq et que les dégâts sont de six. Nous devons donc réduire
le bouclier de cinq, le
ramener à zéro et diminuer
la santé d'un, n'est-ce pas ? Donc, tout d'abord, je veux obtenir ces dégâts et les soustraire
du bouclier, pour voir
combien de dégâts doivent être
absorbés par le
bouclier combien de dégâts doivent être
absorbés par le Et après cela,
nous voulons réduire ce
qu'il en reste à cause
de la sursanté. Alors, récupérez la santé,
diminuez
cette quantité existante et enregistrez-la
à nouveau dans la santé. Comme ça dans le cas
de True, non ? Ensuite, vous voulez
mettre le bouclier à zéro, juste comme ça parce que nous le
diminuons ici, n'est-ce pas ? Maintenant que c'est fait,
que voulez-vous faire ? Je veux diriger la compilation. Je voulais te le montrer. Donc ici, laissez-moi trouver
l'EventIQu ici, je veux utiliser une chaîne d'impression Et encore une fois, comme avant, je veux utiliser un
format de texte, non ? Et je tiens à dire « santé C on ». Permettez-moi de zoomer ici pour
que vous puissiez mieux le voir. Je tiens le contrôle
avec le plus au milieu, je peux zoomer davantage, non ? Vous pouvez donc mieux le voir.
La santé, c'est tout. Je veux l'appeler Edge, c'est vrai. Ensuite, maintenez la touche
Shift Head Inter enfoncée. Vous passez donc à la ligne
suivante, vous voulez dire que le bouclier est, par
exemple, S, et
c'est tout. Stagiaire en chef. Non, nous pouvons régler la santé ici et installer
le bouclier ici aussi, non ? Non, une fois cela fait, nous pouvons
simplement le connecter à ici. Non, une fois cela fait, nous
devons l'étendre et
lui donner une clé. Peu importe ce que
tu y mets. Non, pour tester ça,
je voudrais réduire le bouclier à
deux, non ? Compilons et exécutons. Vous pouvez voir que le bouclier est composé de deux. Et il a 50 ans de santé. La première fois que nous
craquons et nous attaquons, le bouclier est bien moindre. Cela diminuera donc
le bouclier et la santé, les
deux ensemble.
Il suffit de le regarder. Le bouclier est nul et
la santé diminue, comme vous pouvez le voir.
Ça a l'air génial, non ? La prochaine chose que nous voulons
faire, c'est de gagner le domaine chaque fois que le bouclier est
supérieur aux dégâts que nous
infligeons à notre joueur. Dans ce cas, c'est plus facile. Nous pouvons simplement obtenir notre
bouclier et le soustraire de la valeur des
dégâts, d'accord, comme ça Et nous pouvons
également l'enregistrer
dans le bouclier par la suite et le
connecter ici. Maintenant, pour tester les données,
nous allons augmenter le bouclier à 25 et pas de jeu Let's Runo Tirez dessus, il
se rapprochera également de nous. Nous avons beaucoup de bouclier, et il devrait nous
attaquer et diminuer le bouclier.
Il suffit de le regarder. 18125, et vous pouvez voir le bouclier diminue
avec succès Il suffit de le regarder. Encore une fois, vous pouvez constater que la santé
diminue maintenant. Donc, tout va bien. Il est maintenant temps de créer
une interface utilisateur pour cela, non ? Non, nous n'avons pas d'interface utilisateur
pour la santé et le shi.
58. 57 Interface utilisateur santé des joueurs: Non,
créons simplement notre interface utilisateur Health. Pour ce faire, je veux
aller dans le tiroir de contenu, aller dans le dossier de contenu, aller dans AI Crack in, et ici, aller dans Widget. Cliquez avec le bouton droit ici, accédez
à l'interface utilisateur et créez un plan
de widget correspondant au type de widget utilisateur Je veux l'appeler
WBP Health, non ? C'est ça. Je vais cliquer
dessus pour l'ouvrir. Comme toujours, la première chose
que je veux faire ici d'ajouter le panneau Canvas. Ensuite, je veux créer l'arrière-plan de notre interface utilisateur Health, afin d'utiliser un tableau comme nous l'avons fait pour le MoUI, n'est-ce Nous voulons créer ce
type d'arrière-plan. Tout d'abord,
son ancrage est bon car je veux le laisser dans
le coin supérieur gauche Ensuite, son positionnement
doit être 50 x 50. Il y aura donc de la
place ici et ici, non ? La taille 6100 est bonne, mais la taille Y, je veux que
ce soit 300, non ? C'est ça. Maintenant, je veux me
débarrasser de tout ce rembourrage Alors mets-les tous
à zéro comme ça. Ensuite, je veux changer
la couleur de
teinte en noir et la
désactiver à 0,5, n'est-ce pas ? Ça a l'air génial.
Non, je veux aller ici, passer de l'image
à la boîte arrondie. Ne
t'inquiète pas pour ça. Le type arrondi, je veux que
ce soit un rayon fixe. Maintenant tu peux le
voir. Je souhaite également utiliser la transparence du
muguet Et après ça, le chauffage, je veux le mettre sur l'un d'entre eux. Maintenant, pour ce qui est de la radio
du coin, je voudrais les mettre toutes à dix, comme nous l'avons fait
auparavant. C'est ça. Si tu cliques ici, clique ailleurs, tu le
verras mieux. Maintenant, pour la couleur
du contour, je veux le mettre sur du blanc. Juste comme ça. Non, si je
clique, tu peux le voir. Nous avons de bons antécédents. Je veux avoir la barre de
santé ici et le bouclier
ici, non ? Pour ce faire, je
veux une barre horizontale. Pour les empiler les uns à
côté des autres. Ensuite, je veux deux
boîtes verticales. Pourquoi vertical ? Parce que je veux avoir une barre de
progression comme
celle-ci ici et un
avantage d'image pour dire que c'est la santé et une autre barre de
progression ici un avantage d'image pour
montrer que c'est un bouclier. Pour ce faire, je
veux avoir des cases verticales, deux d'entre elles, en ajouter deux ici, et vous pouvez simplement sélectionner les deux en
gardant le contrôle et lui dire de
tout remplir 50, 50, n'est-ce pas C'est ça. Non, avec ça, c' le premier que je veux que
ce soit pour la santé. Ajoutons-y donc simplement un par de
progression. Juste comme ça, vous
pouvez y voir un sommet. Non, cliquez sur le tableau de progression. Je veux qu'il remplisse
tout, de haut en bas. Et si vous changez de personne, vous pouvez voir que c'est
de gauche à droite. Je veux que ça vienne du bas. Top, juste comme
ça. Tu peux voir. C'est pour notre santé. Ensuite,
je souhaite ajouter une image. Ajoutez donc une image dans
cette boîte verticale, et vous pourrez voir l'
image en bas. Cliquez donc sur l'image, recherchez Plus et
mettez-la là. Tu peux le voir. Je veux aussi que cela se sente. Mais pour ce qui est de la progression, je veux avoir une impression de 0,9 comme ça et l'image de 0,13, non ? Maintenant, pour la
couleur du champ, je veux cliquer
ici et le changer en quelque chose
de vert comme celui-ci. Je pense que ça a l'air bien. Et maintenant, vous pouvez voir que
si je clique, vous pouvez voir que cela ne fait pas
partie de notre arrière-plan. C'est pourquoi je veux cliquer
sur le tableau de progression ou
ajouter un peu de rembourrage dans
toutes les directions, par exemple cinq.
Il suffit d'en mettre cinq. Nous nous agrandissons, vous pouvez tous
les voir. Non, c'est cinq. Ça a l'air génial, je trouve. Non, nous voulons faire de même
pour la boîte verticale. Alors, sélectionnez
tout, cliquez, copiez
et accédez à cette case verticale, n'est-ce pas, cliquez sur Coller,
n'est-ce pas ? C'est ça. Exactement ce que nous voulons
changer dans l'image. Nous voulons le modifier pour lui donner
une texture de bouclier, juste comme ça. Et pour ce qui est de
la couleur de la barre de progression, je veux
la changer en quelque chose de bleu, comme ça, non ? Et non pour les images. Par exemple,
ces deux images. Maintenez simplement le contrôle enfoncé,
sélectionnez les deux. Tout d'abord,
je veux qu'il soit au milieu comme ça à la fois pour l'
horizontale et la verticale. Ensuite, je voudrais ajouter
un peu de rembourrage à partir de gauche, comme cinq peuvent être
vus de droite, cinq aussi, et cinq
en bas également Maintenant, vous pouvez voir que ça
a l'air beaucoup mieux. Passons maintenant à la coloration. Je veux enregistrer cette
couleur comme ça. Nous pouvons simplement enregistrer cette
couleur en la faisant glisser et en déposant ici
et enregistrer cette couleur, en cliquant ici en la saisissant
et en la plaçant Maintenant, nous sauvegardons les couleurs, et nous pouvons les mettre pour celle-ci. Par exemple, pour ce qui est de la
teinte de celui-ci, je veux que ce soit l'
écran, OK. Vous pouvez voir que ça a l'air génial. Et celui-ci, la couleur de sa
teinte, je veux que ce soit celui-ci. Donc ça a l'air génial. Maintenant, commençons simplement
à compiler, enregistrer. Passons simplement à nos BPFP
et mettons-le en œuvre, non ? Donc, ici, sur ce chemin d'exécution du
jeu, je veux créer un widget,
créer un widget, n'est-ce pas ? Et le widget que vous
souhaitez créer s'appelle WBPHLF et nous voulons le
promouvoir en tant que variable Je veux aussi l'appeler
WBP Health. Et nous voulons l'ajouter
à Viewport. Ajouter à la fenêtre d'affichage. C'est tout ce que nous devons
faire. Passons simplement à la compilation et à l'exécution du jeu. Vous pouvez maintenant y voir la barre de
santé. Non, il est temps de
mettre à jour la barre de santé. heure actuelle, la
barre de santé n'est pas mise à jour, mais elle a l'air bien, non ? Voyons comment nous pouvons le
mettre à jour dans la vidéo suivante.
59. 58 Mettre à jour l'interface utilisateur santé: Non, pour mettre à jour l'interface utilisateur de santé. Voyons comment nous pouvons le faire. Pour ce faire, nous
devons accéder à WBPHLP. Et ici, pour
cette barre de progression, nous devons la nommer barre de santé, lui donner un nom significatif. Et cette barre de progression
s'appelle Shield bar, à droite. Et assurez-vous de maintenir la touche Ctrl enfoncée, de les
sélectionner toutes les deux et de
les rendre variables en
cochant la case est variable. Ensuite, nous y aurons
accès dans le graphique. Et à l'intérieur du graphique, vous souhaitez créer des
fonctions pour eux. Créez donc une fonction pour
mettre à jour la santé, n'est-ce pas ? Et avec cela, nous voulons obtenir la barre de santé comme celle-ci
et y définir un pourcentage, définir un pourcentage, à droite, et
connecter l'épingle d'exécution, et pour l'entrée, nous pouvons
simplement la connecter comme ceci. Et nous pouvons simplement le
copier-coller, créer une fonction pour mettre à jour le bouclier, mettre à jour le
bouclier, n'est-ce pas ? Et collez-le ici, connectez la
broche d'exécution cette fois. Nous voulons mettre à jour
la partie bouclier. Alors, placez-le là par glisser-déposer, et pour le
moment, connectez-le comme ça. Maintenant, nous avons deux fonctions, l'une pour la santé et
l'autre pour le bouclier. Voyons comment nous pouvons les utiliser. Accédez au BPFPS ici au début,
examinons simplement l'état du WBP, et avec cela, nous voulons mettre à jour l'état de santé de
la mise à jour et
connecter le Pour le pourcentage en pourcentage, nous savons qu'il s'agit d'une valeur de 0 à 1 Nous devrions donc retrouver notre
santé comme ça. Divisez-le par la santé maximale, cela nous donnera une valeur de 0 à 1, c'est
vrai, divisez par la santé maximale. Cela permettra de mettre à jour l'état de santé. Ensuite, ce que vous voulez
faire, contrôlez Control C, collez-le ici et mettez à jour le shield
cette fois, n'est-ce pas ? Donc, pour ce faire,
connectez-le ici. Encore une fois, comme nous l'avons fait ici, nous voulons obtenir le bouclier comme
celui-ci et obtenir le
bouclier maximum comme celui-ci. Et divisez-les les uns par les autres, d' accord, comme ceci et
connectez-les en pourcentage. Maintenant, regardons-le. La santé est de 50, donc la moitié doit être
pleine et le bouclier est de 25. Environ 25 % de notre santé
devrait être là. Et vous pouvez voir qu'il est en train de se mettre à jour. Maintenant, ce que je veux
faire d'abord,
allons-y et dirigeons
cette chaîne d'imprimantes. Nous n'en avons pas besoin. Nous avons
une interface utilisateur pour le montrer, non ? Maintenant, je veux
les sélectionner toutes, cliquer avec
le bouton droit sur l'une d'elles et réduire deux fonctions pour mettre à jour, mettre à jour Health, n'est-ce pas ? Maintenant, avec cette fonction, chaque fois que nous diminuons
ou augmentons la santé, nous voulons mettre à jour l'interface utilisateur de
santé, n'est-ce pas ? Par exemple, ici, nous voulons utiliser Update Health. Et dans les deux cas, pour ce qui est de la mise à jour de l'état de santé, nous
voulons qu'elle se produise. Voyons si cela
fonctionne bien ou non. Si nous tirons sur la fissuration, elle ira vers nous
et nous courrons vers elle Voyons ce qui va se passer. Il devrait nous attaquer. Regardez-le. Lorsqu'il nous attaque, il diminue d'abord
le bouclier. Vous pouvez voir que le bouclier
diminue. Et une fois le
bouclier terminé, il diminuera la santé. Il suffit de le regarder. Vous pouvez
voir que cela fonctionne bien. Chaque fois qu'il nous atteint, le bouclier et la santé
diminuent. Donc, tout fonctionne bien avec la
mise à jour de l'état de santé.
60. 59 Type d'article: Sachez que notre santé et notre
bouclier diminuent, mais nous avons besoin d'un objet
pour les augmenter pour les augmenter. Donc, pour ce faire, je veux
aller dans le tiroir de contenu, de contenu, dans le dossier
FPS, dans le plan
et ouvrir l'élément BP Maintenant, ce que je veux faire. Je veux le rendre personnalisable, afin que nous puissions l'intégrer à notre niveau
et que nous décidions de
ce que cela devrait être. Il devrait y avoir de la santé, un
bouclier ou des munitions, non ? Donc, pour ce faire, je veux créer
une énumération pour cela. Cliquez donc avec le bouton droit de la souris ici, accédez à Blueprint et créez
une énumération Et je veux l'appeler type d'article
E, non ? Juste comme ça.
Double-cliquez dessus, ouvrez-le. Je veux ajouter un énumérateur
ici, donc un, deux, trois. La première que je veux que
ce soit Amo, non ? Le suivant, je veux que
ce soit un bouclier, et le suivant, je
veux que ce soit la santé. C'est ça. Assurez-vous d'
économiser. Accédez à BPM. Je souhaite créer une variable. Et je veux l'appeler type d'article. Et le type, encore une fois, je veux que ce soit le type d'élément, cette énumération que
vous créez ensemble Donc, je veux que ce
soit du type E, non ? Et je veux qu'il soit
modifiable par instance et qu'il soit exposé lors d'un spawn Et par défaut,
disons que c'est la santé, par
exemple, non ?
Head Compiler, non. Si nous choisissons l'un d'entre eux, trouvons l'un d'entre eux qui
est dans notre niveau, par
exemple celui-ci, n'est-ce pas ? Laissez-moi le mettre
devant notre joueur. Celui-ci, vous pouvez voir, je peux dire, quel
est le type d'article. Par exemple, un bouclier B, des munitions
ou autre, c'est ce que
nous pouvons décider ici Et en fonction de ce que
nous avons décidé ici, de sa représentation, de
ce qui n'est pas graphique, j'ai également
voulu le modifier. Pour ce faire, je peux
consulter le script de construction ici. Je veux obtenir le type d'
article que nous avons choisi et je veux utiliser
Switch on it, n'est-ce pas ? Alors allumez-le. Si c'est de l'amo, ce que nous voulons
faire notre composant non
graphique ici, régler l'acide du système
Niagara et y
connecter les munitions Dans ce cas, nous
voulons le configurer sur
NS Amo pour le copier-coller à nouveau. Cette fois, nous voulons
le faire pour le bouclier. Nous avons donc simplement changé cela en NS
Shield, non ? Bouclier NS. Ensuite, contrôlez C Control
V pour le coller ici, et celui-ci, nous voulons le
faire pour la santé, non ? Changez donc cela en NS Health. C'est ça. Non, j'ai aussi besoin de
la cible. Connectez donc la cible ici. Maintenant, si vous compilez,
passez à notre niveau. Vous pouvez voir que si nous les
transformons en santé,
ce sera la santé. Et si nous les changeons en
munitions, ce seront des munitions. Encore une fois, si je
le duplique et que je le remplace par, par exemple, bouclier, cela nous
montrera le bouclier. Maintenant, vous pouvez voir que nous
avons des objets, n'est-ce pas ? Cool. Voyons maintenant comment
nous pouvons les récupérer. Nous allons le faire à côté.
61. 60 Articles à ramasser: Non, pour ce qui est de choisir la
moitié du bouclier, les munitions et tout ça, voyons comment nous pouvons nous
y prendre. Accédez à BPFS. Si tu te souviens, nous l'avons
fait pour les munitions, non ? Je veux le déconnecter
d'ici. Nous voulons le faire pour AO. Passons donc à tout
cela en mettant à jour le MOUI et en ajoutant les munitions de
stockage, Maintenant, avec cet objet BP, nous pouvons d'abord obtenir le type d'objet, obtenir le type d'objet,
et avec cela, nous voulons l'activer pour
voir de quel objet il s'agit, n'est-ce pas ? S'il s'agit de munitions, ce que nous voulons faire, c'est
augmenter le stockage des munitions Juste comme ça, les munitions
devraient bien fonctionner, non ? Permettez-moi de mettre tout
cela, par exemple, ici, afin que
nous soyons organisés,
et après cela, nous
détruisions l'acteur, n'est-ce pas ? Ensuite, nous voulons le
faire pour Shield. S'il s'agit d'un bouclier, encore une fois, nous voulons obtenir la
quantité de bouclier que vous souhaitez
ajouter, juste comme ça. Mettons-le juste ici. Nous voulons l'ajouter pour protéger le bouclier
et y ajouter celui-ci, l'
ajouter, juste après cela, enregistrer dans le bouclier comme ceci et y connecter le bouclier
d'exécution,
et après cela, nous voulons mettre
à jour l'état de santé. Et une fois cela fait, après cela, nous pouvons simplement détruire l'acteur. Ensuite, nous voulons le faire également pour la santé,
exactement de la même manière. C'est ainsi que nous retrouvons notre santé. Et nous l'ajoutons au montant
fourni par l'article. Donc, recherchez
une quantité, obtenez une quantité, ajoutez-la à la santé
comme ceci,
enregistrez-la à nouveau dans la santé comme ceci et
connectez-la à la santé. Et après cela, mettez également à jour
l'état de santé et connectez-le à ici. Pour le détruire ensuite, non ? Non, disons-le aussi. Si vous écrasez le jeu, vous pouvez voir si vous vous
retrouvez sur des munitions, vous pouvez voir que les
munitions augmentent Si nous dépassons la santé, vous pouvez voir que la santé
augmente et pour le bouclier, vous pouvez voir que le bouclier
augmente également. Mais la prochaine chose que
nous voulons faire ici, c'est qu'il est vraiment important de ne pas dépasser une
certaine valeur, n'est-ce pas ? Alors, par exemple,
permettez-moi de faire de la place. Si l'état de santé est supérieur à celui du
Mac lui-même, alors vérifiez-le. La santé est plus importante que celle de
Max, non ? Nous voulons vérifier cela avec
une succursale comme celle-ci. Ensuite, s'il ne s'agit pas uniquement
de l'état de santé du Mac, nous voulons définir l'
état de santé avec le Mac lui-même. Nous ne voulons donc pas qu'il soit augmenté plus que le
Mac lui-même, n'est-ce pas ? En cas de vérité. Après cela,
nous pouvons mettre à jour l'état de santé. En cas de faux, nous pouvons simplement mettre à jour
l'interface utilisateur de santé. Exactement ce
que nous avons fait ici, nous pouvons simplement le copier et le
faire pour le bouclier également. Alors, faites de la place. Contrôlez V pour coller
tout cela ici,
ou dans un espace comme celui-ci. Connectez les broches d'exécution, nous remplacerons tout ce
qui est nécessaire. Cette fois, nous sommes
en train de vérifier le bouclier, alors connectez-le ici. Si le bouclier était plus grand que le bouclier
maximum, juste comme ça, nous voulons le remplacer par le bouclier maximum. Et en cas de chute, cela signifie que ce bouclier est
inférieur au bouclier maximal et que l'état de santé devrait être mis
à jour. C'est ça. Si nous nous dirigeons vers Compiler
pour tester cela, ce que je
veux faire, prendre l'un de ces éléments, et je veux maintenir le glissement. Et cette fois, je
veux donner une valeur vraiment importante à 150. Et pour cette santé, je
veux encore une fois tenir bon, traîner. Et encore une fois,
disons 150 également. Maintenant que c'est fait. Nous ne devrions pas lui permettre d'atteindre plus de 100 points de vie, car c'est le
maximum de points de vie. Maintenant, si vous allez ici, regardez la santé, la santé
s'améliore. Mais si vous prenez celui-ci, vous pouvez voir que votre santé est à 100. Non. Encore une fois, si vous le prenez, cela remplira votre
santé et votre bouclier. Maintenant, si le crack
nous attaque, que se passera-t-il ? Elle sera diminuée.
Vous pouvez voir qu'il sera réduit de 100,
pas plus que cela. Attendons juste que ça nous atteigne. Encore une fois, vous pouvez voir que
quand
cela nous attaque, cela diminue
à nouveau notre santé, vous pouvez voir que non, cela
diminue la santé. La santé et le bouclier n'ont pas augmenté de
plus de 100, plus que la santé maximale. Non, tout fonctionne, très bien. Nous avons un article.
62. Jeu sur UI: Pas la prochaine chose que
vous voulez faire, nous voulons créer une interface utilisateur pour
ou le joueur mourra. Voyons donc comment nous pouvons le faire. Pour ce faire, je veux
aller dans Cont DrR, aller dans Apis, aller dans
Widget, et ici, cliquer avec le bouton
droit de la souris,
aller dans l'interface utilisateur et créer un plan
de widget du type de Je veux l'appeler
WBPgame over, non ? Ne cliquez pas dessus pour l'ouvrir et ne vous
dirigez pas vers l'intérieur pour l'ouvrir. Maintenant, ce que je veux faire, c'est ce que l'
on appelle le
flou d'arrière-plan. Cherchez-le. Il suffit de le mettre là,
et de savoir qu'avec cela, nous pouvons modifier l'intensité du
flou de l' arrière-plan, C'est ça. Non, je souhaite également y
ajouter un texte. Alors trouvez le texte, mettez-le là. Je veux que ce soit au milieu. Alors cliquez ici et cliquez
ici pour le mettre au milieu. Non, je veux passer à la police, agrandir comme ça. Et je tiens à dire que la partie est
terminée, non ? C'est ça. Non, il se contente de
compiler, de sauvegarder. Et non, cela étant dit,
passons simplement au BPFS où nous réduisons l'état de santé.
Nous voulons vérifier
l'état de santé
après avoir mis à jour l'interface utilisateur de santé Vérifiez l'état de santé. Est-ce que la santé
est inférieure ou égale à zéro. Nous voulons vérifier cela
auprès de la succursale. Cela signifie que notre joueur
est mort, non ? Alors connectons-nous simplement. Si ces valeurs sont inférieures à zéro,
que voulez-vous faire ? Nous voulons créer ou créer un
widget, créer un widget. Et le widget que
vous souhaitez créer est game over game over WBP, n'est-ce pas ? Et après cela, vous souhaitez
l'ajouter à la fenêtre d'affichage. La prochaine chose que vous voulez faire, placer le
mode de saisie uniquement dans l'interface utilisateur. Le joueur ne peut donc
rien changer par la suite. Il faut une manette de joueur, pour que nous puissions obtenir la
manette de joueur, juste comme ça. Ensuite, dans get
to be focus, nous voulons nous concentrer sur
ce widget que nous créons et vider également
les entrées Après cela, je veux
créer un chronomètre comme
celui-ci , régler le chronomètre
par événement, n'est-ce pas ? Disons qu'au bout de 3 secondes, nous voulons
recommencer le jeu, non ? Nous avons donc besoin d'un événement personnalisé
pour cela, un événement personnalisé. Je ne veux pas parler de niveau
de rechargement. C'est vrai. Une fois cela fait, ce que nous voulons faire, nous
voulons ouvrir le niveau, est-ce pas, par son nom,
et le niveau que nous voulons ouvrir
s'appelle Nouvelle carte, n'est-ce pas ? C'est ça. C'est
tout ce que nous devons faire. Tâchons simplement de compiler. Je veux diminuer
l'aide pour le non, dix et réduire le bouclier à
huit, par exemple. Cela nous tuera donc beaucoup plus rapidement
pour que vous puissiez en voir l'effet. Prenons juste
celui-ci et non,
allons-y, tirons dessus. Il nous retrouvera donc
beaucoup plus rapidement, non ? Allez de l'avant.
Regardons-le simplement. Quand cela nous fait mal, vous pouvez voir que notre
santé se détériore. Non, attendons,
et c'est tout. Cela indiquera la fin de la partie. Et au bout de 3 secondes, le niveau devrait s'ouvrir. Encore une fois, félicitations pour
avoir terminé ce cours. Si vous avez trouvé un
présage ou si vous voulez que je crée ou ajoute d'autres
vidéos à ce cours, vous pouvez simplement le laisser dans section des
questions ou dans cette chaîne de
cours, merci Merci Merci
beaucoup d'avoir regardé.
63. 62 sons de pas de pied: Non, la dernière chose que vous
souhaitez ajouter est le son Walk in. Voyons donc comment nous pouvons le faire. Pour ce faire, nous devons
le faire dans l'animation. Nous avons une animation de promenade. Ouvrons-le simplement.
Dans l'animation de marche, vous pouvez voir, dans ce cas, et ici nous voulons
jouer le son de marche. Mais pour ce faire, je veux
aller dans le tiroir du contenu, tout d'
abord dans Assets, dans Ft Step Sound. Vous pouvez voir qu'il y
en a beaucoup ici. Nous
voulons tous les utiliser. Non, je veux passer au
FPS ici, n'est-ce pas, cliquer sur Créer un nouveau dossier, et je veux appeler
ça du son, non ? Ici, cliquez avec le bouton droit de la souris, accédez à l'audio et créez
une source de métasund Je veux dire que c'est
un pas, non ? Du pied au pas. Et à l'intérieur, nous avons besoin d'un lecteur de vagues. Donc, recherchez Wave Player, n'est-ce pas, parce que vous
voulez jouer une vague, n'est-ce pas ? Et connectez-le comme ça. Non, choisissez plutôt l'
exemple WavefaceTF, celui-ci, n'est-ce pas ? Maintenant, si vous jouez, j'
espère que vous pouvez l'entendre, mais il y a un bruit de
marche, non ? Chaque fois qu'il est joué, il est terminé, nous voulons terminer
l'exécution du métasund afin que toutes les
ressources soient gratuites. Encore une fois, vous pouvez voir
que nous pouvons y jouer, et une fois le jeu terminé, il deviendra inachevé Maintenant, nous avons beaucoup de sons, mais nous ne
jouons qu'un seul d'entre eux. Comment pouvons-nous sélectionner
l'un d'entre eux au hasard et le
jouer ici. Nous pouvons simplement glisser-déposer la variable promue vers une variable
graphique, et j'ai envie d'appeler
cela des sons, non ? Et je voulais créer une matrice de
sons afin que nous puissions en
avoir plusieurs. Non, je veux financer les
sons de Footsteps, les ancrer ici. Comme ça. Maintenant, encore une fois, sélectionnez tout,
dessinez à sec et déposez, placez-le ici, et
sachez que cela place
automatiquement
tout cela dans cette zone pour nous, n'est-ce pas ? Maintenant, avec ce son, nous voulons en obtenir
un au hasard à chaque fois et le
jouer sous forme de vague, n'est-ce pas ? Nous devons donc connecter ces deux éléments ensuite et les connecter
comme ça, non ? Et pour la graine, nous pouvons
simplement y mettre une valeur, afin qu'elle soit plus aléatoire Et c'est tout.
C'est notre son. Nous voulons l'ajouter ou quoi ? Par exemple,
disons que l'un d'entre eux là parce que notre joueur
n'a pas de nourriture. Nous devons simplement le
mettre après cela, voir si cela sonne bien ou non et ensuite
changer de position. Alors, émettez un son et ici, le son que vous
voulez jouer s'
appelle MS Footstep, n'est-ce Et c'est tout. Encore une fois, par
exemple, ici, nous
voulons en jouer un autre. Allez donc ajouter le son Notify play. Et cette fois encore, nous voulons jouer à MS
Footstep, non ? Maintenant,
jouons-y. C'est ça. Vous pouvez simplement jouer avec cela jusqu'à ce que vous obteniez le
résultat que vous souhaitez. C'est cool. Non, nous l'avons
fait pour celui-ci. Nous voulons également le faire
pour Sprint. Donc, dans un sprint ici, par
exemple, cliquez avec le bouton droit de la souris pour émettre un son. Et le son que vous voulez
jouer s' appelle S
footstep, n'est-ce Et à la fin,
ajoutons simplement un autre son de jeu. D'accord ? Et nous voulons aussi jouer à MS,
foot a slip. C'est ça.
Maintenant, mourons. Si vous écrasez le jeu, voyons ce que vous
avez, vous pouvez voir. Maintenant, nous avons un pied d'écart, et je pense que ça
marche bien, non ?
64. 63 L'entrée ne fonctionne pas après la réinitialisation: Je dois ajouter un correctif ici. Le problème, c'est que lorsque nous serons
détruits, disons simplement. Quand nous serons en train de craquer, détruis-nous, voyons ce qui va
se passer. Attendons. Et le jeu sera terminé au
bout de 3 secondes, il redémarrera, non ? Mais non, on ne peut pas bouger du tout. C'est un problème.
Voyons comment nous pouvons résoudre ce problème. Pour résoudre ce problème, je voudrais accéder
à Blueprint, ouvrir le BPFS et au début jouer
ici, à la fin,
nous pouvons régler l' entrée
uniquement sur le jeu, n'est-ce Et il a besoin d'une
manette de jeu. Alors procurez-vous une manette de joueur. Maintenant que c'est fait, passons en revue le jeu. Si nous y allons et
continuons, attendons que cela nous détruise. Maintenant, vous pouvez voir qu'il nous a
tués au bout de 3 secondes. Que va-t-il se passer,
nous pouvons partir maintenant. C'est donc le premier garçon
que nous avons trouvé et soigné.