Transcription
1. Introduction: Dans ce cours, nous allons apprendre
à développer
un jeu de tir à la première
personne multijoueur en utilisant plans d'Unreal
Engine Five en recréant un jeu similaire au jeu
emblématique Ce cours contient tout ce que vous devez savoir pour
commencer à développer un jeu de
tir
multijoueur à la première personne dans Unreal Engine Five Y compris comment ajouter un mouvement FPS
multijoueur. Comment créer un écran de
sélection d'équipe. Comment ramasser et déposer des armes. Comment faire un inventaire FPS. Comment équiper un
pistolet et un fusil. Comment tirer avec
différents types d'armes. Comment calculer et afficher le
nombre correct de balles Comment recharger une arme. Comment ajouter de la santé et de l'armure. Comment infliger des dégâts
aux autres joueurs. Comment attribuer des points ronds
à l'équipe gagnante. Comment réagir les joueurs. Comment mettre à jour
correctement les valeurs de l'interface utilisateur du jeu en multijoueur. Et enfin, comment ajouter des effets
visuels et sonores
en multijoueur. Je vous fournirai également le projet
terminé afin que
vous puissiez l'inspecter comme vous le souhaitez tout en suivant le cours. À la fin de ce
cours, vous serez capable de créer en toute confiance
votre propre jeu de
tir multijoueur à la
première personne à partir de zéro dans
Honnreal Engine Five J'espère que vous me rejoindrez
dans ce cours aujourd'hui. Et n'oubliez pas que je suis
toujours là pour
vous soutenir tout au long du cours
et j'espère vous voir bientôt.
2. 1.02 Télécharger Unreal Engine 5: Pour télécharger Unreal Engine Five, vous devez d'abord vous rendre
sur Epic Games.com. À l'intérieur, il y a un bouton bleu en
haut à droite Vous devez cliquer dessus pour télécharger le lanceur
Epic Games Vous pouvez le voir ici,
il est en cours d'installation. Cependant, je l'ai
déjà installé, alors allez-y et
installez-le quand ce sera terminé. Et voilà, j'ai ouvert le lanceur Epic Games et
il vous demandera de vous connecter J'ai déjà un compte
Epic Games, je vais
donc me connecter
avec mon compte Epic Games. Si vous n'en avez pas,
vous pouvez vous inscrire ici. C'est gratuit, ou vous pouvez vous connecter avec toutes
les autres méthodes. Cependant, je vais me connecter
avec mon compte Epic Games. Une fois
connecté au lanceur, vous serez à l'intérieur de cette page Allez-y et cliquez sur Honoral
Engine ici à gauche. Allez-y, cliquez sur
l'onglet bibliothèque en haut, et vous verrez les versions
du moteur. C'est Honoral Engine, et si vous ne voyez rien, il se peut
que vous ayez une boîte grise ici si c'est la première
fois que vous entrez ici Mais si vous n'obtenez pas de case grise, vous pouvez cliquer sur
le bouton
plus ici et vous en obtiendrez une. Ensuite, vous pouvez sélectionner
le numéro et sélectionner version d'Unreal
Engine que vous souhaitez installer Maintenant, vous pouvez voir que j'ai
déjà installé Unreal Engine 5.2. Cependant, si vous avez une version ultérieure, si vous la regardez dans
le futur et que vous avez 5.3 ou 5.21, etc., allez-y et installez-la Vous pouvez suivre,
rien n'a changé. Mais pour ce cours,
je vais
installer le dernier
Unreal Engine Five Ensuite, nous sommes prêts à
passer à la leçon suivante.
3. 1.03 Créer un nouveau projet: Allons-y et lançons
Unreal Engine Five. Lorsque Unreal Engine
5 sera lancé, cette fenêtre apparaîtra pour que vous puissiez voir vos projets
récents Et si vous n'avez
aucun projet récent, celui-ci sera vide. Mais ici tu peux voir le mien. Et ce que nous voulons faire,
c'est cliquer sur l'onglet Jeux parce que
nous créons des jeux. Mais vous pouvez également voir que
Real Engine Five peut également être utilisé pour créer de l'architecture cinématographique et
vidéo, utilisé pour créer de l'architecture cinématographique et
vidéo, de l'
automobile et
de la simulation. Très cool. Mais pour nous, nous
allons créer des jeux. Je vais donc aller
dans l'onglet Jeux. Dans l'onglet Jeux,
vous pouvez voir que vous pouvez choisir entre
différents modèles. Par exemple, si vous souhaitez créer
un jeu de tir à la première personne
comme nous le faisons, vous pouvez sélectionner le modèle à la
première personne. Si vous voulez créer
un jeu à la troisième personne, vous pouvez sélectionner
celui-ci et ainsi de suite. Vous pouvez donc voir que vous pouvez choisir entre différents modèles
sympas. Cependant, vous pouvez créer tous ces
modèles. Vous pouvez réellement créer
un projet vierge, tout créer à partir de zéro et créer tous
ces modèles. Si vous savez ce que vous
faites pour mes cours, j'aimerais commencer par un projet
vierge qui ne contient rien. Parce que je veux t'
apprendre à créer un
jeu à partir de rien. Je n'aime pas commencer par
ces modèles ici. Et encore une fois, vous pouvez
créer tout cela à partir d'un projet vierge si vous
savez ce que vous faites. Commençons donc par
un projet vierge car je veux tout
vous apprendre. À partir d'un projet vierge, nous allons sélectionner Blueprint comme langage de programmation Et la plate-forme cible
est la qualité d'un ordinateur de bureau. Le préréglage est réglé au maximum. En ce qui concerne le contenu des données,
si vous en avez, je vais le supprimer afin que
nous n'ayons rien. Encore une fois, je veux
commencer par rien
, puis sélectionner l'endroit où vous souhaitez enregistrer le projet. Je vais donc cliquer
ici et sélectionner un dossier. Ensuite, allez-y et
donnez à votre projet le nom de ce jeu. Je vais juste l'appeler Counterstrike parce que c'est
le type de jeu que nous faisons Nous ne le copions pas à 100%. Je fais aussi
des choses personnalisées. Mais cela ressemblera beaucoup plus Counterstrike pour ce jeu de tir
multijoueur Allez-y, donnez-lui un nom, puis
cliquez sur Créer un projet. Une fois le projet
créé, nous
voici dans
Unreal Engine Passons à la leçon
suivante et examinons la présentation
d'Unreal Engine
4. Présentation de l'Unreal Engine 5: Avant de
commencer notre projet, voyons un bref aperçu de la façon dont Unreal Engine est construit Ici, au milieu,
nous avons la fenêtre d'affichage, et c'est là que vous pouvez
voir votre jeu visuellement Dans la fenêtre d'affichage, vous pouvez maintenir
le bouton droit de la souris enfoncé. Lorsque vous maintenez le bouton droit de la
souris enfoncé dans la fenêtre d'affichage, vous pouvez voir que vous pouvez regarder
à l'intérieur de la fenêtre Maintenant, lorsque vous maintenez le bouton droit de
la souris enfoncé et que vous cliquez sur W, vous avancez dans le monde. Lorsque vous cliquez sur,
vous reculez, lorsque vous cliquez sur D,
vous vous déplacez vers la droite. Et lorsque vous cliquez sur A,
vous vous déplacez vers la gauche. N'oubliez pas de maintenir le
bouton droit enfoncé lorsque vous faites cela. Maintenez donc le bouton droit de la souris
et le bouton gauche de la souris
enfoncés en même temps. Ensuite, vous pouvez voir que vous
pouvez réellement vous déplacer avec votre souris seule, comme ceci. Vous pouvez également maintenir le bouton
gauche de votre souris seul et le déplacer vers l'
avant ou vers l'arrière. Et tu peux voir que tu peux aussi
ressembler à ça. Il existe différentes
techniques de déplacement à l'intérieur d'ici. La prochaine étape consiste à maintenir
le bouton droit de la souris enfoncé, puis vous pouvez cliquer
sur pour vous déplacer vers le bas, ou vous pouvez cliquer sur pour vous déplacer vers le haut. Bien sûr, la dernière
chose que nous avons ici est que si vous faites défiler la page avec le bouton de
votre souris, vous pouvez également
zoomer et dézoomer. Ce sont toutes les
techniques de déplacement, et c'est tout. Le principal que j'utilise est de maintenir le bouton droit de la souris enfoncé
et de cliquer sur S DNA. Je me déplace simplement dans
le monde comme ça. Je n'utilise généralement pas
les autres méthodes, c'est la plus
utilisée pour moi. Vous pouvez donc essayer maintenir le
bouton droit de la souris enfoncé, de cliquer sur, d'essayer de naviguer, d'avoir une idée
de ce que l'on
ressent lorsqu'on se déplace
dans ce monde. Ici, nous avons
différents boutons à l'intérieur du panneau d'affichage, en cliquant ici, le
plus important
est celui-ci appelé vue
du jeu Et celui-ci cache des
icônes dans le jeu. Et c'est utile si vous avez autant d'
icônes dans le jeu. Souvenez-vous lorsque vous créez un jeu. Donc, si vous cliquez sur l'un des
objets que vous avez dans le monde et que vous
cliquez simplement sur votre clavier
, vous accédez à cet élément. Vous pouvez voir ici si je clique sur,
sur mon clavier, c'est le
raccourci pour accéder à la vue du jeu. Si je clique dessus, je masque les icônes. Et c'est très cool parce que
je veux voir mon jeu, quoi il ressemble vraiment
sans icônes. Et vous pouvez cliquer
à nouveau pour les afficher ici. Le prochain
est le mode immersif, affichera votre
Viewport en plein écran En cliquant sur 11, c'est
le raccourci pour cela. Cela permet de passer le jeu
en plein écran. Ensuite, je peux cliquer
dessus pour masquer les icônes. Et je peux essayer de voir à
quoi ressemble mon niveau sans me laisser embêter
par toutes ces icônes Cliquez à nouveau pour
les afficher en cliquant sur 11 pour
minimiser le Viewpoard Encore une fois,
passons simplement à ces outils
très importants. Le premier
s'appelle un outil de sélection. En cliquant dessus, vous pouvez sélectionner différents objets dans le monde. Je ne l'utilise pas trop, j'utilise en fait ces trois-là. Je ne le sélectionne jamais, en fait. Si maintenant que j'
y pense, je ne le sélectionne jamais. Cependant, il se peut que vous y
trouviez une utilité. Mais en cliquant sur le
Q du clavier, vous pouvez voir qu'ils ont des raccourcis si vous maintenez la souris dessus. En cliquant sur Q, vous
sélectionnez l'outil de sélection, et en cliquant sur W sur le clavier, vous
sélectionnez l'outil de déplacement. En sélectionnant l'
outil de déplacement, vous pouvez voir si je sélectionne l'une des icônes, par
exemple, j'obtiens ces flèches. Vous pouvez donc voir
que nous avons une flèche verte, une flèche bleue et
une flèche rouge également. Avec l'outil de déplacement,
nous pouvons déplacer des objets. Et tu peux cliquer sur
l'une des flèches. Et vous pouvez le déplacer
ici sur cet axe. Sur cet axe également. Et sur cet axe également. Ici, à droite, vous pouvez voir que dans le panneau des
détails, il vous montre en fait des détails
sur l'élément sélectionné. Si vous sélectionnez l'un d'entre eux, vous pouvez voir qu'il modifie les
détails de cet article. Par exemple, si
je sélectionne celui-ci vous pouvez également voir comment
il s'appelle dans l'Outliner L'Outliner vous montre essentiellement tous les objets que vous
avez à l'intérieur de ce monde, à l'intérieur de ce niveau que nous avons
ici C'est ce qu'il y a dedans. Toutes ces choses
paysagères que vous pouvez voir ici ne sont que
ce monde, que vous pouvez voir. Il est composé de blocs. Lorsque vous le sélectionnez, vous pouvez voir qu'il est également
sélectionné ici dans l'Outliner Lorsque je sélectionne
celui-ci dans la partie vue, il est également sélectionné
ici dans l'Outliner Toutes ces choses que
vous pouvez voir ici en fait quelque chose qui
se trouve à l'intérieur de votre monde. Lorsque je sélectionne cette option, vous pouvez
voir que cela s'appelle la lucarne. C'est la lumière du ciel. Et vous pouvez voir des détails
sur la lucarne , par
exemple son intensité Par exemple, vous
pouvez l'augmenter. Imaginons que je veuille en écrire trois. Et vous pouvez voir que mon niveau d'éclairage est
plus intense. Et je peux cliquer ici et cliquer à nouveau ou cliquer à nouveau avec le bouton
droit de la souris, puis tout redeviendra normal. Tu peux changer les choses ici. Ce que je voulais vous
montrer ici avec l'outil de déplacement, c'est que
lorsque vous le déplacez, vous pouvez voir qu'il change
également emplacement dans
le panneau de détails. Si je le déplace, vous pouvez voir qu'il
change de valeur dans la valeur z ici lorsque je le déplace cette façon et aussi lorsque
je le déplace de cette façon. Mais pour les points de pivot, vous pouvez voir que le point rouge
est en fait l'axe X. Vous pouvez le voir en maintenant
la souris dessus. Il indique X. Le vert est
l'axe Y, et le bleu est l'axe Z. Nous avons l'axe X, l'axe Y. Et l'axe Z. Vous pouvez modifier leur emplacement
en procédant ici. Vous pouvez également modifier l'
emplacement en écrivant un chiffre. Par exemple, dans le Z, je
peux écrire 200 en cliquant sur Inter pour passer à
la valeur 200 dans le Z.
Mais vous pouvez le faire, au lieu
d'écrire un chiffre,
vous pouvez également cliquer, cliquer sur
le chiffre, maintenir la souris et faire glisser
le Ensuite, vous pouvez voir que vous pouvez également modifier l'emplacement
de cette manière. Si vous souhaitez le déplacer dans
toutes les directions à la fois, vous pouvez cliquer sur cette boule
blanche au milieu. Et vous pouvez le déplacer dans toutes les
directions à la fois. Si vous souhaitez le déplacer dans deux directions
différentes à la fois, vous pouvez cliquer sur la
case au milieu. Et vous pouvez le déplacer dans
les deux
directions que vous avez sélectionnées. Ensuite, si vous cliquez sur E sur le
clavier ou cliquez ici, vous obtiendrez
simplement l'outil de
rotation, comme indiqué. Vous pouvez cliquer ici
et faire pivoter l'article. le moment, c'est une icône, nous ne
pouvons donc pas vraiment voir
ce qui se passe. Mais si je clique ici, cela ajoutera des éléments. En cliquant ici,
en allant sur Formes, je vais juste
ajouter un simple cube. En ajoutant un simple cube, je
peux maintenant cliquer sur le cube, cliquer sur E sur le clavier ou sélectionner l'outil de rotation, et je peux simplement faire pivoter cet
élément autour d'un axe différent. Encore une fois, vous pouvez voir les
valeurs changer ici pour la rotation, et
vous pouvez le voir ici. Vous pouvez également le faire pivoter
en cliquant ici, en cliquant bouton
gauche de la souris et en le faisant glisser Cela le fera également pivoter. Ensuite, nous avons l'outil de mise
à l'échelle ici, et comme il est indiqué, il
redimensionne l'article. Vous pouvez le redimensionner dans
ces trois directions. Ou si vous souhaitez qu'il soit
redimensionné uniformément dans toutes les
directions en même temps, vous pouvez cliquer sur cette case
blanche au milieu Et il évoluera dans
toutes les directions, même temps
lorsque vous le redimensionnerez. Vous pouvez également voir
les valeurs ici, quelle mesure nous les avons redimensionnées. Si vous voulez le réinitialiser, vous pouvez écrire 111
qui réinitialisera l'échelle. Cependant, vous pouvez également cliquer
sur cette petite flèche ici. Cela réinitialisera les valeurs par défaut en cliquant
sur cette petite flèche pour revenir aux valeurs par défaut. Ici à droite, vous
avez différents outils de capture Vous pouvez voir que lorsque je clique sur W sur mon clavier pour sélectionner
l'outil de déplacement, je peux déplacer cet élément. Mais vous pouvez voir que ça
ne va pas bien. Il s'accroche à une grille. Je peux le désactiver
en cliquant sur l'icône en haut. Et maintenant je peux le déplacer
, et vous pouvez voir qu'il se déplace maintenant sans problème. Si je clique à nouveau dessus,
je l'activerai. Vous pouvez également augmenter ou diminuer la quantité avec laquelle
il capture Si je clique sur le
chiffre ci-dessus et que je peux sélectionner, par exemple, 100, il en cliquera beaucoup plus. Si je le fais glisser maintenant, vous pouvez
le voir prendre beaucoup plus de photos. C'est utile lorsque
vous
faites de la conception de niveaux, par exemple, et que vous souhaitez que les éléments placés les uns
à
côté des autres comme dans un schéma. Ce que vous pouvez faire, par
exemple ici, c'est maintenir la touche Alt enfoncée
sur le clavier. Vous pouvez cliquer et faire glisser le pointeur
tout en maintenant la touche Alt enfoncée. Cela copiera l'article
si je le fais à nouveau. Je clique, puis je clique
et fais glisser à nouveau. Je clique, je clique et je fais glisser. Vous pouvez voir que je peux
copier les articles. Et ils sont désormais placés à la même
distance les uns des autres. C'est en cela que l'
outil de capture est utile. Je vais juste le
remettre à dix d'habitude. Vous pouvez également
le faire avec la rotation et avec
le dimensionnement. Vous pouvez voir si je
clique sur l'outil de rotation pour sélectionner l'outil de rotation et que je
clique sur l'un d'eux, je le fais pivoter, vous pouvez voir qu'il pivote tous les dix degrés.
Encore une fois, c'est là-haut. Je peux augmenter ou diminuer la quantité avec
laquelle il capture, ou je peux simplement cliquer sur l'icône et je peux le faire
pivoter maintenant, librement sans aucun cliquetis. Je vais le rallumer. Et vous pouvez faire la même
chose avec la mise à l'échelle. Maintenant, ici, vous pouvez augmenter ou diminuer
la vitesse de la caméra. Vous pouvez voir en ce
moment que je me déplace dans mon monde comme ça. Je peux aussi me déplacer beaucoup plus lentement. Imaginez que si vous deviez
mettre au point de petits détails ici, il est très difficile de déplacer l'
appareil photo pour qu'il apparaisse ici. Ce que vous pouvez faire, vous
pouvez cliquer ici, augmenter la vitesse de la caméra. Vous pouvez désormais vous déplacer beaucoup
plus lentement et vous concentrer sur les
petits détails
de votre niveau. Cependant, si vous voulez déménager à l'autre
bout du monde, cela prendra une éternité. Vous pouvez cliquer ici,
augmenter la vitesse de la caméra, et maintenant vous pouvez vous déplacer rapidement à l'autre bout
du monde. Encore une fois, si vous souhaitez passer
à un élément spécifique, vous pouvez toujours cliquer dessus ici. Par exemple, si je veux me déplacer, disons à mon
feu directionnel, je peux cliquer dessus. Et je peux cliquer sur mon clavier. Et ce sera également le cas ici. Maintenant, je peux à
nouveau réduire la vitesse de
mon appareil photo à un par défaut. Et je peux me déplacer normalement
ici, comme avant. Très bien, il y avait donc
tout ce qui se trouvait à l'intérieur
du Viewpoard Encore une fois, le plan
montre essentiellement ce qu'il
y a à l'intérieur
de votre niveau, ce que vous pouvez voir visuellement à l'intérieur du niveau Mais pour l'instant, je vais
supprimer ces cubes. Je vais donc cliquer ici, appuyer sur Supprimer sur mon clavier. Et sélectionnez-les également tous. Et appuyez sur Supprimer sur mon clavier. Maintenant, dans la barre d'outils, nous pouvons enregistrer le
niveau actuel dans lequel nous nous trouvons. Nous pouvons également cliquer ici et utiliser les différents
outils dont nous disposons. Par exemple, si nous voulons
créer un paysage, nous pouvons utiliser l'outil paysage
ou le feuillage, par exemple. Si vous voulez peindre du gazon
et des arbres dans votre niveau, vous pouvez également l'utiliser. Cependant, nous n'
allons pas l'utiliser dans notre jeu
car nous allons
créer un niveau de base et nous
nous concentrons également sur les
plans et sur la façon dont
nous pouvons programmer notre jeu de tir multijoueur à la première
personne Donc, si vous souhaitez vous concentrer sur la création de paysages
et de feuillages, veuillez consulter
mon site Web
Pixel Helmet.com . Vous
trouverez ici de nombreux cours qui
expliqueront également cela Ensuite, un bouton très, très important est que vous pouvez ajouter différentes
choses à votre niveau. Par exemple, nous avons créé
la forme, le cube ici. Vous pouvez également créer de l'éclairage. L'éclairage que
vous pouvez voir ici,
nous le créerons également
à partir de zéro. Et vous pouvez créer les différentes
lumières à l'intérieur d'ici. Vous pouvez également créer des effets
visuels, etc. Vous pouvez donc placer
différents éléments à votre niveau en
utilisant ce bouton. Ensuite, nous avons le plan
de niveau. Et nous parlerons beaucoup
des plans plus tard, alors ne nous concentrons pas
là-dessus pour le moment Ensuite, nous avons les cinématiques, et nous allons sauter les
cinématiques pour le Ensuite, nous avons le bouton de jeu, et si vous cliquez
dessus, vous jouez au jeu. Et puis vous pouvez voir que je
joue maintenant à mon jeu
à l'intérieur du niveau. ne se passe pas grand-chose parce que nous n'en avons pas vraiment
beaucoup à l'intérieur. Je vais donc cliquer sur
Escape sur mon clavier pour quitter le mode de jeu en cliquant
sur ces trois boutons. Vous pouvez également sélectionner la manière dont vous
souhaitez jouer. En ce moment, nous y jouons
dans le Viewpoard. Cliquez également ici pour
ouvrir une nouvelle fenêtre. Et il s'est ouvert sur
mon deuxième écran, vous pouvez voir maintenant que je joue
au jeu dans ma deuxième fenêtre. Je peux cliquer sur Escape pour le quitter. Encore une fois, vous pouvez sélectionner la façon dont
vous souhaitez jouer. Je vais juste sélectionner le Viewpoard
qu'ils ont sélectionné. Ici, nous avons les paramètres
multijoueurs. Nous y
travaillerons plus tard. Enfin, si vous souhaitez
empaqueter votre jeu et le
publier sur Steam ou le distribuer à vos amis, vous pouvez
cliquer ici, Windows par exemple, puis
empaqueter le jeu pour le publier. Maintenant, ici, nous avons
les différents boutons. Nous avons le bouton Fichier, où vous pouvez créer un nouveau niveau, vous pouvez créer un nouveau
projet, etc. Très basique dans les anciens logiciels
que nous avons vus. Ensuite, lors de l'édition,
le plus important, ce sont les paramètres du projet, et nous les utiliserons beaucoup. Vous pouvez voir qu'il comporte de
nombreux boutons et cela peut sembler un peu déroutant si vous êtes nouveau dans le moteur général. Cependant, concentrons-nous uniquement sur les choses les plus importantes
que nous devons apprendre. Et vous pourrez apprendre tout
cela plus tard,
mais pour le moment, nous
allons nous concentrer sur les choses les plus importantes.
Oublions ça pour le moment. Et nous allons beaucoup aborder cette
question au cours du cours. Ensuite, dans Windows,
très cool, vous pouvez ouvrir différentes fenêtres à l'intérieur de notre moteur central. Par exemple, cette fenêtre que vous pouvez voir
ici au milieu, vous pouvez accéder à Viewports, puis vous pouvez cliquer
sur Viewports 2, et cela ouvrira
une Maintenant, c'est très cool si
vous avez deux écrans. J'ai l'habitude de le faire si j'ai une caméra et que je
regarde mon jeu comme ça, que je le place sur mon deuxième écran
et que je peux travailler ici
aussi pendant que j'ai cette vue
de mon jeu. C'est tellement cool. Vous pouvez ouvrir
plusieurs fenêtres ici. Et cela vaut également pour
le panneau de détails si vous souhaitez ouvrir un
deuxième panneau de détails. Et vous pouvez voir ici que si je
sélectionne quelque chose dans mon univers, vous pouvez voir que ce sont
les mêmes détails qui sont affichés
à l'intérieur d'ici. C'est tellement cool que vous puissiez ouvrir plusieurs fenêtres ici. En ce qui concerne les outils, nous n'en avons pas
vraiment beaucoup, alors allons-y pour le moment. Dans Build, le seul bouton
important ici est que vous pouvez créer le niveau
et l'éclairage. Et cela créera les
bonnes ombres, etc., mais nous y travaillerons plus tard, lorsque nous nous occuperons de l'éclairage. À la fin, nous
aurons l'aide et vous pouvez également consulter la documentation
ici. OK. La dernière chose que
je veux examiner avant de terminer ici
est le tiroir de contenu. Et cliquez sur le
tiroir de contenu en bas. C'est là que se
trouveront tous les fichiers destinés aux vrais moteurs, au jeu que vous créez. Par exemple, si vous avez
des textures, de la musique, si vous avez trois modèles en D, tous ces fichiers
pour votre jeu se trouveront ici
dans le tiroir de contenu. Ce que j'aime faire, c'est
que si je clique sur le Viewpoard,
il disparaîtra Si je clique ici puis que je clique à nouveau, disons que je travaille
dans le Viewpoard, il disparaîtra Je trouve ça un peu agaçant. Ce que je fais habituellement, c'est de cliquer ici et de cliquer sur Duck in Layout. Et il restera ici. Et maintenant, cela s'appelle
le navigateur de contenu. Il reste tout le temps sur
mon écran. Lorsque je travaille sur mon jeu ici, sur le belvédère,
il ne disparaît jamais. Et c'est aussi beaucoup plus agréable à voir pour
vous dans le cadre de ce cours. Dans le navigateur de contenu, je peux créer des dossiers. Si vous cliquez ici avec le bouton droit de la souris, vous pouvez créer un nouveau dossier. Par exemple, vous
pouvez lui donner un nom, par
exemple bonjour ou
quelque chose comme ça. Vous pouvez également cliquer avec
le bouton droit sur le dossier et
définir la couleur. Vous pouvez définir la
couleur du dossier. Et c'est très pratique
si vous voulez rester organisé ici dans
le navigateur de contenu. Parce que vous pouvez imaginer que
si vous avez un gros jeu, vous avez beaucoup de fichiers à l'intérieur dans
le navigateur de contenu Si vous voulez
créer un nouveau jeu, vous pouvez cliquer avec le bouton droit de la souris ici. Vous pouvez voir qu'en cliquant avec le bouton droit de la souris, vous pouvez ajouter différents
éléments à votre jeu. Le plus important, c'est que nous allons travailler
avec des plans Celui-ci est donc très énorme. Et nous pouvons également créer un
nouveau niveau, un nouveau matériau. Si nous avons quelque chose
à voir avec les animations, nous y
travaillerons également. Vous pouvez le créer
, par exemple. Vous pouvez cliquer sur l'un d'entre eux et vous verrez que vous
avez différentes options. À l'heure actuelle, nous n'avons pas vraiment
de squelette, de joueur. Je vais donc le fermer
et créer quelque chose de nouveau. Par exemple, un matériau. Et vous pouvez le voir ici. Si vous souhaitez réduire ou agrandir les
icônes, vous pouvez cliquer sur
les paramètres, passer à la vignettes et
sélectionner une taille plus petite Maintenant, ce que vous pouvez également faire,
c'est maintenir le contrôle sur le clavier et vous pouvez
utiliser la molette de la souris. Donc, si vous zoomez avec la molette de la souris tout en
maintenant la touche
Ctrl enfoncée, vous pouvez également augmenter et
diminuer les icônes. Maintenant, je vais cliquer sur celui-ci et appuyer sur
Supprimer sur mon clavier. Et allez-y,
supprimez-le pour le moment. Si vous cliquez à nouveau avec le bouton droit de la souris, vous pouvez voir tous
ces éléments que vous pouvez créer et ajouter à votre jeu. Encore une fois, cela semble
très, très déroutant si vous ne l'avez
jamais
utilisé auparavant, sur un vrai moteur, et
si c'est nouveau pour vous. Mais encore une fois, n'essayez pas de vous concentrer
sur toutes ces choses. Concentrons-nous simplement sur les choses les
plus importantes et créons-les
au cours de ce cours. Et je te promets que tu
apprendras tout ça lentement. Ne vous concentrez donc pas sur
tout pour le moment. Maintenant, vous pouvez également utiliser ce bouton Ajouter,
mais je ne l'utilise jamais. En fait, je vais simplement dans
le dossier dans lequel je veux ajouter quelque chose et j'écrirai
simplement cliquez ici. Mais pareil, vous pouvez également cliquer ici si vous le souhaitez. OK, c'était tout pour
la présentation d'Unreal Engine. Si vous souhaitez un
aperçu plus détaillé d'Unreal Engine, veuillez consulter mes autres cours J'ai également un guide complet pour
débutants. Cela étant dit, allons-y et
passons à la leçon suivante.
5. Introduction au jeu: Bonjour Ron. C'est
moi qui viens du futur. Et voici le
projet terminé pour ce cours. Et je vais juste vous
montrer ce que nous allons faire
dans le cadre de ce cours. Il est parfois beaucoup plus facile de voir le produit fini
avant de continuer. Ce que nous allons faire ici, c'est créer un jeu FPS à partir de zéro. Et littéralement à partir de zéro, nous partons d'un projet vierge. Et nous nous occupons
de tout, de la création de la carte l'éclairage, en passant par l'
importation des armes, la fabrication de l'
équipement des armes, etc. Et si je clique simplement sur Jouer ici, vous pourrez voir le jeu. Nous avons donc un
son ambiant en arrière-plan. Quelques oiseaux, tu peux
piller des armes ici. Tu peux aussi le piller. Tu l'as sur le
dos, comme tu peux le voir ici dans mon ombre. Mais vous pouvez aussi le voir ici si j'apparais simplement en tant qu'autre joueur Vous pouvez le voir ici
au dos de ce lecteur. Et je peux aussi changer d'arme. Je peux tirer avec l'arme. Il existe également différents effets
sonores pour chaque arme. Vous pouvez également constater que nous avons
des effets sur le terrain. Nous avons des puces pour calculer. Nous pouvons recharger l'arme. Nous pouvons également toucher d'autres
joueurs. Oui, nous avons de la santé, de l'
armure et nous avons
aussi des points ronds. Nous avons beaucoup de choses à faire. Nous pouvons lâcher des armes. Les armes ont du poids. Et nous avons aussi Ragdoll
Death and Responding. Et vous recevez également une
notification lorsque vous gagnez la manche et que vous perdez
la manche, etc. se passe beaucoup de choses
dans ce jeu, mais nous allons
les aborder ensemble. Et croyez-moi, ce sera facile si vous suivez simplement
le cours ici. Je vais vous apprendre
tout ce que vous devez savoir pour créer un jeu FPS. L'avantage des
plans est ce cours Si vous le suivez pleinement
et le comprenez,
ce cours vous apprendra
non seulement à créer des jeux FPS, mais également d'autres jeux Parce que lorsque vous
créez d'autres jeux, vous utilisez en fait
les mêmes outils. Les plans ne sont que des plans. Et vous avez simplement ces
outils dans une boîte à outils et vous pouvez créer
différentes choses avec eux. Dans ce cas, nous allons
créer un jeu FPS. J'espère que tu t'amuseras bien avec moi. Allons-y et continuons, et ne perdons pas de temps, et je te verrai
à la prochaine.
6. 2.02 Créer une nouvelle carte: Pour créer une nouvelle
carte. Commençons par créer un
nouveau dossier ici. Je vais cliquer avec le bouton droit
sur le dossier de contenu. Je vais cliquer
sur Nouveau dossier, et appelons-le Maps. Alors, à l'intérieur d'ici,
faisons un clic droit ici. Et allons-y et cliquons
sur Niveau pour ce niveau. Habituellement, pour les cartes, je les appelle carte comme préfixe,
car plus tard, nous pouvons réellement rechercher des éléments ici et ce sera
plus facile pour nous plus tard Je donne donc généralement des préfixes à
mes fichiers. J'appelle cette carte une carte et
appelons-la simplement principale. Voici notre carte principale. Nous pouvons maintenant
double-cliquer sur cette carte. Et maintenant, il nous demande si nous voulons
également enregistrer
ce niveau ici. Et je vais juste
le supprimer. Je veux juste enregistrer ma nouvelle carte et cliquer
sur Safe Selected. Et maintenant, je suis dans
ma nouvelle carte. Et vous pouvez voir qu'il fait très
sombre à l'intérieur et qu'il n'
y a rien dans le contour Et il fait noir car
il n'y a pas de lumière. n'y a pas encore d'actifs
dans notre niveau, et nous devons les ajouter
dans nos prochaines leçons.
7. 2.03 Importer des ressources d'environnement: Pour les actifs environnementaux, nous allons utiliser un pack
du Marketplace. Si vous ouvrez le lanceur
Epic Games et que vous y cliquez sur l'onglet Marketplace lorsque vous êtes dans
le Marketplace Marketplace propose de nombreux objets
intéressants que vous
pouvez utiliser pour votre jeu. Vous pouvez également voir qu'ils
sont gratuits pour le mois. Cela vaut le coup d'y jeter un coup d'œil, mais pour l'instant, dans les produits, cherchons la grille. Si vous écrivez simplement Grid
ici et que vous appuyez sur Entrée, puis ici avec le
prix maximum, vous cliquez sur Gratuit. Et puis vous voyez celui-ci appelé Super Grid Start up Pack. C'est ce que
nous allons utiliser. Donc, si vous cliquez
dessus, « télécharger ici » s'affichera si vous ne l'
avez pas encore téléchargé. Et lorsque vous
téléchargez cette ressource, vous pouvez créer un projet. Vous pouvez cliquer sur ce bouton
appelé Créer un projet. Ensuite, vous devez sélectionner l'
endroit où vous souhaitez
l'enregistrer et cliquer sur Créer. Vous pouvez également sélectionner la version
pour laquelle vous souhaitez le créer. heure actuelle, il est
réglé sur 5.1. C'est le cas. D'accord, vous n'avez pas besoin d'une version
5.1 pour l'utiliser, mais il s'agit simplement de créer la dernière version
du moteur Honual Vous n'avez pas besoin de
le télécharger pour l'utiliser, donc ce n'est pas grave. Je l'ai déjà créé. Donc, si je retourne dans ma bibliothèque, c'est ici que, comme si vous la créiez, elle
apparaîtra ici. Il s'agit du pack Super Grit
Stata ou d'Unreal Engine 5.1. Je vais double-cliquer
dessus pour l'ouvrir. Encore une fois, vous n'avez pas besoin d'Unreal
Engine 5.1 Vous pouvez en fait l'ouvrir avec 5.2 ou
la version que vous utilisez. Et voilà, ça s'
ouvre. Tu dois attendre. Si c'est la première
fois que vous l'ouvrez,
il doit préparer les shaders Cela peut prendre beaucoup de temps lorsque vous l'
ouvrez pour la première fois, parfois une demi-heure,
parfois une heure. Mais quand il sera prêt, vous pouvez maintenant utiliser le SS ici. Pour utiliser les actifs
d'un projet à un autre, vous devez migrer des fichiers. Pour ce
faire, vous pouvez écrire, cliquer sur ce super dossier Grid, puis
cliquer sur Migrer, puis sur OK. Ensuite, vous
devez sélectionner où vous souhaitez enregistrer ce fichier ? Et je veux
l'enregistrer dans mon autre projet. Ici, je l'ai créé dans ce dossier de jeu de tir
multiplicateur et dans Counter Strike. Ensuite, vous devez sélectionner le dossier de contenu pour votre projet
Unreal Engine N'oubliez pas que vous devez
sélectionner le dossier de contenu Vous ne pouvez pas l'enregistrer
dans d'autres dossiers, sélectionner le dossier de contenu et vous ne pouvez pas sélectionner un autre dossier à l'intérieur
du dossier de contenu. Lorsque vous migrez des éléments d'
un projet à un autre, vous devez sélectionner le dossier de contenu puis cliquer
sur Sélectionner un dossier. Ensuite, il migrera tous
les fichiers qui se trouvent ici, et maintenant c'est terminé. Je peux donc fermer ce
superréseau. Et si j'ouvre mon projet, vous pouvez voir que j'ai maintenant ce dossier
Supergrid et que je peux utiliser les ressources qu'il contient dans mon jeu Maintenant, avant de terminer, je vais rouvrir le lanceur
Epic Games, car nous avons besoin d'autre chose. Avant de continuer, je vais
ouvrir le marché. Et pour l'éclairage,
il nous faut un ciel ici. Si je cherche à
nouveau Sky, je clique sur gratuit. À l'intérieur, je vais
utiliser celui-ci qui s'appelle Good Sky. Si vous cliquez à nouveau dessus, vous pouvez cliquer sur Télécharger si vous ne l'avez pas encore téléchargé, puis
sur Ajouter au projet, puis vous devez
trouver votre projet. Vous pouvez voir ici, si j'y retourne, il n'est disponible que
pour 5.1. Actuellement, j'utilise 5.2. Ce que vous devez faire est de cliquer
sur Ajouter au projet, puis sur
Afficher tous les projets. Ensuite, je peux cliquer sur mon projet
Counter Strike. Ensuite, je dois sélectionner
la version ou le Pac. Je vais cliquer
ici et
sélectionner la dernière version avec
laquelle il est compatible. C'est bon, il
ne va pas y avoir de bug. Cela va très bien fonctionner. Je vais cliquer
sur Ajouter au projet, et il l'ajoutera
à mon projet ici. Maintenant, si je reviens
à mon projet, vous pouvez voir que le beau
ciel a été ajouté à mon projet et que je
peux également l'utiliser. Maintenant que nous avons importé
les actifs environnementaux, passons à
la leçon suivante et concevons l'environnement.
8. 2.04 Designer l'environnement: Afin de concevoir
l'environnement. heure actuelle, vous pouvez
voir que le niveau est sombre et qu'il est impossible de
faire quoi que ce soit si je vais dans le super réseau et que je
lance un pack, puis que je vais dans Source et que vous pouvez voir que
nous avons le dossier des maillages Par exemple, si je fais glisser
cette case à l'intérieur d'ici, vous pouvez voir qu'il fait sombre et que
nous ne pouvons rien voir Si je clique sur le mode
éteint ici, changeant le mode éclairé en mode éteint, je peux
maintenant le voir parce que nous n'avons pas vraiment
de lumière et nous ne pouvons pas voir les choses lorsque
nous sommes en mode éclairé En fait, je n'
aime pas trop concevoir en
mode éteint. Tu peux le faire. Bien sûr, vous pouvez
simplement essayer de concevoir l'
ensemble du niveau en éclairage, car après cela, nous
allons ajouter de l'éclairage. Cependant, si vous souhaitez le
concevoir en mode éclairé, vous pouvez
simplement cliquer ici. Et allez dans Lumières et ajoutez une lumière directionnelle
juste pour le moment. Et tu pourras toujours
le modifier plus tard. N'oubliez pas que si vous augmentez la taille de cette
boîte, par exemple, et que vous pensez que la
lumière du soleil est trop forte, vous pouvez cliquer dessus et vous pouvez cliquer sur E pour utiliser
l'outil de rotation. Et vous pouvez toujours le faire
pivoter, essayez de voir si vous pouvez
obtenir un bon angle. Et vous pouvez également diminuer l'intensité ici
et travailler à partir de là. Mais pour le moment, c'
est juste temporaire. Nous allons simplement
concevoir le niveau,
puis nous nous occuperons
de l'éclairage. Mais je veux juste
ajouter celui-ci afin de pouvoir également
concevoir mon niveau en
mode éclairé. Très bien, pour l'instant je
vais juste supprimer à nouveau cette boîte. Et ce que nous allons
faire, c'est concevoir quelque chose comme
ça pour Counterstrike C'est ce qu'on appelle une carte. Une carte, c'est essentiellement, vous avez les deux faces de cette carte. Ainsi, le
contre-terroriste apparaît
d'un côté et le terroriste
de l'autre Et il y a des armes
qu'ils peuvent
ramasser et qu'ils peuvent
se tirer dessus comme ça. juste une
carte très, très simple et nous
allons simplement concevoir quelque chose
comme ça, naturellement, un copier-coller complet, mais quelque chose qui nous
semble bon pour le moment. Commençons par faire glisser cet avion supercrit
dans le niveau Ce que j'aime faire,
c'
est le placer à l'emplacement 000, donc au centre du monde. Et d'habitude, j'aime bien
partir d'ici. Très cool. Pour ces actifs, vous pouvez cliquer sur Art pour utiliser l'
outil de mise à l'échelle, puis vous pouvez les
redimensionner ces différentes directions. Et vous pouvez voir que cela crée l'avion comme ça et cela crée un niveau pour
vous. Très cool. Vous pouvez le redimensionner sur les deux axes,
puis créer le terrain pour le jeu afin de
vous
faciliter la tâche afin de ne pas avoir à trop d'échelle. Ce que vous pouvez faire, c'est
cliquer ici pour
le redimensionner comme ceci d'abord, afin d'afficher complètement
cette boîte Ensuite, vous pouvez cliquer ici
pour accéder à l'outil de mise à l'échelle ici. Et peut-être en sélectionnant la balance sur un, en la réglant sur un. Maintenant, si je le redimensionne dans
cette direction, vous pouvez voir qu'il
redimensionne une boîte entière,
une boîte que je redimensionne une fois.
C'est très cool. Au lieu de le faire
plusieurs fois maintenant, vous pouvez simplement le faire
à l'échelle une fois et cela crée
cette boîte pour vous. Vous pouvez voir à quel point il est
utile d'utiliser snapping également pour le
niveau lorsque je le redimensionne Vous pouvez également le voir évoluer
ici dans mon panneau de détails. Vous pouvez voir les chiffres augmenter. Vous pouvez soit le redimensionner de cette façon, soit vous pouvez le
redimensionner de cette façon. Permettez-moi simplement de
l'adapter de cette façon. Ici, vous pouvez imaginer que
si vous descendez ici, c'est là que se tient le
joueur. Si vous voulez voir la
taille de cette carte, vous pouvez également cliquer rapidement ici
sur le bouton deux Principes de base et ajouter un joueur
démarre ce joueur commence, je vais d'abord la
descendre au sol. Quelque chose comme ça.
Cela indiquera « mauvaise taille ». S'il est dans le sol, je vais le déplacer vers le haut.
Quelque chose comme ça. Le personnage a presque la taille de celui-ci. Les joueurs commencent presque. ne s'agit que d'une
référence. Maintenant, vous pouvez voir que ce niveau
est très petit. Ce n'est pas ce que
nous voulons. Il faut qu'il soit beaucoup plus grand. Je vais donc
cliquer sur cet avion. Je vais écrire 80 pour
le x et 80 pour le Y. Maintenant, je vais essayer de
construire cette carte ici Bien entendu, pour ce cours, vous pouvez toujours le réduire. Peu importe
ce que vous concevez. Allez-y et concevez à nouveau
votre propre niveau, peu importe
ce que
vous concevez à ce stade. Plus tard, nous
effectuerons la programmation avec la carte que vous concevez. Allez-y,
soyez créatif concevez votre propre truc
et amusez-vous avec. Lorsque nous aurons créé le terrain, vous pourrez
prendre cette boîte par exemple. Tu peux le poser
ici, sur le sol. Ensuite, je vais le
déplacer pour qu'il s'
accroche à nouveau au bord
du sol. Pour le claquer,
le mettre en un, je peux maintenant le redimensionner, et
ce n'est que mon mur Nous allons le redimensionner jusqu'à
l'autre bout, comme ça, jusqu'à ce que tout soit
terminé ici. Ensuite,
vous pouvez également le redimensionner
vers le haut pour créer un
mur comme celui-ci. À l'échelle de 20
pour la hauteur. Nous pourrons toujours le modifier ultérieurement. Si nous pensons que c'est trop
petit ou trop grand. Ce que je peux faire, c'est que je vais le déplacer
d'une étape ici, ici
sur cette boîte, parce que je veux aussi avoir l'
autre mur ici. Ce que nous pouvons faire maintenant
avec ce mur, c'est
que je veux aussi réduire
la taille ici, maintenant il est à l'extérieur, en diminuant la taille d'une unité. Juste comme ça. Maintenant, ce que je peux faire, c'est
maintenir la touche Alt sur mon clavier et faire
pivoter tout en maintenant la touche Alt enfoncée. Cela copiera le modèle en maintenant la touche Alt
enfoncée pendant que vous faites pivoter. Cela le copiera. Maintenant, je peux faire glisser ce modèle
jusqu'à cette taille. Je vais juste
augmenter
légèrement la vitesse de mon appareil photo pour voir
ce qui se passe. Et je vais passer en
mode éteint parce que maintenant vous pouvez voir, c'est vraiment difficile à voir Et je vais le déplacer comme
ça. Il suffit de les assembler. Assurez-vous simplement qu'ils
sont assemblés. Je regarde ici pour
voir si tout
va bien. Tout va bien. Encore une fois, je vais cliquer sur E old, puis faire glisser le pointeur pour le copier. Pas comme ça. Je vais
cliquer sur Ctrl Z, maintenir la touche Alt enfoncée. Cliquez et faites glisser pour le copier, puis faites-le glisser ici,
puis prenez-le en photo Peut-être qu'il est également beaucoup plus facile
d'augmenter ce cliquetis. Il vaut mieux contrôler. Vous pouvez le voir ici, vous n'avez pas besoin trop le
déplacer
avant qu'il ne s'enclenche Cela vous facilitera
beaucoup la tâche. Je vais faire la
même chose ici, faisant glisser de ce côté, assurant qu'il s'
accroche à ce mur Il faut aussi s'assurer que
ça a l'air bien ici. Maintenant tu peux voir que j'ai un mur. Si je passe maintenant en mode Allumé, je peux cliquer sur ce voyant
directionnel. Je peux le faire pivoter légèrement. Je peux voir mon niveau. Et je peux aussi diminuer
l'intensité pour que ce ne soit pas si intense. Nous avons maintenant ce niveau
avec les murs. D'accord ? Je veux donc que vous conceviez
ce niveau comme vous le souhaitez. Vous pouvez toujours placer des cubes ici. Vous pouvez essayer de les redimensionner, faire des murs
pour le joueur, afin que le joueur soit
là et tire sur
les autres joueurs Vous pouvez essayer de faire des cubes,
quelque chose comme ça. Vous pouvez maintenir la touche Alt enfoncée
et faire glisser le pointeur pendant que vous maintenez la touche Alt enfoncée pour la copier et
peut-être la placer comme ceci. Vous pouvez même le copier à nouveau. Et tu peux le placer à côté celui-ci, quelque chose comme ça. Et vous pouvez également
augmenter la taille, rendre quelque chose comme
ça intéressant. Vous pouvez également toujours essayer de créer des modèles
intéressants. Vous pouvez voir ici que vous pouvez
utiliser tous ces actifs. Vous pouvez également utiliser des rampes. Vous pouvez essayer de faire glisser cette
rampe et vous pouvez également augmenter la taille de la rampe ainsi que la
taille de la pente. Comme ça et de cette façon , vous pouvez également créer des
rampes à ce niveau Essayez d'être très créatif
et créez simplement un niveau aléatoire que nous pourrons
utiliser pour programmer le jeu. Cela dit, si
vous n'êtes pas vraiment
intéressé par la conception du niveau et que vous souhaitez
simplement commencer
avec des plans, j'ai également inclus
le projet lequel le niveau a été
conçu sans aucun code Vous pouvez également
l'utiliser si vous le souhaitez. C'est vraiment une bonne pratique de concevoir également vos propres niveaux. Imaginez que lorsque vous
créerez votre propre jeu plus tard
à ce stade, vous sachiez également comment concevoir
votre niveau. Je recommande donc d'aller de l'avant et de s'amuser avec ça.
Concevez simplement le niveau. Prenez peut-être une heure ou 30 minutes,
puis revenez ici. Très bien, me revoilà. Je suis de retour et j'ai
conçu le niveau. J'ai passé quelques heures
à concevoir quelque chose d' intéressant et à le rendre cool lorsque nous
programmons le projet. Encore une fois, je l'ai inclus
pour vous, afin que vous puissiez l'utiliser
sans aucun code. Donc, si vous ne voulez pas concevoir, le
voici, vous pouvez l'utiliser. Cependant, encore une fois, je vous
suggère de continuer, amuser et de concevoir quelque chose de aléatoire
que nous pourrons utiliser. Vous pouvez voir ici que j'ai créé un nouveau
dossier appelé marketplace. Et à l'intérieur, j'ai traîné le beau ciel et aussi le
super réseau Ils sont là et c'est
un peu mieux organisé. En ce qui concerne le niveau, je
vais en fait le passer mode
éteint pour vous le montrer
car l'éclairage est un
peu gênant en ce moment À l'intérieur, vous pouvez
voir ce que j'ai fait. Par exemple, je viens d'
assembler les boîtes. J'essayais juste d'ajouter des formes intéressantes à
ce niveau, à sa taille. Encore une fois, le sol mesure toujours 80 x 80, comme nous l'avons fait avant, et les murs mesurent toujours 20
x 79, comme avant. Vous pouvez voir ici
toutes ces boîtes, elles sont composées de boîtes différentes. Vous pouvez voir cette boîte ici ajoutée avec cette boîte. Encore une fois,
comme avant. J'ai simplement utilisé l'
outil de mise à l'échelle pour les redimensionner
vers le haut et vers le bas et j'ai juste essayé de créer des formes
intéressantes pour celui-ci. C'est le Super Grid Ring. Si vous cliquez dessus, par exemple, si vous cliquez dessus ici, vous pouvez cliquer sur cette petite icône. Cela
vous amènera en fait au modèle dans
le navigateur de contenu. C'est donc le moyen le plus
simple de le faire, et c'est celui que j'ai utilisé dans le dossier
meshes J'ai également fabriqué cette rampe. Vous pouvez donc voir ici que j'ai
conçu comme une rampe. Vous pouvez monter ici en faisant cette rampe et en faisant ce mur à côté pour
enfermer cette rampe ici Vous pouvez voir comment j'en suis arrivé là pour avoir juste un
peu de terrain ici. Et ce sol également
sous cette rampe. Il s'agit simplement de deux rampes
assemblées et un peu de terre entre elles. Juste quelques
murs assemblés. Vous pouvez voir que j'
ai passé du temps juste à créer un niveau intéressant. Ce ne sont que des boîtes
que vous pouvez assembler. Vous pouvez également utiliser ces formes. Si vous cliquez sur cette icône, elle vous
redirigera. Ce sont ces cylindres
que vous pouvez placer et
ensuite redimensionner . Ensuite, ce que vous pouvez
faire, c'est utiliser ceux-ci pour les mettre dessus. Vous pouvez les réduire
pour leur donner une belle apparence. Peut-être simplement supprimer le
cliché ici ou simplement le réduire à quelque chose comme 0,125
ou quelque chose comme ça Et il suffit de le diminuer et d'
essayer de le copier-coller partout pour créer cette forme
intéressante ici. D'accord, mais c'est ce que j'ai
fait pour concevoir ce niveau. Encore une fois, vous pouvez
le télécharger si vous le souhaitez. Je l'ai inclus pour vous. Une fois cela terminé, n'oubliez pas
de monter ici également. Ce que vous pouvez faire dans le plan, vous pouvez sélectionner tous ceux
que vous avez conçus Et ce que vous pouvez faire, c'est que vous
pouvez tous les sélectionner. Cliquez donc sur le premier, maintenez la touche Maj enfoncée et cliquez
sur le dernier. Ensuite, vous pouvez cliquer sur l'icône de
ce dossier pour
créer un nouveau dossier. Et cliquez sur deux votre clavier pour donner un nom à
ce dossier. Et ça restera
organisé comme ça. N'oubliez pas qu'il est
toujours agréable de rester organisé ici dans
le navigateur de contenu. Restez également organisé
ici dans l'Outliner. Maintenant que ce niveau a été conçu, revenons au mode allumé. Et maintenant, nous sommes prêts
à faire l'éclairage. Cependant, vous pouvez voir
qu'il est très lumineux. Et quand je passe à la lumière
directionnelle et que je la change
à quelque chose comme 0,2, vous pouvez voir l'éclairage change constamment
et qu'il devient de plus en plus brillant. Nous devons donc ajouter un volume de
post-traitement avant de pouvoir continuer. Passons donc à
la leçon suivante.
9. 2.05 Volume de traitement des messages: Le
volume de post-traitement dans Unreal Engine est
quelque chose que nous pouvons utiliser pour changer l'
image du jeu Tout comme vous pouvez
penser à Photoshop, où vous ajoutez une image dans Photoshop et vous modifiez
les couleurs de cette image. C'est la même chose
ici dans Unreal Engine, nous utilisons un volume de post-traitement Ce volume peut modifier
la chaleur du niveau, nous pouvons changer la couleur, la saturation, l'éblouissement de l'
objectif Bloom, etc. Donc, ce que nous pouvons faire,
c'est cliquer ici et vous pouvez le trouver dans l'un ou l'autre des effets visuels et vous pouvez voir que c'est ce qu'on appelle le volume
post-traitement. Vous pouvez également accéder aux
volumes, puis créer un volume de
post-traitement. Deux manières de le créer. Alors allez-y et cliquez dessus. Et si je clique sur mon
clavier pour afficher les icônes, vous pouvez voir cette boîte que nous avons créée
ici. Il s'agit du volume de post-traitement. Maintenant, à l'intérieur d'ici, si
vous cliquez sur l'un d'entre eux, par
exemple, le Bloom, et que vous cliquez sur l'intensité. Et augmentons-le à quelque
chose de fou, par exemple cinq Vous pouvez voir que rien ne s'est
vraiment passé Si je le disais à une personne, si je le
disais à cinq,
rien ne se passe. Cela est dû au fait que vous devez
accéder à ce volume de
post-traitement. Vous pouvez voir si je déplace
mon appareil photo à l'intérieur, la floraison prend effet. Si je sors de cette boîte, vous pouvez voir que la floraison
ne prend pas effet Je dois
donc être à l'intérieur de cette
boîte pour que cela fasse effet. Afin de l'appliquer
à l'ensemble du niveau sans entrer et
sortir de cette boîte. Vous pouvez descendre ici et cocher la case appelée étendue
infinie. Vous pouvez le cocher et maintenant vous pouvez voir qu'il s'applique à
l'ensemble du niveau. Qu'est-ce que l'étendue infinie ? Il l'applique simplement à
l'ensemble du niveau afin que vous n'
ayez pas à entrer
et à sortir de la boîte. Maintenant, à quoi
ça sert ici, pour cette boîte ? C'est le cas, par exemple, si
vous avez un donjon, ou disons que je veux
entrer dans ce bâtiment ici et que je veux changer de
couleur. C'est ce que tu peux faire. Vous pouvez le déplacer, par exemple, à l'intérieur de ce bâtiment. Tu peux le déplacer ici. Et
vous pouvez même l'étendre. Vous pouvez voir si je le
déplace ici,
je peux utiliser l'outil d'échelle,
en cliquant sur R pour
prendre l'outil d'échelle,
puis je peux le
redimensionner je peux utiliser l'outil d'échelle, en cliquant sur R pour
prendre l'outil d'échelle, sur les X, Y et Z. En essayant
juste de remplir la zone, je
veux vraiment que cela prenne effet Disons, par exemple,
que je souhaite que cela prenne effet ici. Quand j'emménage, quand j'
emménage dans ce donjon, vous pouvez voir la floraison, la floraison augmente,
maintenant cela fait effet C'est son utilisation pour ne
pas utiliser l'étendue infinie. Par exemple, si vous
avez un jeu RPG, vous avez des donjons et
vous souhaitez changer de
couleur chaque fois que vous êtes à l'intérieur de ce Cependant, nous n'avons pas vraiment
quelque chose comme ça. Je veux que cela s'applique
à l'ensemble du niveau, je vais
donc cliquer
sur Infinite Extent. Je vais aller
au sommet, et je vais aussi opter pour la balance. Je vais appuyer sur ce
bouton pour revenir à la valeur par défaut. Ce n'est pas vraiment important, mais je voulais juste qu'il soit par défaut comme ça,
comme vous pouvez le voir ici. Par exemple, pour
la température, vous pouvez augmenter ou diminuer la température et vous pouvez changer la couleur de ce monde. Même la teinte, vous pouvez augmenter
ou diminuer la teinte. Vous pouvez voir que le volume de
post-traitement est identique à celui de Photoshop. Vous pouvez modifier l'
apparence de ce jeu. Je vais cliquer
sur ces flèches, les
remettre à leur
valeur par défaut pour le moment. Nous n'allons pas vraiment
jouer avec elle pour le moment. Ce que je veux faire, c'est
que vous pouvez voir ici, si je supprime cette intensité
pour le Bloom, je clique ici. Vous pouvez voir la
lumière du soleil, si je la mets à,
disons, cinq très intenses, vous pouvez voir qu'elle change de
lumière. C'est l'exposition. Si je le mets à 0,2,
vous pouvez voir qu'il commence par faire sombre, puis qu'il
augmente avec l'éclairage. Je ne veux pas le faire
parce que nous créons des jeux, et dans les jeux, nous ne faisons pas
vraiment ce genre de choses. Il est toujours agréable de rester à un seul éclairage lorsque
vous faites de l'éclairage. Passons au volume du
post-traitement et cliquez sur Exposure ici. Cliquons sur le EV
minimum et maximum
et définissons-le sur un. Et réglez celui-ci sur un également. Maintenant, vous pouvez voir si je clique
sur la lumière directionnelle et que je règle l'intensité
sur environ trois. Et maintenant, vous pouvez voir si je m'en rapproche, si je m'en
vais, si je regarde différentes choses, vous pouvez voir que
la lumière ne change
pas vraiment et qu'elle
est statique. Et c'est ce que
nous voulons pour les jeux. Passons au volume de
post-traitement du Bloom. Pour l'instant, je vais cliquer sur l'intensité et la
mettre à zéro. C'est toujours agréable de l'
avoir à zéro dès le départ. Lorsque vous faites de l'éclairage, nous n'influençons pas l'
éclairage par d'autres facteurs, c'est
pourquoi le Bloom le met à zéro. Ici aussi,
l'effet d'image, nous avons ce qu'
on appelle une vignette Et une vignette, c'est que vous pouvez voir si je clique dessus et que
vous l'agrandissez, cela crée un
bota noir sur votre écran Si j'augmente simplement l'
intensité de la direction, allumez pour que vous puissiez
voir ce que je veux dire. Si je le mets à dix et clique
maintenant sur le volume de
post-traitement, vous pouvez augmenter ou diminuer la vignette. Juste comme ça. Il s'agit simplement d'un
albot cinématographique autour de votre image. Et je ne veux pas faire
ça pour commencer. Je ne veux pas que cela
affecte mon éclairage. Mettons-le à zéro. Vous pouvez voir si je ne le coche pas,
c' est 0,4 par défaut, vous pouvez voir que c'est
réellement appliqué. Si je le décoche, n'oubliez pas de créer un ticket et de le mettre à zéro,
cela le supprimera Si je vais ici juste pour m'
assurer qu'il y a
autre chose à ajouter au flou Les gens n'aiment généralement pas flou cinétique dans les jeux de tir à
la première personne. Je vais cliquer sur le montant et le définir également à 120. Une fois cela fait, nous sommes
maintenant prêts à faire de l'éclairage. Vous pouvez voir que rien
n'affecte actuellement notre éclairage. Lorsque nous faisons l'
éclairage et que nous voyons les résultats, rien ne change l'éclairage. Et vous pouvez voir que lorsque je
fais des allers-retours, la lumière reste la même. Et c'est ce que nous voulons. Allons-y
et cliquons sur Fichier. Et cliquons sur Enregistrer tout. Et également ici, dans le volume de
post-traitement, vous pouvez cliquer
dessus , créer un nouveau dossier. Et il suffit de cliquer ici, cliquer sur deux et d'appeler
celui-ci « Post Process ». Voici le volume du post-traitement, et nous sommes maintenant prêts
à procéder à l'éclairage.
10. 2.06 Éclairer l'environnement: Nous sommes maintenant prêts à
faire l'éclairage. Donc, ce que nous pouvons faire, c'
est supprimer cette lumière
directionnelle. Parce que maintenant nous sommes prêts à
repartir de zéro, d'accord ? Pour ce qui
est de l'éclairage, je monte ici, passe aux lumières, et nous
ajoutons d'abord une lumière directionnelle. C'est donc notre soleil. Et j'ajoute généralement toutes
les lumières avant de
commencer à les régler. Voici donc la lumière du soleil. Et en cliquant ici,
revenez aux lumières. Et ajoutons celui-ci
appelé lucarne. La lucarne est une lumière
venant du ciel, comme vous pouvez le voir ici,
il fait vraiment noir en ce moment Ce que nous pouvons faire, c'est ici, dans
le dossier Marketplace, je peux cliquer sur le Good
Sky que nous avons ajouté plus tôt, puis sur le dossier
Blueprint Et ce Good Sky, tu peux cliquer et le faire glisser
dans le niveau. Et lorsque vous le placez, vous pouvez voir qu'il se trouve à l'intérieur d'ici. Encore une fois, je veux
faire en sorte que ce soit le jour, mais pour l'instant je ne
vais pas vraiment ajuster quoi que ce soit. Alors ce que nous pouvons faire, c'est
cliquer ici. Nous avons également une autre lumière, mais elle n'est pas à l'intérieur des lumières. C'est à l'intérieur des effets visuels et c'est l'atmosphère du ciel. Vous pouvez cliquer sur celui-ci
, puis sur
celui-ci ici. Retournez dans
Effets visuels et cliquez sur celui-ci appelé
Sphere Reflection Capture. Il va capturer les reflets à l'intérieur
de votre niveau. Pour celui-ci, je vais
en fait le
faire glisser vers le bas, peut-être 2000. Et laissez-moi
le glisser au milieu du niveau. Naturellement précis
, peu importe. Je vais augmenter ce rayon d'influence
pour englober mon niveau Vous pouvez voir maintenant qu'il
résume mon niveau. Et cela va ajouter des
reflets sur mon niveau. Maintenant, ici, vous pouvez cliquer nouveau et accéder aux effets visuels,
en fait, pas aux
effets visuels dans les volumes. Et nous avons celui-ci appelé volume
d'importance de masse légère. Cliquez sur celui-ci. Importance de la carte
Le volume
indique simplement au moteur ce qui est important sur lequel vous devez
faire apparaître la lumière. Nous devons résumer notre
niveau et dire au moteur cette zone est vraiment
importante pour l'éclairage C'est ce que nous allons faire. Mettons-le quelque part au milieu. Encore une fois, cela n'a pas vraiment d'importance. Je vais cliquer ou le définir
ici pour les paramètres du pinceau. Vous pouvez le voir dans le X. Vous pouvez cliquer et faire glisser pour l'agrandir. Vous augmentez cette case
pour englober votre niveau. Encore une fois, vous n'avez pas
vraiment besoin d'être précis, il suffit d'encapsuler le niveau. Et je vais le
faire aussi pour le Y. Je vais le faire aussi
pour les Z X. Je vais déménager ici
juste pour voir si ça enveloppe. Et nous n'en avons pas vraiment
besoin ici bas. Je vais l'augmenter
légèrement. En fait, diminuez-le
un peu juste pour
vous assurer que le sol
est là avec. Et je m'assure également que les murs d'
ici sont également là. Encore une fois, pas besoin d'être précis, assurez-vous
simplement qu'il
résume le niveau Nous avons maintenant la
direction, la lumière, le beau ciel, le
ciel, l'atmosphère, la lucarne, le reflet de la
sphère et la masse lumineuse
à l'intérieur de notre niveau Ce que je vais faire, c'est
que je vais tous les sélectionner. Cliquez ici pour accéder à ce dossier, appelons-le éclairage. Nous sommes maintenant prêts à régler
l'éclairage de notre jeu. habitude, je
commence par cliquer sur la lumière directionnelle,
qui est la lumière du soleil. Et ce que vous pouvez faire, c'est
cliquer sur E sur le clavier pour sélectionner
l'outil de rotation. Ensuite, vous pouvez essayer de
faire pivoter le soleil. Vous pouvez donc lui donner de
belles ombres intéressantes. C'est ce que vous essayez
de faire pour commencer, il
suffit de lui donner des ombres
intéressantes. Vous pouvez simplement le faire pivoter voir où les ombres
sont intéressantes. Vous pouvez également supprimer le
snapping en cliquant ici. Ensuite, vous pouvez le
faire pivoter librement et essayer de créer des
ombres intéressantes pour votre jeu. Pour moi, je vais essayer de le
faire pivoter pour
quelque chose comme ça. Peut-être que je le fais aussi
pivoter de cette façon. Cela jette donc une
ombre de cette façon. Et je peux également essayer de l'
ajuster plus tard. Donc, en ce moment, vous pouvez voir que les
ombres sont vraiment sombres. Et je veux le modifier un peu pour
qu'il soit plus facile pour moi d' essayer de trouver des ombres
intéressantes juste pour les rendre un peu plus lumineuses. En cliquant sur ce beau ciel, je vais
monter ici, et pour le moment de la journée, je vais changer
celui-ci, pour qu'il ne s'agisse pas d'étoiles. Je vais écrire 12
à cette heure de la journée. Et maintenant tu peux
voir qu'il fait jour. Et vous pouvez cliquer sur
la lucarne, descendre, cliquer sur Recapture
pour capturer le Vous pouvez voir que certaines couleurs ont
changé ici et
qu'elles deviennent de plus en plus lumineuses. Vous pouvez également modifier l'intensité de la lucarne ici pour la
faire passer à cinq ou
quelque chose comme ça C'est vraiment dingue en ce moment. Mais juste pour trouver
des
ombres intéressantes avec lesquelles vous pouvez travailler maintenant, j'ai fait pivoter mon soleil et je suis contente de mes ombres Encore une fois, je vais aller à
la lucarne,
cliquer sur cette flèche et la
remettre à une pour le moment Maintenant que nous avons le ciel,
je vais
commencer par le beau ciel. Cliquez maintenant sur Good Sky. Pour ces préréglages, ce que je
vais faire, c'est que vous pouvez voir, vous pouvez cliquer
dessus et les modifier ici pour le style
des nuages Encore une fois, c'est facultatif, mais je vais cliquer
dessus et sélectionner ce cloud B. C'est le style des nuages Pour la couverture nuageuse, je vais sélectionner Middle. Et voici les paramètres
d'un ciel radieux. Il n'y a pas grand-chose à changer ici. Juste pour m'en assurer, je vais cliquer
à nouveau sur la lucarne, descendre, cliquer sur Recapture, juste pour m'assurer
que l'
éclairage du
ciel est correct . Et je vais cliquer sur Construire et
créer tous les niveaux. Et cela garantira
que l'éclairage est réellement correct.
Alors vas-y et fais-le. Cela prendra un certain temps si c'est la première
fois que vous le faites. Et vous pouvez voir les progrès réalisés ici lors de la
construction de l'éclairage. Mais comme vous pouvez le constater, cela me prendra probablement quelques
secondes. Maintenant, lorsque vous aurez fini de
construire l'éclairage, il vous indiquera la progression. C'est exactement comme
avant. C'est bon. Vous pouvez voir ici que si je clique
sur la lucarne maintenant et que j' augmente l'intensité de la lucarne à
environ trois, vous pouvez voir les ombres
s' Et c'est à cela que sert
la lucarne. Cela rend les ombres plus lumineuses. Si les ombres sont
très sombres dans votre jeu, vous pouvez toujours les augmenter pour qu'elles deviennent plus claires. Et ça a l'air bien
mieux qu'avant. Cependant, ce n'est
généralement pas si sombre. Si je l'ai à
l'échelle de deux, il n'est pas
censé faire si sombre. Et aussi, si vous regardez
à l'intérieur d'ici, il y a
autre chose qui se passe. Voici le lumen, le
nouveau système d'éclairage. Si vous cliquez sur ce processus de
publication pour le moment, je vais minimiser
cette exposition. Si vous descendez ici
et que vous trouvez Lumen ici, vous pouvez voir l'illumination globale Lumen, vous pouvez cliquer dessus
ici et ici dans le Lumin, éclairage
global, vous
pouvez cliquer sur cette
distance maximale pour celui-ci Si vous écrivez zéro, vous pouvez voir qu'il est beaucoup
plus lumineux qu'avant. Si vous cliquez sur cette flèche
pour revenir à la normale, vous pouvez voir que tout
est si sombre. Et si j'écris à nouveau zéro, c'est beaucoup plus clair. Il y a aussi quelque chose qui se passe
là-dedans. Je vais en fait le réduire
légèrement pour celui-ci. Vous pouvez voir si vous écrivez
100, ça ressemble à ça. Si vous écrivez 200, 300, 400500600700900, il commence
à En fait, je vais en écrire 700. Vous pouvez essayer de
l'équilibrer dès maintenant, il semble très plat, donc je ne vais pas
choisir. 1 lumen, c'est vraiment bien et
cela donne de beaux effets Vous verrez cela plus tard lorsque l'éclairage sera bon, donc je ne veux pas qu'il
ait l'air aussi plat C'est vraiment agréable
d'avoir du lumen dans votre scène car l'éclairage s'en
trouvera bien meilleur Au lieu de tout enlever, et mettons-le à 200 ou 300, essayez de l'augmenter
légèrement, mais il est toujours
plat sur le sol. Je vais continuer à augmenter de 100
jusqu'à ce que je puisse voir certains détails. Maintenant, je peux voir
certains détails ici. Et si j'écris 700
au lieu de 600 ? Et voilà à quoi ça ressemble. Si j'écris 800, cela deviendra
vraiment sombre ici. Je vais opter pour
700 avec celui-ci,
nous pourrons toujours le modifier plus tard. OK ? Vous pouvez donc
voir la différence. Si je clique ici, ça
ressemble à ça. Si j'écris 700, cela semble beaucoup
plus léger qu'avant. Vous pouvez maintenant cliquer sur la
lucarne et augmenter légèrement
pour qu'il ne fasse pas si sombre Pour le puits de lumière en
ce moment, il y en a deux. Tu peux écrire 34, peut-être quelque chose
comme quatre pour le moment, d'accord, peut-être quelque chose comme quatre. Et vous pouvez déjà voir c'est beaucoup plus
beau qu'avant. Avant c'était un par
défaut et maintenant c'est quatre. Et vous pouvez voir la
différence ici. Je vais continuer à régler l'
éclairage jusqu'à ce que je sois satisfait. Dans les jeux de tir à la première personne, c'est vraiment agréable d'avoir des
coins sombres
parce que les gens
veulent se voir, ils veulent se tirer dessus Et ce n'est pas agréable d'avoir un coin sombre où vous ne
pouvez pas voir l'ennemi. Quelque chose comme ça, ce
sera vraiment ennuyeux. Écrivons quatre dans l'échelle
d'intensité ici. Ce que je vais faire également, cliquer sur la lumière
directionnelle et
augmenter l'intensité de l'
éclairage indirect. Et ce que ça fait,
ça fait simplement rebondir quelques lumières sur les murs et
ça lui donnera une bien meilleure apparence Si vous l'augmentez,
vous verrez la différence. Vous voyez vraiment la
différence ici. Si j'écris zéro ou un comme avant et si j'écris
six, vous pouvez voir ces murs font rebondir de
la lumière les uns sur les autres Et l'environnement est
bien meilleur qu'avant. Si c'est bon, bon six, vous pouvez également voir la différence
sur ce mur. Bien, ce que je
veux faire maintenant, c'est trouver un équilibre entre les ombres
et l'éclairage. Cela semble donc correct.
Avant que je fasse ça. Maintenant, si vous cliquez sur la
lucarne, puis que vous cliquez sur Avancé ici dans
l'éclairage, ici
dans la lucarne,
vous cliquez sur Avancé,
vous pouvez voir ce l'éclairage, ici
dans la lucarne,
vous cliquez sur Avancé, vous que l'on appelle
une couleur de l'hémisphère inférieur Ce que c'est, c'est qu'elle fait
rebondir la lumière
du sol vers ces
murs et cet environnement. Ici, vous pouvez voir
que si je clique dessus et que je mets la lumière ou la
couleur à quelque chose d'extrême, vous pouvez voir qu'il fait
rebondir de la lumière du sol vers
le haut sur
ces murs ici Maintenant, il fait
noir et cela n'a pas
vraiment de sens, car nous ne projetons pas vraiment de lumière
noire sur les murs ici Pour le rendre plus réaliste, nous devons changer la couleur
pour quelque chose de plus correct. En ce moment, mon sol est gris. Ce que vous pouvez faire ici, c'est cliquer sur le mode Lit ici, vous pouvez accéder à la
visualisation de la mémoire tampon, puis à la couleur de base. Vous pouvez maintenant voir la véritable couleur de
base de votre sol. Ce que vous pouvez faire, c'est cliquer dessus, utiliser le sélecteur de couleur, puis sélectionner
la couleur du sol Je vais sélectionner
celui-ci gris ici. Et je vais
retourner dans mon ciel. Si je le minimise,
va à la lucarne. Maintenant, vous pouvez voir que nous avons changé la couleur de l'hémisphère inférieur. Maintenant, si je reviens en
mode éclairé, que je
descends et que je n'oublie pas
de cliquer sur recapture Parce qu'il faut
récupérer l'éclairage. Maintenant, il fait rebondir
le bon éclairage sur ces murs Très bien,
permettez-moi de zoomer ici. Et je veux maintenant trouver un équilibre entre l'
ombre et la lumière. Maintenant, si vous cliquez sur
la lumière directionnelle et que vous modifiez l'
intensité ici, cela augmentera ou
diminuera la quantité de lumière. Si vous vous dirigez vers la lucarne
et que vous augmentez ou
diminuez
la quantité ou l'intensité, le degré d'obscurité de ces ombres augmentera ou
diminuera Je vais commencer par cliquer
sur la lumière directionnelle, et je vais
augmenter l'intensité peut-être environ sept. Maintenant, si je passe à nouveau à
la lucarne, tu peux commencer par un,
puis écrire 23 Vous pouvez essayer de l'augmenter
légèrement juste pour voir à quoi il ressemble jusqu'à ce que
vous soyez satisfait, n'est-ce pas ? J'ai joué avec l' intensité
de la lucarne
et de la lumière directionnelle Pour la lumière directionnelle, je l'ai mise à six, en fait, je vais la mettre
à sept pour qu'elle ne ressemble pas à la nuit. En mettant ça à sept
pour la lucarne, je le mets encore à cinq. Je l'ai juste
légèrement augmenté ici jusqu'à ce que je sois satisfait
lorsque je l'augmente à six. Je pense que c'était un peu trop clair, alors j'en ai réduit cinq. Et nous pourrons toujours
le modifier plus tard. Ce n'est pas un problème,
mais pour l'instant, je trouve que ça a l'air sympa. Nous pouvons voir à quoi
ressemblent les ombres par rapport
à l'éclairage. Et il suffit
de le comparer au ciel. Regardez et voyez si tout
semble réaliste. Jetez un coup d'œil à l'intérieur
de ce tunnel pour voir si tout
va bien. Je ne veux pas qu'il soit très
sombre comme vous pouvez le voir ici. Si vous cliquez sur le
volume après le traitement et que vous redescendez au lumen et à
la distance de trace maximale, si vous le remettez à 2000, vous pouvez voir dans quelle mesure cela
affecte l'éclairage Cela rend vraiment tout sombre et vous devez le
diminuer à nouveau. Vous pouvez écrire 100 pour
voir à quoi cela ressemble, mais pour le moment, c'est vraiment
plat sur le sol. Si j'écris 200, 300, 400, vous pouvez voir que le sol a
toujours l'air très
plat. Et si nous continuons
à
augmenter ce chiffre, cela va paraître un peu trop sombre
à un moment donné. Je vais donc, encore une fois, le
remettre à 700. Et j'aime beaucoup ce numéro, donc je vais rester ici. Mais c'est comme ça que je fais
habituellement l'éclairage. J'essaie d'abord de me diriger vers
le feu directionnel. Essayez de trouver de belles ombres
en faisant pivoter la lumière du soleil. Et puis je vais retourner ici dans la
lucarne, comme avant Cliquez sur le
bouton avancé correspondant à la lampe. Descendez dans l'hémisphère inférieur et changez la couleur
du sol Cela coûte un éclairage correct
et aussi pour le beau ciel. Nous avons modifié un peu
les paramètres ici. Maintenant, vous pouvez voir si je regarde
cette partie et que je m'éloigne, vous pouvez voir que tout d'
un coup elle disparaît, le reflet rouge étant là. Si je me rapproche, vous pouvez le voir apparaître
si je m'éloigne, vous pouvez voir qu'il y a un petit changement dans l'
éclairage ici. Ce que vous pouvez faire ici,
c'est
jouer avec la distance en lumens Vous pouvez revenir au volume du
post-traitement et vous pouvez descendre ici. Et nous avons quelque chose
appelé Lumen Scene Detail. Si vous cliquez sur le détail de la scène
lumen, si vous cliquez sur le mode éclairé,
puis vous passez à la scène lumen
et lumen Ainsi, dans la scène Lumen,
vous pouvez réellement voir
où le lumen affecte Encore une fois, le nouveau système
d'éclairage du moteur
Ural rend tout vraiment
beau. Prenons cela comme exemple. Si ça devient noir, tu peux
voir si je m'en éloigne. Cela signifie que le lumen
ne fonctionne pas sur ce
maillage pour le moment Si je me rapproche, ça marchera. Cela est censé
se produire parce que nous ne voulons pas que le
lumen fonctionne tout
le temps, car
à un moment donné, vous
n'en avez le temps, car
à un moment donné, vous pas vraiment besoin parce que
vous êtes trop loin. Et nous n'avons pas vraiment
besoin de renforcer
les performances du jeu. Ce que nous pouvons faire ici
pour que cela fonctionne un peu plus. Vous pouvez voir si je suis là, je voulais vraiment travailler sur certains de ces modèles également. Je ne veux pas que ce
soit aussi extrême
pour les détails de Slumencene Vous pouvez l'augmenter légèrement. Si vous l'augmentez beaucoup, cela fonctionnera sur tout même si vous êtes loin. Si vous l'augmentez,
cela supprimera certains détails. Par défaut, vous pouvez le voir ici,
si vous l'augmentez,
cela augmentera en
fonction du coût du GPU. Je ne veux pas trop l'
augmenter, mais vous pouvez
l'augmenter légèrement. Je vais cliquer
et faire glisser juste pour l'
augmenter légèrement jusqu'à ce que cela apparaisse quelque chose comme 1.2
C'est un changement intéressant. Vous pouvez voir que ça ressemble à
ça quand je le mets à un, quand je le mets à 1.2. Permet également d'obtenir le métier à tisser dans les détails
beaucoup plus rapidement qu'auparavant. Vous pouvez voir
que lorsque nous en avions un, à ce moment-là, il était éteint. Si je le mets à 1.2, il est activé. Si je reviens au mode allumé, c'est beaucoup mieux maintenant. Très bien, donc avant
de terminer, cliquons d'abord sur Construire
et Construire tous les niveaux. Et assurez-vous simplement
que tout est correct avec l'
éclairage et les ombres. construction va encore une fois
prendre un certain temps et je reviendrai une fois que
l'éclairage aura été installé. C'est bon. Maintenant,
il a fini construire l'éclairage et
tout va bien. Maintenant, parfois, pour certaines personnes , l'éclairage est différent. Et c'est parce que cela
peut être dû au fait que vous devez accéder
aux paramètres
et à l'évolutivité du moteur Et en ce moment, vous pouvez voir que je regarde tout
dans Epic Graphics. Et c'est parce que j'
ai un ordinateur rapide. Mais si votre ordinateur est lent,
vous pouvez utiliser une égalité moyenne ou faible,
par exemple . Mais à basse altitude, vous ne pouvez pas
voir les ombres, mais vous pouvez aussi les utiliser. Si vous avez un ordinateur plus
lent, j'en ai un rapide. Je vais opter pour
le modèle Epic. Vous pourrez toujours le modifier ultérieurement lorsque vous
exporterez le jeu. Mais Epic est généralement
très lourd, donc vous devriez opter
pour le high pour votre ordinateur s'
il est un peu plus lent. Mais comme vous pouvez le constater,
cette évolutivité du moteur affecte
également l'éclairage, vous pouvez
donc également le vérifier OK, pour la dernière étape, je vais cliquer sur
ce volume de post-traitement. Maintenant, ce que nous pouvons faire, c'est changer un peu les
couleurs. Nous pouvons donc cliquer sur
cette température et vous pouvez la cocher ici. Ce briquet thermique
et aussi cette teinte. Je vais donc baisser légèrement
la température qu'elle
devienne un peu plus bleutée. Environ 6 200, une
très, très légère différence. Vous pouvez voir si je le coche et décoche, voici à
quoi cela ressemble Juste une légère différence. Cela donne à tout un
aspect un peu plus froid, plus bleu qu'à cause de la
teinte. Si vous l'augmentez, vous verrez qu'elle paraîtra un peu plus orangée, un peu plus chaleureuse Maintenant, je ne veux pas que
ce soit aussi extrême. Donc, si vous augmentez de 0,1, vous pouvez
voir à quoi cela ressemble et vous pouvez le cocher et le
décocher. Le changement. Cependant, je pense que c'est
peut-être un peu trop pour l'instant. I 0,05 au lieu d'un ticket NFI et
d'un ticket. Voilà à quoi ça ressemble. OK ? Il s'agit donc d'un très léger
changement de couleur. Très bien, donc la dernière
chose que je veux faire ici, vous pouvez voir que dans les paramètres
globaux, vous pouvez également changer les choses. Par exemple, la saturation. Si votre jeu est trop désaturé, vous pouvez augmenter
la saturation et tout deviendra
beaucoup plus Désormais, vous n'avez plus besoin
d'augmenter trop le réglage. Par exemple, vous pouvez le
mettre à 1,1
et votre jeu
sera légèrement saturé. Vous pouvez voir que
cela lui donne un peu plus de couleur. Cependant, je vais m'en tenir
à un pour le moment. Vous pouvez également augmenter le gain
si votre jeu est trop sombre, afin d'augmenter le gain. L'ensemble du jeu sera
beaucoup plus brillant qu'avant. Maintenant, pour moi, je vais m'en
tenir à un pour
celui-ci également. Je n'ai pas besoin de
changer quoi que ce soit ici. Ce que je veux changer, c'est
que je pense que les surfaces sont un peu trop claires et c'est
en fait le point fort. Si vous allez sur Highlights
ici et que vous cliquez, par
exemple, sur le gain. Et vous pouvez voir ici que si vous augmentez ou diminuez le gain, vous augmentez et diminuez
les couleurs ici. Si vous le mettez simplement à zéro, vous pouvez réellement voir
ce que cela affecte. C'est le
point fort. Cela affecte le surlignage
au-dessus de ces modèles, 5.21 Je trouve que c'est un peu trop clair et
ennuyeux à regarder Ce que vous pouvez faire, c'est le
diminuer légèrement pour qu'il ne soit pas si brillant. Et c'est ennuyeux à regarder,
peut-être quelque chose comme 0,60 0,56 Et vous pouvez voir si vous en écrivez un,
voici à quoi il ressemblait Et si j'écris 0.6,
voici à quoi cela ressemble. Maintenant, je pense que cela semble un
peu mieux qu'avant, parce qu'avant, il faisait un
peu trop clair sur la glace, et écrire 0.6 permet de
résoudre ce problème. C'est ce que nous avons
actuellement dans un niveau. Maintenant, pour celui-ci, nous
pouvons ajouter un peu de floraison. Et je vais en fait ajouter un peu de
fleurs à mon niveau. Il s'agit désormais d'une préférence. Vous ne pouvez pas non plus ajouter de
fleurs à votre niveau. Certaines personnes n'aiment pas fleurir rivages
à la première personne. Mais pour moi, je vais juste
l'augmenter légèrement que vous puissiez simplement l'augmenter
et voir à quoi il ressemble. Si vous en écrivez un,
voici à quoi il ressemble. Cela lui donne cet effet de rêve. Si vous écrivez 01, je pense que c'est trop extrême. Si je le mets à 0,6
, vous pouvez
essayer d' écrire 00.6 pour
voir la différence Je pense que quelque chose comme
0,6 est la voie à suivre. Pas plus que ça, sinon ce
sera un peu plus ennuyeux. Maintenant, nous pouvons voir à quoi cela
ressemble ici. L'éclairage est vraiment bon. Vous pouvez voir combien cela coûte
en plus de la houle ici, et vous pouvez également le voir
à l'extérieur d'ici Essayez de regarder à l'intérieur, assurez-vous qu'il n'y a rien de noir. Tu peux voir l'ennemi
si je rentre par ici. Maintenant, si vous pensez que ce
tunnel est un peu trop sombre, vous pouvez toujours entrer
par ici et cliquer ici. Accédez aux lumières, cliquez
sur la lumière ponctuelle et créez une lumière ponctuelle ici. Et vous pouvez toujours le placer quelque part à l'intérieur
de ce tunnel. Pour cette lumière ponctuelle,
vous pouvez augmenter ou diminuer l'intensité et
voir à quoi elle ressemble. Maintenant, c'est un peu trop
clair sur ce point précis. Et je veux arranger les choses
parce que, comme vous pouvez le voir ici, nous n'avons pas vraiment
d'ampoule. Cela va donc sembler un peu étrange que cet éclairage
soit si brillant ici. Donc, ce que vous pouvez faire, c'est que je vais
en fait
diminuer l'intensité. Je vais cliquer sur Avancé, et utiliser ici Inverse
squared Fall off. En fait, je
vais le désactiver ici. Maintenant que vous pouvez voir quand vous augmentez ou diminuez
l'éclairage, vous pouvez maintenant augmenter
l'intensité pour qu'elle soit bien supérieure à ce qu'elle était auparavant. Vous pouvez également diminuer l'intensité de
cette atténuation. Et vous pouvez constater que cela
met un peu plus l'environnement au lieu de
se concentrer uniquement sur ce domaine spécifique. Maintenant, si je continue et que je
clique à nouveau sur le point lumineux. Et je vais juste le
laisser ici à
deux heures pour l'exposant de
perte de lumière Ensuite, je vais réduire l'intensité à quelque chose
comme vous pouvez le voir. Il fait très, très clair maintenant parce que
nous l'avons désactivé, nous avons abaissé l'exposant
de perte de lumière et nous avons également désactivé
celui-ci pour l'intensité Si vous n'en écrivez qu'
un par exemple, vous pouvez voir la différence
si vous l'activez et le désactivez Juste un léger effet
pour s'assurer qu'il n'y ait pas de points noirs
à l'intérieur de notre niveau. Vous pouvez maintenant jouer avec
le rayon d'accentuation. Si vous cliquez sur, vous pouvez
voir où cela se répercute. Donc, si vous augmentez ou diminuez le rayon d'accentuation,
voici à quoi cela ressemble Je vais juste le mettre
à quelque chose comme 2000,
peut-être, quelque chose comme ça. Si vous cliquez sur, vous pouvez
le déplacer comme ça. Essayez de le placer dans un endroit
vraiment agréable où vous ne verrez pas vraiment qu'il
y a une ampoule à l'intérieur d'ici. Et essayez également de jouer
avec l'intensité. Je pense que c'est beaucoup trop clair, donc si je le mets à 0,5 pour que
ce ne soit pas trop visible. Et tu peux cliquer sur cet
œil pour le masquer et le montrer. Et vous pouvez voir à
quoi cela ressemble, juste un léger effet. Mais vous pouvez voir
ici que si l'ennemi se
tient là
et vous regarde,
vous pouvez voir qu'il y a
un peu plus de lumière. Et il est toujours plus
facile de voir l'ennemi. Et c'est plus agréable à regarder. Maintenant, essayez simplement de contourner la lampe maintenant que vous avez
fini de la placer. Et essayez de le placer dans un endroit où
cela vous convient. Je trouve que
la lumière estivale est belle ici. Je vais faire la
même chose ici. Je vais maintenir la touche Alt enfoncée,
cliquer et faire glisser pour le copier. Je vais également le placer ici,
à l'intérieur de ce tunnel. Essayez de le placer quelque part
au milieu. Ensuite, je vais le
faire évoluer dans cette direction. Je vais juste y
jeter un œil et voir comment cela affecte un
endroit comme ici. C'est la même chose
que ce que vous
avez fait ici pour cet
éclairage également. Cet éclairage, il est également
au milieu. Assurez-vous simplement qu'
il est au milieu et qu'il est placé ici. Pour l'autre,
je vais le presser légèrement pour qu'il
ressemble également à l'autre lampe. Maintenant que nous avons placé
la lampe personnalisée juste pour qu'elle paraisse un peu
plus lumineuse à l'intérieur,
je pense que nous en avons terminé
avec l'éclairage et
voici je pense que nous en avons terminé
avec l'éclairage et à quoi ressemble le
niveau maintenant.
11. 2.07 Astuces pour l'optimisation de l'environnement: Avant de pouvoir dire que cet
environnement est terminé, nous devons également examiner
l'optimisation et assurer qu'il fonctionne nous
assurer qu'il fonctionne
correctement en tant que jeu
lors de sa sortie. Pour voir
l'optimisation, cliquez sur le mode
couvercle ici. Passons aux modes
d'affichage optimisés et commençons par celui-ci
appelé Light Complexity. ce qui concerne la complexité de la lumière,
comme son nom l'indique,
nous examinons essentiellement comme son nom l'indique, la complexité de l'éclairage. Comme vous pouvez le voir ici, nous
avons ici un dégradé, commence par le noir
et le bleu, puis qui va jusqu'
au rouge, violet et au blanc. Maintenant, si vous
êtes ici dans le bleu, c'est une très bonne performance. Si vous êtes ici en
violet et blanc, c'est une mauvaise performance et
c'est mauvais pour votre jeu. Mais comme vous pouvez le constater, notre
niveau est entièrement bleu. Et vous pouvez voir
que c'est par ici. Et c'est vraiment bien
optimisé en termes d'éclairage. C'est parce que nous n'
utilisons pas autant de lumières. Nous n'avons que la lumière
directionnelle ,
puis nous avons la lumière du ciel. Ils l'éclairent principalement comme vous pouvez le voir. Si j'y retourne, si j'éteins le feu
directionnel et si j'éteins la lucarne, vous pouvez voir
tout s'assombrir En fait, ce sont ces
deux-là qui éclairent
l'environnement. Maintenant, si je reviens à
la
zone de complexité légère , elle est verte. C'est parce que
nous avons ajouté les ampoules. N'oubliez pas que nous avons cliqué
ici dans les lumières et ajouté une lumière ponctuelle.
C'est pourquoi il est vert. Celui-ci est plus exigeant en termes
de
performances que ce domaine. Cependant, ces performances restent
faibles. C'est vraiment sympa. C'
est bon pour ton jeu. Tu es toujours dans la bonne zone. Si je prends l'une des
ampoules et celle-ci ici,
si je prends cette icône, ce feu ponctuel, si je maintenais la touche Alt enfoncée et que je fais
glisser le pointeur pour la copier, vous pouvez voir si je la copie
et si je la place en dehors de ces autres points lumineux,
c'est prêt. Cependant, si je commence à superposer les lumières, comme
vous pouvez le voir ici, elles deviennent rouges maintenant. Et dans la zone orange. Maintenant, disons que c'était
votre niveau, tout va bien. Cela n'
affectera pas votre jeu. C'est toujours très bon. Cependant, si
l'ensemble de votre jeu est rouge, comme ça, vous pourriez en faire
l'expérience dans votre jeu. Cependant, si c'est
juste une zone
minimale votre niveau qui est
rouge, ce n'est pas grave. C'est très bien Maintenant, si je le
copie/colle à nouveau, vous pouvez voir qu'il devient
ici, violet et blanc. Et si vous l'avez
dans votre jeu, c'est vraiment nul. Lorsque vous optimisez votre jeu, essayez de réduire la quantité
d'éclairage que vous utilisez. Vous pouvez donc les utiliser
loin les uns des autres. Ainsi, vous pouvez superposer certaines
d'entre elles. C'est bon. Cependant, n'essayez pas de
superposer plusieurs lumières à la fois. Cela fera traîner votre jeu. Je vais supprimer tous
les autres points lumineux
que j'ai créés ici. Celui-ci et celui-ci également. À l'heure actuelle, notre niveau est
vraiment bien optimisé. Passons donc à la densité de
la carte de lumière. heure actuelle, il est encastré dans un vrai moteur. Peut-être
qu'ils vont le réparer. Ces boîtes noires scintillantes ne
sont pas censées être là. Peut-être qu'ils le
répareront dans le futur. Mais pour l'instant, ignorez simplement ces lignes noires scintillantes
dans la densité de la carte de lumière Ce qu'il vous montre
ici en ce moment, c'est à nouveau bleu. Le bleu représente la résolution. Et c'est bon
pour vos performances de jeu. Si quelque chose est
très rouge comme ça, c'est mauvais pour vos performances. Nous passons du bleu au rouge. Il y a un dégradé.
Il passe donc du bleu au vert légèrement, puis il passe à l'orange, puis au rouge. À l'heure actuelle, quelle est la densité de la carte
lumineuse ? Quelle est la densité de la carte lumineuse ? Vous pouvez augmenter la
résolution de la carte de lumière pour chaque modèle. Et cela augmentera le niveau détail de votre
ombre sur le sol. Si la
résolution de votre ombre au sol est très faible, c'est parce que la résolution de la carte de la
lumière du sol est faible. Cela peut en être la cause. Ce que nous voulons faire,
c'est passer à la densité de la carte de lumière et
l'augmenter. Le bleu est une très faible
résolution pour une carte lumineuse. Nous devons augmenter la
résolution pour les ombres soient belles
lorsqu'elles atteignent les maillages, par
exemple. C'
est vraiment bien. Nous voulons viser
cette couleur verte. Ce que je veux faire, c'est
cliquer sur ce terrain. Vous pouvez trouver ce terrain
ici dans le navigateur de contenu. Cependant, si vous ne le trouvez
pas, vous
pouvez cliquer sur le sol. Et vous pouvez cliquer sur
cette icône ici, et cela vous mènera
à ce maillage au sol. Maintenant,
double-cliquons et
ouvrons-le ici dans le panneau des détails. Cherchons une carte lumineuse. Vous pouvez maintenant voir la résolution de la carte de
lumière
et la résolution minimale de
la carte de lumière. Maintenant, je dois cliquer
sur autre chose. Je ne vois pas cette couleur rose, il suffit de cliquer sur autre chose. Je peux voir la couleur bleue du sol
ici. Maintenant, si vous augmentez simplement
la résolution de la carte lumineuse à quelque chose comme d'habitude,
nous la multiplions par deux, vous pouvez dire 128. Maintenant, vous pouvez voir que c'est moins bleu. Maintenant, si je recommence,
je le multiplie par deux. Maintenant, au lieu de simplement écrire
le nombre, ce que vous pouvez faire, moteur
vraiment sympa et irréel, vous pouvez dire « multiplier par
deux », puis appuyer sur Entrée Et il va le
faire automatiquement. Maintenant, vous pouvez voir que la
résolution est plus élevée qu'avant. Avant tes 64 ans, tu. Basse résolution. Maintenant, lorsque
nous le multiplions par deux, multiplié par deux, je
veux toujours le multiplier par deux,
car il s'agit toujours d'une faible
résolution multipliée par deux. Maintenant c'est beaucoup mieux. Je m'arrêtais parfois ici parce que c'
est également agréable. Mais ce que je veux faire, c'
est simplement le multiplier par deux pour voir à quoi
cela ressemble également. C'est la couleur que j'ai l'
habitude de choisir dans mes jeux. C'est toujours dans la zone de
basse résolution, mais cela donnera une
belle apparence à
vos ombres tout en
optimisant votre jeu. Je n'aime pas rendre mes
modèles très verts comme ça. J'aime rester dans la zone vert
bleuté. Ça a toujours l'air bien
avec les ombres. Résolution 1024, résolution de la carte
lumineuse pour le sol. Et n'oubliez pas de copier ce
numéro et de le coller dedans. La
résolution minimale de la carte lumineuse également. Ensuite, vous pouvez
continuer et le fermer. Et il vous demande si
vous voulez l'appliquer. D'accord ? Cliquez ensuite sur Oui. C'est ce que vous devez faire pour
tous les autres modèles. Prenons par exemple un autre exemple. Cliquons sur celui-ci ici. Cette bague est là. C'est
cette bague ici. Double-cliquez dessus, ouvrez-le. Light Map Resolution, la
voici. Maintenant, cliquons sur
autre chose pour que nous puissions réellement
voir la couleur. Écrivons deux fois. La résolution est toujours faible. Multiplions-le encore une fois par deux. Multiplions-le encore une fois par deux. C'est vraiment très bien. Je pense que ce sera trop élevé
si je le multiplie par deux. Vous pouvez voir maintenant que c'est
vert et orange. Celui-ci. C'est toujours
une bonne performance. Cependant, je pense toujours que cette performance
est trop élevée. N'oubliez pas que plus vous augmentez
la résolution de
la carte lumineuse, plus
le nombre d'images par seconde augmentera. Et la performance,
je dirais de la diviser par deux et de rester
ici au maximum. Je vais également copier ce
numéro ici. Et je vais le fermer et l'appliquer maintenant. Allez-y et
faites-le pour tous les modèles que vous utilisez dans le jeu. Je vais passer à autre chose et essayer de le faire pour tous les
modèles que j'ai ici. J'ai fini de
tous les ajuster, et comme vous pouvez le voir,
voici à quoi cela ressemble. Maintenant, vous pouvez voir que certains d'entre eux sont encore en très basse résolution. Par exemple, ce mur ici. Cependant, ce mur est aussi cette boîte qui a l'air très verte. Vous pouvez voir que si j'ouvre la case Supercrid et que je
recherche la résolution de la carte lumineuse, je peux l'augmenter Par exemple, multipliez-le
à nouveau par deux et
multipliez-le à nouveau par deux, et ce mur
sera en haute résolution. Cependant, vous pouvez voir
que ces cases sont toutes rouges et rouges maintenant. Et ce n'est vraiment pas bon. En effet, plus
vous agrandissez un élément, plus sa résolution sera faible. Par exemple,
revenons en fait à 128 auparavant. Si je le place ici dans le niveau, vous pouvez voir qu'il
est maintenant vert. Cependant, si je prends l'
outil de mise à l'échelle et que je l'
agrandisse, la résolution paraîtra
inférieure. Si je l'agrandis davantage, vous pouvez voir qu'il a maintenant
une résolution inférieure à celle d'avant. Plus vous agrandissez l'objet, plus sa résolution sera faible. Cependant, tout va
bien jusqu'à présent. Et si je reviens simplement
au mode éclairé et que
vous pouvez faire, c'est enregistrer le niveau, puis cliquer sur Construire
et construire tous les niveaux. Et c'est juste
pour s'assurer que tout l'éclairage est intégré, toutes les ombres sont cuites et que tout
semble correct. Cela va prendre un
certain temps ici. Cela va prendre un peu
plus de temps qu'avant car vous avez augmenté
la densité de la carte lumineuse. Cependant, vous pouvez
constater que le niveau est toujours très optimisé. Cela n'a donc pas pris de temps et c'est déjà terminé. À l'heure actuelle, l'éclairage est en haute résolution ici
au sol, plus qu'auparavant. Il a l'air de
meilleure qualité qu'avant. Cela est dû au fait que nous avons augmenté
la densité de la carte lumineuse. Revenons maintenant ici dans
les modes d'affichage optimisés. Ensuite, nous avons le chevauchement de la lumière
stationnaire. Comme vous pouvez le constater, nous
n'en utilisons pas beaucoup. Nous voici dans la zone verte. Vous pouvez voir que c'est très optimisé. Si nous passons à la complexité du
shader, encore une fois, cela semble vraiment beau Il n'y a pas de quoi s'
inquiéter si je passe, en fait, je passe
juste à l'overdraw pour les quads Au lieu de
les assembler, je vais opter pour le quad overdraw Et voici les trois
modèles D que vous utilisez. Il va examiner le
nombre de triangles que vous
utilisez par modèle,
mais nous n'en avons pas beaucoup. Vous pouvez voir que c'est vraiment
très optimisé. L'ensemble de votre niveau est
actuellement optimisé. Et si vous passez
en mode Lit maintenant,
maintenant que nous avons terminé le niveau, tout
est optimisé. Et si je passe aux
images par seconde, si je clique ici, affiche
les images par seconde. Et sachez que 120 images par seconde, c'est le maximum
ici dans Unreal Dans la fenêtre d'affichage ici, vous devez exporter votre jeu sous forme
de fichier EXC Par exemple, si vous
voulez le sortir sur
Steam et qu'il aura un nombre d'images par seconde plus élevé, mais qu'à l'intérieur du moteur lui-même, il est bloqué
à 120, n'est-ce pas ? Tout est donc vraiment
bien optimisé. L'ensemble du niveau
fonctionne à un FPS maximum. Et nous avons également optimisé
le niveau. Nous sommes donc prêts à continuer.
12. 3.01 Importer les personnages: Bien, il est maintenant temps
d'importer les personnages. Maintenant, pendant le cours, nous
allons importer plus de choses. Par exemple, les armes
et les animations. Mais allons-y
étape par étape. Commençons par les personnages. Ouvrons le lanceur
Epic Games. À l'intérieur, je veux que vous
cliquiez sur l'onglet Marketplace. Désormais, dans le Marketplace, vous pouvez trouver des actifs que
vous pouvez utiliser pour le jeu. Vous pouvez voir qu'ils créent très belles choses
que vous pouvez utiliser. Bien entendu,
c'est en grande partie pour de l'argent. Cependant, ce que nous allons
faire, c'est cliquer sur Parcourir et
accéder à Personnages. Ensuite, nous allons cliquer
sur le lien gratuit ici pour que le prix maximum soit gratuit. Maintenant, à l'intérieur d'ici, je
vais utiliser celui-ci appelé Military Doc
et Military Silva. Cependant, vous pouvez également
utiliser d'autres personnages. Vous pouvez utiliser
celui-ci si vous le souhaitez, vous pouvez utiliser
celui-ci si vous le souhaitez. Cela n'a pas vraiment d'importance.
Tu peux utiliser celui-ci. C'est à vous de décider. Cependant, je
vais utiliser ces deux, donc je vais cliquer
sur le premier. Ensuite, allez-y et
cliquez sur Télécharger. Si vous ne l'avez pas encore
téléchargé,
le message « Télécharger ici » s'affichera. Allez-y et cliquez sur Télécharger. Vous pouvez ensuite cliquer
sur Ajouter au projet. Maintenant, vous pouvez le voir
ici, c'est vide, et c'est parce qu'il n'est
compatible qu' avec Unreal Engine 4.8 à 4.27. Il s'agit
d'une très ancienne version Ce n'est même pas
Unreal Engine Five. Cependant, nous pouvons toujours
l'utiliser pour notre jeu. Allez-y, cliquez
sur Ajouter au projet, puis sur Afficher tous les projets. Ensuite, vous pouvez
sélectionner notre projet. Et maintenant, il est dit qu'il n'
est pas compatible avec Unreal Engine 5.2. Vous devez donc
sélectionner une autre version Cliquez ici et sélectionnez la dernière version
d'Unreal Engine Maintenant, allez-y et sélectionnez-le. Et allez-y, cliquez
sur Ajouter au projet. Maintenant, cela va entrer
dans le projet, si vous voyez ici, si je
reviens à mon jeu ici, si je clique dessus, vous
pouvez voir qu'il fait maintenant partie
du projet et que je peux
utiliser ce type dans mon jeu. Ce n'est pas grave s'il
n'est pas compatible, nous pouvons toujours
l'utiliser pour le jeu. Revenons en arrière et
passons à l'autre,
celui-ci en argent. Encore une fois, allez-y et
cliquez sur Télécharger. Et une fois que vous l'avez téléchargé, cliquez sur Ajouter au projet,
Afficher tous les projets. Sélectionnez notre projet et sélectionnez la dernière version avec laquelle
il est compatible. Allez-y et cliquez
sur Ajouter au projet, et celui-ci sera également ajouté
au projet. Nous avons maintenant les deux personnages. Nous avons ce document militaire. Nous avons cette pièce d'argent militaire que nous pouvons utiliser pour le jeu. Très bien, voici comment vous importez des choses
depuis le marché. Il suffit de les télécharger et de les
ajouter à votre projet. Et s'ils ne sont pas compatibles, pensez à afficher
tous les projets, sélectionner le projet
et à sélectionner également la version avec laquelle il
est compatible. Maintenant que nous avons
importé les personnages, passons à
la leçon suivante.
13. 3.02 Classes de plans pour les parents et les enfants: Nous sommes maintenant prêts à
travailler avec des plans. Créons un dossier
ici, cliquez avec le bouton droit de la souris. Accédez au nouveau dossier et appelez celui-ci blueprints à l'intérieur
de ce dossier de plans Cliquez avec le bouton droit de la souris et
sélectionnez la classe Blueprint. Nous allons maintenant
créer un personnage. Je vais donc
sélectionner cette classe Aca. Cependant, si vous n'êtes pas familier avec les classes Blueprint, le premier est un acteur. Et l'acteur
n'est qu'un acteur qui peut
être placé dans le monde. Par exemple, une table, une chaise, une bouteille, juste un
acteur statique qui est juste là. Le pion est quelque chose
que tu peux contrôler. Par exemple, si vous avez une balle qui
roule, c'
est votre joueur. Vous pouvez donc contrôler cette balle dans votre niveau car un
pion peut être possédé Possédé signifie
que le joueur peut contrôler cette classe de plan à l'
aide du clavier et de la souris Nous allons maintenant
créer un personnage parce qu'il a la
capacité de se déplacer. Vous pouvez vous imaginer comme un être
humain avec deux bras deux jambes qui se promène. Ensuite, vous devez
sélectionner le personnage. Si votre personnage n'est
qu'une balle qui roule, il suffit
d'y aller avec une patte Cependant, nous avons des personnages, alors allez-y et
cliquez sur le personnage. Et je vais l'appeler
BP Player Base. Maintenant, pourquoi ne l'ai-je pas simplement
appelé BP Player ? Pourquoi l'ai-je appelée « base de joueurs
BP » ? C'est le sujet de cette
leçon. Il s'agit de cours pratiques pour parents et
enfants. Maintenant, je vais d'abord le
créer ici. Avant de l'expliquer,
faisons un clic droit sur cette base de joueurs BP et
créons une classe de plan pour enfants Appelons
celui-ci BP Terrorist. Faisons à nouveau un clic droit dessus
et appelons-le BP sous Terrorisme. D'accord. C'est ce que sont les classes modèles
pour
parents et enfants heure actuelle. Nous l'avons fait, nous avons
créé une classe de blueprint À partir de là, nous avons écrit, cliqué et créé un cours de plan pour enfants Ce que cela fait, c'est que si
je modifie les paramètres dans cette classe de
plan parent, ces modifications
seront répercutées dans la classe de
plan antiterroriste
et dans la classe de
plan terroriste Disons que je suis entré dans la base de
joueurs à l'intérieur d'ici. Je suis passé à la composante de
mouvement du personnage ,
puis j'ai modifié la vitesse de marche
maximale. Disons que je voulais que mon
personnage marche plus lentement. Je suis donc allée ici
et j'en ai écrit 250. J'ai réduit la vitesse. J'ai cliqué sur Compiler pour
enregistrer mes paramètres ici, puis je suis passé à, vous pouvez voir qu'ils
ont maintenant cette étoile Et l'étoile signifie
qu'ils ont besoin d'être sauvés. Si vous cliquez sur
Counterterrorist, vous pouvez voir si je clique sur la composante de
mouvement du personnage, elle est également désormais sur 250 Il l'a fait automatiquement. Et si je passe
également à la composante terroriste, qui concerne les
mouvements du personnage, le maximum de pièces Wx
est également de 250 Vous pouvez voir que si vous modifiez des éléments dans la classe de
plan parent, tous ses enfants
modifieront également ce paramètre Cela vous fera gagner
beaucoup de temps. Disons,
par exemple, Quinzaine. Si vous jouez à
Fortnight,
disons que vous êtes un développeur
de Fortnight Vous avez cette base de joueurs ,
puis vous avez tous les skins. Dans Quinzaine, vous
avez tous les skins. Tous les skins de joueurs
que vous contrôlez. Lorsque vous modifiez un paramètre
dans la base de joueurs, cela change le paramètre
de tous les skins. Disons encore une fois, par exemple, la vitesse à laquelle ils marchent. Au lieu de modifier
la vitesse
de marche de chaque
personnage en quinze jours, il est très facile de passer dans
la classe de plan parent, de
modifier la vitesse, et cela aura effet sur tous les enfants du
plan directeur D'accord, c'est pourquoi nous créons des classes de plan pour
parents et des classes de plan
pour
enfants . Par exemple, le mouvement, nous allons effectuer
le mouvement avec
le clavier situé à l'intérieur de la base de
joueurs, car nous
n'avons pas besoin de coder
le même mouvement dans le contre-terroriste et le même mouvement
dans le Quand ils ont
exactement le même mouvement, ils bougent de la même manière. Que vous soyez un
antiterroriste ou que Terris ne compte pas, le mouvement est le même Et c'est pourquoi il est préférable de le
faire dans la base de joueurs, il suffit
donc de le faire une seule fois. OK, je vais
changer le maximum,
revenir à 600 et la base de joueurs compilée, comme vous pouvez voir dans la lutte contre le
terrorisme et le terrorisme, elle sera ramenée à 600. C'est ainsi que nous allons travailler. Nous allons principalement
faire les choses dans le cadre de la
clause du plan directeur pour les parents et lorsqu' ils ont des choses spécifiques
qui ne sont pas similaires, nous allons les
faire avec les enfants d'ici Mais pour l'instant, c'est
l'explication de base. Sauvegardons tout et
quand tout sera sauvegardé, passons à la leçon suivante et configurons le personnage.
14. 3.03 Paramétrer le personnage: Pour définir le personnage. Commençons par le terriste
ici sur le terris Cliquons sur Ouvrir l'éditeur de plan
complet. Ce visualiseur
s'affiche chaque fois que le plan est vide et que vous l'ouvrez pour
la deuxième fois Cliquez ensuite ici dans l'
éditeur Open full blueprint et vous serez retour ici dans la
vue normale dans la fenêtre d'affichage Si vous cliquez ici dans les composants,
cliquez sur le maillage. Et puis, à droite,
vous pouvez voir que vous pouvez ajouter un actif de maillage squelettique. Vous pouvez maintenant cliquer
dessus ici, et vous pouvez sélectionner
le personnage. Ce que vous pouvez faire,
c'est également sélectionner le dossier que
vous avez importé. Et vous pouvez également cliquer et faire glisser le personnage dans ce
composant de maillage ici. Vous pouvez soit les sélectionner
ici, soit simplement les cliquer et les
faire glisser ici. Par exemple, je vais
utiliser celui-ci, le terroriste masculin,
et je vais
cliquer dessus et le faire glisser
ici pour l'attribuer. Comme vous pouvez le voir, je vais faire de même pour
le terroriste. Double-cliquez dessus. Ouvrez
l'éditeur
de plan complet ici.
Cliquez sur le maillage. Accédez à la fenêtre d'affichage, juste pour que je puisse voir ce que
je fais ici Cliquez ici et vendez. Sélectionnez la femme.
Cela dépend de vous, peu importe
ce que vous choisissez, mais je vais
sélectionner celui-ci, le personnage masculin de la lutte contre le
terrorisme. Maintenant, vous pouvez voir que
les
personnages sont censés
être orientés dans cette direction, là où apparaît la flèche bleue. Ils font fausse route. Encore une fois, je vous ai parlé des cours pratiques pour parents
et enfants Au lieu de
les faire pivoter ici et ici, vous pouvez tout faire en même temps
dans la base de joueurs. Si j'ouvre la base de joueurs
et que je passe dans la partie vue, je clique sur le maillage. Cliquez sur E sur le clavier
pour accéder à l'outil de rotation, puis
il s'enclenche J'ai mis ce cliquetis dessus et j'ai fait pivoter de 90 degrés à 90 degrés. Cela les fera
avancer de cette façon. Si je clique sur Compiler et
que je clique sur chacun d'eux, vous pouvez voir qu'ils
sont tous les deux pivotés. C'est pourquoi il est agréable
de perdre un parent. Vous pouvez donc modifier un paramètre et il s'appliquera
à tous. Maintenant, ce que nous devons faire également, placer le pied de ces personnages au
bas de la capsule. On ne peut pas
vraiment le faire ici. Nous devons le faire pour chacun
d'entre eux. Tu peux le faire. Essayons vraiment.
Faisons-le simplement. Cliquons sur le maillage. Et cliquez sur le maillage
squelettique ici. Attribuez simplement un
caractère aléatoire ici. Nous n'
allons pas vraiment nous inquiéter pour le personnage, car nous
allons également le supprimer. Cliquez donc sur ce personnage. La meilleure façon de procéder est de passer à la vue en perspective ici. Et cliquez sur,
Commençons par la
vue de face, par exemple. Vous pouvez zoomer et faire glisser
ce personnage vers le bas. Juste comme ça, vous pouvez voir la capsule ne
remplit pas vraiment tout ce personnage. Donc ce que je vais faire c'est
cliquer sur la capsule. Et la moitié de la hauteur de la capsule, je vais
l'augmenter légèrement, 93 ou
quelque chose comme ça. Cliquez sur le personnage.
En fait, je vais passer à
la bonne vue. Je pense que c'est beaucoup plus facile de visualiser et de simplement faire glisser
ce personnage. Le pied
est donc en bas. Vous pouvez imaginer que c'est le
sol. Le sol est là. Là où il atteint ce point, je vais le faire glisser vers le bas. Donc, le pied est dans le
sol, juste comme ça. Il n'est pas nécessaire que ce
soit précis à 100 %. Vous pourrez toujours l'ajuster ultérieurement. Mais ce n'est qu'
un bon début. Il n'est pas vraiment nécessaire que cela
remplisse tout cela. Capsule de collision. Ce composant de capsule est généralement utilisé en cas de collision. Par exemple, dans les
jeux à deux ou trois D, si vous voulez toucher le joueur,
il sera touché
par ce composant de la capsule. Cependant, dans notre jeu de tir multijoueur à la
première personne, nous allons créer un système de collision plus avancé pour les bras et les jambes, etc. Parce que vous pouvez
voir dans ce jeu, si nous avons cette capsule comme collision, lorsque
vous frappez le joueur. Vous pouvez réellement toucher le joueur si la balle est tirée ici. Et cela n'a pas
vraiment de sens. Nous allons donc créer un système de
détection des impacts plus avancé. Ainsi, le joueur
ne sera touché que s'il est réellement touché au
bras et non pas ici. Celui-ci n'a pas vraiment d'
importance pour le moment. Il n'est pas nécessaire que ce
soit totalement précis, mais j'aimerais le voir
dans le bon angle, faire en sorte que le produit touche le
sol comme ça du mieux que
possible. Si vous passez à la vue de face, vous pouvez essayer de réduire légèrement
la capsule. Il s'agit de son corps,
juste comme ça. OK, cliquons
sur Compiler maintenant. Allons voir le
contre-terroriste. Regarde à quoi ça ressemble. Si
je prends le bon point de vue. Vue de face, jetez un
œil. Ça a l'air bien. Si je passe à la compilation sur les
terroristes, jetez
simplement un coup d'œil à
la perspective. Adoptez le bon point de vue. un coup d'œil à l'antiterroriste Celui-ci a l'air bien aussi. Vous pouvez voir que nous avons tout créé ici,
dans la base de joueurs, et maintenant ils sont appliqués à
tous les futurs personnages
que nous créerons. Supposons maintenant que vous vouliez
créer un autre personnage
dans le futur. Ce que vous devez faire,
c'est simplement cliquer
ici avec le bouton droit de la souris et créer une nouvelle classe de plan pour
enfants Supposons
par exemple que nous l'appelions
EP et qu' il y ait un
terroriste appelé Phoenix. Vous
pouvez entrer un nouveau personnage ici
et cliquer sur ce type sur ce maillage pour
le remplacer par ce personnage de Phoenix. Par exemple, ce
personnage féminin pourrait être Phoenix. Et vous pouvez voir à quel point il
est facile de créer de nouveaux personnages. Tous les paramètres sont appliqués. Supposons que pour ce personnage, certains paramètres
doivent être modifiés. Ensuite, vous pouvez simplement entrer dans ce personnage et
ajuster ce personnage. Vous pouvez très bien ajuster les
plans de ces cours pour enfants très bien ajuster les
plans de ces cours Vous n'avez pas à vous fier
uniquement aux paramètres de la base de joueurs. Vous pouvez ajuster chacune d'
entre elles si vous le souhaitez. Cependant, vous pouvez voir que c'est vraiment bien que nous ayons
déjà
fourni les paramètres de base (Paramètres
par défaut et cela facilite notre travail. Maintenant, fermons tout. Je vais supprimer celui-ci. C'était juste pour vous montrer et je vais revenir
dans la base de joueurs, que
nous devons également ajouter une caméra, car en ce moment le
personnage est là. Cependant, nous n'avons pas de caméra à travers laquelle le joueur peut regarder. Nous allons cliquer
sur le maillage ici, passer à D. Ensuite, nous allons
ajouter ce que l'on appelle
un ressort à ressort. Le bras est juste un support
pour l'appareil photo. En cliquant sur le ressort, allez D, puis recherchez une caméra. Vous pouvez ensuite sélectionner cette caméra. Vous pouvez maintenant voir que nous
avons un bras à ressort, et à l'intérieur du bras à
ressort se trouve une caméra. Maintenant, en cliquant sur le ressort, je vais cliquer sur mon
clavier pour accéder à l'outil de rotation, puis je vais faire pivoter la caméra pour qu'elle
se trouve derrière le personnage. Pour l'instant. Je
vais juste le traîner vers le haut. Juste quelque chose comme ça
n'a pas vraiment d'importance pour le moment. Nous allons régler
la caméra plus tard. Mais pour l'instant, je veux juste voir mon personnage quand
je suis dans le jeu. Ce que vous pouvez faire,
c'est que vous pouvez le voir ici si vous, par exemple. Maintenant, vous pouvez voir que cela s'
applique en fait aux deux, la terris et à la lutte contre le terrorisme, parce que
ce sont des enfants Vous pouvez constater que les deux
ont maintenant un bras à ressort, aussi bien le terrist que le
contre-terist Mais ce que vous pouvez faire, c'est cliquer et faire glisser la terrasse du
comptoir, par
exemple, dans le niveau. Si vous cliquez sur le personnage, vous pouvez voir que vous
avez une vue ici. Et c'est parce que vous
venez d'ajouter une caméra. Vous pouvez voir à quoi ressemble
ce personnage vu de dos. Comme d'habitude,
ici dans la base de joueurs, je vais cliquer
sur le bras à ressort. Et je vais
régler la longueur du bras à environ 600, donc c'est un peu
éloigné du personnage. Ensuite, je vais cliquer
sur le personnage, et vous pouvez voir à
quoi il ressemble. J'aimerais développer mon jeu de tir à
la première personne de cette façon d'abord et plus
tard. C'est très simple. La différence entre
un jeu de tir à la troisième personne et un jeu de tir à la première personne est simplement que vous pouvez cliquer sur
le bras à ressort et régler la
longueur du bras cible à zéro. Et puis vous considérez
ce jeu comme un mode à
la première personne. Mais pour l'instant, puisque nous nous occupons des mouvements du joueur,
j'aimerais commencer par
une longueur de bras cible de
600, afin que nous puissions
voir tous les mouvements
que
nous
effectuons j'aimerais commencer par une longueur de bras cible de
600, afin que nous puissions et voir si nous
faisons les choses correctement. C'était pour
asseoir le joueur. N'oubliez pas de compiler et de
sauvegarder l'ensemble de votre travail. Passons
à la leçon suivante.
15. Mode de jeu et manette du joueur 3.04: Chaque jeu que tu crées. Quel que soit le jeu, vous avez toujours un mode de jeu
et une manette Player. Cliquons sur le dossier
Blueprint. Avant de faire quoi que ce soit
, créons un nouveau
dossier à l'intérieur d'ici, et appelons-le Player. Je vais les prendre tous
ici, les ajouter à l'intérieur, les
déplacer dans
le dossier Player. Nous sommes donc un peu plus organisés ici dans
le dossier des plans Cliquez avec le bouton droit de la souris et créons
une nouvelle classe de plan. Sélectionnons une manette
Player. Un contrôleur de joueur,
ce que nous faisons habituellement à l'intérieur d'ici, c'est de créer l'interface utilisateur, puis apparaître des éléments
à l'intérieur d'ici Par exemple, si le joueur
laisse tomber une arme dans le monde, nous faisons apparaître cette
arme dans le monde, faisant apparaître des objets à l'intérieur
de la manette du joueur
et l'interface utilisateur
se trouve également à l'intérieur
de la manette du joueur Allons-y, cliquons et
créons un contrôleur de joueur. Et je leur
donne généralement préfixe EC pour manette de
joueur, puis je l'appelle le
nom du jeu Le jeu est Counterstrike, je vais juste l'
appeler Under Strike,
puis cliquer à nouveau avec le bouton droit Accédez à la classe Blueprint ,
puis créez un mode de jeu. Et généralement, le mode de
jeu sert à créer les règles et
le score des parties. Par exemple, combien de secondes par tour et quel est
le mode de jeu , par
exemple, capturer
le drapeau, etc. Alors allez-y,
créez le mode de jeu, et appelons-le
GM pour le mode jeu. Et encore une fois, je vais l'appeler
le nom du jeu
Hound, A Strike Donc ce que je veux que tu fasses c'est
double-cliquer sur ce mode de jeu. Et nous avons besoin de quelques
réglages initiaux à l'intérieur d'ici. En mode jeu,
vous pouvez voir que nous avons dans la classe par défaut la classe Player
Controller Il s'agit simplement du contrôleur Unreal
Engine Player par défaut. Nous voulons cliquer dessus, remplacer par notre propre loi de contrôle des
joueurs personnalisée que nous venons de créer. Il en va de même pour
la classe par défaut. Plus tard, nous n'
aurons personne, nous n'en sélectionnerons aucun. Cependant, nous n'avons pas vraiment d'
écran de sélection des personnages pour le moment. Ce que je veux faire,
c'est simplement apparaître, par
exemple, en tant que terroriste
ou contre-terroriste Je vais juste sélectionner
Counter Terrorist. Plus tard, nous allons le
supprimer car nous aurons un écran
de sélection des personnages vous pourrez sélectionner le personnage sous lequel
vous souhaitez apparaître Mais pour l'instant, apparaissons en
tant que contre-terroristes,
car nous n'
avons pas d'écran de
sélection des personnages Maintenant, fermons-le. Passons aux paramètres d'édition et de
projet. À l'intérieur, nous avons
les cartes et les modes. Dans les cartes et les modes, vous
devez changer de mode de jeu. heure actuelle, il est réglé sur
la base du mode de jeu, qui n'est que le
mode de jeu de base d'Unreal Engine Cependant, je souhaite le
remplacer par notre propre mode de jeu personnalisé. Et en cliquant sur cette petite flèche pour le mode de jeu sélectionné, assurez-vous
simplement que la clause de points
par défaut correspond au contre-terrorisme que
nous avons sélectionné et que
la manette du joueur
est également la nôtre. Maintenant, si vous le souhaitez,
vous avez remarqué que si vous fermez et
ouvrez le moteur, il vous placera sur la carte par défaut du monde
ouvert. Vous pouvez également modifier cela dans
les cartes et les modes. La carte de démarrage de l'éditeur, je peux la changer pour qu'elle soit
cette carte, cette carte que nous avons créée également pour la carte par défaut du jeu, nous pouvons également la remplacer par celle-ci. OK, fermons ça. Enfin,
allez-y et cliquez sur
les paramètres mondiaux. Maintenant, si vous ne voyez pas l'onglet, vous pouvez cliquer sur Fenêtre,
puis sur Paramètres mondiaux, et vous pourrez le voir. Alors allez-y, cliquez
sur World Settings, et dans le mode
jeu override, cliquez sur celui-ci et sélectionnez
notre mode de jeu comme celui-ci Il est très important
que vous fassiez tout cela car sinon vous ne pourrez pas apparaître le joueur
dans le monde Maintenant, si je supprime ce joueur, c'est juste quelqu'un que je viens placer dans la leçon précédente. Il faut qu'un joueur commence avant de pouvoir réellement
apparaître à l'intérieur d'ici Je vais cliquer ici, passer
à
Notions de base et sélectionner
un joueur pour démarrer. Je vais cliquer sur
G pour voir les icônes. Je vais le déplacer comme ça
vers le bas, dans le monde. Quelque chose
comme ça ici. Vous pouvez voir ici que si vous le
mettez sous terre,
cela indiquera qu'il est de mauvaise taille. Assurez-vous simplement qu'il est au-dessus du sol. Quelque chose comme ça. Vous pouvez maintenant cliquer sur jouer, et cela devrait faire apparaître
votre personnage Si elle ne s'affiche pas, veuillez
regarder cette vidéo à nouveau. Assurez-vous que le mode de jeu
se trouve dans le monde, le
réglage se trouve dans les paramètres du
projet, etc. Mais maintenant, vous pouvez voir que nous
apparaissons en tant que personnage
et nous cliquons sur Jouer Et ça a vraiment l'air
cool. Voici Lumen. Vous pouvez voir le lumen, fait un loup le prendre
depuis la surface D'accord, nous avons maintenant ajouté le mode de jeu et
la manette du joueur. Et allons-y, établissons le contexte de mappage des entrées et ajoutons du mouvement au joueur.
16. 3.05 Cadre de la cartographie des entrées: Allons-y et commençons par
le contexte de mappage des entrées où nous pouvons ajouter le mouvement du
joueur. Allons-y et entrons dans
le dossier du lecteur. À l'intérieur, je
vais cliquer avec le bouton droit de la souris et créer un nouveau
dossier appelé Input. J'ai juste mal orthographié cette entrée juste comme ça à l'intérieur d'ici Ouvrons-le, cliquons avec le bouton droit de la souris, accédons à Input et créons celui-ci appelé contexte de mappage d'
entrée. D'habitude, j'appelais IMC
comme préfixe et je
vais simplement l'appeler Maintenant, avant de pouvoir l'utiliser, vous pouvez voir si je l'ouvre
, il est vide. Si je clique sur ce bouton plus ici
pour ajouter une touche à mon mouvement, par
exemple, vous pouvez
voir que rien n'est indiqué, et je ne peux rien sélectionner. C'est parce qu'il
veut une action d'entrée. Donc, ici, cliquez avec le bouton droit de la souris,
passons à la saisie et
sélectionnons l'action de saisie. C'est ce que nous allons
appeler le mouvement. Maintenant, pour celui-ci, je
vais l'ouvrir. Cette action de saisie,
la seule chose que nous devons vraiment changer ici
, c'est
le type de valeur. Le type de valeur, vous
pouvez cliquer dessus et vous pouvez voir que vous avez
ces différentes options. Ce que nous allons faire,
c'est avancer et reculer pour notre personnage
dans le jeu Si je place le personnage
à l'intérieur d'ici, le personnage va se
déplacer d'avant en arrière. Il s'agit d'un axe. Le personnage va
se déplacer à gauche et à droite. C'est le deuxième axe. C'est pourquoi je vais
choisir un axe deux D, car nous avançons arrière et aussi vers la
gauche et la droite, qui sont le deuxième axe. Alors je vais économiser ici. Revenons au contexte du mappage des
entrées. Nous pouvons maintenant cliquer ici et ajouter notre action de saisie
que nous venons de faire. OK,
minimisons ça pour le moment. Au lieu d'ici, vous
devez attribuer une clé. Je veux avancer
avec ma touche W. Ce que vous pouvez faire, c'est
appuyer ici et rechercher. Et puis vous pouvez voir que
c'est le clavier. Vous pouvez sélectionner le
W. Une autre
méthode plus simple pour le faire est de
cliquer sur le signe plus haut. Maintenant, je veux revenir
en arrière avec ma touche S. Au lieu de cliquer
ici,
d'écrire et de trouver votre touche S. Parfois, cela peut prendre un certain temps. Ce que vous pouvez faire, c'est cliquer sur cette icône, puis sur le clavier qui
attribuera cette touche. Maintenant, pour me déplacer à gauche et à droite, je vais aller sur deux d'entre elles
ici pour la droite, je vais cliquer ici et
cliquer sur D pour la gauche. Je vais cliquer ici et
cliquer sur A sur mon clavier. Maintenant j'ai ces clés. Je veux aussi ajouter si je veux
ajouter le mouvement de la souris. Je vais créer
une nouvelle action de saisie. Je vais aller
ici, cliquer avec le bouton droit de la souris, accéder à la saisie et créer
une nouvelle action de saisie. Je vais l'appeler. Écoutez, cherchant à nouveau celui-ci avec la souris
, je vais ouvrir
l'action de saisie. Et je vais changer le type de
valeur sur l'axe deux D, car je vais regarder vers le haut
et vers le bas. C'est un axe. Et le deuxième axe
regarde vers la gauche et vers droite vers l'axe 2 D. Je
vais cliquer sur Enregistrer. Et pour en revenir à mon contexte de mappage des
entrées, je peux
maintenant cliquer sur le signe
plus haut et je peux ajouter ma nouvelle
action de saisie pour celle-ci. Maintenant, cliquez dessus ici
et recherchez une souris. Et vous avez celui-ci
appelé souris XY2d. Maintenant, ajoutez simplement la souris X, ajoutez-en une autre, et ajoutez la souris Y. Vous pouvez le faire également C'est pareil, mais
pour rendre les choses plus propres, je vais simplement
cliquer ici,
rechercher la souris et
ajouter cette souris Xy, parce
que nous pouvons le faire également et le code
deviendra beaucoup
plus propre. Maintenant, ce que nous voulons
faire avec le mouvement ici avec le WK, avancer avec le K, nous reculons Cependant, à l'heure actuelle, ils vont
tous les deux de l'avant. Ce que nous devons faire
pour que le SK
recule , c'est dans les modificateurs que vous devez cliquer sur le Ensuite, ici, vous devez
sélectionner celui-ci appelé negate. Cela inverse votre saisie. Lorsque vous cliquez dessus, il
recule. Lorsque cette
négation est ajoutée, Negate signifie simplement qu'elle
fait le contraire de ce que fait la touche Nous devons faire la
même chose ici. D se déplace vers la droite, en fait, pour la
gauche et la droite. Ce que nous devons
également faire dans les modificateurs, cliquer ici et
sélectionner l'espace mondial Nous devons faire de même
pour la gauche. Ici, nous devons cliquer
sur les modificateurs et sélectionner l'espace mondial Maintenant, pour la gauche et
la droite, le D va vers la droite et le A va vers la gauche. Maintenant, pour la gauche,
nous devons également ajouter ce modificateur appelé Nick
Gate, comme avant. Cela va aller dans le
sens inverse de celui du D. Allons-y
et cliquons sur Enregistrer. Tout va bien. Nous sommes maintenant prêts à ajouter ce
contexte de mappage d'entrée à notre personnage. Parce que maintenant nous avons tout
ajouté. Tout se présente bien. Maintenant, si nous obtenons une boîte
avec le mouvement, nous pouvons toujours revenir
ici et la changer. Mais pour l'instant, c'
est ce que nous avons. Et supprimons ce personnage. Passons
à la leçon suivante.
17. 3.06 Ajouter le contenu de la cartographie en entrée: Avant de pouvoir utiliser le contexte de mappage
d'entrée et
ajouter du mouvement au personnage, nous devons l'ajouter à notre plan Clauss.
Allons-y et faisons-le. Passons au joueur et
entrons dans
la base de joueurs. À l'intérieur d'ici, nous
allons ajouter le mouvement. Lorsque nous ajouterons le mouvement ici, il s'appliquera également
aux enfants. Dans le plan parent
Claus, la base de joueurs. Passons au graphique des événements. À l'intérieur du graphique des événements, vous pouvez cliquer sur
le bouton droit de la souris pour vous déplacer à l'intérieur du graphique des événements. Maintenant, allons-y et
sélectionnons-les tous. Et appuyez
sur le fil du clavier. Et commencer par le début , c'est la première chose
que je vais écrire. Cliquez. Et lorsque vous écrivez « click », vous pouvez choisir entre
différentes fonctions et différents événements. Le premier événement que nous
allons créer
s'appelle Begin, Play, Play. Allez-y et sélectionnez l'
événement, Commencer, Jouer. Et qu'est-ce que cela signifie, c'est ce qui devrait se passer si je
commence à jouer au jeu ? Vous pouvez écrire du code ici. Si je fais glisser le pointeur depuis cette
épingle d'exécution, je le lâche. Et j'écris, j'imprime et j'
utilise cette chaîne d'impression. C'est donc la fonction la
plus simple et la plus simple que nous
ayons dans le moteur Unreal Dans les plans, cela imprimera simplement
du texte à l'écran Maintenant, si je compile,
je clique sur play. Vous pouvez voir qu'il est écrit «
bonjour » ici. Si je clique à nouveau sur Play, vous pouvez voir qu'il dit bonjour. Donc, cela indique simplement ce qui devrait se passer si je commence à
jouer au jeu ? Ce que nous voulons faire, c'est
ajouter le contexte de mappage. Pour ce
faire, vous devez d'abord
obtenir la référence du
contrôleur du joueur. Pour ce faire, écrivons click et cherchons simplement le contrôleur. Vous pouvez sélectionner celui-ci
appelé Yet controller. Nous avons la
manette,
mais celle-ci n'est que la manette de jeu
par défaut de base dans Unreal Engine Nous devons préciser à
Unreal Engine que nous parlons en fait ce
contrôle de joueur personnalisé que nous avons créé La façon dont nous
procédons est de passer des contrats à partir d'ici. Et nous pouvons dire que lancer deux, coûter deux signifie que
nous essayons d'obtenir la référence de cette manette de
joueur. Je peux faire glisser le pointeur d'ici
et dire « coût deux , puis vous devez lui donner le nom de la manette du
joueur. Contrôleur de lecteur, PC. Nous l'avons appelé Counterstrike. Alors allez-y et sélectionnez-le. Maintenant, nous pouvons accéder à
tout ce qui se trouve à l'intérieur. Disons dans le
Player Controller. Si, par exemple, j'
ajoute une variable, appelle-la
simplement hello ou
quelque chose comme ça. Tout ce qui est aléatoire, cliquez sur compiler dans
la base de joueurs. Maintenant, vous pouvez voir si je fais glisser le pointeur
d'ici et que j'écris bonjour, je peux voir la
variable que je viens de créer. Le casting, c'est que vous pouvez
accéder à tout ce qui se trouve dans cette manette de joueur maintenant parce que vous y avez
une référence, c' est
ce que l'on appelle la communication par
plan Parce que maintenant vous êtes dans la base de
joueurs, vous communiquez avec
le contrôleur du joueur et vous pouvez accéder à
tout ce qui s'y trouve. La seule chose que nous
voulons faire à l'intérieur d'ici, c'est faire glisser le pointeur. Et puis nous avons amélioré, je ne me souviens plus de ce
nom, il est si long. Sous-système de
lecteur local d'entrée amélioré. Il suffit d'écrire Enhanced
et de le sélectionner ici. À partir de celui-ci, nous
allons faire glisser et dire « ajouter un contexte de mappage ». Allez-y et ajoutez le contexte de
mappage. Et n'oubliez pas de connecter
votre code, sinon il ne
fonctionnera pas car il
proviendra de l'événement, il obtiendra cette référence de manette de
jeu. Ensuite, il va ajouter ce contexte de mappage
à ce plan Et n'oubliez pas que dans le
contexte de mappage, vous devez cliquer ici et sélectionner le contexte de
mappage que vous avez créé. Allez-y et cliquez sur Compiler.
Et c'est exactement ça. Vous avez maintenant ajouté le contexte de
mappage au joueur et vous pouvez désormais utiliser les événements
et créer le mouvement. Cependant, dans la leçon suivante, nous allons parler des interfaces de
plan Je n'aime pas vraiment faire du
casting parce que le casting crée des références intéressantes dans le moteur réel
lorsque vous démarrez le jeu. Imaginons par exemple que
vous ayez créé un jeu complet. Vous avez créé, par exemple, 100 plans dans votre jeu Il est maintenant disponible sur Steam. Cependant, pour les références les plus populaires, lorsqu'un joueur ouvre votre jeu avant qu'il ne charge le
menu principal et tout le reste, il charge d'abord les références
les plus populaires. Si vous en avez, disons, 100 ou 200 dans votre partie de casting, cela ralentira
votre jeu car il doit charger toutes les références
les plus populaires. Il doit d'abord
les charger tous. Il peut exécuter votre jeu. Je ne dis pas qu'il ne
faut jamais l'utiliser, car il y a des cas où il est ridicule de ne pas l'utiliser. Cependant, dans ce cas, ce que j'aime faire habituellement, c'est créer une interface de
plan Et à partir de là, nous pouvons
communiquer avec d'autres plans sans
créer de références chaudes Alors allons-y, optimisons davantage
notre jeu. Et j'essaie également de vous
montrer comment je le
ferais normalement de manière avancée, et je n'aime pas vraiment vous
apprendre de mauvaises façons de le faire. Essayons d'éviter le
moulage pour le moment, et passons
à la leçon suivante où nous pouvons remplacer cette pièce.
18. Interface de plan 3.07: Les interfaces Blueprint sont
utilisées au lieu de calculer les coûts. Pour une communication sur un plan directeur, nous utilisons généralement des interfaces de
plan afin d'éviter les coûts Et comme vous pouvez le voir ici, dans le jeu, nous l'avons fait
dans la base de joueurs, nous avons calculé les coûts. Pour
éviter de masquer les références qui doivent être chargées dans le jeu avant le menu principal et de
ralentir le jeu, nous avons créé une interface de plan
pour éviter ces Allons-y et créons-en un. Et voyons de quoi
il s'agit. Dans le dossier Blueprint, je vais écrire, cliquer
et créer un nouveau dossier Et je vais appeler
celle-ci interfaces ou interface. Et entrons dans ce
dossier à l'intérieur d'ici. Écrivons, cliquons, accédons à Blueprint et sélectionnons l'interface
Blueprint Habituellement, pour les interfaces, je les appelle t comme préfixe heure actuelle, vous devez l'
appeler comme vous essayez
de faire référence. J'essaie de faire référence
à la manette de mon joueur. Je vais l'appeler
One Play Controller. Je vais
entrer ici et
voici l' interface du plan Gardez à l'esprit que
les interfaces
Blueprint sont généralement difficiles
pour les débutants, mais essayez de
les comprendre et elles en fait très faciles
à comprendre Essayons simplement d'en
créer un et de voir ce qui se passe dans une interface de
plan Vous avez ce point de vue, vous ne
pouvez vraiment rien faire
à l'intérieur d'ici. Vous ne pouvez rien faire ni glisser. La seule chose que vous pouvez faire,
c'est ici, dans les fonctions, vous pouvez créer une fonction. La fonction que je veux créer maintenant si vous cliquez
sur deux sur le clavier, vous pouvez en changer le nom. Je veux juste l'appeler get
player controller ref. J'essaie, avec cette fonction, d'obtenir la référence des
manettes du joueur. Je peux donc éviter ce
casting ici . Je vais cliquer sur cette
fonction que je viens de créer. Je vais créer
une sortie ici. Dans les sorties, je vais
sélectionner la classe de plan à laquelle
j'essaie de faire référence Maintenant, j'essaie de faire référence à mon Player Controller
PC Counterstrike C'est ainsi que nous l'avons appelé. Et sélectionnez la référence de l'objet. Sélectionnez ici dans les variables dont
vous avez besoin pour sélectionner la classe de plan à laquelle vous
essayez de faire référence Je vais l'appeler Player Controller. Et maintenant, cette fonction est
terminée. C'est très simple. N'oubliez pas d'appuyer
et de compiler ici. C'est très important
, allez-y et économisez. Nous avons maintenant cette fonction
simple. Maintenant, ce que nous pouvons faire avec ça, c'
est ouvrir le contrôleur. Si je passe aux
plans et que j' ouvre la manette du
joueur qui s'y trouve, ouvrons l'éditeur de plans
complet ,
puis
sélectionnons Paramètres de classe Dans les paramètres de classe ci-dessous, vous pouvez désormais ajouter l'interface
Blueprint Cliquons ici et
cherchons T. Voici
l' interface que nous venons de créer.
Allez-y, sélectionnez-le. Lorsque vous sélectionnez l'interface
Blueprint, vous remarquerez peut-être que cet onglet
s'affiche ici à gauche Maintenant, il s'agit d'un nouvel onglet qui vient d'apparaître appelé interfaces. À l'intérieur d'ici, vous pouvez
voir la fonction que nous venons de créer dans cette interface de
plan Il est maintenant apparu lorsque vous
ajoutez l'interface Blueprint. Si vous double-cliquez sur cette fonction et que vous
entrez dans celle-ci, vous pouvez
maintenant définir
cette variable ici. Nous avons créé cette variable
de contrôle du joueur, mais elle est actuellement vide. Ce que nous devons faire, nous
devons nous en éloigner. Et puis on écrit soi-même. Qu'est-ce que cela signifie ?
Permettez-moi de le refaire. C'était peut-être trop rapide.
Dragon vu d'ici. Et en écrivant « self »,
puis en sélectionnant celui-ci, vous obtiendrez une référence à vous-même. Ce que cela signifie, c'est que
je vais simplement y retourner. Nous avons créé l'
interface du plan ici et nous avons créé cette fonction à l'intérieur de celle-ci pour les variables que
nous avons sélectionnées, la variable à laquelle nous voulions
faire référence Maintenant, à l'intérieur du contrôle du
joueur, lorsque nous avons ajouté l'interface
via les paramètres de classe apparaissaient ici. La
fonction à l'intérieur d' ici pour cette variable
que nous écrivons est elle-même. Cela signifie que
nous indiquons simplement au moteur quelle est cette variable de
contrôleur de joueur. Parce que si je maintiens le contrôle clique ici et que je
le
déconnecte, le moteur ne saura jamais
quelle est cette variable. Si c'est le cas,
c'est qu'elle est vide, que la variable est vide et que vous
obtiendrez de l'ère dans votre jeu. Mais si nous faisons une
autoréférence, cela signifie que cette variable est elle-même. N'oubliez pas que nous sommes à l'intérieur
du Player Controller. Nous définissons essentiellement cette variable
Player controller. Nous disons au moteur que c'est cette manette de jeu dans laquelle je me en ce moment. C'est soi. L'autoréférence signifie ce qu'Eva, classe de
plan
dans
laquelle je me trouve en ce moment, à savoir la manette du joueur Nous l'avons donc simplement défini ici. Allez-y, compilez et
enregistrez ce que nous pouvons faire maintenant. Nous en avons maintenant terminé avec cela. Nous pouvons maintenant accéder au lecteur et le supprimer. Ce que nous pouvons faire maintenant,
c'est faire glisser
le curseur depuis le contrôleur, puis écrire la fonction
que nous l'avons appelée. En voici le nom. Obtenez la référence de la manette du
joueur, je peux faire glisser le pointeur à partir d'ici et dire « get layer ». Et puis vous pouvez le
voir apparaître ici à partir de l'interface de plan
que nous avons créée Il est écrit « get player
controller reference C'est la fonction que nous venons de créer lorsqu'elle indique
un message à la fin, cela signifie qu'elle provient
d'une interface de plan Alors allez-y et sélectionnez-le. Cette icône ici
signifie simplement qu'elle provient d' une interface de plan.
Et maintenant, nous l'avons. Maintenant, nous évitons le casting, nous évitons les références difficiles, et notre jeu est également plus optimisé en termes de
performances. Vous pouvez maintenant
simplement le connecter. Il sait maintenant que cette manette de
joueur à laquelle
nous faisons référence est notre manette
de
jeu Counterstrike pour PC Parce que nous avons écrit toutes ces variables dans le
contre-attaque sur PC que nous avons écrit nous-mêmes, elle sait maintenant de quoi
nous parlons ici Cela peut être un peu déroutant
au départ si vous n'
avez jamais utilisé d'
interfaces Blueprint auparavant, mais c'est très pratique pour éviter le casting Nous venons de créer l'interface
Blueprint. Nous sommes ensuite allés de l'avant et avons sélectionné la classe de plan à laquelle nous
voulions faire référence Ensuite, à l'intérieur de la classe de
plan nous essayons de faire référence, nous avons ajouté cette
interface de plan et celle-ci est apparue Ensuite, à l'intérieur d'ici, nous avons
fait une autoréférence. Et à partir de là,
nous pouvons maintenant l'utiliser ici où nous pouvons dire «
obtenir la manette »,
puis « obtenir la référence de la
manette du joueur », juste comme ça et en
évitant les coûts Très bien, c'était tout
pour l'interface Blueprint. Nous aurons d'autres
exemples à l'avenir. Si cela vous a été un peu difficile, jetez un œil à mon serveur
Discord ou à Pixel
Helmet.com. Je suis très,
très heureuse de vous aider Allons-y et
cliquons sur Fichier > Tout enregistrer. Passons
à la leçon suivante.
19. Mouvement du joueur 3.08: Maintenant que nous avons ajouté le contexte de mappage
d'entrée
au joueur, nous pouvons effectuer le mouvement. Nous devons écrire le nom des actions
d'entrée
que nous avons créées. Le premier que j'ai
créé s'appelait IA Movement.
Commençons par celui-ci. Ce que vous pouvez faire maintenant dans
le lecteur, c'est écrire, cliquer et écrire IA Movement, le nom de l'action de saisie. Ensuite, vous pouvez cliquer sur
cet événement pour le créer. N'oubliez pas que ce symbole signifie qu'il s'agit d'un événement. Alors
allez-y et créez-le. Maintenant, nous avons cet événement qui
semble un peu complexe,
mais pas vraiment. Il vous indique simplement quand l'événement est déclenché,
commencé, en cours,
annulé et terminé. Rien de trop complexe ici. Maintenant, quand cet événement est-il
déclenché ? L'
événement est déclenché. Si vous accédez au contexte de
mappage des entrées, souvenez-vous que nous avons ajouté des boutons
pour notre mouvement. Si je clique sur W, ce
mouvement sera déclenché. Voyons maintenant si
cela fonctionne réellement. Parce que si vous
n'avez pas ajouté ce code, cela ne déclenchera pas la
bonne chaîne d'impression et j'imprimerai simplement un simple
message à l'écran. Si je clique sur, par exemple,
je peux cliquer sur jouer. Et si je clique dessus, vous pouvez voir qu'il est en train
d'imprimer à l'écran. Maintenant, si je l'avais
déconnecté et que je n'avais pas ajouté mon contexte de
mappage d'entrée, et que je clique sur Play
et que je clique sur, vous pouvez voir que rien n'est imprimé à l'écran et
que cela ne fonctionne pas. N'oubliez pas de l'ajouter
à votre code. Très bien, maintenant que cela fonctionne, agissons. Pour le mouvement du joueur, nous utilisons une fonction appelée « Ajouter un
mouvement », cliquer avec le bouton droit et écrire un mouvement C'est ainsi que vous ajoutez
du mouvement à un personnage. Connectons-le maintenant. Maintenant,
ce qu'il vous demande, c'est dans
quelle direction
souhaitez-vous faire évoluer le personnage ? Passons maintenant à la première. Avancez et reculez. Ce que vous pouvez faire, il suffit de cliquer avec
le bouton droit et de droite de la souris. Pourtant, chez forward vector, c'est le vecteur direct et nous pouvons le relier ici
à la direction du monde. Maintenant, comment pouvons-nous revenir en arrière ? En fait, nous n'avons
besoin de rien d'autre. C'est la seule chose dont nous avons besoin. Comment est-ce, comment
sait-il quand nous
avançons et reculons ? Cela est dû à
cette valeur d'échelle. La valeur d'échelle est une, elle
va avancer. Vous pouvez le voir ici,
si je clique sur jouer et que je clique dessus pour avancer. Si je clique sur maintenant, il avance également car cette
valeur d'échelle est définie sur un. Si je le mets à moins
un et que je clique sur Jouer ici et que je clique sur, ou vous pouvez voir maintenant
qu'il recule Quand c'est un,
il avance, et quand c'est moins
un, il recule Il s'agit de la valeur de l'action ici. Nous pouvons cliquer dessus avec le bouton droit de la souris
et diviser l'épingle de la structure. Ou vous pouvez le prendre et casser le vecteur deux D. C'est
en fait la même chose. Je vais juste cliquer
dessus avec le bouton droit de la souris et dire structure divisée. Maintenant, pour ce x, vous pouvez
l'ajouter ici à la valeur d'échelle. Au lieu de cela, lorsque vous cliquez
sur, vous avancez. Lorsque vous cliquez sur, vous
reculez car il y
aura moins un. N'oubliez pas que dans le contexte du
mappage des entrées, vous avez écrit le modificateur
ici pour que,
lorsque vous appuyez sur le bouton arrière, vous avez écrit ou sélectionné Negate, ce qui inverse simplement qui signifie que ce
sera moins un lorsque vous cliquerez sur OK. Il s'agit du mouvement vers l'avant
et vers l'arrière. C'est maintenant terminé pour la
gauche et la droite, c'
est très, très simple. Vous pouvez le copier, le
coller et le connecter ici. Ensuite, pour la direction du mot, vous pouvez écrire un vecteur droit Et tu peux le connecter dès maintenant. Et maintenant, vous pouvez le connecter pour le y sur la valeur de l'échelle. N'oubliez pas à présent
d'organiser votre code. Vous pouvez double-cliquer ici
pour créer un nœud de redirection. Essayez simplement de rester organisé. Double-cliquez également sur celui-ci. Essayez de rester organisé. Juste comme ça. Il est toujours
agréable de rester organisé car vous pouvez
imaginer que votre code sera très volumineux par la suite. Vous pouvez également sélectionner
le tout et cliquer sur C sur le clavier
pour créer un commentaire. Par exemple, vous pouvez écrire le mouvement
WASD, etc. Pour l'instant, je ne vais pas le faire, je vais le faire un peu plus tard. Oui, c'était le mouvement. Vous pouvez maintenant compiler
et cliquer sur Play. Mais au lieu de jouer
dans la fenêtre d'affichage, je pense que c'est plus facile pour
vous de l'afficher si je joue dans l'éditeur
dans une nouvelle fenêtre d'éditeur, en cliquant ici, dans une
nouvelle fenêtre d'éditeur, et ça va
apparaître comme ça Maintenant, je peux jouer,
laissez-moi juste
l'agrandir un peu. Cliquez sur jouer pour l'agrandir. Vous pouvez voir maintenant que lorsque je
clique sur, j'avance. Lorsque je recule, si je clique sur D, je me
déplace vers la droite Et si je clique dessus,
je me déplace vers la gauche. Maintenant, je peux déplacer mon personnage
avec mon clavier. Très, très sympa. Cependant, pour le moment, nous ne pouvons toujours
pas déplacer la souris. Nous devons également ajouter le
code pour cela. Vous pouvez à nouveau cliquer ici avec le bouton droit de la souris. Nous l'appelons IA
look Input action. Nous devons profiter de cet événement. Vous pouvez maintenant cliquer avec le bouton droit de
la souris et écrire un aperçu. Ensuite, nous pouvons
sélectionner cet événement. Maintenant, pour regarder, nous devons utiliser ce qui s'appelle ajouter votre entrée, c'est-à-dire regarder à gauche et à droite. Et puis nous avons le second
intitulé pitch Inputs, celui-ci ici, il se déplace
ou regarde de haut en bas. Encore une fois, c'est très simple,
cliquez avec le bouton droit de la souris ici,
fendez l'épingle frappée. Allez-y, connectez le
x ici et le Y ici. Et c'était tout pour
cela très simple, pour regarder de haut en bas
et de gauche à droite
avec la souris. Compilons et cliquons sur jouer. Et je vais déplacer ma souris. Vous pouvez voir que je peux le
déplacer à droite et à gauche. Je ne peux pas le déplacer de haut en bas. C'est en fait
dans le bras à ressort. Si je clique sur le bras à ressort, je dois prendre celui-ci appelé
utilisation lors de la commande de rotation. Maintenant, je peux cliquer sur Play. Et maintenant tu peux voir que je peux me déplacer de haut en bas, de
gauche à droite. Cependant, lorsque je me
déplace de haut en bas, c'est en fait inversé
par rapport à ce à quoi je suis habitué Je n'ai pas l'habitude de passer de la souris de
haut en bas comme ça. J'ai l'habitude de
voir le contraire. Passons au contexte
de
mappage d'entrée ici dans la souris Xy ici. Pour le modificateur,
je vais ajouter un nouveau modificateur et annuler avec le bouton droit, je veux inverser mon mouvement en Y pour que la souris clique
sur la petite flèche Pour le négatif, je
vais supprimer le X
et le Z. Je ne veux pas
inverser le X et le Z, je veux juste inverser le Y. Donc encore une fois, je
vais simplement Et maintenant, quand je me déplace de haut
en bas, c'est vraiment correct. Alors maintenant, quand je monte et
descend, c'est correct pour moi. Et quand je regarde à gauche
et à droite, c'est également
correct. C'est bon. C'était donc le mouvement. Et encore une fois, si quelque chose est le contraire de ce vers quoi
vous essayez de vous déplacer, vous pouvez toujours sortir d'ici
en utilisant la négation et essayer d'
inverser le Et quand tout est correct, le mouvement était très, très simple pour notre personnage. Nous pouvons maintenant nous déplacer et
regarder avec la souris. Cependant, il nous
manque l'animation. Et nous allons travailler avec
cela dans la prochaine leçon. Alors allez-y, sauvegardez
tout, et passons à autre chose.
20. 3.09 Importer les animations des joueurs: Maintenant que nous avons terminé
le déplacement des joueurs, nous sommes prêts à ajouter quelques
animations sur ce site. J'ai inclus pour vous
des supports de cours. Allez-y, téléchargez le matériel
judiciaire et vous obtiendrez probablement ce dossier de
matériel de cours sous forme de dossier SIP. Assurez-vous simplement d'extraire le contenu du dossier Sip. Maintenant, ce que nous pouvons faire ici, c'est accéder au dossier Counter
Strike Animations. Il s'agit d'un projet Unreal
Engine. J'ai ajouté toutes
les animations que vous devez
utiliser pour le jeu. Si vous vous contentez d'
ouvrir ce projet, voici ce que vous verrez une fois que vous l'aurez ouvert . Vous avez ce dossier d'animations. À l'intérieur, vous trouverez toutes les animations dont
vous avez besoin pour créer le jeu. L'animation est légèrement décalée
lorsque vous pointez le pistolet, etc. Pour celui-ci, cliquez avec
le bouton droit sur le dossier des animations
, puis sélectionnons migrer. Au fait. Un autre conseil ici. Si vous cliquez avec le bouton droit sur un
fichier au lieu d'un dossier, la migration se fait sous
Asset Actions, puis sous Migrer. C'est le cas si vous souhaitez
migrer un seul fichier, mais que nous voulons migrer
l'ensemble du dossier. Cliquez avec le bouton droit et effectuez la migration. Et cliquez simplement sur OK, encore une fois,
migrons-le dans notre dossier de contenu. Si vous allez au Multiply
Shooter, c'est mon dossier. Il se trouve à l'intérieur des inconvénients, du projet
Strike, puis du
contenu à l'intérieur du contenu. Ici encore, sélectionnez uniquement
le dossier de contenu, sélectionnez un autre dossier, sinon cela ne fonctionnera pas. Allez-y et sélectionnez
le dossier de contenu. Sélectionnez le dossier, et il
extraira toutes
les animations ou les transférera
à notre propre projet. Maintenant que nous avons
terminé la migration, revenons à
notre propre projet À l'intérieur, vous pouvez voir que nous avons maintenant le projet d'animations, et nous avons toutes
ces animations que nous avons migrées. Nous allons maintenant
transférer toutes
ces animations à
notre propre personnage. Et plus tard, nous pourrons supprimer ces deux dossiers
que nous avons importés. De plus, pour ces deux dossiers, je vais les
cliquer et les faire glisser le marché juste pour le
rendre un peu plus propre. Parfois, lorsque vous faites glisser
des dossiers de l'un à l'autre, et que vous pouvez voir
sur le marché, ils sont désormais là. Cependant, ils sont
toujours là, et ce ne sont que des dossiers vides. Il n'a pas été supprimé.
Ce que vous pouvez faire, les sélectionner, appuyer sur Supprimer sur votre clavier, et vous verrez qu'il s'agit de redirecteurs d'
objets Vous pouvez simplement l'ignorer
et continuer à le supprimer. Maintenant, vous pouvez voir qu'il n'est
toujours pas supprimé. Cela arrive parfois
dans Unreal Engine. Vous pouvez cliquer avec
le bouton droit sur le dossier de contenu puis cliquer sur Corriger les redirecteurs, puis
réessayer de le supprimer. S'il n'est pas supprimé, je
ferme généralement le projet. Ensuite, je vais dans
mon propre projet ici et dans le dossier de contenu et je
les supprime simplement d'ici. Assurez-vous simplement de les
avoir transférés dans le
dossier Marketplace, comme vous pouvez le voir ici. Je vais simplement supprimer ces dossiers vides
du dossier de contenu, puis
ouvrir mon propre dossier. Encore une fois, cela se produit
parfois dans Unreal Engine. Bon, nous voilà de nouveau
dans le projet, et maintenant que nous avons
importé nos animations, nous allons
les transférer vers notre propre personnage. Ensuite, nous allons supprimer ces deux dossiers plus tard, mais passons
à la leçon suivante.
21. 3.10 Créer des plates-formes IK: Avant de pouvoir copier
les animations sur notre propre personnage, nous devons créer
ce que l'on appelle un K-rig. Passons aux plans. Et allons dans le
dossier du lecteur. Ici, je vais cliquer avec le bouton
droit de la souris et créer un nouveau
dossier appelé Animations. Et puis à l'intérieur de ce dossier, nous pouvons accéder aux animations. Ici, en bas, nous
voyons quelque chose appelé K. Ensuite, nous devons
le sélectionner sur le modèle jaune
appelé K rig. J'ai l'habitude de les appeler,
appelons-le un mannequin. Mannequin est le nom de l'
autre personnage dont nous
allons copier les animations
depuis K mannequin. Vous pouvez maintenant
double-cliquer et insérer ici. Et ce que vous pouvez faire
ici maintenant, vous devez sélectionner un maillage squelettique
que vous souhaitez utiliser. Je vais utiliser ce mannequin dont nous devons
copier les objets. Vous pouvez continuer et
sélectionner celui-ci. Vous pouvez voir qu'il est appelé dans
ce dossier de références 01. Si vous pouvez voir cette information en
bas dans le lien, cliquez dessus. Maintenant, c'est le Manikin, nous allons créer un appareil
IK très simple Ici, dans l'interface IK
Rig, vous avez toutes les
animations comme vous pouvez le voir ici dans le navigateur d'
actifs. Si vous pouvez double-cliquer dessus,
vous pouvez voir les animations ici dans
la fenêtre de retargeting d'IK Ici, vous devez
spécifier les os de ce personnage
, puis nous devons également spécifier les os de
notre autre personnage. De cette façon,
nous pouvons réellement copier les animations de ce
personnage vers l'autre. Parce que nous avons
défini les bases et Honoral Engine sait
comment copier les animations Maintenant, je vais juste cliquer sur Réinitialiser pour qu'
ils restent immobiles. Ici, au Royaume-Uni, il s'agit du ciblage. Ce que vous devez faire, c'est créer une nouvelle chaîne. La première chaîne que nous allons emprunter, nous allons simplement l'appeler « tête ». Allez-y, appelez-le « chef ». Pour le moment, nous n'avons pas besoin de
sélectionner quoi que ce soit, il suffit d'enchaîner. Juste comme ça. OK, nous en
avons maintenant un qui s'appelle Head. Continuons d'ajouter
les autres. Je vais encore me heurter à une chaîne. Et celui-ci s'appellera
à gauche, gauche, puis
créez-en un nouveau appelé à droite. Puis créez-en un nouveau, Leg left. Créez-en une nouvelle
appelée jambe, non ? Ensuite, nous pouvons en créer
une nouvelle appelée colonne vertébrale et
une dernière appelée racines. OK, ce sont donc toutes les
chaînes que nous devons créer. Tête, jambe gauche, jambe droite, jambe
gauche, colonne vertébrale droite et racine. Vous devez maintenant spécifier où commence
et où se termine la tête, l'os de départ et l'os d'extrémité. Ce que vous pouvez faire
ici, et d'une manière
très, très simple, maintenant
je sais que ça s'appelle. Si vous recherchez ici le terme « cou », vous pouvez le sélectionner ici
et il se termine en tête. Maintenant, je le sais parce que je l'
ai fait 100 fois. Cependant, si vous êtes
nouveau ici ou si vous avez un nouveau personnage aux os
différents,
car souvenez-vous que si un artiste le fait pour vous dans
un logiciel en trois dimensions, il peut l'appeler comme
il veut Il faut savoir comment
ça s'appelle. Ce ne sont là que les
noms des os qui apparaissent généralement sur les vrais moteurs. Je sais comment ils s'appellent. Ce que vous pouvez faire ici
pour voir leurs noms sans vraiment savoir comment ils s'appellent. Ici, vous pouvez cliquer sur
Afficher réellement le personnage ici. Cliquez sur Personnage, allez dans Bones et sélectionnez toute la hiérarchie. Cela vous permet de
voir tous les os
de ce personnage. Ce que vous pouvez faire ici,
vous pouvez cliquer ici. Maintenant, vous pouvez voir qu'il
s'appelle Neck 01. Ma tête part du cou 01. Si je clique ici,
celui-ci s'appelle head. L'os terminal est la tête. Maintenant
faisons-le pour le bras gauche. Maintenant, c'est le bras gauche. Si nous sommes debout comme ça, c'est le bras gauche. Si vous pouvez cliquer
sur le bras gauche, cela commence au niveau de la clavicule, gauche au-dessus de l'os de départ se trouve Levical, à gauche de l'extrémité ici Ce n'est pas vraiment la fin
, au bout des doigts, mais là où commence la main, si vous cliquez ici, il est écrit main gauche. Ici, l'extrémité. Sélectionnons ce qui
restait, juste comme ça. C'était parti comme fin. Maintenant, pour ce qui
est de la droite, c'est pareil. C'est juste Levi Coal, non ? Et puis de nouveau la main droite
pour la jambe, vous pouvez l'essayer comme exercice, vous pouvez cliquer dessus quelque part
là-haut. C'est la cuisse. Ici, ça commence par la cuisse, je vais
juste le copier. Cuisse gauche, et je vais
la coller ici, sur
la jambe droite, pour la faire
cuisse gauche. Cuisse droite. La jambe s'arrête ici. Si vous cliquez dessus, il se termine au pied
de sélection à gauche
et en bas, au pied droit. Maintenant, le dernier, Spine,
c'est très simple. C'est la colonne vertébrale centrale ici. Il commence à la première colonne vertébrale
et se termine à la troisième colonne vertébrale. Celui-ci est facile. En cherchant une colonne vertébrale, vous
pouvez voir qu'elle commence à la colonne 1 et se termine
à la colonne 3. La racine est simplement appelée racine. Vous pouvez rechercher des racines, appelez-les
simplement root ici
également. Racine, racine. C'est pareil,
c'est juste l'os là-haut, l'os radiculaire ici bas. Nous en avons fini avec le
retargeting de ce personnage. Et ce que vous pouvez faire, c'est cliquer avec
le bouton droit sur le bassin
ici. C'est très important. Cliquez maintenant avec le bouton droit sur le bassin
et sélectionnez Définir la racine cible. Cela permettra de stabiliser
ce personnage. Et allez-y, cliquez sur Safe. OK, maintenant que nous en avons
terminé avec celui-ci, nous
pouvons maintenant accéder au dossier des
animations. Trouvez votre IK Ric que vous venez de créer. Vous pouvez cliquer avec le bouton droit de la souris, puis vous pouvez le dupliquer. Laisse-moi appeler ça un joueur K.
C'est le joueur. Maintenant, au lieu de faire
quoi
que ce soit ici, vous pouvez
simplement sélectionner le joueur. Maintenant, par exemple, vous pouvez sélectionner
ce mâle undaterroristk. Tu n'es pas obligée de le refaire. Vous pouvez voir qu'il est déjà là. Tout va bien.
Tout va bien. C'est déjà défini comme itinéraire
de retarget parce que
nous l'avons fait pour l'autre Nous pouvons fermer celui-ci, mais nous avons maintenant
ces deux appareils IK. Cela étant terminé,
passons à la leçon suivante et
créons la retargeta IK
22. 3.11 Créer un retargeter IK: Allons-y maintenant et
créons l'IK Targeta. Regardons bien
ici, deux animations. Et puis sélectionnez à nouveau le K C. Et sélectionnez le second
appelé IK Targeta. Parce que nous sommes maintenant prêts à copier les animations d'un
personnage à l'autre, créant ainsi le retarget K. Je vais l'appeler IKR. Appelons-le simplement
joueur pour le moment, IKR. Ouvrons-le. Il va maintenant vous
demander de quel IK Rick vous souhaitez copier
les animations. Je souhaite copier les animations de mon mannequin sur lesquelles nous
avons les animations. Et je veux copier des animations sur mon lecteur comme ça. Il ajoutera automatiquement ces deux caractères
pour vous. Maintenant, ils se chevauchent
ici dans le maillage cible. Décalez le x ici. Je vais cliquer, faire glisser
et simplement déplacer
ce personnage, environ 175
ici sur l'axe X. Je peux donc les voir tous les deux. Maintenant, à l'intérieur de l'IK
tageta, vous pouvez voir, je peux maintenant voir toutes
les animations situées ici, dans la chaîne ou
dans le navigateur défini Dans le mappage des chaînes,
vous pouvez voir les chaînes que nous avons créées
pour qu'elles fonctionnent correctement. Et généralement, il le fait
correctement automatiquement, en s'assurant
simplement
que la racine de la chaîne cible,
qui est celle-ci,
est la même que la
racine source est associée à la racine, et que la colonne vertébrale est
associée à la colonne vertébrale, et ainsi de suite. Assurez-vous simplement que
la jambe droite, par exemple, n'
est pas associée à la colonne vertébrale.
Ce sera une erreur. Ils doivent être associés au même os ou à
la même chaîne
que ceux que nous avons créés. Habituellement, Unreal Engine le
fait automatiquement correctement. Passons
maintenant
au navigateur Acid , voici les animations. Si vous cliquez sur l'une d'entre elles, par
exemple, sélectionnons
cette promenade, n'est-ce pas ? Vous pouvez voir que c'est presque correct. En fait, je vais enlever ces os pour qu'on puisse
voir les choses plus correctement. Si je clique sur
Character Bones et ne le
sélectionne que maintenant,
c'est presque correct. Cependant, les bras
sont très étranges, sinon tout le reste
semble fonctionner correctement. Nous pouvons presque le copier , mais nous devons
corriger quelque chose ici. Je vais cliquer sur Stop. Je crois. Ici,
oui, cliquez sur Stop. Nous allons arrêter l'animation. La raison pour laquelle il ne
copie pas correctement est que la position de ce caractère doit être la même
pour ce caractère. Et vous pouvez voir que le bras
n'est pas dans la même position. C'est pourquoi cela crée une ère avec les armes. Dans cette animation, je
vais cliquer sur Arrêter ici. Ce que nous pouvons faire, c'est
sélectionner l'un des os. Encore une fois, cliquez sur les
os des personnages, le tout dans la hiérarchie. Je peux donc voir tous les os, et les voici
pour ces os. Maintenant, nous pouvons
cliquer sur le mode édition. Le mode édition
nous permet de modifier la pose
de ce personnage. Vous pouvez maintenant sélectionner l'un
des os, par exemple. Vous pouvez simplement l'essayer, sélectionner celui-ci,
essayer de le faire pivoter. Vous pouvez voir que celui-ci n'est pas
celui que vous devez faire pivoter. Vous pouvez cliquer sur le
contrôle Z pour revenir en arrière, et vous pouvez sélectionner le suivant. Le prochain ici. Si vous le faites simplement pivoter vers le bas, juste comme ça, je pense à environ 50 degrés. Je pense que 40 degrés,
c'est un peu trop. Peut-être que nous pouvons simplement essayer
-50 degrés de cette façon. Pour l'autre, je vais
cliquer sur le même os
puis le faire pivoter de -50 degrés, juste comme ça.
Tout comme ce type. Vous pouvez aussi voir que ce type a une rotation de
l'os ici. Je dois le
faire ici aussi. Je dois cliquer
ici sur cet os. Ensuite, je peux le faire
pivoter d'environ 30 degrés. Et essayez simplement de
comparer les deux. En cliquant également sur l'autre, le
faisant pivoter de 30
degrés, juste comme ça. Essayez simplement de regarder par haut et
de comparer
ces deux personnages. D'accord, je pense
qu'ils se ressemblent. Essayons l'animation et voyons si elle fonctionne réellement. Je vais quitter
le mode édition. Je vais encore cacher
les os, juste pour voir à quoi ça
ressemble sans les os. Ensuite, je vais cliquer
sur l'une des animations. Par exemple,
sélectionnons-en un où il
marche ou court. C'est un peu mieux à regarder. Vous pouvez voir que les mains
posent problème en ce moment, et je pense que c'est parce que nous avons trop fait
pivoter les bras
vers le bas. Revenons
en mode édition. Je vais voir tous les os, puis je vais
cliquer sur cet os et faire pivoter le bras un peu vers le
haut. probablement le problème,
nous l'avons un
peu trop alterné . Maintenant,
jetons-y un coup d'œil Revenons
au mode édition. Cliquez sur le devant ici, laissez-moi simplement retirer
l'os pour que je puisse voir quoi cela ressemble en
essayant d'autres animations. Vous pouvez voir que tout
fonctionne correctement. Cependant, l'erreur
est qu'en ce moment, ce sont les mains, elles ne
fonctionnent pas vraiment correctement. Juste pour m'assurer que
tout est correct, je vais arrêter les
animations et regarder du point de vue
du point de vue. Ici. Du bon point de vue. Il suffit de regarder
ces deux personnages m'assurer que
tout semble correct. Passez également à la vue de face et assurez-vous
que tout est correct
pour mieux le voir. Ici, nous pouvons cliquer à nouveau sur
le personnage, Bones, puis sur toute la hiérarchie. Nous pouvons donc voir tous les
os et les voici. Vous pouvez voir qu'il y a
une petite différence. Si vous pouvez cliquer sur l'un des bras, puis régler le
cliquetis pour la rotation, je vais le régler sur cinq,
puis passer en mode édition Alors permettez-moi de le
faire légèrement pivoter ici. Ensuite, je vais le faire
légèrement pivoter pour qu'il
s'adapte presque à l'autre main. Quelque chose comme ça ici. Vous pouvez cliquer sur l'autre, mais pas sur
celui-ci, celui-ci ici. Et faites-le pivoter pour qu'il
s'adapte également à l'autre. Vous pouvez maintenant revenir à
la vue en perspective, regarder ces personnages. Vous pouvez également y
jeter un œil depuis
le haut pour voir à quoi
ils ressemblent tous les deux. Et s'ils se ressemblent, je pense que dans la plupart des cas,
ils se ressemblent. Revenons maintenant au mode
perspective. Ce que nous devons faire, c'est
réparer
nos mains parce
qu'elles ne sont pas belles. Nous pouvons simplement essayer de
lancer une animation. Par exemple, le retour à gauche. Et je vais enlever tous
les os pour pouvoir le voir. Vous pouvez voir qu'ils ont l'air
bien. Les deux. Cependant, les mains sont
un peu défoncées. Nous devons donc régler ce problème.
Passons à la leçon suivante et fixons les aiguilles avant de
copier les animations.
23. 3.12 Fixer les mains: Maintenant, allons-y
et réparons les doigts. Avant de copier les animations, double-cliquez sur ce
mannequin K rig ici. J'ai déjà ajouté les chaînes. Vous pouvez le voir ici, vous devez également
ajouter des chaînes
pour les doigts. Si vous voulez que les doigts fonctionnent comme les autres
parties du corps, ajoutez-y
simplement les mêmes. Le pouce ici, ce pouce ici. Et puis vous avez l'
index, le majeur, l'annulaire,
puis le rose ici. Vous devez les ajouter,
toutes à nouveau,
pouce gauche, pouce
droit, index gauche,
index droit, milieu gauche,
milieu droit, anneau gauche, anneau
gauche, anneau, droite et petit doigt
gauche et petit doigt Allez-y et
ajoutez-les. Je vais juste vous
montrer les deux premiers pour
savoir comment vous pouvez les retrouver, puis je vais
ajouter les autres. Le premier ici, le pouce, vous pouvez cliquer sur
le premier ici. Vous pouvez voir que c'est
le pouce 01, non ? Vous pouvez cliquer ici et
rechercher le pouce. Vous pouvez voir que cela
commence par le pouce 01. Celui-ci est celui de gauche. Nous devons sélectionner le pouce. 01, À gauche, pouce droit. Il se termine au pouce 03, à gauche. Vous pouvez également cliquer
ici pour voir le nom, mais c'est très facile
pour ces doigts, le même doigt droit, vous pouvez rechercher le pouce,
sélectionner le bon doigt. Il se termine à 033, ici, dans l'
index, vous pouvez cliquer dessus Cela commence par l'indice 01. Vous pouvez le voir pour les mains, elles sont en fait simples. Si vous cliquez ici
et recherchez un index, vous pouvez voir l'index
01 pour la gauche, un pour la droite, 1203 pour la droite 101203, celui de gauche et celui de droite. Ici, dans le majeur, vous pouvez cliquer sur
le majeur. Cela commence au milieu de 01. Je vais juste aller de l'avant
et les ajouter tous ici. Maintenant, je les ai tous ajoutés et nous pouvons continuer
et cliquer sur Enregistrer. Et vous pouvez
tous les voir ici. Tout comme ce que nous avons fait ici. OK, maintenant ce que je peux faire, c'est fermer ça. Maintenant, au lieu d'ajouter la
même chose ici, je vais simplement la supprimer. Je vais juste
supprimer celui-ci. Et en cliquant sur OK. Cela va en fait vous
donner une époque car il est ajouté
à cette plate-forme IK. Je vais également supprimer
cette plate-forme IK. Maintenant, il dit qu'il y a quelque chose qui fonctionne ici et
je ne suis pas sûr de savoir ce qu'il veut. J'essaie de sauvegarder le projet. Cliquez sur le
dossier de contenu, corrigez les redirecteurs, revenez aux
animations du lecteur et essayez de les supprimer Supprimons effectivement celui-ci. K joueurs vont me le donner. En fait, je vais
fermer le projet et essayer de le
rouvrir pour voir s'il fonctionne. OK, nous y revoilà. Je vais supprimer celui-ci. Et voilà.
Parfois, Unreal Engine vous
donne des erreurs aléatoires supprimons pas la cible IK, faisons en sorte qu'elle reste ici. Je vais
cliquer avec le bouton droit de la souris et dupliquer mon mannequin
IK et l'appeler joueur IK comme avant, entrer ici
et simplement remplacer ce mannequin par notre
propre antiterroriste Juste comme ça, tout
va bien. Nous faisons des économies. Revenons à la cible IK. heure actuelle, pour le retarget IK, assurez-vous que le mannequin IK est la source et que la
cible est le joueur Donc, tout semble
aller bien. Essayons encore une fois. Essayons de lancer une animation. Si nous revenons à
gauche, par exemple. Et je vais juste
cacher tous
les os pour que je puisse vraiment
voir ce qui se passe. Vous pouvez voir que ça n'a pas l'
air bien non plus. Je pense que les
chaînes ne sont pas cartographiées. Si vous cliquez sur
le mappage des chaînes, comme je vous l'ai déjà dit, elles doivent être similaires, vous pouvez voir qu'elles ne sont pas identiques ici, je
dois les relier. Au lieu de le faire manuellement, essayez de cliquer ici et de
cliquer sur Map All Exact. Et vous pouvez voir qu'il les
cartographie toutes pour vous. Voyons maintenant à quoi
cela ressemble. Tu peux voir maintenant
que c'est beaucoup mieux. Il s'agit en fait de le tenir,
comme l'autre joueur, et pas simplement de tenir les
doigts au hasard. Les voici, nous avons corrigé
le mappage de la chaîne. Vous pouvez maintenant voir que la main de ce joueur est tordue,
comme vous pouvez le voir ici. C'est tordu ici. Cependant, ce n'est pas
vraiment votre problème, c'est juste la façon dont le
personnage est créé. Vous pouvez voir que c'est un peu
foiré sur cette partie du bras. C'est bon Ce n'est pas vraiment toi qui as fait
quelque chose de mal. Jouons quelques
animations juste pour nous
assurer que tout est
correct avant de continuer. Et en y
jetant un coup d'œil, tout semble aller bien, vous pouvez même voir que
ce doigt de gâchette tient correctement, tout comme cet autre doigt de
gâchette. D'accord, donc nous pouvons toujours si vous voulez que les bras et les mains
ressemblent à 100 % à ceux de ce joueur, comme je vous l'ai
déjà dit, vous pouvez passer à la modification, déplacer
légèrement les
doigts si vous voulez pas oublier de cliquer
sur les os des personnages et sur toute la hiérarchie et
vous pouvez essayer de
les déplacer un peu s'il y a quelque chose qui
ne vous satisfait pas. Ensuite, vous pouvez continuer
et simplement jouer une animation. Regardez à quoi
ça ressemble, mais je pense que pour le moment
ça a l'air vraiment bien. Avant que vous ne puissiez imaginer, ou que vous ne vous souveniez, que les
bras volaient vers le haut. Maintenant, ils vont tous bien et les doigts fonctionnent également. OK, donc avec ça,
cliquons sur le personnage. Encore une fois, je vais cacher tous les os parce que je n'ai plus
vraiment besoin de les voir. Maintenant, sauvegardons le projet, et passons à
la leçon suivante où
nous copions les animations.
24. 3.13 Retargeting les animations: Nous sommes maintenant prêts à
copier les animations. Passons à l'IQ Targeta. À l'intérieur, vous pouvez voir
que lorsque je clique sur les animations, comme dans la leçon
précédente, tout fonctionne correctement. Nous sommes maintenant prêts à copier
toutes les animations. Ce que vous pouvez faire,
c'est très simple. Vous pouvez cliquer sur le
premier, puis sélectionner le dernier, puis
cliquer sur les animations sélectionnées. Vous devez maintenant sélectionner un dossier dans lequel vous souhaitez
enregistrer ces nouvelles animations. Je vais en fait
créer un nouveau dossier. Pour mieux m'organiser, je vais créer un nouveau
dossier que je vais appeler Assets. C'est ce que je
fais habituellement pour mes jeux. Je peux écrire, cliquez
ici et allons-y et appelons les nouvelles animations du
dossier. Ensuite, vous pouvez continuer
et cliquer sur Exporter. Maintenant, nous exportons
ces animations ici, et c'est terminé. Maintenant, si je minimise et que je passe
aux animations de mes actifs, vous pouvez voir
qu'elles sont toutes là. Si je clique simplement sur l'un d'entre eux, vous pouvez voir qu'il fonctionne
avec notre personnage. Ça a vraiment l'air bien. Non, je ne pense pas que ce soient toutes les animations
que je peux voir ici. Et c'est parce qu'ils
n'utilisent pas le même mannequin. Si je reviens au joueur, voyons voir, et si je reviens à ma cible K, à ce mannequin, vous pouvez voir que si je passe
la souris dessus,
il utilise le maillage squelettique du de référence 01 Vous pouvez voir ici pour le moment qu'il
ne s'agit que des animations
pour le pistolet Je peux voir qu'ici, dans
le dossier des animations des actifs, nous avons copié toutes les animations des
pistolets Vous pouvez voir à la fin
qu'ils s'appellent pistolet. Cependant, nous avons d'
autres animations. Vous pouvez voir si vous allez dans le
dossier des autres animations que nous avons importées, vous avez la version non armée
et aussi le fusil Nous ne pouvons pas les voir.
Et pourquoi ça ? On ne voit que ceux des pistolets. C'est parce que
les autres utilisent en fait d'autres maniquins
pour celui du fusil Si vous maintenez simplement
la souris dessus, vous pouvez voir qu'il
utilise le squelette
du dossier references 02, il utilise en fait
un autre Manequin Ce que nous pouvons faire, c'est
retourner au mannequin K qui se trouve à l'intérieur d'ici Nous pouvons cliquer sur celui-ci. Si vous maintenez simplement votre souris sur les autres mannequins
que vous avez, par
exemple celui-ci, cela indique que celui-ci provient du dossier des
références 02 heure actuelle, nous utilisons le
maniq des références 01, en cliquant sur le deuxième mannequin Maintenant, allez-y et cliquez sur Enregistrer. Passons à la cible K. Maintenant, vous pouvez voir dans les animations qu'il
y a toujours le pistolet Ce que nous devons faire,
c'est simplement cliquer sur cette flèche pour la réinitialiser. Ensuite, je vais cliquer à nouveau
et sélectionner le mannequin IK. Et allez-y et appuyez sur Enregistrer. Maintenant, vous pouvez voir qu'il ne s'agit plus
du pistolet, mais de toutes les animations du fusil pour continuer et sélectionner
toutes les animations du fusil Exportez les animations sélectionnées. Et je vais les exporter à nouveau dans le dossier des animations. Allez-y et exportez-les une fois
qu'ils auront été exportés. Je vais retourner
à mon mannequin IK. Je vais sélectionner
le mannequin dans le
dossier
des références 03, vous pouvez le sauvegarder Retournez au Ktageta. Je vais cliquer à
nouveau sur la flèche ici pour la réinitialiser. Ensuite, je vais sélectionner à nouveau
le mannequin, assurant qu'il est écrit UA à la fin, ce qui
signifie « désarmé Ce sont toutes des animations
non armées. Et tu peux cliquer dessus pour
voir à quoi ça ressemble. Allez-y et sélectionnez-les
tous à nouveau. Et allez-y, cliquez sur
Exporter les animations sélectionnées, puis exportez-les à nouveau dans le
dossier des animations. Cliquez sur Exporter. Fermons maintenant tout et examinons
le dossier des animations. Vous avez maintenant toutes les
animations ici. Vous pouvez donc voir
que lorsque vous cliquez dessus, ils ont l'air un peu stupides Et ce n'est pas parce que nous
avons fait quelque chose de mal, c'est en fait l'animation qui semble un peu stupide, à mon avis, mais c'est bon Nous n'avons pas vraiment de
meilleures animations. Et ils sont gratuits,
et nous pouvons les utiliser. Vous pouvez donc voir ici toutes ces animations
vraiment très belles. Et nous pouvons les utiliser
pour créer notre jeu. Bon, maintenant tout
fonctionne pour le personnage. Et vous pouvez voir que tout
va bien. Et parfois, nous pouvons ajuster
certaines de ces animations. Vous pouvez voir que lorsqu'il
regarde le sol, c'est beaucoup trop sur le
sol, à mon avis. Et nous pourrons ajuster cela plus tard. Mais vous pouvez voir que tout
fonctionne bien. Et c'est ainsi que vous copiez les animations d'un
personnage à l'autre. Allons-y, appuyons sur Enregistrer, et passons
à la leçon suivante.
25. 3.14 Introduction à mélanger les espaces: Très bien, alors allons-y
et créons un espace de fusion. Et un espace de fusion est simplement utilisé pour fusionner deux
animations. Et nous pouvons l'utiliser dans le plan
d'animation. Plus tard. Vous pouvez voir que je viens
de colorier mon dossier de plans juste
pour le voir ou le repérer plus rapidement Encore une fois, n'oubliez pas que vous pouvez le faire en
sélectionnant tous
ces dossiers. Cliquez avec le bouton droit sur Accéder à la définition de la couleur, puis cliquez sur Nouvelle couleur
et sélectionnez simplement la couleur. C'est ainsi que vous mettez
des couleurs dans les dossiers. Maintenant, dans le
dossier du plan, dans les animations. Allons-y et cliquez ici avec
le bouton droit de la souris. Accédez à Animation et sélectionnez
celui-ci appelé espace de fusion. Encore une fois, un
espace de fusion est l'endroit où vous pouvez fusionner deux
animations. Par exemple, l'animation inactive
et l'animation exécutée. Nous pourrons les utiliser ultérieurement
dans le plan d'animation. Allons-y et
créons-le pour le moment. Maintenant, il vous demande de
choisir un squelette. Vous devez choisir le
squelette de votre personnage. Pour celui-ci, je vais
sélectionner le style MW. C'est le contre-terroriste
et c'est le terroriste. Je vais sélectionner
le contre-terroriste parce que souvenez-vous que dans
les animations, nous
avons redirigé
les animations
sur ce contre-terroriste Je vais sélectionner le squelette de l'
antiterroriste. Appelez-le BS pour Blend Space. Alors je vais juste
appeler ça run après ça. J'ai l'habitude de l'appeler, par exemple, celui-ci. Je vais créer les
espaces de mélange non armés parce que plus tard nous allons courir avec le fusil et courir
avec le pistolet également Celui-ci s'appelle Run Armed. Double-cliquez
dessus lorsque vous l'ouvrez. C'est l'espace de mélange. Ici à gauche, vous avez un panneau de détails à l'intérieur. Vous pouvez faire des choses comme
lisser
l'animation, la vitesse de
déplacement,
la direction , etc., mais nous
y reviendrons plus tard. Ici, très, très
important, vous avez un graphique. Et ici, vous pouvez ajouter
toutes vos animations. C'est ici que vous fusionnez
les animations, et nous allons le faire dans la
prochaine leçon à droite. Ne t'inquiète pas trop pour ça. Nous n'avons pas vraiment grand-chose
à faire ici. Mais ici, vous pouvez voir
toutes les animations. Si vous double-cliquez simplement sur l'une d'entre elles,
par exemple celle-ci, double-cliquez sur celle-ci, vous pouvez voir toutes les
animations présentes dans ce lecteur
d'animation. Si vous double-cliquez
dessus, vous pouvez voir que vous êtes en dehors de l'espace de fusion. Maintenant, vous ne pouvez pas voir ce graphique
si vous faites simplement défiler la page. Vous pouvez soit l'
ouvrir à nouveau ici en cliquant ici. Mais vous pouvez désormais également le
voir avec les animations. Vous pouvez le
voir ici. Il s'agit de la couleur de l'espace de fusion. Vous pouvez double-cliquer dessus et ouvrir à nouveau,
comme ça. Très, très simple.
C'est ainsi que nous procédons. Et nous pouvons, par exemple,
cliquer et faire glisser une animation. En fait, ne les
utilisons pas. Il s'agit d'une compensation. Utilisons ces animations. Nous travaillerons plus tard avec
le décalage Aim. Travaillons simplement avec
l'une des animations. Vous pouvez les cliquer et les faire glisser, les
placer dans le graphique. Et puis vous pouvez voir que
ce gars marche maintenant automatiquement. Et vous pouvez faire glisser
une autre animation et la placer quelque part. Et maintenant, vous pouvez voir
qu'ils se mélangent vraiment. Si vous maintenez la touche de contrôle votre clavier et
que vous déplacez simplement votre souris
d'ici à là, vous pouvez voir qu'ils se mélangent
maintenant OK, vraiment cool. Pour l'instant, il ne s'
agissait que d'un exercice. Cliquons sur celui-ci, cliquez
sur Supprimer sur le clavier. Cliquez sur celui-ci, cliquez
sur Supprimer sur le clavier. Allons-y et économisons. Et commençons par la leçon suivante, où nous ajoutons des espaces de
fusion non armés
26. 3.15 Espaces de mélange non armés: Nous sommes maintenant prêts à créer les espaces optiques non armés.
Commençons ici. quoi je commence habituellement se trouve ici, dans
le panneau des détails. Nous avons un axe horizontal
et un axe vertical. Il suffit de cliquer sur
les petites flèches voir toutes
ces informations. Habituellement, sur l'axe horizontal, nous avons le sens du mouvement. Allez-y et appelez
cela la direction du mouvement. Vous pouvez également voir
qu'il change de nom. Ici, là-haut, nous
avons la vitesse de déplacement. Il s'agit de l'axe vertical. Appelons cela la vitesse de déplacement. Maintenant, pour la direction du mouvement, nous passons d'une valeur minimale
à une valeur maximale. Le minimum est de
moins 180 degrés, le maximum de 180 degrés. C'est ainsi que nous pouvons
tourner à 360 degrés. Maintenant, pour ce qui est de la vitesse de déplacement ce que je fais
habituellement ici, par
exemple, c'
est courir. Si nous passons au personnage, si nous cliquons sur le joueur puis
sur la base de joueurs, à l'intérieur de la
base de joueurs, nous cliquons sur le composant de mouvement. Vous pouvez voir ici que
la vitesse maximale de marche, qui est également la vitesse de course, est actuellement de 600. D'habitude, je le mets à environ la moitié de ce qui
est écrit ici. Parce que si vous écrivez 600, vous devez
atteindre la vitesse de 600 avant de pouvoir passer
complètement à cette animation. Si vous voulez passer à
l'animation de course, j'écris généralement 300 parce que lorsque j'
atteins la vitesse de 300, ce que je fais très rapidement
car ma vitesse maximale est de 600, je passe à la vitesse de
course beaucoup plus rapidement. D'habitude, je le
réduis simplement à ce qu'il est. Je vais juste écrire
300 pour celui-ci, pour la direction du mouvement. Je vais augmenter les divisions
de la grille ici car j'ai plus d'
animations que quatre. Je vais en écrire
huit. Nous avons un mouvement à huit directions. Vous pouvez voir maintenant que j'
ai plus de lignes ici. Et c'est ainsi que
nous voulons qu'il en soit ainsi. Maintenant c'est la seule chose
que tu veux faire ici. Pour le moment, cliquez sur Enregistrer pour accéder à
cet écran détaillé. Maintenant, dans le graphique, ce que vous pouvez faire, c'est
créer l'animation de course pour pas armés ici à
la vitesse de zéro C'est là que vous avez l'
animation inactive à la vitesse de zéro. Nous sommes juste immobiles. Maintenant, ici, si
nous cherchons idle, celui-ci s'appelle idle armed. Prenons celui-ci. Inactif,
désarmé, faisons-le glisser Et nous devons le
déposer ici, où la
vitesse de déplacement est nulle. Maintenant, si vous maintenez la touche Shift de votre
souris enfoncée pendant que
vous la faites glisser, vous pouvez la voir s'accrocher à la grille. Et c'
est ce que je veux. Je veux le photographier ici. Si vous le placez, vous pouvez voir le personnage tourne maintenant au ralenti
avec une animation inactive Maintenant, cliquons et
glissons à nouveau sur ce bouton. Maintenez la touche Shift enfoncée pour l'activer. Allez-y, cliquez
et faites-le glisser dans tous
ces points de la grille ci-dessous. Il suffit de prendre l'
animation inactive jusqu'au bout. C'est juste l'animation inactive
car la vitesse est nulle. Maintenant, quand
la vitesse est maximale, lancez l'animation. Si je cherche juste à courir en ce
moment, nous sommes désarmés. Si vous allez simplement ici,
vous pouvez voir que celui-ci s'appelle
is forward. B signifie en arrière. B L signifie par exemple arrière gauche, et B R signifie arrière
droite, et ainsi de suite. Pour celui-ci, nous voulons
courir en avant, mais étant désarmés,
courez en avant ici Et vous pouvez voir
celui-ci s'appeler « désarmé ». Vous pouvez à nouveau faire glisser celui-ci, maintenir la touche Maj enfoncée et la placer ici. Maintenant, si vous maintenez
le contrôle du clavier et que vous
déplacez votre souris, vous pouvez voir que
vous pouvez passer de l'animation Adle Et si vous déplacez votre souris tout en maintenant la touche
de contrôle de votre clavier
enfoncée, vous pouvez passer à celle-ci. Tu peux voir à quoi ça ressemble. Et c'est ce qu'est
un espace de mélange. Maintenant, ici,
je vais
cliquer sur ce bouton pour vous
montrer les exemples de noms, afin que vous puissiez voir ce que j'ai placé et ce sera également
plus facile pour vous. Donc ici, au lieu
de chercher à courir, je vais en fait
chercher une personne désarmée comme ça Je pense que ce sera
plus facile pour moi et je pourrai voir toutes mes animations de course
sans arme Donc, ici à droite, nous avons l'avant droit. Celui-ci s'appelait Front Right. Je vais le déposer ici. Alors nous avons le
droit d'ici. Je vais prendre
celui qui a été appelé correctement. Déposez-le ici. Alors
celui-ci est de retour, non ? Je vais prendre le dos. Juste à la
fin, dans le coin, se trouve
le mouvement du dos. Je prends le dos
et je le place ici pour que vous
puissiez voir si je garde le contrôle
et si je m'y déplace lentement. Vous pouvez voir que mon personnage
est en transition. Juste comme ça,
tout semble correct. Il marche à reculons
, puis il revient. Car celui-ci est tout
le contraire. C'est le côté gauche, donc courez vers l'avant gauche. Je vais donc prendre celui-ci
sur l'avant gauche, maintenir la touche Shift enfoncée, placer et celui-ci est à gauche. Je vais trouver la gauche
puis l'arrière gauche, choisissant celui-ci appelé à gauche et celui-ci
rappelé à nouveau. Tout comme dans l'
autre coin, nous avons le mouvement du dos ici et nous avons également le
mouvement du dos ici. Parce que nous tournons à
360 degrés. Très bien,
voici mon animation et tout
semble correct. C'est donc à ça
que ça doit ressembler. Nous avons donc le mouvement avant, puis
les mouvements de gauche et de droite. Et maintenant, nous avons
fini de courir sur
le bras, pour que
tu puisses garder le contrôle. Découvrez à quoi cela ressemble
lors de la transition. Maintenant, vous devez également
le faire avec les autres. Je vais donc juste
vous partager un autre exemple rapide. Je vais juste le
parcourir rapidement. Maintenant, si vous revenez simplement
aux animations du joueur, cliquez avec le bouton droit de la souris,
passez aux animations, créez un nouvel espace de fusion. Sélectionnez à nouveau le personnage, le squelette que nous avons
créé, appelez-le PS. Cette fois, je vais l'appeler accroupi
parce que maintenant
nous sommes accroupis Et encore une fois, appelez-le non armé. Pour le dernier, cliquez à nouveau avec le
bouton droit de la souris. Passons à l'animation. Accédez à l'espace de fusion,
sélectionnez le squelette. Celui-ci marche parce que maintenant nous marchons
et disons qu'il est désarmé Nous devons également
créer celui-ci. En cliquant à nouveau sur le accroupi, ici dans l'axe
horizontal, nous avons le sens du mouvement Ensuite, nous avons la vitesse de déplacement. Au fur et à mesure du mouvement, nous
passons de moins 180 à 180. La division de la grille est de huit, car nous avons huit
mouvements que nous devons ajouter ici pour obtenir
la vitesse de déplacement. Encore une fois, celui-ci est
pour les accroupis. Maintenant, s'accroupir est beaucoup plus lent
que la vitesse de marche. Encore une fois, vous pouvez revenir en arrière si vous le
souhaitez dans la base de
joueurs. Cliquez sur le composant de mouvement et examinez
la vitesse d'accroupissement Pour le moment, il y en a 300. Je vais juste le porter à 150, la moitié pour le moment. Plus tard, nous allons
modifier tous ces
mouvements, car nous devons tester le joueur
dans le jeu et voir à quelle vitesse il court. Et nous pouvons toujours venir ici et modifier cette
valeur ici, d'accord ? Maintenant que nous l'avons ici
à droite, il nous faut
maintenant que ce soit accroupi,
accroupi Nous allons juste
écrire « bras de soulignement », nous avons tous ces mots accroupis Le premier est celui qui est inactif. Je vais prendre
celui-ci, anim accroupi les bras croisés. Je vais maintenir la touche Shift enfoncée, la
placer ici. Il suffit de cliquer et
de faire glisser la même position
accroupie sur tous ces
points vers le bas. Parce que là encore, la vitesse de
déplacement est nulle. Nous ne faisons que tourner au ralenti. Ensuite, nous avons le mouvement avant. Nous allons prendre le
front ici, désarmés. Alors voici
le bon mouvement. Celui-ci est à l'avant, à droite, en
faisant glisser l'avant vers la droite. L'autre côté est avant gauche, avant droit, avant gauche. Ensuite, nous avons la droite ici, la droite et la gauche
de l'autre côté. Sur celui-ci se trouve en arrière à droite, en
faisant glisser le pointeur vers la droite. De l'autre côté, c'est en arrière à gauche. Et puis il y a le
mouvement du dos de ces côtés. Nous pouvons à nouveau garder le contrôle. Regarde à quoi ça ressemble.
Tout va bien. Allez-y et économisez.
Et je vais juste faire le dernier et
je vous recontacterai. Très bien, j'ai
fini de marcher et je peux activer les étiquettes pour que vous puissiez voir ce que j'ai fait comme avant. Les mouvements de droite,
les mouvements de gauche, et aussi le ralenti ici. Rien de nouveau.
Allons-y, économisons,
et fermons-le. Et nous avons ici tous
les espaces de fusion réservés aux mouvements désarmés Plus tard, nous
devrons également
tout recréer pour le
fusil et pour le pistolet, mais ne nous en
soucions pas pour le moment Passons au plan d'
animation.
27. 3.16 Introduction aux plans d'animation: Nous sommes maintenant prêts à travailler
avec des plans d'animation. Allons-y dans
le dossier des plans. Je vais aller dans le dossier
du lecteur.
Dossier d'animation. Ici. Je vais
cliquer avec le bouton droit de la souris, accéder à Animation. Et puis sélectionnez celui-ci
appelé plan d'animation. Nous devons maintenant
sélectionner le squelette du joueur
pour lequel nous le
créons. Je suis en train de le préparer pour ce
Cando Terris. Je vais aller de l'avant
et sélectionner le squelette. Allez-y et cliquez sur Créer. Appelons-le
simplement un lecteur MBP. Maintenant, double-cliquons et
ouvrons ce plan
d'animation Un plan d'animation
se compose de deux parties. La première partie est
ce graphique d'animation. À l'intérieur de ce graphique d'animation, nous insérons les animations et vous pouvez voir si vous
maintenez le bouton droit de la souris enfoncé ici, vous pouvez vous déplacer à l'intérieur
de ce graphique d'animation, nous branchons les animations ici. Et la deuxième partie
est ce graphique des événements. À l'intérieur du graphe d'événements, nous écrivons
le code du mouvement. Nous avons la partie code, puis nous avons
la partie animation où nous ajoutons les animations. Commençons ici
dans le graphique d'animation, vous pouvez voir à
droite que vous avez toutes les animations
que vous pouvez voir ici. Vous pouvez même cliquer dessus
et le faire glisser dans le graphique d'animation, puis vous pouvez brancher, le
compiler et ainsi de suite. Et vous pouvez voir
que lorsque vous le branchez, vous pouvez voir que le lecteur tourne ralenti et vous pouvez
voir l'animation Nous travaillons maintenant avec des espaces de fusion
d'animations, et pas seulement avec ces animations
ici. Supprimons celui-ci. Au lieu de simplement insérer
une animation ici, cliquez
avec le bouton droit de la souris et
recherchons State Machine Sélectionnons cette machine à
un état. Allez-y, renommez celui-ci. Je vais l'appeler mouvement
désarmé, car plus tard, nous
aurons du mouvement avec le pistolet et également
avec le fusil Prenons ceci,
connectons-le ici, et compilons. Et vous pouvez voir
que vous recevez un avertissement parce que celui-ci est
vide pour le moment. Double-cliquez sur
cette machine à états que nous avons créée ici. Si vous cliquez dessus et faites glisser le pointeur, vous n'avez
pas grand-chose à faire ici. La seule chose que nous voulons faire,
c'est simplement créer cet État. Cliquez sur un état, et
appelons-le une exécution inactive. Et maintenant, nous pouvons voir
que vous avez cet état. Maintenant, si vous double-cliquez sur
cet état à l'intérieur d'ici, vous pouvez maintenant ajouter l'animation. Mettons simplement fin à ce mouvement
désarmé. C'est celui avec lequel nous
travaillons en ce moment. Branchons-le et
cliquons sur Compiler. Maintenant, vous pouvez voir que
cette époque est
révolue . Si vous souhaitez revenir au graphique d'animation,
vous pouvez cliquer ici. Vous pouvez voir que vous
n'avez pas d'onglet. Il vous suffit de cliquer ici pour revenir
au graphique d'animation. Vous pouvez voir que cette époque
est révolue. Nous avons relié le
mouvement désarmé à l'intérieur d'ici. Et nous avons cet état, l'état d'exécution inactive. Plus tard, nous allons
créer d'autres États. Par exemple, si
vous faites glisser le pointeur sur l'état, nous allons créer
l'état accroupi, puis nous allons
créer un autre état Peut-être voulons-nous créer
l'état de marche et ainsi de suite. Mais pour l'instant, juste
l'état d'exécution inactif. À l'intérieur, nous avons cet espace de fusion que
nous avons créé plus tôt. Nous pouvons maintenant voir que l'espace de fusion
veut prendre deux entrées. Si je reviens à l'
espace de course à l'intérieur d'ici, vous pouvez voir que nous avons créé la direction
et la vitesse du mouvement. C'est ce qu'il veut. Il
veut ces deux valeurs. Maintenant, si j'écris simplement
un nombre statique ici dans la vitesse de déplacement, par
exemple, disons que je me
déplace à une vitesse de 400. Et si je compile, vous pouvez voir que le personnage
fonctionne correctement. Si je change simplement la
direction, par
exemple en écrivant à 90 degrés,
nous pouvons également par
exemple en écrivant à 90 degrés, compiler cela qui
fonctionne correctement.
Très bien, très cool. Maintenant, nous ne voulons pas vraiment de nombres
statiques ici, nous voulons les calculer à l'aide
du code dans le graphe des événements. Allons-y et
faisons-le dans la prochaine leçon. Compilons pour le moment, en écrivant à nouveau 00 ici. Sauvegardons tout
et passons à autre chose.
28. 3.17 Vitesse et direction du mouvement: Pour calculer la
vitesse de déplacement et la direction du mouvement, passons au graphique de la
camionnette. Maintenant, à l'intérieur d'ici, au lieu
de partir d'ici, cliquons avec le bouton droit de la souris et
recherchons initialize Et sélectionnez celui-ci appelé Blueprint Initialize Cet événement, c'est
comme le début de la partie. Si vous vous souvenez, si je reviens
à la base de joueurs, nous utilisons celle-ci appelée «
begin play ». Que se passera-t-il si je
commence à jouer ? Désormais, dans les plans d'animation, cela s'appelle simplement plan,
Initialiser Que se passe-t-il lorsque vous
initialisez ce plan ? C'est pareil ici. Ce que vous voulez
faire, utilisez cette fonction ici, essayez get pawn owner Partons d'ici
et disons que c'est valide. Et allez-y,
sélectionnez celui-ci avec le point d'interrogation valide. Nous demandons maintenant si
le joueur est valide, s'il est
apparu dans le monde Si le joueur est apparu, nous voulons cliquer avec le bouton droit
sur cette variable,
l'appeler pion du joueur,
puis nous connecter
au est valide Maintenant, ce que nous faisons
ici, c'est simplement demander à
ce joueur de faire apparaître ce
joueur dans le monde entier Vous pouvez imaginer Counterstrike. Lorsque vous vous connectez,
vous devez choisir si vous voulez être un terroriste
ou un contre-terroriste. Maintenant, si le joueur n'a pas encore sélectionné de terroriste
ou de contre-terroriste, il n'est pas encore
apparu dans le monde Cela n'a
aucun sens de faire tout ce code d'animation si le joueur n'est
même pas encore apparu. Nous vérifions simplement si
le joueur est apparu, s'il est valide, s'il est placé
dans le monde Si ce n'est pas le cas, nous voulons attendre. Écrivons simplement le délai ici
et sélectionnons ce délai. Nous allons retarder le code
de 0,3 seconde, disons. Par exemple, lorsque
ce délai sera terminé, nous allons courir. C'est à nouveau valide car
si le code n'est pas valide, si le joueur n'est
pas encore apparu, nous ne voulons pas rester coincés ici Si nous n'ajoutons rien ici, le code va simplement s'arrêter. Et je ne veux pas ça,
je veux que cette variable player pon soit définie
chaque fois que le joueur réapparaît. Je vais continuer à vérifier
si le joueur est réapparu. Je vais retarder
le code s'il n'est pas valide, puis je vais
le réexécuter. Et maintenant, nous pouvons double-cliquer
sur celui-ci pour créer des nœuds re, route afin de le
rendre un peu plus organisé. Quelque chose comme ça.
Ici, nous ne cessons retarder le code si le
joueur n'est pas apparu, jusqu'à ce que le joueur apparaisse et que cela crée cette variable de
douleur pour le
joueur Maintenant, nous pouvons prendre cette
variable de pion du joueur , nous pouvons la placer ici Si vous le prenez ici,
vous pouvez soit obtenir la variable, soit la
définir. Maintenant, pour le
faire rapidement, vous pouvez maintenir le contrôle enfoncé
et le faire glisser pour l'obtenir
automatiquement. Si vous maintenez la touche Alt enfoncée et que vous
l'obtenez ici, la variable sera définie. Ce ne sont que des raccourcis, Ctrl enfoncée et la
touche Alt enfoncée pendant que vous les faites glisser. OK, nous avons donc
cette variable de pion du joueur. Maintenant, cliquez avec le bouton droit sur cette variable et
convertissez-la en une variable déjà validée. Maintenant, ce que cela fait, c'est maintenant
connectons-le ici. Cela permet encore une fois de
vérifier si le joueur est valide, s'il a mis en gage Juste pour nous assurer que
nous n'exécutons ce code que lorsque le
joueur est apparu Parce que vous pouvez voir
si je compile
maintenant, le code est en cours d'exécution. Et vous pouvez voir que cela
fonctionne à l'infini, car nous ne l'avons pas encore créé. Cela cessera de fonctionner
chaque fois que nous apparaîtrons. Quant à celui-ci, il
fonctionnera toujours, le plan sera mis à jour, l'
animation sera toujours exécutée Et c'est toujours agréable de
vérifier si le joueur est
apparu , car nous ne voulons pas
exécuter ce code alors qu'un
joueur val n'est pas encore apparu OK, maintenant pour calculer
la vitesse de déplacement, frappons depuis
ce joueur, patte Cherchons la vélocité et trouvons
celle-ci appelée vélocité. C'est tout simplement la seule chose que
nous devons faire, en fait. Cependant, si je reviens ici dans le plan d'animation et que je reviens à mon état d'inactivité, vous pouvez voir le plug-in Il veut l'entrée qu'il veut, c'est une variable de type flottant. Il ne s'agit pas d'un vecteur.
Vous pouvez voir si je reviens à mon graphe de ventilation, il
s'agit d'un vecteur. On ne peut pas vraiment le
brancher ici. Ce que nous pouvons faire pour
transformer un vecteur en flottant, nous pouvons le faire glisser à partir de celui-ci
et rechercher la longueur. Nous pouvons choisir celle-ci
appelée longueur du vecteur, qui la transformera en fait
en une variable de type flottant. Nous pouvons cliquer dessus avec le bouton droit de la souris
et en faire une variable maintenant et
l'appeler vitesse de déplacement. Maintenant, connectons-le
ici au S valide. Et maintenant, nous avons la vitesse de
déplacement. C'est en fait très simple. C'est comme ça que tu le fais. Vous obtenez
la vélocité du joueur. Nous avons défini la longueur du vecteur
parce que nous voulons transformer la variable en variable
flottante. Et puis nous avons la vitesse de
déplacement ici. Maintenant, pour calculer
la direction du mouvement, nous pouvons faire glisser le pointeur à partir d'ici et
rechercher « calculer ». Et vous pouvez voir celui-ci
appelé calculer la direction. Comme celui-ci maintenant, il
demande une rotation. Ce que vous pouvez faire, c'est que vous pouvez
directement depuis le joueur et rechercher une rotation des numéros. Celui-ci obtient une rotation. Maintenant allons-y
et branchons-le. Maintenant, si vous découvrez Blueprint pour la première
fois, vous ne savez parfois pas comment s'appellent
ces fonctions S'il demande une
rotation, par exemple, vous pouvez simplement le demander à partir d'ici
et vous pouvez écrire une rotation. C'est ce que j'ai fait
à mes débuts. Quand j'ai eu complètement terminé, j'ai
simplement écrit rotation et j'ai essayé
de comprendre quelles étaient toutes ces fonctions. Ensuite, je fais une
sélection parmi celles-ci. Maintenant, cela prendra un certain
temps si vous êtes nouveau. Cependant, cela
se fait encore et encore et cela deviendra une mémoire
musculaire pour vous. Ne t'inquiète pas pour ça, continue
juste à t'entraîner. Nous procédons à la rotation des
acteurs, nous l'intégrons ici Nous calculons la direction. Nous pouvons maintenant cliquer avec le bouton droit sur
celui-ci, le transformer en variable et l'appeler direction du mouvement. Maintenant, nous avons également calculé la vitesse de déplacement et la direction du
mouvement. Allons-y et compilons. Et maintenant, nous avons ce code ici. Passons à l'état d'
exécution inactive ici. Encore une fois, vous pouvez cliquer sur
le graphique d'animation. Vous pouvez également cliquer sur le graphique
d'animation ici. Ou passez à l'état d'
exécution inactif ici, à gauche, à l'intérieur d'ici. Déterminons notre vitesse de déplacement. Branchez-le à la vitesse de déplacement et faites glisser le sens du mouvement, branchez-le dans le sens du
mouvement. Allons-y et compilons maintenant. Avant de pouvoir jouer,
vous pouvez voir si je joue maintenant, rien ne se passera car nous n'avons pas utilisé le
plan d'animation dans le lecteur Passons à la base de joueurs. Accédez au Viewpo, cliquez sur
le joueur ou sur le maillage. Ici, vous
pouvez voir le mode animation. Utilisez un plan d'animation,
c'est correct. La clause d'animation,
nous devons sélectionner notre plan et cliquer sur Compiler Et maintenant, vous pouvez voir que le joueur est également animé ici dans
le Viewpoard Cliquons sur Play,
et essayons-le. Si je clique sur W pour avancer, pour reculer, je
me déplace également sur les côtés. Je passe à tous
les autres sites. Vous pouvez voir qu'il
fonctionne correctement. Génial Les animations que nous avons branchées
fonctionnent correctement. Maintenant, en ce
qui concerne la vitesse de déplacement, nous allons la modifier nous allons la modifier plus tard, alors
ne vous inquiétez pas. Je peux également constater
que le joueur est en fait très petit
par rapport à l'environnement. Nous devons donc également régler ce problème. Mais ne nous en
inquiétons pas pour le moment. Tout fonctionne correctement. Passons
à la leçon suivante
et créons l' accroupissement
29. 3.18 Entrée Crouch multijoueur: Créons maintenant
l'entrée pour l' accroupissement dans le dossier
du lecteur Je vais aller dans
le dossier de saisie. Encore une fois, cliquez avec le bouton droit de la souris, accédez à Input et créez
cette action de saisie. Encore une fois, appelons
celui-ci accroupi. Ouvrons maintenant notre contexte de
mappage d'entrée ici. Ajoutons ce nouveau mappage. Maintenant, nous l'avons déjà fait. Je vais aller un
peu plus vite, créant
cette fois cette position accroupie. Pour m'accroupir, je
vais cliquer ici et utiliser mon bouton de commande gauche Maintenant, vous pouvez choisir
le bouton de votre choix
pour les déclencheurs, je vais
cliquer sur le signe plus ici. Et je veux juste que
cette action d'accroupissement se déclenche chaque fois que
j'appuie sur le bouton. Parce que si vous ne l'
ajoutez pas en appuyant ici, cela fonctionnera très
rapidement plusieurs fois par seconde. Tout comme le mouvement ici, si vous n'ajoutez aucun déclencheur, il fonctionnera simplement en continu. Cependant, cela ne se
déclenchera qu'une seule fois
lorsque vous appuierez dessus. Et cela ne fait que rendre
le code plus optimisé. Non seulement il est pressé,
mais je souhaite également cliquer ici et sélectionner Release. Parce que je veux m'accroupir
lorsque je relâche mon bouton,
qu'il soit enfoncé ou relâché OK, allons-y et sauvegardons ça maintenant. Fermons-le. Revenons-en maintenant
au joueur. Et à l'intérieur du lecteur, ouvrons la base de joueurs. Encore une fois, cliquez avec le bouton droit de la souris, recherchez IA crouch
ou quel que soit le nom que vous voulez donner à l'action de saisie.
Sélectionnez l'événement ici. Maintenant, dans
la valeur de l'action, vous devez faire glisser le pointeur
d'ici, écrire une branche et la connecter
au déclencheur. Le vrai jeu se jouera chaque fois que vous appuierez sur le bouton. Si je fais simplement glisser le pointeur d'
ici et que j'écris une chaîne d'impression et que j'écris
simplement enfoncée. Maintenant, il est toujours agréable d'ajouter des chaînes
d'impression si vous
déboguez le code Si vous avez une époque dans votre code, est très, très bien de simplement
écrire des chaînes d'impression sur
tout le code, par exemple en
les
insérant ici au milieu du code, voir si elles fonctionnent, etc. C'est toujours agréable de débugger à l'
aide de chaînes d'impression. Nous pouvons maintenant déboguer la Syrie
et voir si cela fonctionne. Si j'appuie dessus, il
doit être écrit « pressé ». Si je le publie, il
devrait simplement indiquer « publié ». Si je compile, maintenant,
si je clique sur Play, si je clique sur Control, juste une fois, et si je lâche prise, que c'est sorti. Vous pouvez consulter le
communiqué de presse. Communiqué de presse OK. Maintenant, cela
fonctionne correctement. Nous pouvons donc les supprimer pour le moment, et nous pouvons passer
à la leçon suivante.
30. 3.19 Fonction d'accroupi multijoueur: Très bien, alors allons-y
et accroupissons-nous. Maintenant, pour vous accroupir, vous devez cliquer sur le composant de
mouvement du personnage Tout d'abord, recherchez simplement accroupi et vous devez cliquer sur
celui-ci appelé can crouch Si ce n'est pas coché, vous ne pouvez pas vraiment vous accroupir
et rien ne se passera N'oubliez pas d'accéder au composant de
mouvement du personnage, de rechercher accroupi et de
sélectionner celui-ci, accroupi OK, maintenant cliquons
à nouveau sur ce T. Maintenant, pour ce qui est de l'
accroupissement, nous pouvons simplement faire glisser
le pointeur ici
et dire accroupissement Cela fonctionnera parfaitement
pour un seul joueur. Cependant, nous travaillons
avec le mode multijoueur, nous devons
donc le faire fonctionner
via un serveur. Maintenant, dans Honorable Engine, vous avez ce qu'on appelle un
client et un serveur. Si vous cliquez ici et que vous définissez le nombre ou le nombre
de joueurs sur deux, et en mode Ith,
vous le configurez pour qu'il joue
en tant que serveur d'écoute. Si vous cliquez sur jouer ici, vous pouvez voir que deux fenêtres s'
ouvriront et que nous
travaillons maintenant avec le mode multijoueur. Maintenant, dans Honorable Engine, vous avez le serveur et
le client. Maintenant, le serveur est le vrai
jeu. Et qu'est-ce que cela signifie ? Le serveur a l'
autorité du jeu. Cela signifie que le serveur peut faire ce qu'
il veut. Par exemple, disons que
dans le jeu de tir à multiplicateur, j'ai un pistolet et que je tire mes
balles sur ce client Maintenant, sur le client, je peux tirer sur les taches,
je peux toucher le client Cependant, le client,
lorsque je tire l'arme avec le
client, est maintenant sur le serveur. Ce code pour
tirer avec l'arme. Cela va passer par
le serveur, puis le serveur va renvoyer ces informations au
client et lui dire, d'
accord, vous êtes autorisé à tirer. Pourquoi fait-il cela ? Et c' est en fait pour empêcher la triche. Maintenant, le serveur, encore une fois,
est le vrai jeu. Cela signifie que tous les clients ici sont connectés
au serveur. Le serveur peut voir le jeu
tel qu'il est, par exemple, où se tiennent les joueurs, ce qu'ils tirent, quelles
armes ils tiennent. Cependant, pour les clients, nous devons en fait leur envoyer toutes
ces informations, du serveur au client. Par exemple, si quelqu'
un pille une arme, disons que nous avons
plusieurs clients Et recouvrons cet
argent plus tard. Mais disons que nous avons, par
exemple, quatre joueurs. Et on clique sur Play. Et ils s'ouvrent tous
sur mon deuxième écran. Alors laisse-moi juste le
glisser ici. Maintenant, disons que
je suis ici, le serveur, et que tous ces
clients jouent avec moi. Disons que ce client ici en face de moi va
piller une arme Maintenant, l'arme que ce
client va piller, je dois envoyer cette information Par exemple, si vous
pillez un AK ou un pistolet, utilisez Agle par exemple Je dois envoyer ces informations depuis le serveur à
tous les clients. Parce que si vous n'envoyez pas les informations,
seul le serveur peut
voir que vous avez pillé un deagle et les autres clients ne peuvent pas voir que vous
détenez un Si vous n'envoyez pas
ces informations
des serveurs aux
clients, cela ne fonctionnera pas. C'est pourquoi nous disons que le
serveur est le vrai jeu, il a l'autorité du jeu et que toutes les informations sont contenues ici sur le serveur. Et le serveur doit
envoyer des informations importantes
aux clients. Par exemple, si l'un des
clients tire une balle, ce client va dire : « Je vais tirer une balle ». Et il va envoyer ces
informations au serveur. Maintenant, le serveur
va vérifier si ce client
possède
réellement des puces ? Parce que nous essayons d'
empêcher la triche. Il va renvoyer ces
informations au serveur. Le serveur va vérifier, est-ce que ce client possède des puces ? Ensuite, le service va peut-être
dire,
oui, ce client a
vraiment des balles Ensuite, il renverra
ces informations
au client, puis il dira, d'accord,
vous pouvez tirer. Maintenant, vous avez des balles
et le client peut tirer. C'est ainsi que nous procédons ici dans la relation client-serveur, le serveur dispose de toutes les
informations et le client
reçoit et envoie simplement des informations
afin d' empêcher la triche Bien, cette
séance de groupe est terminée. Vous pouvez voir qu'ils discutent
en groupe,
arrêtons-nous d'ici. Nous avons maintenant cette ère
ici, très, très simple. C'est juste dire d'accéder, sans essayer de lire ceci, d'
obtenir le sous-système de lecteur local Et c'est en fait là-haut.
Si vous cliquez simplement ici, vous arrivez ici, il est
simplement indiqué que l'axe est nul. En essayant de lire cette
propriété ici, la seule chose que nous devons
faire est de simplement la faire glisser depuis celle-ci et de dire si elle est valide. Et allez-y, associez
celui-ci au point d'interrogation. Nous nous assurons simplement que
le contrôle du joueur est valide. Et s'il est valide, nous pouvons
continuer et exécuter ce code. L'époque à laquelle vous arrivez ici est due au fait qu'il
essaie d'exécuter le code. Lorsque le contrôle du lecteur n'
est pas encore valide, vous recevrez un message d'erreur
indiquant « aucun accès ». Ce que signifie axis none, c'
est qu'il essaie lire la variable que
vous essayez d'exécuter. Cependant, accès, cette
variable est vide. Je ne vois pas de quoi
tu parles. Fermons-le.
Jouons à nouveau. Vous pouvez voir si je joue juste ici et que ce type est tombé
par terre, parce qu'ils apparaissent tous les uns
sur les autres Et vous pouvez voir que cette époque est révolue. Bien, allons-y
avant que la vidéo
ne soit trop longue. Allons ici dans
le code accroupi. Ici, dans le code crouch, je veux d'
abord
créer une fonction Créons une fonction ici. Si vous cliquez sur le bouton
plus cette fonction, je l'appellerai accroupi J'écris généralement devant le nom de mes fonctions
afin de pouvoir les
rechercher plus tard très rapidement. Là-haut. Si je les ajoute également ici, je peux
voir qu'il s'agit d'un. Si je passe à nouveau au graphique des
événements, je peux faire glisser cette fonction ici et en supprimer deux. Connectez l'un au vrai et
connectez l'autre au faux. Ce que nous voulons faire, c'est ajouter un lingot. C'est parce que nous voulons nous accroupir ici et nous
voulons nous accroupir Je vais cliquer sur cette
fonction dans les entrées, je vais cliquer
sur le signe plus et ajouter ce lingot appelé u. Comme vous pouvez le voir, vous pouvez
ajouter un B devant les variables d' investissement et elles n'
apparaîtront pas Cela se fait généralement
en C plus plus. Vous pourrez
les rechercher plus facilement ultérieurement. L'écriture d'un B ne sera pas affichée dans le nom si
vous faites cela pour les bullins Maintenant, pour ce qui est de l'accroupissement, je
vais cocher celle-ci. Je veux donc m'accroupir ici
lorsque j'essaie de m'accroupir avec mon bouton de commande et lorsque je relâche le bouton que
je veux relâcher,
cela est dit faux cela est Maintenant, si nous passons à
cette fonction d'accroupissement, cela va peut-être devenir
un peu difficile Et vous devez vous
entraîner un
peu à l'intérieur de cette fonction. Nous pouvons maintenant
cliquer avec le bouton droit sur ce crouch et je vais simplement le
promouvoir en
tant que variable locale et l'appeler
Crouch Maintenant, ce qu'est une variable locale, elle est simplement
contenue dans cette fonction. Vous voyez si je vais sur
le graphique des événements, cette fonction ou cette
variable n'est pas là. Et si je reviens
à la fonction, vous pouvez voir que j'ai la
variable locale, Crouch local Cette variable n'est
en fait utilisée qu' à l'intérieur d'ici et
elle n'est pas utilisée à l'extérieur. Maintenant, avant de faire quoi que ce soit, je voudrais faire traîner les choses à partir de là et
dire que Switch a autorité. Ce commutateur a autorité. Vous pouvez voir qu'il possède
deux épingles d'exécution. Le premier est l'autorité et l'autre la télécommande. Souvenez-vous que je vous ai dit que le
serveur avait l'autorité. L'autorité signifie simplement que c'est le serveur
qui exécute le code. Remote signifie que c'est le client
qui exécute le code. Comme je vous l'ai déjà dit,
le client doit
exécuter le code via
le serveur et vérifier si ce qu'il
fait est légal avant nous puissions transmettre le code au serveur pour empêcher
la triche Mais pour l'instant,
faisons-le via le serveur. Le serveur peut simplement exécuter le code
sans aucun problème, car le serveur a l'
autorité sur le jeu. Donc, ce que nous voulons
faire, c'est
vérifier ici si c'
est vrai ou faux, parce que nous l'avons défini ici
sur vrai ou faux. Et ce lingot
définira cette variable ici. Je vais donc prendre
cette variable
locale faire glisser d'ici et écrire une branche, demander si c'est vrai ou faux et la connecter
à l'autorité ici. Maintenant, vous pouvez soit le faire de cette façon, soit vous pouvez le faire de cette façon. C'est très bien. Même chose. Je veux juste rester un
peu plus organisée. Je le connecte donc de cette façon. Si l'accroupissement est réglé sur true, je veux m'accroupir comme ça Si ce n'est pas vrai,
je veux m'accroupir. Recherchez Crouch
comme ça. Très facile. Je vais également
créer des variables que j' utiliserai plus tard dans le plan
d'animation Créez une nouvelle variable ici, un nouveau lingot appelé crouch Ensuite, vous pouvez prendre celui-ci, faire glisser d'
ici et le régler sur true. Faites-le glisser ici et
réglez-le en erreur. Nous allons l'utiliser plus tard dans le plan
d'animation, afin de pouvoir changer d'animation Le serveur est maintenant terminé. Vous pouvez voir si je
clique sur jouer maintenant, je joue en tant que serveur et je cours ici. Je clique sur le bouton de contrôle. Vous pouvez voir que la vitesse de déplacement diminue. En fait, vous êtes accroupi. Cependant, l'animation n'
étant pas encore branchée, vous
ne pouvez pas voir l'animation
accroupie Maintenant, cela fonctionne réellement. Maintenant, pour le client,
ce que nous devons faire, d'abord exécuter ce code sur le serveur pour est d'abord exécuter ce code
sur le serveur pour
vérifier si le joueur triche ou non Revenons au graphique
des événements. Cliquez avec le bouton droit de la souris et
recherchez un événement personnalisé. Créons un événement personnalisé. Appelons celui-ci
SRV pour serveur. Et je l'appellerai accroupi. Parce que maintenant je veux le
faire passer par le serveur. À l'intérieur de cet événement,
cliquons dessus. Et maintenant, vous pouvez voir des répliques. Ce que vous devez faire est de cliquer ici, de l'exécuter sur le serveur, puis de cliquer sur Fiable. Nous organisons maintenant cet événement
ici via le serveur. Reprenons cette position accroupie et connectons-la
simplement Et associez ce
harcèlement à ici. Et il
créera automatiquement cette variable
à l'intérieur de cet événement. Maintenant, nous sommes en train de le
faire passer par le serveur. Ce que nous devons faire, c'est
revenir à la fonction ici
depuis la télécommande. Nous devons
partir de là et
rechercher l'
événement d'accroupissement du serveur que nous venons Maintenant, pour cette entrée, il suffit de la connecter ici, créer un nœud de route arrière juste
pour rester un peu organisé. Maintenant, il passe
par le serveur. Une fois qu'il a été exécuté sur le serveur, il peut désormais exécuter ce code
avec le serveur. OK, c'était ça. Nous pouvons maintenant compiler, et
cela devrait très bien fonctionner. Si je clique sur jouer, je
suis maintenant le serveur et je
clique sur le contrôle. Vous pouvez voir que je suis accroupi,
je me déplace lentement. Même chose pour le client. Je peux me déplacer et je peux
cliquer sur le bouton de contrôle. Et moi aussi, je bouge lentement. Comme vous pouvez le voir sur le serveur, je
me déplace également lentement. Cela signifie qu'il
fonctionne correctement. Les deux travaillent lentement. Juste pour le parcourir
très, très rapidement, cela peut être un peu
confus au départ. Nous avons créé cette fonction d'accroupissement Nous avons ajouté le lingot
pour qu'il soit accroupi ou
accroupi lorsque nous appuyons sur le
bouton ou que nous le relâchons Dans cette fonction, nous n'avons essentiellement
que le lingot qui définit
cette variable locale Ensuite, nous avons le commutateur,
l'autorité vérifie si c'est le serveur sur lequel nous
jouons actuellement à As ou le client, si c'est le serveur, vous pouvez simplement exécuter le code. Maintenant, si tu es accroupi, nous allons nous accroupir Si vous n'êtes pas accroupi, nous allons nous accroupir en
fonction de la valeur que vous
avez définie ici. Maintenant, si vous jouez en tant que client, vous devez d'abord passer par le
serveur et vérifier auprès du serveur quelle est
la valeur que vous avez ici. Il va donc passer
par le serveur. En fonction de la valeur
que vous avez branchée, il va prendre
cette valeur et s'
accroupir ou s'accroupir
également sur le client
31. Plan d'animation accroupi 3.20: Maintenant que le personnage accroupi fonctionne dans le
plan, allons-y et
faisons-le dans le plan
d'animation Passons au dossier
Blueprints, animations
du lecteur com Passons maintenant au plan
d'animation. Maintenant, à l'intérieur d'ici, vous pouvez revenir au graphique
d'animation ici. Vous pouvez cliquer sur
votre machine à états. À l'intérieur d'ici, nous
devons créer un nouvel État. Faisons grève à partir d'
ici et à droite. Ou cliquez sur cet État ici. Accroupissons-nous à droite Maintenant nous allons nous
accroupir Tu n'es pas
obligée de venir ici. Vous pouvez également simplement le faire glisser
ici sur le côté ou vers le haut. J'aimerais juste le faire
glisser ici. Pour l'accroupissement. J' imagine juste que je suis accroupi,
en train de descendre ici. Ensuite, nous pouvons double-cliquer sur cet état
accroupi vers la droite Nous l'avons fait accroupir sans arme. Nous pouvons faire glisser cet espace de lentille dans le graphique, puis
nous pouvons le connecter. N'oubliez pas que nous avons déjà défini
la
direction et la vitesse du mouvement, nous pouvons
donc les faire glisser et les
connecter ici. Alors compilons.
Nous recevons maintenant une erreur ou un avertissement car nous n'
avons pas effectué la transition. Revenons ici dans
le graphique d'animation, vous pouvez revenir à
votre machine à états. Et à l'intérieur d'ici, vous
voyez maintenant ce cercle. Et ce cercle est
une règle de transition. Tu dois raconter ton jeu. Quand souhaitez-vous passer du veille
au mode accroupi Vous devez
lui donner une transition. Maintenant, si vous double-cliquez dessus ici, vous pouvez voir qu'il
s'agit de la transition, le lingot. Nous devons donc lui
donner une transition Et pour ce faire, vous devez d'
abord accéder au graphique
des événements et créer du code avant de pouvoir
lui donner une transition. Il faut savoir quand
le joueur est accroupi. Maintenant, si vous revenez dans
notre base de joueurs, vous revenez ici dans
notre fonction accroupi Si vous ne cliquez pas ici. Nous avons
créé celui-ci appelé Crouch. Ce lingot, n'
oubliez pas que ce n'est pas le local que nous avons fabriqué C'est cette
variable haussière globale que nous avons créée. Nous pouvons utiliser celui-ci pour savoir
si le joueur est accroupi ou non et nous pouvons l'utiliser ici dans le plan d'
animation Nous devons d'abord obtenir la
référence au joueur. le moment, il s'agit d'un pion de joueur, mais nous avons besoin d'une référence
à la base de joueurs ,
car nous devons maintenant
utiliser ce lingot Revenons ici et revenons
au dossier Interfaces. Cliquez avec le bouton droit sur Blueprint et créons une nouvelle interface
Blueprint Appelons
celui-ci dans la base de couches parce que nous voulons faire référence
à la base de joueurs. Ouvrons-le. Et ici, dans cette interface de
plan, comme pour la manette du
joueur, si vous ne vous en souvenez pas, vous pouvez continuer à regarder
l'interface de la manette du joueur Quand nous sommes arrivés ici, c'est
en fait la même chose. Vous pouvez cliquer ici,
cliquer sur deux pour changer le nom et dire get player pour
obtenir la référence du joueur. Vous pouvez également simplement l'appeler get
get player base reference. C'est pareil.
Ensuite, vous pouvez cliquer sur cette fonction
ici dans la sortie. Allez-y et créez
une nouvelle variable. N'oubliez pas qu'ici, vous
devez sélectionner Eva à laquelle vous
essayez de faire référence. Nous essayons de faire référence
à la base de joueurs de BP. Allez-y, sélectionnez-le.
Laisse-moi juste appeler ça un joueur. Je peux compiler maintenant. Et en allant à la base de joueurs. Pour accéder à la classe,
en fait dans les valeurs par défaut de
la classe, les paramètres de classe se en fait dans les valeurs par défaut de
la classe, trouvent ici, dans les interfaces, cliquez sur Ajouter et recherchez la base de joueurs
T. Celui-ci se compile et vous
verrez cette interface. N'oubliez pas que si vous ne le voyez pas, même si vous l'avez ajouté, vous devez le compiler dans l' interface
avant
de pouvoir le voir. Il est très important de cliquer sur
le bouton Obtenir la référence du joueur. Et ici, nous pouvons à nouveau faire glisser et écrire « self » comme avant. Parce que n'oubliez pas que nous faisons
partie de la base de joueurs. Nous disons simplement
que cette variable correspond à cette base de joueurs. Maintenant, nous pouvons aller au.
Compilons d'abord. Nous pouvons maintenant passer au plan
d'animation. Et ici, nous
avons déjà le pion du joueur. Au lieu de simplement
faire glisser le pointeur d'ici, permettez-moi de créer
une nouvelle variable Je vais juste le faire
glisser ici placer
et cliquer sur Obtenir. Et je vais juste l'utiliser ici au lieu de le
faire glisser d'ici Je pense que cela aura l'air un peu désordonné lorsque les lignes seront
au-dessus de tout le code Permettez-moi de le prendre ici comme
un nouveau et de dire layer ref. Nous avons maintenant ce get player ref. Allons-y et connectons-le. Nous pouvons maintenant utiliser la variable. Maintenant, si vous faites glisser le pointeur d'
ici et accroupissez-vous vers la droite. En fait, c'est un petit truc que
je veux te montrer. Si vous avez raison
et que vous
souhaitez utiliser la variable bullion, les variables
se trouvent toujours ici. Vous pouvez voir que c'est la variable d'
accroupissement dont nous avons besoin. Cependant, si vous ne le voyez pas, vous pouvez toujours créer
un espace et écrire variable VAR pour variable et vous pourrez
voir toutes les variables. Juste une petite astuce
pour le retrouver rapidement. Obtenir cette
variable d'accroupissement que nous avons créée. Je peux maintenant cliquer avec le bouton droit sur
cette variable promue en variable à l'intérieur du plan d'animation Et je vais juste l'appeler, il est accroupi comme ça Ou vous pouvez simplement appeler
accroupi de la même manière. Allez-y, connectez-le
et cliquez sur Compiler. OK, maintenant nous nous
accroupissons. Nous en prenons la
valeur ici dans la base de joueurs. Donc, si c'est vrai ou faux, nous prenons cette valeur et
la mettons dans cette variable. Nous pouvons maintenant utiliser cette variable
pour la règle de transition. Si je reviens au graphe
d'animation, à ma machine à états et
à cette règle de transition, vous pouvez continuer
et cliquer dessus. Maintenant, il
vous demande, quand dois-je passer de la
course inactive à la position accroupie ? Et on peut le faire glisser d'ici
et le brancher ici. Lorsque nous sommes accroupis,
c'est vrai, alors nous voulons aller de l'
avant et faire Cependant, revenons en arrière. Nous devons cliquer dessus
et faire glisser le pointeur à partir d'ici. Et branchez-le ici également. Parce qu'à
un moment donné, nous devons passer de l'accroupi au mode veille, en cliquant sur la
deuxième règle de transition C'est revenir
de la position accroupie à la course. Je vais le faire glisser
et ici nous pouvons écrire N B et
celui-ci appelé N lingot En gros, ce que nous voulons dire
, c'est que si l'accroupissement est faux, nous voulons revenir mode course parce que
nous ne sommes plus accroupis Ce sera faux
si les evalu ne sont pas accroupis, car nous l'avons configuré
ici pour qu'il tombe dans
la base de joueurs Allons-y et
compilons. Et maintenant, vous pouvez voir que toutes les erreurs ont disparu. Voyons maintenant s'il nous
manque quelque chose. Ici, nous avons tout intégré dans la
direction et la vitesse du mouvement Essayons-le en
fait. Cliquons sur Play. Et je vais cliquer sur, en fait je suis bloqué
ici en tant que joueur. Permettez-moi de cliquer à
nouveau sur Play. Maintenant je marche. En tant que joueur, je vais garder le contrôle
pour m'accroupir. Et vous pouvez voir que je suis
accroupi. Cela fonctionne. Mais vous pouvez voir sur
mes autres écrans ne
suis pas accroupi. Cela s'explique par le fait que nous
travaillons désormais en mode multiplicateur. Vous pouvez voir que je suis
accroupi en tant que serveur, les autres ne le
voient pas. Je suis accroupi. Cependant, si je prends ce
client ici et que je m'accroupis, vous pouvez voir que le
serveur peut voir que je suis accroupi comme ça si
je suis accroupi en tant que client, mais si je suis accroupi en tant que
serveur, je suis accroupi Cependant, les clients ne peuvent pas
voir que je suis accroupi. Et n'oubliez pas que dans la leçon
précédente, je
vous ai dit que nous travaillions
en multijoueur. Et le serveur doit renvoyer les informations au
client et lui dire,
hé, je suis accroupi maintenant, de
mettre à jour mon animation Le serveur doit envoyer ces informations, sinon
il ne pourra pas voir ce que je fais. C'est ce que nous
allons faire dans la prochaine leçon avec la
variable réplication.
32. 3.21 Réplication variable: C'est vrai. Allons-y
et réparons la position accroupie. Avant
cela, je vais
cliquer ici et
sélectionner deux joueurs. Parce que je ne veux pas charger trop de joueurs tout le temps. Si je clique sur Play, vous pouvez
voir ici comme avant, si je suis accroupi sur le serveur,
le client ne peut pas voir Je suis accroupi, je, je suis
accroupi sur le client. Le serveur peut voir sur
le serveur lui-même
que je suis accroupi. N'oubliez pas, comme avant,
que nous devons envoyer des informations
au client et lui dire que je suis accroupi en ce moment C'est très facile à faire. Donc, si vous vous rendez dans une base de
joueurs accroupie, c'est essentiellement ce qui
ne va pas dans le plan
d'animation en ce moment Si nous revenons aux règles de
transition, ces règles de transition sont tirées de ces lingots. Ce lingot contrôle si nous
sommes accroupis ou non ici La variable, ces
informations à l'intérieur d'ici, doivent être envoyées au client Si vous cliquez dessus, vous pouvez voir les variables peuvent également être
répliquées, pas seulement les événements,
vous pouvez voir l'événement Nous l'avons déjà répliqué
pour l'exécuter sur le serveur, mais les variables peuvent
également être répliquées Si vous cliquez sur cette variable, vous pouvez voir que la réplication est définie
ici sur none. Mais nous devons envoyer ces
informations au client. Le client dispose également des
informations si nous sommes accroupis ou non en cliquant ici et en les configurant
pour les reproduire Et il y aura le symbole ici parce qu'il est reproduit. Maintenant, je peux cliquer sur Compiler. Maintenant, il est très important de savoir que les variables ne peuvent être
répliquées que via le serveur Vous ne pouvez jamais prendre
de variable ici. Par exemple, si je suis sur le client ici
et
que je le colle comme ça, vous ne pourrez jamais le faire. Il ne peut pas être répliqué
via le client, variables ne peuvent être
répliquées que sur le serveur Il est très important de se rappeler
que vous ne pouvez pas définir une variable et la répliquer
via le client, n'arrivera jamais Ici, vous pouvez voir qu'
il fonctionne via le serveur parce que nous
avons l'autorité. Il
traverse le serveur et se réplique
aussi bien que la télécommande Il fonctionne en fait
sur le serveur parce qu'il passe d'abord
par le serveur, puis nous
répliquons cette variable C'était donc en fait la seule
chose que nous devions faire, suffisait de cliquer dessus et de le
configurer pour le reproduire Maintenant, si nous pouvions nous plaindre, comme vous pouvez le voir, je suis le serveur. Maintenant, si je le
maximise un peu. Vous pouvez donc voir que si je suis
accroupi en tant que serveur, je suis maintenant accroupi à
la fois sur le client et sur le Et si je suis le client
et que je suis accroupi également, je suis accroupi sur le
client et sur le serveur Parfois, il est également
agréable de cliquer ici, passer en mode Net et de
jouer en tant que deux clients. Alors vas-y et joue. C'est toujours agréable de le
tester dans les deux sens. Donc en tant que serveur et client, mais aussi en tant que
client et client pour voir s'ils peuvent
réellement se voir. Si je m'accroupis sur le client, l'autre client
peut également me voir Cela fonctionne et revenons en
arrière et changeons-le pour
jouer en tant que serveur d'écoute. Pour l'instant, allons-y sauvegardons tout et
passons à la leçon suivante.
33. 3.22 Lissage de l'animation: Quand je joue au
jeu, vous pouvez voir que mon animation n'
est pas vraiment fluide. Donc, si je me promène, vous pouvez voir les transitions très rapidement comme lorsque je m'accroupis
ici, cela se produit tout simplement Tout d'un coup, je
peux vraiment atténuer un peu les choses
et leur donner une belle apparence. Et ce n'est en fait qu'un seul
ajustement que nous devons faire. Si vous allez dans le lecteur et que vous
cliquez sur les animations. Et vous cliquez, par exemple, sur ce blend space run. Vous avez celui-ci
ici qui s'appelle Weight Speed. Si vous le mettez sur
quelque chose de très bas, comme un, par exemple. Et tu peux cliquer sur jouer et
tu peux voir ce qui se passe. Vous pouvez voir si je commence à
marcher ou à courir, vous pouvez voir la transition
vers cette animation de course à pied. Si je m'arrête, ça passe d'une course
à l'autre, ça fait une transition. Vous pouvez voir maintenant que c'est très
fluide lorsque je cours et que je m'arrête. Nous devons donc le mettre à un
chiffre qui semble bon, sans trop lisser Si vous augmentez ce nombre, ce sera moins fluide. Habituellement, quelque chose autour de
56 est vraiment bon. Cinq en ce moment, c'est
beaucoup mieux qu'avant. Si vous le mettez à
quelque chose comme trois, cette vitesse de poids,
mettons-le à trois et cliquons sur jouer. Parfois, je n'aime pas trop le souligner parce que le personnage se sent
lourd quand je me promène. Mais vous pouvez constater que la
transition est aujourd'hui bien
plus importante qu'auparavant Je pense que trois c'est bien trop bas. Nous pouvons donc en essayer
quatre et cliquer sur jouer. Ensuite, nous pourrons courir
et voir ce qui se passe. Quatre, c'est encore trop lourd. Je pense que cinq était un bon chiffre. Ou pour le lisser
, si vous vous contentez de
courir comme ça, ça a l'air Peut-être même 5,5 je n'aime pas que
ce soit trop bas ici, 5,5 je n'aime pas que le personnage
soit trop lourd. Faisons-le avec
les autres. Cliquons sur l'accroupissement, mettons la vitesse du poids à
5,5 et cliquons sur la marche, mettons également la vitesse du poids
à 5,5 Allons-y et
cliquons sur Fichier et Enregistrer tout. Cliquons sur Play. Et vous pouvez voir maintenant
que je cours ou que je suis accroupi, tout
se lisse En fait, vous pouvez voir beaucoup plus
la
différence lorsque vous êtes accroupi Je pense que si je répétais le fait de
s'accroupir à zéro. Et si je clique sur Play, vous pouvez voir
les transitions très rapides. Quand je suis accroupi,
c'est presque anormal. Si je le mets sur 5.5, que je
sauvegarde et que je clique sur jouer. Maintenant, quand je m'accroupis et que je fais ça, vous pouvez voir que c'est beaucoup
plus fluide qu'avant Cela ne semble pas anormal. Juste un tout petit
ajustement qui peut
améliorer considérablement l'apparence de vos animations considérablement l'apparence de vos animations lorsque vous les
lissez.
34. 3.23 Promenade multijoueur: Nous sommes maintenant prêts
à marcher. Maintenant, marcher est la
même chose que s'accroupir. Si nous revenons au joueur
et à la base de joueurs, c'est en fait le même processus que celui que nous avons fait
ici avec le accroupi Essaie de le faire seul si tu peux, et essaie de voir jusqu'où
tu peux aller sans mon aide. C'est un très bel exercice si vous voulez continuer avec moi, allons-y et continuons. Je vais procéder à la
saisie et en créer une nouvelle. Passons à Input et
cliquez sur Input Action. Appelons celui-ci. Je marche. Et allons-y
à l'intérieur d'ici. À l'intérieur, on n'a pas
vraiment besoin de faire quoi que ce soit. Passons au
contexte de mappage des entrées ici. Cliquons sur le signe plus et
ajoutons-le ici en tant que promenade. Pour marcher, je
vais maintenir la touche Shift enfoncée, cliquer sur celle-ci, cliquer sur
Shift sur mon clavier. En ce qui concerne les déclencheurs, je
vais cliquer ici, deux avantages, et le premier est enfoncé et le
second est relâché Ce bouton se déclenche
chaque fois que j'appuie dessus pour marcher et chaque fois que je
le relâche pour arrêter de marcher. Maintenant, allons-y
et économisons ici. Et revenons à la base de
joueurs ici. Je vais écrire,
cliquer et écrire une promenade et sélectionner une action de saisie nouvellement
créée. Maintenant,
comme avant, sortons de ce
lingot et écrivons une branche à partir du vrai Nous allons marcher parce que c' est à
ce moment-là que nous
avons appuyé sur Shift. Lorsque nous relâcherons le shift, nous arrêterons de marcher
ici à partir du faux. Créons une nouvelle fonction
comme avant. Je vais appeler ça une promenade. Revenons au graphique
des événements. Je vais faire glisser cette promenade ici et la relier ici.
Et faites-le glisser à nouveau. Et connectez-le ici. Encore une fois, comme avant, nous avons besoin d'un lingot pour
marcher ou arrêter de marcher Je vais compiler
et cliquer sur l'entrée et appeler
celle-ci B walk Maintenant, pour ce lingot,
je vais le
régler sur vrai quand
je veux marcher, et je vais le régler sur le fait qu'il
tombe quand j'arrête de marcher Maintenant, comme avant,
je veux le
faire passer par le serveur
lorsque je suis le client. Je vais donc cliquer avec le bouton droit de
la souris ici, disons Server Walk. Et n'oubliez pas de configurer les répliques pour qu'elles s'exécutent
sur le serveur et soient fiables Maintenant, allons-y et
faisons cette promenade connectée, et prenons cette entrée pour le lingot et ajoutons-la l'événement pour qu'il crée
automatiquement
cette variable ici OK, la majorité est terminée. Passons à la
fonction de marche à l'intérieur d'ici. Faisons un clic droit sur celui-ci et faisons-en une variable
locale. Et celui-ci, nous pouvons l'
appeler Walk Local. Allez-y, faites glisser le pointeur à partir d'ici
et dites que Switch a autorité. Maintenant, comme avant, nous voulons d'abord exécuter le code
via le serveur. Si nous sommes le client, glissez d'
ici et dites « Server Walk », celui que nous venons de créer, et maintenant nous le faisons d'abord
passer par le serveur. N'oubliez pas de le prendre et de le
connecter au Walk,
double-cliquez pour faire un
nœud rond et rendre un peu
plus organisé. Maintenant, prenons cette variable de marche
locale et déposons-la ici. D'ici, à droite, une succursale
et laissez-nous la connecter. Parce que nous devons nous demander si
c'est vrai ou faux ? Parce que si c'est vrai,
nous voulons marcher. S'il s'agit de chutes, nous
voulons arrêter de marcher. Nous voulons peut-être commencer à courir. Allez-y et connectez tout ce dont il a besoin pour ressembler à ceci. À partir de là, ce que nous voulons faire,
c'est que vous pouvez voir dans la
composante de mouvement du personnage que nous avons ce qu'on appelle
la vitesse de marche maximale. C'est la
même chose que courir. Je ne sais pas pourquoi on l'
appelle vitesse de marche, mais c'est aussi la vitesse de
course pour celui-ci. C'est ce que nous
voulons ajuster lorsque nous voulons marcher et ne pas marcher. Ce que nous devons faire, c'est prendre cette
composante de mouvement du personnage et partir de là et dire définir la vitesse de marche maximale. C'est ce que nous voulons ajuster. Nous voulons le connecter ici. Bien sûr, il n'est pas
vraiment nécessaire qu'il soit élevé. Si vous passez à la composante de
mouvement du personnage en ce moment, la vitesse de course est de 600. Lorsque nous voulons marcher, nous devons le réduire à un nombre inférieur. En fait, je peux simplement cliquer avec
le bouton droit sur celui-ci, le
promouvoir en variable. Je vais juste appeler
ça une vitesse de marche. Je n'aime pas avoir de tels chiffres
statiques. Compilons et cliquons sur cette variable de vitesse de marche et
définissons-la sur quelque chose comme, définissons-la simplement sur 100
ou simplement 200 pour le
moment, un nombre aléatoire. Nous allons le changer plus tard lorsque nous
ne marcherons plus. Allons-y, collons-le ici. Promutons-en à
nouveau en variable et appelons-la, par
exemple, une vitesse de course. Va le poser ici et
relie-le aux chutes. Lorsque nous ne
marcherons plus, nous allons
rétablir notre vitesse de course. Et cliquez sur la vitesse de course. N'oubliez pas de définir
la valeur par défaut. Allez-y et compilez Tout d'abord, il vous
demande de compiler
le plan Allez-y, compilez et réglez-le sur 600, comme par défaut. Et maintenant, nous courons à nouveau. Maintenant, comme avant,
j'ai besoin d'un lingot à utiliser dans mon plan
d'animation Je vais fabriquer un nouveau
lingot ici, Bullet Walk. Maintenant, je peux prendre ce pull in et le régler sur true
lorsque je marche. Et je le copie/colle ici. Et mets-le sur false
quand je ne marche pas. N'oubliez pas que cela doit être répliqué afin que le client
sache si c'est vrai ou faux pour que le
plan d'animation puisse être
poursuivi et configurez-le pour le
répliquer également Cela étant terminé,
nous avons terminé et nous devons passer
au plan d'animation Mais
essayons-le. Cliquons sur jouer. Et si je clique sur Shift, tu peux voir que je marche maintenant. Je marche lentement. L'animation que nous devons
corriger dans la leçon suivante. Mais comme vous pouvez le constater, si
je relâche ma marche, je peux courir à nouveau. C'est très, très cool. Allons-y et faisons
le plan d'animation.
35. Plan d'animation de marche 3.24: maintenant au plan d'animation, passons à l'animation du joueur et ouvrons notre
plan d'animation Maintenant, à l'intérieur d'ici,
souvenez-vous de
l'intérieur de la machine à
états du graphe d'animation, glissons à partir d'ici et
créons un autre état. Appelons ça une promenade. Maintenant, pour celui-ci,
double-cliquons dessus et ouvrons-le. Comme avant, nous avons créé
cet espace Walk Blend. Allons-y et
connectons-le ici. Et faisons glisser la
direction du mouvement et branchons-la ainsi
que la variable de
vitesse de déplacement. Et branchez-le également. Allons-y,
cliquons et compilons maintenant. Retournons ici. Comme vous pouvez le constater,
tout comme avant définir la règle de transition, nous devons d'abord accéder au graphique des
événements et récupérer le lingot
que nous venons de fabriquer auparavant à partir de la même
interface ici Nous pouvons faire glisser et
dire « variable de marche ». Nous pouvons obtenir ce
lingot avec celui-ci. Nous pouvons écrire click
et le transformer en variable et l'appeler, par
exemple, c'est marcher. On peut dire que c'est marcher. Allons-y et connectons-le. Double-cliquez dessus pour
créer une note de redirection, organisez-la,
juste comme ça Compilons et
revenons au mouvement ici. maintenant à la règle de transition, nous passons
maintenant
de la course à la marche On peut le traîner, c'est
entrer ici, juste comme ça. Si nous marchons, nous voulons passer
de la course à la marche. Allons-y et compilons. Revenons-y encore une fois. Nous devons le faire glisser d'un
point à un autre, car nous
voulons maintenant passer
de la marche à la course à pied. Si nous ne marchons plus,
faites-le glisser, prenez-le et dites harcèlement si vous
ne marchez plus, ce
qui signifie que ce
harcèlement ambulant sera faux, alors nous voulons
recommencer à courir. Sortez, cliquez et compilez. Maintenant, cela va fonctionner. Si vous cliquez sur Play et
que vous pouvez cliquer sur le shift, vous pouvez voir comment je marche. Et tout fonctionne à
merveille. Tout fonctionne. Vous pouvez tester l'animation si quelque chose ne va pas
avec l'animation. Vous avez probablement mal défini
l'espace de fusion. Mais vous pouvez voir que tout
fonctionne dans tous les sens. Cependant, il y a un
problème en ce moment. Si vous cliquez sur accroupi et que vous cliquez sur le bouton
de marche en même
temps, il ne marche plus,
il ne fait pas de transition Cela est dû au fait que vous devez également
faire glisser le pointeur de
cette page vers celle-ci pour créer des règles de
transition. Si vous êtes accroupi
et que vous voulez commencer à marcher, je vais simplement le faire
glisser un peu pour
qu'il y ait plus d'espace et plus
d'organisation Maintenant, allez-y et cliquez
sur cette règle de transition. Que devrait-il se passer ? Quand dois-je passer de la
marche à l'accroupissement ? Vous pouvez prendre ça en marchant
et le ramener ici, comme avant le harcèlement. Si je ne marche pas, nous sommes en
train de passer de la marche
à l'accroupissement Nous ne marchons donc plus. Je ne marche plus, mais je suis accroupi. Si l'accroupissement est vrai, mais que courir est faux, nous devons faire glisser le pointeur à
partir d'ici et dire : sélectionnez ce lingot,
allez-y et connectez-les Si vous ne marchez plus
et que vous êtes accroupi, allez-y et appliquez cette règle de
transition Revenons ici et
partons d'ici,
de l'accroupissement à la marche comme ça, et
double-cliquons dessus Maintenant, quand devriez-vous passer de l'
accroupissement à la marche ? Si je ne suis
plus accroupi, je prends celui-ci. Si je ne suis plus accroupi, juste comme ça, je marche Je veux passer
à la marche. Si je ne suis
plus accroupi mais que je marche, je veux faire la transition Si je
clique sur jouer maintenant, tu peux voir si je m'accroupis Si je maintiens le quart de travail pour marcher
et que je relâche le fait de m'accroupir, vous pouvez voir que je marche Nous pouvons également passer de la
marche à l'accroupissement. Cependant, vous pouvez constater qu'il
y a toujours une petite erreur. Vous pouvez voir si je m'accroupis, si je me tiens debout, déplace pour marcher et si je
vois que je marche Mais si je garde le contrôle pour m'accroupir, vous pouvez voir que ma vitesse de déplacement est légèrement plus élevée parce que je suis
accroupi en ce moment Il faut prendre de la vitesse en position accroupie. C'est quelque chose à faire à
l'intérieur de notre joueur Dans la base de joueurs ici, nous avons parlé de
vitesse de course et de vitesse de marche. Nous appliquons automatiquement
cette vitesse de marche ici chaque fois que nous marchons, même si nous sommes accroupis C'est une petite
époque et je voudrais vous
présenter plus tard
les énumérations Et nous pouvons rendre ce
système beaucoup plus intelligent, mais pour le moment,
tout fonctionne. Et passons
à la leçon suivante.
36. 3.25 Saut multijoueur: Fais le saut. Allons-y,
dans le dossier des plans, passez à la saisie du joueur Allons-y et
effectuons une action de saisie. Tout comme avant. Vous pouvez cliquer ici avec le bouton droit de la souris, accéder à section
Entrée et créer
une action de saisie. Appelons ça un
saut à l'intérieur d'ici. Nous n'avons pas vraiment besoin
de faire quoi que ce soit, arrêtons
l'action de saisie. Passons plutôt au contexte du
mappage des entrées, minimisons tout cela
afin de voir ce que nous faisons. Cliquons sur le signe plus
haut et ajoutons le saut. Si vous recherchez jump et que vous sélectionnez l'
action de saisie que vous venez d'effectuer. En ce qui concerne les déclencheurs,
comme précédemment, je vais cliquer
sur le signe plus ici et je vais
sélectionner la presse. Chaque fois que j'appuie,
choisissons la barre d'espace. Je peux donc cliquer ici et
cliquer sur la barre d'espace. Ainsi, chaque fois que je clique sur
la barre d'espace, cette action
de saisie est déclenchée. Maintenant que cela a été ajouté, vous pouvez continuer
et cliquer sur Enregistrer. Fermons-le et
passons à la base de joueurs. À l'intérieur de la
base de joueurs où se trouvent tous nos mouvements
dans le graphique des événements, vous pouvez cliquer avec le bouton droit de la souris
et rechercher un saut, puis sélectionner
cet événement de saut. Maintenant, pour cet événement de saut, nous voulons simplement
faire glisser le pointeur d'ici et sauter vers la droite. Ensuite, vous pouvez sélectionner
cette fonction appelée saut. Maintenant, pour que cela fonctionne, cela
fonctionne déjà, comme vous pouvez le voir ici. Nous avons fait tout cela
en marchant et en nous accroupissant, mais le saut dans le moteur Unreal est déjà reproduit
et Vous n'avez donc pas vraiment besoin
de faire plus que cela. Vous pouvez voir si je compile maintenant et si je clique sur jouer et que vous
pouvez cliquer sur la barre d'espace, vous pouvez voir que je
saute en ce moment. L'animation n'est pas
correcte car nous
n'avons rien défini dans
le plan d'animation Mais comme vous pouvez le voir
ici, si je saute en tant que client, cela fonctionne et si je passe en tant que
serveur, cela fonctionne également. Jump inside of Wheel Engine
est déjà multijoueur. En fait, vous n'avez pas besoin
de faire plus que cela. Cependant, avant cela, je veux juste m'assurer
que le joueur ne peut pas envoyer de spam le bouton de saut alors qu'
il est déjà dans le saut. Parce que vous pouvez voir
ici, si je fais glisser le pointeur d' ici et que j'écris une chaîne d'impression. C'est toujours agréable d'utiliser
une chaîne d'impression pour déboguer afin de pouvoir compiler
et cliquer sur Play Vous pouvez voir si je ne fais que
spammer mon bouton Space. Je peux spammer le saut
même si je suis en l'air. Pour résoudre ce problème, juste pour
l'optimiser,
nous pouvons utiliser cette composante de
mouvement du personnage que
nous pouvons faire glisser d'ici
et dire qu'elle nous pouvons utiliser cette composante de
mouvement du personnage tombe. Cela indique essentiellement si
le joueur
est en l'air ou non. Nous pouvons prendre ça ici
et maintenant je vais dire non pour des lingots Ce que nous voulons dire, c'est que
nous voulons juste sauter chaque fois que mon personnage
ne tombe pas. Cela signifie que le
personnage n'est pas en l'air et donc
j'ai envie de sauter. Si le personnage est en l'
air, je ne veux pas sauter. On peut le faire glisser d'ici,
le prendre et en faire une branche. Nous pouvons l'éloigner un
peu afin d'avoir plus d'espace pour travailler
et le connecter ici. Ce que nous voulons dire, c'est que si mon
personnage ne tombe pas, c'est-à-dire que mon personnage n'
est pas en train de sauter, nous voulons aller de l'avant et sauter. Si vous compilez, que vous cliquez sur Play et que vous spammez le bouton de saut, en fait,
écrivons une chaîne d'impression ici pour que vous puissiez voir
ce qui se passe. Compilons, sauvegardons et jouons. Si je fais passer mon bouton Espace, vous pouvez voir que je ne peux le spammer que lorsque j'
atterrisse au sol. Il ne se déclenche qu'une seule fois. Cela rend le jeu plus optimisé, juste pour le rendre
un peu plus propre ici. Ce que vous pouvez faire,
c'est facultatif, bien sûr, mais ce que vous pouvez faire,
c'est passer sur ces nœuds et écrire « click and say collapse
» dans une fonction. Maintenant, cette fonction que vous
pouvez appeler, par exemple, ne saute pas. Au lieu de le faire avec les entrées ici, des épingles
d'exécution. Celui-ci permet essentiellement
d'obtenir des informations si vous
double-cliquez sur cette fonction ici, si vous double-cliquez dessus
et que vous y entrez. Et je vais juste
organiser ça un petit peu. Vous pouvez voir que nous
recevons juste quelques informations. Nous ne définissons
aucune nouvelle information, nous cherchons simplement à savoir si le
joueur tombe ou non. Au lieu d'avoir
ces épingles d'exécution, cela n'a pas vraiment de
sens pour les fonctions qui
obtiennent simplement des informations. Nous pouvons cliquer sur la
fonction et sélectionner pure. Pure signifie simplement qu'il s'agit d'une
fonction qui obtient des informations. Nous n'avons pas besoin de l'
exécuter dans le code car nous ne définissons
rien de nouveau ici. Nous pouvons simplement les assembler. Et maintenant vous dites que si
le joueur ne saute pas, vous pouvez continuer et sauter. Et vous pouvez voir que vous pouvez
rendre les choses un peu plus propres si vous
les réduisez à des fonctions. Vous pouvez donc
cliquer sur Compiler et jouer, et simplement le tester. Et tout fonctionne la fois sur le client
et sur le serveur. Et allons-y et élaborons
le plan d'animation.
37. Plan d'animation de saut 3.26: Fais l'animation.
Passons aux animations. Et à l'intérieur du plan
d'animation du joueur. Maintenant, à l'intérieur d'ici, je vais cliquer ici
, cliquer avec le bouton droit de la souris et fermer les onglets sur la droite,
juste pour que ce soit plus propre. Encore une fois, je vais
ouvrir le graphique d'animation. Ouvrez la machine à états
que nous avons créée ici. Pour le saut, nous avons
besoin de trois états. Pour le premier,
vous pouvez faire glisser le pointeur d' ici et
créer un nouvel état. Je vais
appeler celui-ci Jump Start. Ensuite, vous pouvez faire glisser le pointeur
à partir d'ici et créer un nouvel état appelé
jump loop ou jump air. Et vous pouvez faire glisser le pointeur à partir de
celui-ci et créer un troisième état appelé jump end. Maintenant, pour ce
qui est du jump end,
vous pouvez le
reconnecter au mode inactif. Nous avons maintenant trois états et nous devons y ajouter les
animations. La façon dont cela va
fonctionner, c'est que lorsque je saute, j'ai une animation de
démarrage. Si je clique dessus et que je
cherche simplement « jump here »
dans mes animations, vous avez celle-ci intitulée
Jump Start Unarmed Assurez-vous simplement que c'
est celui qui n'est pas armé. Cliquez dessus et faites-le glisser
ici et connectez-le. Si vous voulez voir à quoi ressemble
l'animation, vous pouvez toujours
double-cliquer dessus. Et voilà à quoi ça ressemble. Nous avons une première
animation de saut que nous
allons suivre avant de passer à l'animation où
nous sommes en l'air. Retournons ici. Maintenant que nous avons connecté,
revenons en arrière, cliquons sur le jump air et prenons celui-ci appelé
Jump A unarmed Et mettez-le ici
pour le dernier. Revenons au point de départ. Faisons le saut sans armes. Si je peux le trouver, celui-ci sautera
la terre ferme sans arme. Nous pouvons le prendre,
le connecter et continuer à
compiler, d'accord. Maintenant, comme avant, nous devons définir ces règles de transition, cliquons sur la première. La première, en gros,
lorsque nous sommes en l'air, comme nous l'avons fait ici dans
la base de joueurs, si vous revenez en arrière comme nous l'avons
fait ici pour le saut, si le joueur tombe, cela signifie que nous sommes en l'air. Cela signifie que nous
voulons vraiment sauter. Nous devons d'abord entrer dans
le graphique des événements et coder qu'ici, en tant que joueur,
comme vous l' avez fait
dans la base de joueurs,
vous pouvez faire glisser le pointeur à partir de celui-ci et obtenir la composante de
mouvement du personnage. Ensuite, à partir de la composante de
mouvement du personnage vous pouvez le faire glisser et dire qu'il tombe. Si nous sommes en baisse, vous pouvez cliquer dessus avec
le bouton droit de la souris
et variable et vous
pouvez dire que celle-ci est dans l'air. Cela signifie que nous sommes sur le point de franchir le pas. Vous pouvez également l'appeler
is jump si vous
voulez avancer et compiler Now
à l'intérieur du graphe d'animation. Revenons-en au saut
ici. Cette règle de transition. Supposons que c'est dans les
airs et connecté. Maintenant que nous sommes transférés,
je reviens ici. Nous passons au démarrage dès que nous
sommes dans les airs Chaque fois que nous cliquons sur ce bouton d'
espace ici. Du début au
saut, nous pouvons cliquer dessus. La fonction que nous voulons utiliser ici s'appelle le temps restant. Si vous cliquez avec le bouton droit de la souris et
recherchez le temps restant, celui-ci est appelé ratio de temps
restant. Assurez-vous simplement que c'est un ratio. Vous pouvez faire glisser le pointeur et dire moins, moins qu'ici, puis
vous pouvez le connecter. Ce que nous voulons dire ici,
c'est que nous voulons passer d'une
animation de démarrage à
une animation de saut, une animation chaque fois que
le temps restant est
inférieur au nombre que
vous avez indiqué ici. Par exemple, si je branche
0.5 et que je compile, continuons et je pourrai vous montrer plus tard
ce que cela fait. Revenons donc ici
pour le saut ici. Si je clique sur la règle de
transition entre le jump
air et le jump end, mais celle-ci, nous allons
atterrir chaque fois que nous
ne serons plus en l'air. Parce que vous pouvez
imaginer que le joueur saute puis il atterrit à nouveau sur le sol. Lorsque le joueur
atterrit au sol, nous voulons jouer à cette animation de saut lorsque le joueur n'
est plus en l'air. Nous pouvons donc obtenir cela, disons pas des lingots, et nous
pouvons connecter cela Lorsque le joueur n'est plus
en l'air, nous voulons passer à l'animation
du jump end. Maintenant, pour celui-ci, comme avant, nous voulons écrire «
cliquer » et rechercher ratio de temps restant
pour le terrain de saut lorsqu'il est inférieur à un
nombre que nous avons saisi ici. Ensuite, nous voulons
arrêter l'animation du jump end et
revenir à la phase d'ajout. Pour celui-ci, je vais
écrire à nouveau 0.5 et je vais compiler. Maintenant, nous pouvons l'essayer
et voir ce qui se passe si vous cliquez sur
play et que vous maximisez cela ici. Quand je cours et que je saute, vous pouvez voir que j'ai une
animation de démarrage. J'ai également une animation Jump
Land. Vous pouvez le voir plus
clairement si je réduis ce chiffre à un
niveau très bas. Si je reviens à celui-ci
également et que je le place à
quelque chose de très bas, vous pouvez voir les transitions. Si je clique sur play jump, il y a une animation jump start. Et il possède une animation Jump
Land. Et voyez que l'
animation de Jump Land est plus visible. Maintenant, il semble que le joueur glisse sur le sol lorsqu'il
atterrit. C'est ainsi que vous pouvez le contrôler
ici pour le ratio de temps restant.
Si vous cliquez dessus, plus vous
le placez haut, plus
l'animation
s'interrompra rapidement. Si vous le mettez très bas, vous pouvez voir que l'animation ne
s'arrête pas rapidement. Et on dirait que le
joueur glisse. Cependant, si vous le placez
à quelque chose de très haut, par
exemple 0,9 si vous sautez, vous pouvez voir que le joueur ne
glisse plus. L'animation du saut s'
arrêtera beaucoup plus rapidement. Lorsque ce nombre est plus élevé, il
vous suffit de vous
asseoir ici et d'ajuster ce nombre
ainsi que ce nombre. Pour démarrer, il
vous suffit cliquer plusieurs fois sur Play, d'
essayer de sauter, de voir
ce qui fonctionne pour vous, voir ce qui vous convient le mieux et d'
essayer d'ajuster ces chiffres. J'essaie de contourner cela, et le chiffre qui me
convient le mieux pour le départ est 0,8. Si je
reviens pour le saut, c'est 0,9. C'est correct. Cliquons donc sur Play et
voyons à quoi cela ressemble. Maintenant, si nous sautons, vous pouvez voir à quoi
cela ressemble. Vous pouvez toujours les ajuster
un peu plus si vous le souhaitez. Mais je pense que c'est un bon
point de départ pour le saut. Maintenant, ce que tu peux faire aussi. Vous pouvez voir ici si je
clique sur jouer, que je me promène touche Shift enfoncée pour me
déplacer et que je clique sur Sauter. L'animation ne fonctionne pas. C'est parce que, souvenez-vous que vous
devez faire la
transition après la marche. Vous n'avez pas
encore de transition à faire glisser entre la marche et
le point de départ. À partir d'ici, vous pouvez voir cette
règle de transition comme avant. Tout comme vous l'avez fait
ici pour le ralenti, vous utilisez le lingot Is in Air Vous devez cliquer ici
et utiliser la même chose. Si vous êtes en l'air,
vous pouvez passer de la marche au saut. Maintenant, je ne sais pas si je veux
passer de l'
accroupissement au saut, mais vous pouvez ajouter ce
mécanisme à votre jeu, mais je ne veux pas l'ajouter
pour le moment Je ne pense pas que je vais l'
avoir comme ça. Vous pouvez donc cliquer sur jouer maintenant, et vous pouvez marcher en appuyant sur Shift, vous pouvez cliquer sur l'espace. Et vous pouvez désormais également
le voir passer à l'animation du saut lorsque
vous marchez.
38. 3.27 Introduction aux énumérations: le moment, je voudrais changer quelque chose avec le
mouvement ici. Vous pouvez voir si je clique sur Shift et que je marche et si
je garde le contrôle,
vous pouvez voir que je ne peux pas vraiment m'
accroupir pendant que je
maintiens vous pouvez voir que je ne peux pas vraiment le shift Si je maintiens la touche Shift pour marcher et que je le contrôle en même temps, je ne suis pas vraiment accroupie Je dois appuyer sur Shift
, puis je dois lâcher Shift, puis appuyer sur C. Je
n'aime pas vraiment ça. J'aime, par exemple,
si vous cliquez sur Crow, vous appuyez sur Shift
en même temps, cela marchera
ici comme ça Mais il ne le
fait pas pour le moment. Je dois relâcher le
bouton pour pouvoir marcher. Et je dois relâcher le bouton
de marche. Et puis cliquez sur «
Accroupi » avant que je puisse m'accroupir. Et je n'ai pas vraiment
envie de le faire. Allons-y, corrigeons
ce problème et rendons le système un peu plus avancé afin qu'il
puisse accepter de telles entrées. Ce que nous allons utiliser
pour cela, ce sont des énumérations. Dans ces leçons, je veux simplement vous
présenter les énumérations Vous pouvez retourner dans
le dossier des plans et
cliquer ici avec le bouton droit de la souris pour créer un nouveau dossier et appeler
celui-ci enoms ou C'est à vous de décider. Vous pouvez cliquer avec le bouton droit sur ce dossier,
définir une nouvelle couleur et simplement utiliser la même couleur qu' auparavant à l'intérieur de ce
dossier. Cliquez avec le bouton droit de la souris, accédez au Blueprint et sélectionnons celui-ci appelé énumération Allez-y, créez-le,
et je l'appellerai
comme préfixe et je vais l'
appeler Movement States Et vous pouvez l'
ouvrir et vous pouvez voir une énumération n'est en fait
qu'une liste d'éléments Vous pouvez cliquer
ici pour ajouter un article. Si je clique ici
quelques fois, vous pouvez voir qu' une énumération n'est qu'une liste
d'éléments que vous pouvez créer Il peut s'agir d'une liste de
n'importe quoi, par exemple une liste de produits alimentaires, une liste d'armes, une liste d'états du mouvement Comme nous ne faisons ici qu'une liste de tout ce que vous souhaitez. Il peut également s'agir d'une liste
d'objets que vous pouvez récupérer ou d'une liste des parties que
vous avez dans votre jeu Tout ce dont vous pouvez faire une liste, vous pouvez le créer ici. En cliquant sur ces icônes, vous pouvez supprimer les éléments de la liste. Pour le premier,
nous allons simplement faire une liste des états de
mouvement. Le premier état de mouvement
que nous avons est la course à pied. Ensuite, vous pouvez cliquer
à nouveau ici. Ensuite, nous avons la marche à pied. Maintenant, il n'est pas vraiment
nécessaire que ce soit dans un ordre précis. Vous pouvez, par exemple,
courir d'abord
et/ou marcher d'abord et ainsi de suite. Mais à l'heure actuelle, nous avons
la course à pied et la marche, et nous avons aussi le fait accroupir et vous pouvez
continuer à économiser C'est très, très simple et énumération n'est qu'
une liste d'éléments Dans ce cas, nous créons une liste des états du mouvement, et nous les utiliserons dans la leçon suivante pour rendre le système un peu plus
avancé pour le mouvement.
39. 3.28 Changer les variables de mouvement en enums: Maintenant que nous avons créé
l'énumération, cliquons sur le lecteur Allons à l'intérieur de
la base de joueurs. Revenons maintenant au graphique
des événements ici. Et je vais faire glisser cet
onglet sur le côté. Il a donc un peu
plus de structure comme
celle-ci pour le premier. Par exemple, pour l'accroupissement, passons à la fonction
accroupi À l'intérieur, vous pouvez voir que nous
sommes accroupis et que nous mettons
ce lingot sur C
au lieu de nous accroupir. Nous allons rendre
ce système un peu plus avancé afin qu'il puisse
prendre plusieurs entrées. Allons-y et supprimons
ces lingots pour le moment. Je vais le faire glisser vers le bas
pour avoir plus d'espace pour créer une nouvelle variable. Cette variable, nous
allons l'appeler état de
mouvement pour
le type de variable. Au lieu de simplement créer
ces variables par défaut, vous pouvez également créer
des variables de tout ce qui se trouve dans le jeu. Par exemple, vous pouvez créer une variable à partir de l'
énumération que nous venons Si vous
recherchez simplement les états de mouvement, vous pouvez voir ici que c'est
l'énumération que j'ai faite Assurez-vous simplement de rechercher le nom du fichier tel que vous
l'avez écrit . États du mouvement. Vous pouvez voir ici que si je
reviens à l'énumération, cela s'appelle les états de mouvement Maintenant, je l'ai en
tant que variable et je peux
cliquer et compiler. Vous voyez, si je regarde
ici la valeur par défaut, vous pouvez définir l'élément de liste
ici pour l'énumération Vous pouvez le régler sur l'un de ces
états si vous courez, si vous marchez, si
vous êtes accroupi, etc. Vous pouvez cliquer et le faire
glisser ici et écrire set. Vous pouvez également consulter l'
énumération ici. Vous pouvez le définir sur l'un
de ces éléments de liste. Vous pouvez voir que c'est très
bien et nous
allons également l'utiliser plus
tard pour les widgets. Lorsque nous créons l'interface utilisateur, nous pouvons créer une liste des interfaces utilisateur. Par exemple, menu principal, menu pause, menu d'échappement. Nous pouvons créer l'interface utilisateur principale du jeu. Ainsi, vous pouvez
faire une liste de tout ce qu'il est vraiment
utile d'utiliser ici. Au lieu de simplement l'avoir
comme ça en tant que variable
standard, je veux lui donner
plusieurs valeurs. Vous pouvez voir si je me suis
connecté, si je veux marcher, au lieu de simplement m'accroupir, vous allez régler cette variable sur Marcher
à la place Cependant, ce sera
comme avant, il n'y a pas vraiment de changement. Vous le configurez simplement
pour qu'il marche et non pour qu'il marche. Et vous le réglez pour qu'il soit
accroupi et non accroupi. Maintenant, je veux qu'il ait plusieurs entrées. Ce
que tu veux faire. Au lieu de cela, je
veux cliquer dessus, sur le type ici de quel type de
variable il doit s'agir. Et je vais sélectionner un tableau au lieu d'
une seule variable. Maintenant qu'un tableau est comparé à une seule variable ou
à une seule variable, vous ne pouvez le
définir que sur une seule valeur. Par exemple, si je le définis sur
Walking over in the walking, cela remplacera
la valeur que j'ai définie ici Pour ce qui est de l'accroupissement du tableau, vous pouvez l'imaginer comme une boîte contenant plusieurs
entrées. Vous pouvez voir si je compile. Et lorsque vous le changez en tableau et que vous cliquez
sur ce bouton plus ici, vous pouvez voir que vous pouvez
avoir plusieurs entrées. Vous pouvez avoir la
course à pied, la marche, le fait de s'accroupir en
même temps, vous pouvez l'imaginer comme une boîte. Et vous mettez toutes ces
valeurs dans la boîte. Cependant, si vous n'avez qu'une
seule variable standard, il s'agit d'un élément que vous pouvez régler pour marcher, vous
accroupir, etc. Mais pour les tableaux, encore une fois, vous pouvez l'imaginer comme une boîte. Vous mettez essentiellement tous ces objets
dans votre boîte, et toutes ces
valeurs sont stockées pour vous. Une autre utilité d'un tableau est, par
exemple, quels articles
avez-vous dans votre inventaire ? Par exemple, vous pouvez avoir un sac, vous pouvez avoir un bouclier, etc. Vous pouvez donc avoir plusieurs objets
dans votre inventaire. Vous pouvez voir que
les tableaux sont très intéressants, ou si vous avez
plusieurs éléments que vous souhaitez stocker pour le moment, supprimons tout ici Et compilons
pour les accroupis. Faisons-le glisser
accroupi ici. Ce que nous voulons utiliser,
c'est que si vous faites glisser, vous pouvez dire définir un
élément de tableau pour les tableaux Si vous ne connaissez pas toutes
ces fonctions, vous pouvez simplement les faire glisser
à partir d'ici et écrire un tableau. Je le fais parfois, s'
il y a quelque chose que j' oublie ou que je ne sais pas,
vous pouvez écrire un tableau. Et vous pouvez voir, vous pouvez voir toutes
les fonctions du tableau. Il peut effacer, il peut trouver un article que vous demandez
s'il en contient un. Vous pouvez trouver un article. Vous
pouvez obtenir un article spécifique. Vous pouvez demander si ce tableau est vide et vous pouvez en
faire quelque chose. Vous pouvez obtenir la
longueur du tableau. Vous pouvez voir que nous avons de nombreuses fonctions que vous pouvez
utiliser pour le tableau. Celui que nous allons utiliser s'
appelle set array element. Nous allons définir un article. Maintenant, vous pouvez également utiliser
celui-ci si vous glissez et écrivez un, par
exemple, écrivez ajouter ici. Et tu peux écrire le mot accroupi. Lorsque nous sommes accroupis,
nous allons
y ajouter l'élément accroupi Cependant, celui-ci fonctionne
très bien en mode solo, mais j'ai beaucoup de
problèmes en multijoueur. Parfois, cela ne s'ajoute pas et j' essaie de déboguer mon code pendant des heures, et c'est en fait juste
celui-ci qui bogue Il n'y a aucun problème avec votre code. Celui-ci est vraiment mauvais
à utiliser en multijoueur, il contient beaucoup de bugs, donc je vais le supprimer
et utiliser celui-ci. Si vous souhaitez ajouter des éléments, utilisez
plutôt cet élément du tableau sit pour le connecter. Ce que je veux régler, c'est
quand je vais m'accroupir, je veux mettre l'
objet en position accroupie Je vais essentiellement faire ce que je
fais ici par le biais du code. Lorsque je clique sur accroupi, j'ajoute ce
croup à mon tableau OK, allez-y et assurez-vous avoir supprimé toutes les valeurs
par défaut pour le moment. Nous sommes donc en train de régler
l'accroupissement. Maintenant, pour ce qui est de l'index, il vous demande simplement où vous
voulez régler l'accroupissement. Si vous cliquez sur le tableau
et que vous cliquez sur le signe plus, vous pouvez voir que vous avez
un numéro d'index. Et si je clique à nouveau sur
le signe plus, vous verrez que vous avez
un autre numéro d'index. Les tableaux commencent à l'index zéro, et plus vous
ajoutez d'éléments, plus ils s'incrémentent Il s'agira de l'index 1, l'index 2, de l'index 345, etc. Cela commence donc à l'indice zéro. Cela ne commence pas à l'index 1. Il est très important de
le savoir maintenant pour l'index au lieu de
simplement l'avoir car
cela posera
problème. Parce que si nous prenons et le
copiers-collons dans la marche, nous réglons également la
marche à l'index zéro. Vous pouvez voir ici que cela se
chevauchera si je marche, disons, disons que
je suis accroupi ici J'appuie sur le bouton accroupi et je vais supprimer tous les
autres. Je vais
supprimer celui-ci ainsi que celui-ci. En ce moment, je suis
accroupi. Cela a ajouté l'accroupissement à mon indice zéro. Maintenant, si je clique sur la
marche en même temps, elle va superposer
mon accroupissement ici, la valeur d'accroupissement, car elle va la régler sur l'index zéro au lieu de
superposer Ce que vous pouvez faire, c'est en tirer dernier index.
Il va examiner quel est
votre dernier numéro d'index. À l'heure actuelle, mon dernier
indice est zéro. Si j'ajoutais ces éléments, par
exemple comme celui-ci, mon
dernier index serait trois. Il va trouver le dernier
indice que vous pouvez en tirer économiser des pertes et y ajouter
un indice comme celui-ci. Ensuite, vous pouvez l'
ajouter à l'index. Ce que vous
dites essentiellement, c'est de trouver le dernier index numéro trois,
par exemple , incrémenté d'un C'est ici que vous
souhaitez ajouter cette nouvelle valeur. Vous ne retrouverez jamais
vos anciens mouvements. Je vais tout supprimer. Compilez maintenant, cliquez
sur Size to Fit, car cela permettra essentiellement faire de la place pour le nouvel
état que vous allez ajouter. OK, maintenant nous l'avons ici. Maintenant, pour ce qui est de l'
accroupissement, si nous ne
voulons plus nous accroupir, vous pouvez passer à l'état accroupi et vous pouvez faire glisser le pointeur à partir d'
ici et Et vous pouvez choisir
celui-ci appelé Supprimer un élément et vous
pouvez le connecter ici. Lorsque nous ne sommes plus
accroupis, nous voulons simplement supprimer l' accroupissement de cet élément
ou de ce tableau ici Lorsque nous sommes accroupis, nous ajoutons l'élément au tableau, au dernier index plus un, ce qui signifie que nous
ne superposons pas le dernier élément que nous avons ajouté, qui peut être la marche
ou la course, etc. Ensuite, lorsque nous
ne sommes plus accroupis, nous voulons le supprimer de
ce tableau parce que nous
ne sommes plus accroupis OK, compilons. Copier-coller tout cela ici. Copiez-le et collez-le
dans la marche. Je vais supprimer la vitesse de
déplacement et la marche. Nous ajouterons la vitesse de
déplacement ultérieurement. Rendez-le également plus intelligent. Nous allons supprimer tout
cela. Collons ce code, connectons-le, et pour celui-ci, sélectionnons plutôt la marche. Si nous ne marchons plus, nous pouvons prendre ceci et dire supprimer l'objet comme
avant et nous connecter. Et vous pouvez supprimer la marche. Et allez-y,
organisez-le un peu plus. Bien, nous avons donc la marche, maintenant nous ajoutons la marche. Assurez-vous simplement d'avoir les bonnes valeurs
pour la marche et pour l'accroupissement
. Accroupi, accroupi Quand on est accroupis.
Nous allons ajouter l'objet lorsque nous marcherons. Nous allons également ajouter
l'article. Cependant, pour ce qui est de la course à pied, nous n'avons pas vraiment
d'endroit où nous pouvons l'
ajouter pour la course à pied. Ce que je veux faire, c'est juste
l'ajouter par défaut. Si je clique sur l'état du
mouvement, je veux cliquer
sur le signe plus ici. Et je vais juste ajouter
le running par défaut. Parce que lorsque je marche ou je ne suis pas accroupie
ici et que je ne marche pas, je cours partout Je veux juste avoir cet état de
mouvement par défaut. Lorsque je ne suis pas accroupi
et que je ne marche pas, il fonctionne automatiquement Vous pouvez donc voir ici
que lorsque je commencerai à marcher, cela ajoutera cette marche
au dernier indice plus un, ce qui signifie zéro plus un. Cela ajoutera de la marche ici et cela ne
recoupera jamais mon état de mouvement de
course à pied. Maintenant que c'est terminé, nous en avons fini
avec ce système. Vous pouvez voir que c'est un
peu plus avancé, mais cela fonctionnera
beaucoup mieux qu'avant. Et vous pouvez voir que lorsque nous
faisons une énumération, nous pouvons réduire le nombre
de variables que nous créons Parce que maintenant, pour vous accroupir, vous pouvez continuer et
cliquer sur Supprimer Vous pouvez simplement le supprimer. Et aussi pour la marche. Maintenant, vous pouvez voir que nous n'avons qu'
une seule variable pour l'accroupissement et pour la marche ultérieure Si vous souhaitez créer une
variable de sprint pour votre jeu, vous pouvez continuer dans
l'énumération, ajouter la variable de sprint, et pour le sprint à nouveau, comme avant, faire une fonction
pour le sprint Comme l'accroupissement et la marche, vous pouvez ajouter le sprint
comme ça
40. 3.29 Changer les règles de transition de l'animation: Maintenant que nous en avons fini
avec ce système, compilons, sauvegardons tout. Terminons cela
et passons plutôt au plan
d'animation du joueur Maintenant, à l'intérieur d'ici,
nous recevons quelques erreurs parce que nous avons supprimé le graphique d'événements accroupi et de marche dans
le plan d'animation Vous pouvez simplement supprimer celles-ci
, l'accroupissement et la marche, car nous n'en avons plus
besoin. Vous pouvez compiler et vous pouvez
voir que les erreurs ont disparu. Ce que nous voulons
utiliser ici à la place, nous pouvons indiquer à partir d'ici et indiquer les états de
mouvement que nous voulons utiliser ce tableau
que nous avons créé. Allez-y, procurez-vous cette matrice. Vous pouvez écrire lick it promu
au rang de variable et simplement l'appeler movement state ici dans
le plan d'animation Allez-y,
connectez-le. Et connectez le se trouve dans Er avec lui. Et allez-y,
rendez-le un peu plus organisé. Maintenant, lorsque nous compilons,
cela vous donne une erreur. Je ne sais pas ce qu'il veut
vraiment ici. Si je le compile à nouveau,
vous pouvez le voir disparaître. Je ne sais pas, c'était
juste une erreur fortuite. Passons au graphique d'
animation. À l'intérieur du graphique d'animation,
entrons dans le vif du sujet. Nous voulons maintenant faire passer tous les états
de mouvement du
premier , du mode veille à la
marche, par exemple. Vous pouvez cliquer ici en utilisant ce lingot
que nous avons utilisé auparavant Allons-y et supprimons-le. Prenons cet état de mouvement. Maintenant, pour
ce tableau, vous pouvez le prendre à partir d'
ici et dire get. En gros, nous
voulons juste marcher. N'oubliez pas que si je
retourne voir le joueur juste pour l'
expliquer un peu mieux. Au lieu du moment où
nous marchons, nous ajoutons essentiellement l'élément de
marche à ce tableau. Maintenant, pour le plan ici, le plan d'animation, nous
voulons le faire marcher Nous ne savons pas vraiment à
quel indice il se situe, car il se peut qu'il
soit à l'indice zéro. C'est peut-être à l'index 1. N'oubliez pas qu'il ne peut jamais
être à l'indice zéro, car à l'indice zéro,
nous courons toujours. Il peut donc être à l'index un ou deux pour
savoir de quoi il s'agit. Au lieu de simplement l'obtenir, vous pouvez faire glisser le pointeur
depuis celui-ci et obtenir le dernier index. N'oubliez pas que nous avons utilisé celui-ci
dans la leçon précédente, puis connectez-le ici. Nous avons maintenant
le dernier index. N'oubliez pas que quel que soit le dernier index il s'agit du
bouton actuel sur lequel vous appuyez. Si j'appuie sur la marche, mon dernier indice
sera de marcher ici. Si vous obtenez ceci
et que vous demandez « get the last index »
pour ce tableau, ce dernier index est égal. Vous pouvez donc écrire un signe égal et sélectionner cette énumération
égale Si le dernier indice
que vous avez obtenu à partir de ce tableau est égal à la
marche, cela est vrai. Cela signifie que je marche. Parce que le dernier indice,
s'il s'agit de la marche, cela signifie que j'appuie actuellement sur le bouton de marche
et que je veux marcher. Je veux passer
de l'inactivité à de passer à autre chose, puis
revenir en arrière et passer à celle-ci. Nous passons de la marche au ralenti
au lieu d'utiliser celui-ci,
ce n'est pas marcher. Vous pouvez copier-coller
le code que vous avez écrit auparavant et vous pouvez
simplement le mettre en marche. Si le dernier indice est égal à course, cela signifie que nous
n'appuyons pas sur la marche, car nous l'avons supprimée
du tableau. Et nous n'appuyons pas non plus sur
le fait d'être accroupi. Comme nous l'avons retiré du tableau,
il ne
nous reste que l'état
en cours d'exécution. S'il est en cours d'exécution, alors nous pouvons continuer
et ce sera correct. OK, allez-y et
copiez-collez ceci sur chacun d'eux. C'était pour la promenade. Maintenant, pour que le inactif s'accroupisse, vous pouvez cliquer dessus Au lieu que
celui-ci soit accroupi, vous pouvez le coller à nouveau. Sélectionnez accroupi, connectez-le. Revenez en arrière et du
accroupi pour courir, encore une fois, supprimez ce passé, sélectionnez
le running et connectez-le Vous pouvez voir que c'est beaucoup
plus facile à utiliser en fait, mais celui-ci, en s'accroupissant pour marcher, nous pouvons tout supprimer Nous n'en avons pas besoin lorsque nous sommes accroupis pour marcher. Cela signifie que nous marchons.
Nous pouvons sélectionner la marche. Et j'ai connecté la même chose
de la marche à l'accroupissement. Cela signifie que nous sommes accroupis. Nous pouvons le sélectionner, sélectionner l'
accroupissement et le connecter. Maintenant, nous
les avons tous échangés . Nous les avons échangés. Et celui-ci est
juste pour le saut. Nous n'avons pas vraiment besoin de
changer quoi que ce soit ici. Compilons et cliquons sur jouer. Nous allons le tester. Vous
pouvez voir en tant que joueur, je peux cliquer sur la
commande, je peux m'accroupir Si vous maintenez la touche
Maj enfoncée en même temps, vous pouvez voir que je peux maintenant marcher tout en maintenant le contrôle et la touche
Maj en même temps. Si je relâche le quart de travail pour accroupir à nouveau, vous
verrez que cela fonctionne Et si je lâche le contrôle,
je suis en train de marcher ici, la vitesse de déplacement n'
est pas correcte, et nous devrons corriger cela plus tard. Mais vous pouvez voir que je peux maintenant
appuyer sur plusieurs boutons. Si je quitte mon quart de travail
maintenant, je peux marcher normalement. Je peux à nouveau maintenir la touche Shift enfoncée tout en gardant le contrôle. Vous pouvez voir que nous pouvons maintenant maintenir
les boutons enfoncés en même temps. Et il effectuera cette action au lieu d'avoir
à relâcher le bouton,
avant de pouvoir effectuer cette action. Très bien, alors testons-le également
sur le client, juste pour nous assurer qu'il
fonctionne en multijoueur. Pour le client, je peux m'accroupir, pour le serveur, je peux m' accroupir et ça ne
marche plus comme avant Si vous vous souvenez de ce que j'ai dit, nous devons répliquer la
variable pour qu'elle puisse fonctionner Donc, si nous revenons au joueur et que je clique sur l'état du
mouvement, et que je clique sur Répliquer Et répliquez, compilez
et cliquez sur Play en tant que sondage Encore une fois, si je m'accroupis,
vous pouvez voir que cela fonctionne. Et si je marche, ça marche à nouveau. Nous pouvons également le tester pour deux
clients juste pour nous en assurer. Jouez en tant que client et jouez. Nous avons maintenant deux clients. Si vous faites le mouvement,
il fonctionne correctement. Encore une fois, pour fixer la vitesse de
déplacement ultérieurement. Mais maintenant, vous pouvez voir
que tout fonctionne correctement.
41. 3.30 Fixer la taille du joueur: Avant de continuer à fixer
la vitesse de déplacement, nous devons fixer la taille du
personnage. Parce qu'à
l'heure actuelle, vous pouvez voir qu'en tant que personnage, si
je me promène, je suis un tout petit personnage et
nous devons l'agrandir. Je ne sais pas si c'est
ma carte qui est très petite ou si ce
sont ces personnages que j'ai importés du marché.
Ils sont très petits. Quoi qu'il en soit, cela n'a pas
vraiment d'importance. Ce que nous devons faire, c'est
augmenter la taille des joueurs. Ce sera la solution la
plus simple. Allons-y et cliquons sur
la base de joueurs sur le maillage. N'oubliez pas que vous devez le
faire dans la base de joueurs. Il l'
appliquera automatiquement à la rencontre avec un terroriste, terroriste cliquant
sur la base de joueurs. En cliquant sur ce personnage, j'ai essayé de tester un
peu les tailles. J'ai juste essayé de l'étendre à quelques reprises pour
voir ce qui est le mieux ici. Mais si vous cliquez sur le maillage
et que vous cliquez sur ce verrou, vous pouvez voir que si vous
écrivez simplement un nombre ici, le y et le z ne sont pas
redimensionnés en même temps que le x.
Ils ne sont pas vraiment
mis à l'échelle de manière uniforme Vous pouvez cliquer sur ce cadenas. Cela signifie que si vous
modifiez un numéro, il le changera
pour tous. À l'extrême droite, 1.7
ici, par exemple. Et vous pouvez continuer
et cliquer sur Compiler, et vous pouvez cliquer sur Play. Vous pouvez voir si je me
promène maintenant, je suis très grand par rapport
à l'environnement. Vous pouvez
essayer différentes tailles. Essayez de parcourir
votre environnement voir à quoi il ressemble. Je pense que c'est peut-être
un peu trop grand. Je vais le réduire à 1.6 Allez-y, compilez
et cliquez sur Play. Et essayez
maintenant de vous promener dans l'environnement pour voir si votre taille est
comparée à celle des boîtes. Vous pouvez même faire le tour d'
ici et peut-être marcher sur cette rampe pour voir la
taille et monter ici. Je pense que c'est bien
mieux qu'avant. Je vais utiliser cette version 11.6
si nous avons des problèmes plus tard, nous pouvons toujours la modifier
et la réparer plus tard Nous pouvons simplement changer
le numéro ici. Cependant, je pense que
c'est une bonne chose maintenant. Nous devons également réparer
cette capsule de collision. Parce que si je cours maintenant, peut-être que je vais dans cette
partie et que j'entre ici. Vous pouvez voir que je me chevauche
avec tout. Et je peux sauter dans le mur. Et c'est parce que vous
devez à nouveau augmenter la taille de cette capsule de collision. Si je clique ici et que je
passe à la bonne vue, par
exemple, je peux augmenter
la moitié de la hauteur de la capsule, je peux cliquer sur le personnage. Déplacez le personnage vers
le bas pour que le pied soit en bas. Ici, vous pouvez voir que je dois l'
augmenter un peu plus. Donc, si je clique à nouveau sur la capsule de
collision, augmentez-la,
peut-être 150 environ. Et je peux cliquer à
nouveau sur le personnage , le déplacer vers le bas. Il s'adapte beaucoup
mieux qu'avant. Maintenant, il n'est pas vraiment
nécessaire que ce soit précis. Nous allons créer un
meilleur système plus tard. Mais en cliquant
ici, assurez-vous que le pied est en bas. Ici, vous pouvez cliquer sur
cette capsule de collision. Maintenant, vous
devez probablement l'élargir. Vous pouvez cliquer, cliquer
sur la vue de face.
Maintenant, nous devons élargir un peu le
rayon. Et je vais juste le
rendre un peu plus large que ces bras pour qu'ils n'
entrent pas en collision avec les objets Quelque chose comme ça,
peut-être 60 exactement. Nous pouvons continuer
et cliquer sur jouer. Maintenant, nous pouvons nous promener. C'est beaucoup plus
précis qu'avant. Vous pouvez essayer d'
entrer ici et vous verrez que cela ne
vous le permettra pas. Nous avons une petite boîte. Si vous cliquez sur le contrôle,
vous pouvez marcher jusqu'ici, mais je peux aussi quitter le contrôle et vous pouvez voir que je me
chevauche maintenant Nous devrons régler ces
petits problèmes plus tard Mais vous pouvez voir
qu'en général tout fonctionne bien, la taille des caractères est
bien meilleure qu'avant. Allons-y donc et continuons.
42. 3.31 Régler la vitesse de déplacement: Maintenant que nous avons amélioré
notre système de mouvement, définissons
la vitesse de déplacement. Fermons ça. Et je vais revenir au joueur
de la base de joueurs. À l'intérieur, ce que je veux
faire, c'est créer une nouvelle fonction. Cliquons sur le signe plus haut. Écrivons F, définissons la
vitesse de déplacement pour cette fonction. Ce que je veux
faire, c'est prendre cette composante de
mouvement du personnage et définir la vitesse de marche maximale. C'est simplement ce que
je veux faire maintenant. Je souhaite régler cette vitesse de
marche maximale en
fonction du fait que le joueur court
, s'il marche ou s'il est accroupi Maintenant, la façon dont nous pouvons le
faire est de nous diriger à partir de celui-ci et de dire « sélectionner ». Et vous pouvez voir
celui-ci appelé select. C'est la première fois que
nous utilisons celui-ci. Et celui-ci est vraiment très utile dans les jeux ou ici, en gros, dans tous les jeux
que vous créez. Dans un vrai moteur plans vous permettent sélectionner une option en fonction de
ce que vous branchez ici Imaginons, par exemple, que vous
branchez une arme ici. Et selon l'
arme que vous branchez,
vous aurez, par exemple, la vitesse de
tir ou nombre de balles que
vous avez dans ce pistolet, etc. Note donc très utile
à utiliser dans ce cas. Nous allons régler
la vitesse de déplacement
en fonction du fait que nous courons, que nous sommes accroupis ou que nous marchons. Nous avons accroupis ou que nous marchons. Nous avons à nouveau besoin de cette vitesse de
déplacement Nous allons obtenir le dernier
index comme avant. N'oubliez pas que
le dernier index est le dernier bouton sur lequel nous avons appuyé. Faisons-le
glisser
à nouveau d'ici et disons obtenir une copie, et connectons celui-ci. OK, alors maintenant nous avons
le dernier mouvement. Nous appuyons sur le clavier
et faisons glisser le pointeur à partir de celui-ci
maintenant plutôt qu'avant.
Nous avons fait glisser le pointeur à partir de celui-ci, nous avons écrit égal à égal et nous l'avons fait comme ça maintenant à la sélection, nous allons
simplement obtenir le dernier index et voir ce que le joueur pousse
actuellement. Et on peut le tirer de là
et le brancher ici. Et maintenant, vous pouvez voir la
course, la marche et le fait de s'accroupir. Et si vous voyez
cela, c'est parce qu'il s'agit simplement d'un extrait de cette énumération que
nous avons écrite Si vous ajoutez d'autres éléments à cette énumération, vous
ajouterez également d'autres options ici Quoi que vous ajoutiez à
cette énumération, nous pouvons le voir très utile maintenant, chaque fois que vous courez, vous pouvez avoir cette variable de vitesse de
course Vous pouvez le glisser et le
brancher ici chaque fois que
vous marchez, vous pouvez le brancher ici
chaque fois que vous êtes accroupi Nous n'en avons pas encore vraiment. Il suffit de cliquer avec le bouton droit sur celui-ci, transformer en variable
et de l'appeler vitesse d'accroupissement Allons-y et compilons maintenant. Pour l'instant, je n'ai pas vraiment de chiffres de mouvements
précis, nous les
ajusterons plus tard. Par exemple, pour courir, vous pouvez écrire 1 000
pour marcher, 500
pour s'accroupir, 150 C'est juste pour voir si cela fonctionne et si vous pouvez aller de l'avant
et le rendre plus organisé. Bien, pour ce réglage de la vitesse de déplacement, ce que je veux faire, c'est
revenir au graphique des événements. Et commençons par l'accroupissement. Pour le accroupissement, nous le
faisons ici. Ensuite, nous devons prendre cette vitesse de déplacement définie
et la régler ici. Ici aussi, nous devons définir la vitesse de déplacement, en la faisant glisser ici,
définir la
vitesse de déplacement, car lorsque nous ne sommes
plus accroupis, encore une fois, nous devons obtenir le
dernier index et voir s'il s'agit de courir, de
marcher ou de s' Nous devons le faire
également pour la marche. Faisons à nouveau glisser la vitesse de déplacement
définie. Branchez-le. Et pareil ici, réglez la vitesse de déplacement. Maintenant, pour ce qui est de la course, peu
importe, car si nous supprimons la
marche et l'accroupissement, ce sera
la course à pied comme dernier indice et cela prendra de la vitesse de course OK, cliquons sur Play testons-le et voyons
si tout fonctionne. Je suis donc ici en tant que serveur. En fait, je cours
ici pour courir. Vous devez également d'abord le
modifier. Ici, par défaut, dans le composant de mouvement catal
pour la vitesse de marche maximale Puisque j'ai écrit ici que la vitesse de marche maximale
serait de 1 000 par défaut, écrivons également 1 000
ici pour le moment. Ils sont donc les mêmes ici pour
la vitesse de marche, 500, très bien. Cliquons à
nouveau sur jouer, testé. Maintenant je marche et
c'est vraiment rapide. Nous allons
ajuster cela plus tard. Crolick, passe à la marche. Vous pouvez voir que tout
fonctionne accroupi et
bouge en même temps. Vous voyez qu'il y a une erreur, accroupissez ou que vous appuyez sur
accroupissement, puis que vous appuyez sur la marche Vous pouvez voir que le mouvement
se fait toujours en position accroupie. La raison en est
que lorsque vous êtes accroupi, vous écrivez ceci, vous
avez celui-ci accroupi Vous ne vous accroupissez jamais à moins de retirer votre doigt
du bouton d'accroupissement En fait, lorsque nous nous accroupissons
et que nous marchons en même temps, nous sommes toujours dans
cet état accroupi Nous devons en fait nous accroupir pour que la
vitesse de déplacement soit correcte Revenons à la vitesse de déplacement
définie. En fait,
accroupissons-nous si nous sommes accroupis pour
que cela ait l'air correct, ce que nous allons faire, c'est simplement le copier ici Et je vais l'étendre
ici, le copier-coller. Ce que vous devez faire, c'est faire glisser le pointeur à partir de là et dire égal et nous devons voir si
cela équivaut à vous accroupir Nous devons nous demander si le joueur est
actuellement accroupi ou non. Si le joueur est
actuellement accroupi, il suffit de réécrire
cette position accroupie ici. Si le joueur est accroupi, c'est-à-dire si le dernier index
marche réellement Même si le joueur
appuie également sur le bouton d'
accroupissement, mais que le dernier index marche, le joueur marche actuellement En fait, nous
devons le connecter plus tard. Nous pouvons nous accroupir. Lorsque nous
retirons la marche, connectons-les ici.
C'est le accroupi. Et nous voilà accroupis. Et on peut juste y aller
et le brancher ici. Encore une fois, je vais
juste cliquer et créer un nœud arrière ici et je
vais brancher celui-ci ici. Oui, ça a l'air correct. Maintenant, si je m'accroupis, vais à nouveau m'
accroupir Si je ne suis pas accroupi,
disons que j'appuie sur le bouton
de marche même temps que j'
appuie sur le bouton accroupi,
il va en fait s'accroupir il va en fait s' Ensuite, je vais
appliquer cette vitesse de marche. Cependant, lorsque j'arrête de marcher et que j'appuie toujours sur
le bouton d'accroupissement, vais simplement m'accroupir ici Cliquons sur Play pour voir. Cliquons sur Shift to Walk. Maintenant, vous pouvez voir si je clique sur accroupi et sur
Shift en même temps, vous pouvez voir que la
vitesse de déplacement s'ajuste correctement. Si je quitte
à nouveau le quart de travail et que je m'accroupis, vous pouvez voir que les vitesses de
mouvement se corrigent ici et qu'ils
marchent Si je me déplace, que je m'accroupis
puis que je me déplace, ou que je me déplace d'abord
puis que je m'accroupis, vous pouvez voir que cela fonctionne également Notre vitesse de déplacement
fonctionne correctement. Maintenant, ce que nous avons essentiellement
fait, c'est que nous avons fait en sorte que cette
fonction règle la vitesse de déplacement. Nous demandons maintenant si le
joueur est accroupi ou non. Et si nous le faisons,
c'est que si nous ne le
faisons pas et que nous appuyons d'
abord sur le bouton accroupi, nous allons appliquer
cette fonction d'accroupissement Cependant, si vous
appuyez
toujours sur
le bouton d'accroupissement puis sur le bouton de marche, c'est toujours parce que vous ne vous
accroupissez jamais, ne laissez
jamais ce bouton agir pour vous accroupir accroupissez jamais, ne laissez
jamais ce bouton agir pour En gros, il appliquerait le
mauvais mouvement même si j'ai également réglé le mouvement en fonction de
la vitesse de marche. Nous demandons simplement si nous
sommes accroupis ou non Si nous sommes accroupis, continuez
simplement à nous accroupir. Si nous ne sommes pas accroupis, assurez-vous de le faire
avant de faire tout cela Parce que si tu n'es pas accroupi, tu es toujours là Nous nous assurons simplement d' appliquer le
bon mouvement. Maintenant que la
vitesse de déplacement est terminée, nous pouvons tout enregistrer et passer à
la leçon suivante.
43. Espace de mélange décalé de visée: Nous sommes maintenant prêts à
créer l'Aim Offset. Pour que le joueur
puisse créer le décalage de visée, revenons au dossier
du joueur. À l'intérieur,
revenons aux animations. Et faisons un clic droit
ici, passez à l'animation. Nous avons maintenant ce que l'
on appelle un décalage de visée, mais nous en avons également un
plus simple appelé décalage de visée D. C'est la même chose
que l'espace de fusion. Vous avez en fait ce
qu'on appelle un espace de fusion. Un D pour celui-ci, je vais
juste vous le
montrer rapidement pour
l'espace de mélange. Par exemple, vous pouvez le voir avant le mouvement à
huit directions, mais un D consiste simplement à passer de marche à la course à pied dans un espace de mélange
très simple. Maintenant, pour le décalage Am, permettez-moi de le supprimer à nouveau avec
le bouton droit de la souris. Au lieu de faire
le huitième mouvement, passons à l'héritage et
utilisons le décalage de visée. Un D. Je vais
sélectionner à nouveau mon squelette et l'appeler «
O stand », désarmé Double-cliquez sur celui-ci. Il s'agit du décalage Aim. Le décalage Aim,
très, très basique. Notre objectif
est simplement le centre où
nous attendons avec impatience. Et le joueur
regarde en bas. Et le joueur
regarde vers le haut. Ce que nous devons faire, tout
comme l'espace de fusion, nous avons un axe horizontal. C'est notre orientation. Nous pouvons écrire la direction. La valeur minimale
pour la direction est -90. C'est lorsque nous
regardons vers le bas, la valeur maximale est de 90, c'est lorsque nous recherchons la vitesse du poids vers le
haut Je vais
juste appliquer comme avant ce que nous avons fait avec les espaces de fusion. Je vais appliquer un peu de douceur pour que ça soit plus beau Nous sommes maintenant prêts à appliquer l'animation.
Sauvegardons tout. Maintenant, vous pouvez voir que j'ai également importé pour vous les décalages de visée Si vous prenez l'un d'entre eux
par exemple , faisons simplement celui-ci. Vous pouvez voir que lorsque j'
essaie de le faire glisser,
il est indiqué que le type
d'animation additive n'est pas valide. Nous devons donc régler ce problème. Passons
à la leçon suivante pour corriger ce type d'additif.
44. 4.02 Préparer les animations de décalage d'objectif: Avant de pouvoir utiliser
nos offsets Aim, nous devons les préparer. Passons donc aux animations des
actifs. Et c'est là que se trouvent toutes
vos animations. N'oubliez pas que ce n'est pas dans les
animations que je vous ai données. C'est à l'intérieur de ces éléments, des actifs et des animations que
nous avons ciblé plus tôt. Par exemple,
recherchons un décalage d'animation. Si vous écrivez simplement AO ici, vous verrez tous les décalages d'animation Vous pouvez maintenant cliquer sur l'un d' entre eux et ici vous pouvez voir
celui-ci, par exemple. Voici le pistolet tourné vers l'
avant, le pistolet accroupi au centre. Pour celui-ci, vous pouvez
voir le type d'additif, c'est de cela qu'il
parlait. Celui-ci, vous
devez cliquer ici et configurer pour mailler l'espace. Ensuite, vous devez cliquer ici et dire image d'animation sélectionnée. Vous devez maintenant sélectionner l'
idole pour cette animation. L'idole de cette animation est l'idole accroupie au pistolet,
que nous pouvons rechercher ici Si vous recherchez juste une idole,
celle-ci ici,
Animation Crouch Idol Assurez-vous de le choisir pour
votre squelette reciblé et
non pour le pistolet Crouch Idol par défaut de Manqin
Animation Ce serait le
bon pour celui-ci. Allons-y et
économisons maintenant pour celui-ci. Vous pouvez voir si je le
ferme et je reviens aux animations de mes
joueurs. Ouvre-le ici,
tu peux voir si je
reviens au pistolet à capteur, si je peux le trouver ici Celui-ci, ici. Pistolet à
capteur d'accroupissement Maintenant, si je le fais glisser ici, vous pouvez voir qu'il fonctionne. Nous devons le faire
avec chacun d'entre eux. Vous pouvez voir que
les autres ne sont non plus valides pour
le type d'additif. Permettez-moi de supprimer
celui-ci pour le moment. Et nous devons le
faire pour chacun d'entre eux. Maintenant, il existe un moyen
plus simple de le faire. Si vous cliquez à nouveau sur
les actifs, les animations, vous
recherchez à nouveau l'AO. Vous pouvez maintenant cliquer sur le
premier, Hold Shift. Cliquez sur le dernier, vous pouvez écrire sur
Accéder aux actions sur les actifs, puis sur
Modifier en bloc via la matrice de propriétés. À l'intérieur d'ici, vous pouvez modifier les paramètres de chacun
d'entre eux en même temps. Une astuce très pratique pour le faire. Ici, vous pouvez voir
que vous pouvez également modifier d'autres paramètres tels que la
compression, l'animation. Vous pouvez modifier ce genre de choses, mais pour l'instant, nous nous
intéressons
uniquement aux
paramètres additifs présents ici. Voyons ici le type d'animation
additive. Vous pouvez cliquer ici et le configurer pour
mailler l'espace pour chacun d'entre eux. Pour chacun d'entre eux, vous
pouvez cliquer ici et
les régler sur le cadre
d'animation sélectionné. Maintenant, pour ce qui est de l'animation de la pose de base, elle ne peut pas être la même
pour tous car certains d'entre eux ont un
pistolet, un fusil, etc. Alors fermons tout. Maintenant que les paramètres
de base sont définis, nous pouvons d'abord les
enregistrer. Maintenant, ce que nous pouvons faire, par exemple, commençons par
le pistolet accroupi En cliquant sur celui-ci. Je clique
également sur ce accroupi vers le bas
et sur ce pistolet accroupi Nous n'en avons que trois pour chaque
pistolet, centre vers le bas et vers le haut. Nous pouvons maintenant cliquer dessus ici, cliquer droit de la souris sur Acid Actions
modifiées en bloc via une matrice de propriétés. Encore une fois, nous pouvons passer
aux paramètres additifs. Cliquez sur ce bouton ici, sur
ces carrés ici. Nous devons trouver
l'animation inactive de ce pistolet Grouch Nous pouvons voir que c'est
le pistolet accroupi. Nous devons trouver le moteur inutilisé. Pour le pistolet Crouch Idle. Maintenant c'est correct.
Fermons-le. Nous devons le faire également
pour le fusil ici. Cliquez également sur la position accroupie du fusil, accroupie du
fusil et la position accroupie du
fusil Cliquez avec le bouton droit sur Actions Bulk
Edd via la matrice de propriétés. Accédez aux paramètres de l'additif. Cliquez sur les carrés. Maintenant, nous devons trouver le accroupi. Pour le fusil accroupi au ralenti, utilisez le fusil ici. Ferme-le à nouveau. Vous pouvez voir que c'est exactement
la même méthode, mais nous devons le
faire plusieurs fois. Maintenant, c'est pour ceux qui
ne sont pas armés. Celui-ci. Celui-ci et
celui-ci. Cliquez avec le bouton droit de la souris, édition
groupée via les paramètres
additifs de la matrice de propriétés . Cliquez ici,
puis recherchez « idle ». Maintenant, nous devons trouver l'
accroupi pour les oisifs, désarmés, comme ça Je vais donc faire la même chose pour
le stand également. Et je vois que
celui-ci porte un faux nom. Je vais donc simplement le renommer
avant de continuer. Celui-ci s'appelle AO,
stand down unarmed. Au lieu de cela, je vais
maintenant l'
appliquer à la position debout, comme si je m'
accroupissais Et je vais passer à autre chose. heure actuelle, je les ai
tous préparés pour que vous
puissiez voir si vous
recherchez simplement l'un d'entre eux, par
exemple le
fusil à support AO, vous pouvez cliquer dessus et vous pouvez voir
que vous l'avez appliqué le fusil Animation Idol. Assurez-vous simplement d'appliquer
la bonne animation inactive,
sinon elle ne sera pas correcte. Je l'ai donc fait pour toutes
les personnes debout ici,
ainsi que pour les accroupissements Maintenant, sauvegardons tout et passons
à la leçon suivante.
45. 4.03 Ajouter de l'animation au décalage de objectifs: Créons maintenant le
décalage Am pour les mouvements
non armés Passons aux plans. Et je vais à nouveau revenir
au dossier des animations. En fait, faisons-le d'abord
pour le stand. Avant de passer aux autres, cliquons
désarmés sur ce stand à l'intérieur d'ici N'oubliez pas que nous avons
suivi la direction et que nous avons fait
en sorte que le poids soit fluide ici Maintenant, ce que nous pouvons faire, c'est
rechercher AO pour celui-ci. Maintenant, c'est le stand désarmé. J'ai besoin d'un mouvement désarmé. Le stand commence donc
d'ici à ici. J'ai besoin du centre. D'abord, prenons le centre sans armes Celui-ci clique,
glisse-le et maintient la touche Maj enfoncée, puis il s'enclenchera ici. Maintenant, pour le -90 dans la
direction dans laquelle il regarde vers le bas, nous avons besoin de celui-ci
appelé stand signifie que cliquer, glisser et maintenir la touche Maj enfoncée pour l'insérer dans
ce coin Ensuite, pour le mouvement vers le haut, tenez-vous debout, désarmé, maintenez la touche Shift enfoncée
et branchez-la ici Maintenant, lorsque vous cliquez sur
Ctrl et déplacez votre souris, vous pouvez voir que le décalage de l'
animation
agit . Ça
a l'air super. Nous pouvons toujours ajuster la
distance qu'il regarde vers le bas et la distance qu'il regarde vers le
haut plus tard
si nous le voulons, si nous trouvons
cela un peu ridicule. Nous pouvons donc toujours le faire
comme ça au lieu de cela. Nous pourrons toujours l'
ajuster ultérieurement. Mais pour l'instant,
sauvegardons tout. Cela fonctionne maintenant,
faisons-le pour les autres. En fait, je vais juste
cliquer avec le bouton droit sur celui-ci et le dupliquer. Et appelons-le grognon. Pour ce qui est de la marche, c'est en fait la
même chose que de se tenir debout. Nous n'en avons pas vraiment besoin
pour marcher. Maintenant que nous l'avons
dupliqué, double-cliquons dessus Permettez-moi de supprimer
celui-ci pour le moment. Maintenant, c'est l'accroupissement. Cherchons ici
l'accroupi, le bras central
accroupi, le bras accroupi vers
le bas et le bras accroupi vers le Maintenant, vous pouvez voir
que cela fonctionne également. OK, allons-y et
sauvegardons tout maintenant. Nous allons le
faire plus tard pour
le pistolet
accroupi, le fusil, etc.,
mais pour le moment nous n'en avons pas
vraiment besoin Allons-y maintenant. Avant de pouvoir appliquer
ces décalages d'animation, nous devons calculer
la direction de visée Nous devons savoir dans quelle
direction le joueur vise,
si c'est vers le haut ou vers le bas. Et c'est ce que nous allons faire
dans la prochaine leçon.
46. 4.04 Fixer la direction de l'objectif: Bien, il est maintenant temps de
calculer la direction de visée. Et on peut le faire très simplement
en allant voir le joueur. maintenant à la
base de joueurs qui se trouve à l'intérieur d'ici, créons
une nouvelle fonction. Créons une nouvelle fonction
appelée calculer la direction de visée. Pour cette fonction,
laissez-moi simplement la compiler et revenons
au graphe des événements. L'endroit où je veux le placer est le plus logique
pour cet événement de look. C'est là que nous contrôlons le mouvement de la souris
lorsque nous sommes en jeu. Ce serait plus
logique de le mettre ici.
En fait, après celui-ci, laissez-moi simplement le faire glisser, calculer une direction et
le brancher ici. Maintenant, ce que nous voulons faire c'est définir un flottant appelé direction de
visée. Créons un nouveau flotteur
appelé direction de visée. Et transformons-le
en variable flottante. Oups, entier. Faites flotter, compilez et enregistrez. Maintenant, à l'intérieur de ça, prenons cette direction de visée. Nous voulons simplement le configurer. Maintenant, souvenez-vous de ce que j'ai
déjà dit, en multijoueur, il jamais possible de définir une
variable pour un client. Vous devez être sur
le serveur pour définir une variable, puis la configurer
pour la répliquer Vous devez configurer
celui-ci pour le reproduire, car les clients
doivent savoir dans
quelle direction les autres
joueurs visent Les animations sont mises à jour correctement pour tous les clients
connectés. Le serveur doit répliquer ces informations
aux clients Sinon, les clients
ne pourront pas voir dans quelle direction visent tous
les joueurs. Et ils
auront juste hâte. Et c'est comme si rien ne
se passait lorsque vous définissez des variables et que vous
les mettez pour les répliquer Vous ne pouvez jamais définir et répliquer des variables
via le client, devez passer par le serveur Maintenant, vous pouvez voir si j'écris
une chaîne d'impression à partir de ceci. Je vais maintenant vous donner
une astuce pour savoir quand vous êtes sur le serveur et
quand vous êtes sur le client. heure actuelle, il devrait imprimer une chaîne automatiquement
lorsque je déplace ma souris, car je l'ai connectée
ici et elle sera connectée ici
si je compile maintenant, je clique sur play
et je déplace ma souris. Lorsque je déplace ma souris,
je suis sur le client. Vous pouvez également voir que je
joue en tant que client ici afin que le client puisse
réellement exécuter ce code. Lorsque le client est
en mesure d'imprimer du code, cela signifie que le code que vous êtes en train d'écrire est également
exécuté sur le client. Vous pouvez voir que lorsque je
joue en tant que serveur, c'est
en fait le deuxième client. Maintenant, permettez-moi de le modifier ici
pour jouer en tant que serveur d'écoute. Permettez-moi plutôt de cliquer sur Play. Maintenant, je joue en tant que serveur et vous pouvez
voir que c'est le serveur imprime la chaîne à l'écran lorsque je
joue en tant que client. Laisse-moi rejouer
et prendre ce client. Vous pouvez maintenant voir que le code est en
cours d'impression en tant que client. Lorsque vous pouvez également imprimer une chaîne
via le client,
cela signifie que ce code est exécuté à la
fois par le serveur et par le client,
et non par le serveur seul. Lorsque nous devons
définir cette variable, nous devons nous assurer que nous l'
exécutons sur le serveur. Ce que nous pouvons faire, encore une fois,
comme avant, c'est
prendre ça et dire que
Switch a autorité. Nous nous assurons de ne l'exécuter que sur
le client du serveur. Vous devez toujours exécuter le code. Si vous êtes le client, vous devez d'abord passer par
le serveur. Revenons au graphique
des événements. Je vais juste retourner ici. Nous allons
organiser cela plus tard. Ici, nous pouvons écrire
un événement personnalisé, puis l'exécuter
via le serveur. Et je vais l'appeler
Calculer une direction. Et laissez-nous l'exécuter sur le
serveur en toute fiabilité. Et je vais le
prendre pour calculer une direction et le
relier à ici. Allez-y et compilez
maintenant,
revenons au calcul
d'une direction. Et lançons ce serveur, calculons
la direction de visée ici. Ensuite, nous pouvons
continuer le code. Lorsque vous êtes le client, vous allez passer par
le serveur et l'exécuter. Et cela garantira qu'en tant
que client, vous ne pourrez jamais
exécuter celui-ci seul. Il doit passer par le serveur. OK, maintenant pour ce qui est de
la direction de visée, nous pouvons
calculer
cette liste cliquant avec le bouton
droit de la souris et en disant «
contrôler la rotation ». Nous allons maintenant connaître la rotation de
la manette du joueur. Ensuite, nous pouvons dire
get Acta rotation. Nous avons la rotation pour
le contrôleur du joueur et nous avons la
rotation pour l'acteur. Maintenant, ce que nous pouvons faire pour
trouver un point central, nous devons trouver
ce point central afin de savoir où
le joueur vise. Nous pouvons prendre cela et dire delta et choisir celui-ci
appelé rotateur delta Vous pouvez le brancher, c'est par le biais de la rotation de la
manette du joueur et de la rotation de l'acteur. Il va trouver
un point médian grâce à ce rotateur delta Maintenant, disons-le
ici, rotateurs. Lorsque vous cassez un rotateur, vous pouvez voir le X, le Y et le Z. Vous pouvez aussi simplement le faire Si vous écrivez, cliquez ici
et dites split struct pin, c'est en fait la même chose J'aimerais juste me séparer ici. Je vais donc écrire
break, Break rotator. Et je peux voir le XY et le
Z pour la direction de visée, nous avons besoin du y, du Y. Vous pouvez le prendre et le
brancher ici. Maintenant, vous calculez correctement
la direction de visée. Vous pouvez continuer, tout compiler
et tout enregistrer. Nous sommes maintenant prêts
à l'appliquer
au plan d'animation et à faire en sorte que notre lecteur utilisant
le offset Am fonctionne
47. 4.05 Ajouter le décalage de visée: Allons-y maintenant et ajoutons le décalage de visée au plan
d'animation Retournez dans le dossier
des animations et ouvrez le plan
d'animation du joueur Ici, je vais revenir
au graphique d'animation. Et à partir de là,
déconnectons tout cela. Je vais vous montrer
un truc avec celui-ci. Pour cette machine à états, vous pouvez en fait
faire glisser et dire Cache, puis cliquer sur
celle-ci. Enregistrer en cache Permettez-moi d'appeler celui-ci
Unarmed Movement Cached. fait, il
prend juste le moyen de locomotion, toute
cette machine à états, et il l'enregistre
dans ce cache Il le sauvegarde à l'intérieur d'ici. Au lieu de prendre celui-ci, nous pouvons simplement utiliser le
cache. Mettons-le ici. Au lieu de l'utiliser à nouveau, cliquons avec le bouton droit de la souris et
disons mouvement non armé Vous pouvez voir que vous
pouvez utiliser celui-ci. J'ai utilisé le cache pour les
mouvements non armés ici. Vous pouvez maintenant utiliser celui-ci au lieu
de celui-ci ici. Cliquez avec le bouton droit de la souris
et recherchez AO. Permettez-moi de me rappeler
comment je l'ai appelé. Utilisons ce stand de 10 sans armes. Cherchons
O, Stand unarmed, et assurons-nous que c'est bien ça.
Joueur offset à 01h00 Joueur décalé, tenez-vous armé. Exactement comme nous l'avons
appelé ici. Nous l'avons appelé le bras de stand AO. Allons-y et associons
cela au poteau de base, le mouvement non armé au décalage de l'animation
désarmée Allons-y et
connectons-le ici. En ce qui concerne la direction du but. N'oubliez pas que nous l'avons déjà
calculé. Nous devons accéder au graphique
des événements , faire glisser le pointeur hors
du joueur et rechercher la direction de visée.
Celui-ci, ici. Promouvons-le à nouveau
en variable ici à l'intérieur
du plan et
appelons-le une direction Connectons-le
ici à la fin de, du graphique. Et permettez-moi double-cliquer pour le
rendre un peu plus agréable. Très bien, compilons. Maintenant, je peux revenir
au graphique d'animation. Et à l'intérieur d'ici,
la direction dans laquelle je prends cette direction de visée
, je la branche ici Et maintenant, compilons. Maintenant, lorsque nous cliquons sur jouer, voyons si cela fonctionne.
Et vous pouvez voir que cela fonctionne. Maintenant, si je regarde vers le bas
et si je regarde vers le haut, cela fonctionne réellement.
48. 4.06 Ajouter la caméra du joueur à la tête: Maintenant, lorsque nous jouons au jeu, vous pouvez voir que la caméra flotte et
qu' elle ne suit pas vraiment la tête lorsque nous
regardons de haut en bas. Pour ce faire,
revenons ici. Ajoutons la caméra à
la tête du personnage. Pour ce faire, nous devons trouver le squelette de notre
personnage dès maintenant. Il se trouve à l'
intérieur du marché, dans le personnage militaire Silva, et c'est le squelette que
nous avons utilisé jusqu'à présent. Permettez-moi de
double-cliquer dessus ici. À l'intérieur de ce squelette, trouvons l'os de la tête. Vous pouvez simplement aller ici et essayer de rechercher l'os de la tête, et vous verrez qu'il est ici. Vous pouvez également simplement le
rechercher ici. Une troisième méthode consiste à cliquer
sur le personnage en haut. Accédez à Bones et accédez
à All Hierarchy. Cela vous montrera tous les
atouts du personnage. Vous pouvez simplement
cliquer sur l'os de la tête. Et vous pouvez voir qu'il sera
également sélectionné ici. Je veux cliquer à
nouveau sur le personnage et accéder à Bones. Et sélectionnez-le uniquement pour que je puisse à nouveau
retirer ces os. Maintenant que vous avez
sélectionné l'os de la tête, allons-y, cliquez avec le bouton droit de la souris
ici pour créer une alvéole. Ajoutez un socket pour un socket. Est-ce que c'est juste un support
vide que vous pouvez utiliser pour
y attacher des objets. Dans ce cas, nous allons utiliser ce support pour fixer
notre appareil photo à la tête. Vous pouvez également imaginer que vous pouvez également
l'utiliser pour les armes. Par exemple, si vous voulez
attacher un AK 47 sur le
côté du personnage, vous pouvez toujours ajouter un
socket sur le côté
du personnage ici,
peut-être au niveau de la hanche. Ensuite, vous pouvez également attacher l'arme à
travers une douille. Mais pour l'instant, nous
allons simplement ajouter un appareil photo. Corrigons cet os de la tête, puis cliquez sur Ajouter une douille. Et laissez-moi cliquer dessus et cliquer sur deux de mon clavier
pour le renommer Et laissez-moi l'appeler pour
prise et appareil photo. OK, cette caméra à prise, nous l'avons maintenant, allons-y
et perdons tout. Revenons maintenant
au plan. Allez dans le joueur et
allez dans la base de joueurs. OK, à l'intérieur d'ici. Revenons à la fenêtre d'affichage. Et maintenant, nous voulons
fixer ce ressort à la tête ou à la prise de caméra que nous venons de créer ici,
dans les prises, vous pouvez le voir dans le panneau des
détails, lorsque vous sélectionnez le ressort, vous pouvez voir la
section du support et vous pouvez également voir qu'il n'est
attaché à rien correctement. Maintenant, si nous cliquons sur ce dossier, vous pouvez maintenant voir le socket. Maintenant, si vous ne le voyez pas, c'
est parce que vous n'avez pas ce ressort à l'intérieur de
ce composant de maillage. Si je le fais glisser à l'extérieur d'
ici comme ça, vous pouvez voir si je clique sur ce dossier, maintenant
rien ne se passe. Vous pouvez voir que vous devez insérer le bras à ressort dans
le personnage. C'est un enfant de ce maillage. Avant de pouvoir réellement cliquer
ici et voir tout cela, vous pouvez également cliquer sur le terroriste du
condo, par exemple. Lorsque vous cliquez sur l'
antiterroriste, vous ne pouvez pas vraiment cliquer ici sur le ressort correspondant à l'
antiterroriste, vous devez le faire
par l'intermédiaire du parent Donc, dans la base de joueurs,
c'est possible. Vous aurez le
bras à ressort à l'intérieur de la maille. Ensuite, pour le bras à ressort, nous pouvons cliquer ici puis
sélectionner la caméra. N'oubliez pas que si vous n'
avez rien dans le maillage, par
exemple ici vous n'en avez aucun, si vous l'
avez effacé et
qu'aucun personnage n' est debout ici, vous ne trouverez pas non plus
le socket ici. C'est pourquoi, dans la base de
joueurs, nous avons besoin d'un personnage à
l'intérieur, car nous devons cliquer ici puis l'ajouter à un socket. Cliquez sur cet appareil photo. Maintenant, la caméra est
attachée au personnage. Vous pouvez voir qu'il
bouge réellement avec le mouvement de la tête. Il est en fait attaché. Maintenant
, c'est plus réaliste. Maintenant, il flotte.
Cliquons sur le ressort pour obtenir la longueur du bras
cible. Je vais écrire zéro, puisqu'il s'agit d'un jeu à la première personne. Ensuite, pour l'emplacement
et la rotation, il suffit de cliquer sur ces flèches pour réinitialiser également
l'emplacement et la rotation. Vous pouvez continuer, tout compiler
et tout enregistrer. Allons-y, cliquons sur Play pour voir à quoi cela ressemble. Vous pouvez voir que nous sommes dans la tête du
personnage en ce moment, mais quand je regarde
vers le bas et que je regarde vers le haut, vous pouvez voir qu'il
suit la tête. Maintenant, quand je reste immobile et que je regarde comme
devant moi, vous pouvez voir qu'il suit également
la tête. La caméra bouge légèrement
de la même manière lorsque je cours. Il bouge en fait avec le
même mouvement que la tête. OK, maintenant il est attaché
à notre lecteur. Revenons en arrière et
essayons maintenant de régler le socket. Si vous ouvrez à nouveau le
squelette, je reviens au
personnage militaire Silva, ouvre le squelette. Et à l'intérieur d'ici,
cliquons sur le socket de la caméra. Et je vais juste aller
devant et essayer de
régler la prise. Vous pouvez voir que pour le socket, lorsque vous l'avez
sélectionné, vous avez également son emplacement relatif. Vous pouvez cliquer et faire glisser le pointeur ici. Et j'essaie juste de l'
ajuster près des yeux parce que la caméra
est
proche des yeux du personnage
de façon réaliste proche des yeux du personnage
de Peut-être dix dans le X et
dans le Y et le Z.
Tout va bien pour le moment Laisse-moi, allons-y et rejouons pour voir à
quoi ça ressemble. Nous sommes maintenant dans la
tête du personnage. Si nous regardons vers le bas, si nous
regardons vers le haut, tout semble bien. Cependant, la
tête du personnage fait obstacle. Je peux aussi voir que les côtés
du personnage gênent.
Laisse-moi vraiment y retourner. Laisse-moi juste pousser la
caméra légèrement vers l'avant. Si vous cliquez dessus et que vous le
faites glisser, vous pouvez voir que vous faites glisser
la caméra vers l'avant. Cependant, je ne veux pas trop le faire
glisser vers l'avant. Je vais juste écrire
cinq au lieu de zéro. Laisse-moi essayer de rejouer. Ça a l'air mieux. Maintenant, cependant, nous pouvons encore voir des
parties de la tête. Le fait est que nous ne pouvons pas voir le corps intérieur de notre personnage ici. Tout se présente bien. Cependant, la tête nous gêne. Passons
à la leçon suivante et retirons la tête
de ce personnage. Seul l'ennemi peut
voir votre tête,
mais vous, en tant que joueur,
ne pouvez pas voir la tête, c'est comme ça
à l'intérieur de la caméra. Passons à la leçon
suivante et faisons-le.
49. 4.07 Cacher la tête du modèle du joueur: Pour masquer la
tête du personnage au joueur, vous pouvez revenir sur le joueur. Et ouvrons
la base de joueurs. Ce que nous voulons faire, c'est retirer cette tête pour moi en tant que joueur. Cependant, lorsque je joue mon
personnage, les ennemis peuvent toujours voir
ma tête au-dessus d'ici. La raison pour laquelle je
retire la tête pour moi c'est parce que lorsque je suis le personnage
à la première personne, j'ai l'appareil photo. C'est en fait dans
ma tête, c'est vrai, et je ne veux pas tout
voir, ce n'est pas nécessaire. Enlevons maintenant
la tête du joueur qui
joue le personnage. Passons au
graphique du van à l'intérieur d'ici. Faisons-le
ici au début. Jouez. Lorsque nous commençons à jouer
au jeu ici, vous pouvez cliquer avec le bouton droit de la souris et
vous avez une fonction appelée masquer ou par nom. Masquez l'os par son nom.
Et sélectionnez-le. Et il va créer automatiquement
cette variable de maillage pour
vous. Cette variable
provient simplement de cette variable de maillage. Vous pouvez simplement cliquer dessus et le
faire glisser. C'est le même. OK, alors allons-y
et connectons-le. Maintenant, il vous demande quel os essayez-vous de cacher ? Maintenant, si vous revenez
à votre squelette, vous essayez de
cacher l'os de la tête. Il suffit de cliquer dessus pour voir qu'il s'appelle « tête ». Vous devez l'écrire exactement
comme il est écrit ici. Il tient compte des majuscules. Tu dois l'écrire
exactement tel qu'il est ici. Si j'écris une tête comme
ça et que je clique sur Compiler, et si je clique sur Plate
pour jouer au jeu, tu peux voir que la tête
a disparu pour moi. Et je peux aussi le
voir sur mon ombre. Vous pouvez voir qu'il n'y a plus de tête. Et en fait, ça a l'
air mieux. Maintenant, en tant que
personnage à la première personne que je peux parcourir, tout va bien, rien ne va.
Oui, c'est incroyable. Cependant, pour ce qui est du côté du
personnage, je peux le voir, je pense que c'est la radio
du personnage qui apparaît
réellement
pour que nous puissions régler le problème. Vous pouvez toujours
retourner voir le joueur ici si vous avez encore quelque chose à voir pour votre personnage. Et cliquez sur le
support de l'appareil photo. Ensuite, vous pouvez cliquer à
nouveau sur le Y et l'augmenter
légèrement jusqu'à ce qu'il
ne bogue plus. Si vous l'augmentez
simplement à quelque chose comme dix et que vous cliquez sur jouer. Et si je regarde vers le bas
et que je marche sur le côté, vous pouvez voir que je ne peux plus
voir la radio. Cependant, ne l'augmentez pas
trop , car si vous l'
augmentez trop vers l'avant, la caméra
traverse en fait les murs. Si je
clique sur Jouer maintenant, je vois qu'il traverse les murs parce que je l'
ai trop augmenté N'augmentez pas trop
celui-ci. Peut-être qu'au lieu de cinq, je veux en essayer six et voir
si cela résout mon problème. Si je me promène et que je
vois encore légèrement la radio, je peux l'augmenter
à sept. Au lieu de cela, essayez de cliquer à nouveau sur Play. Essayez de jouer avec la
valeur minimale pour voir si cela résout le problème. Je vois que sept est le
chiffre qu'il me faut, et tout va bien. Cependant, vous pouvez voir mon
ombre, il me manque la tête. Nous devons donc également résoudre ce problème. Passons à la
leçon suivante et corrigeons tout cela.
50. 4.08 Ajouter un maillage à la troisième personne: OK, maintenant réparons la tête
manquante dans l'ombre. Allons-y donc et
passons à la base de joueurs. Laissez-moi entrer dans le vif du sujet façon dont nous pouvons résoudre ce problème est ajouter
un autre maillage à la
troisième personne. Si vous cliquez sur le
maillage, que vous allez Ajouter et que vous
recherchez un maillage squelettique. Maintenant, si vous ne savez pas
ce qu'est un maillage squelettique, si vous êtes nouveau ici, il s'agit simplement d'un modèle en trois D
qui est animé en ce moment. Par exemple, le maillage de
votre personnage est animé. Ce maillage, si vous maintenez
la souris
dessus, indique que le composant de maillage squelettique est simplement un
modèle en trois D animé. Il s'agit d'un maillage squelettique. Allez-y et créez-le à nouveau. Appelons cela un personnage à la
troisième personne, ou un maillage à la troisième personne,
à l'intérieur d'ici. Ce que nous voulons faire, encore une fois, sélectionner le personnage et nous devons sélectionner
ce style, un homme comme celui-ci. Ensuite, nous devons sélectionner le plan
d'animation ici. Lecteur de plans d'animation. Maintenant, vous pouvez voir qu'il s'anime exactement comme notre maillage ici Ce que nous voulons vraiment
faire, c'est ce personnage. Nous ne voulons pas que notre propre
joueur voie celui-ci. Si vous cliquez sur jouer, vous
pouvez maintenant voir que la tête est revenue. Si la tête
est en arrière, c'est parce que nous avons
maintenant ce maillage que
nous voyons dans le jeu, mais nous avons aussi ce maillage. ce maillage à la troisième personne, nous ne voulons pas vraiment que les gens le
voient parce que je l'ajoute simplement pour voir mon
ombre sur le sol et la corriger par
rapport à l'autre. Pour masquer cela à
tous les joueurs, nous pouvons cliquer sur ce maillage à la
troisième personne. Ensuite, nous pouvons descendre et essayer d'accéder aux paramètres de
rendu. Vous pouvez voir que dans les paramètres de
rendu, vous pouvez cliquer sur Hidden in Game. Maintenant, il est caché dans le jeu. Si vous cliquez sur jouer, vous pouvez voir que
la tête n'est plus là. Cependant, mon ombre a également disparu. Il faut que je répare ça aussi. Si vous cliquez à nouveau sur le
maillage à la troisième personne et que vous
recherchez une ombre, vous obtenez celui-ci
appelé Ombre cachée. Je peux voir l'ombre
de mon objet caché, mon maillage caché à la troisième personne. Si vous cliquez sur Hidden
Shadow, vous compilez. Vous pouvez cliquer sur Play. Mon personnage est caché. Cependant, je peux également voir l'
ombre sur le sol maintenant. Maintenant, cela fonctionne correctement.
Maintenant c'est réglé. Et revenons en arrière, juste pour nous
assurer qu'il
n'y ait aucune collision ce personnage,
car nous ne voulons pas que avec
ce personnage,
car nous ne voulons pas que
ce modèle de personnage
entre en collision avec le maillage ci-dessus En cliquant sur ce maillage à la
troisième personne, je passe simplement
aux paramètres de collision et je m'assure qu'
il est écrit « peut
être utilisé », je vais dire non ici. Et assurez-vous de ne pas avoir généré d'événements de
chevauchement sur. Et assurez-vous qu'
aucune collision n' est
prédéfinie. Compilons le tout. Sauvegardons tout et passons à
la leçon suivante.
51. 4.09 Lissage de la caméra et des FPS: Lorsque nous jouons au jeu, il y a une légère jambe, je ne suis
peut-être pas sûre que vous
pouvez le remarquer pour le moment, mais si vous vous contentez de courir et essayer de déplacer la
souris de haut en bas, parfois l'
impression d'être un peu lent. Afin de corriger cette rotation, vous pouvez essayer de fermer
ce jeu dès maintenant. Accédez au joueur et à l'intérieur, vous pouvez
cliquer sur le ressort. Si vous cliquez sur le ressort, vous pouvez activer celui-ci ici sous
celui appelé Activer la rotation de la
caméra Le. Cela facilitera la rotation de
votre caméra. Si vous jouez et que vous
pouvez sentir que c'est le cas, cela semble un peu lent. Vous pouvez vraiment vous sentir lent lorsque j'essaie de
faire pivoter mon appareil photo Pour résoudre ce problème, vous pouvez activer
la rotation du pied de la caméra, ce qui facilitera la
rotation de la Vous pouvez entendre le pied de rotation de la
caméra, vous pouvez essayer de définir un chiffre. Si vous le réglez très, très haut, vous pouvez voir à
quoi il ressemble. Il ne se passe pas grand-chose ici. Si vous le mettez sur un
et que vous essayez de rejouer, vous pouvez voir maintenant que c'est
très fluide comme ça. C'est bien trop. Vous pouvez voir qu'il
essaie de lisser la caméra. C'
est bien trop. Je dois l'augmenter
à environ dix et vous pourrez essayer de voir
à quoi cela ressemble. Cependant, si vous le mettez trop
bas, vous verrez qu'il est lisse, mais qu'il semble un peu lent
et que cela donnera probablement le mal des
transports à certaines personnes Laissez-moi le mettre sur
quelque chose comme 30. Au lieu de cela, je compile et
j'essaie de faire une rotation. Je veux juste que
ça soit naturel. C'est toujours un jeu de
tir à la première personne et nous ne
voulons pas le mettre trop haut
ou trop bas ici, peut-être plutôt le mettre sur 40. Essaie juste de continuer à jouer à nouveau. Essayez d'augmenter le nombre. Essayez de regarder autour de
vous et de voir ce que vous ressentez. Ça fait encore un peu l'effet, peut-être quelque chose comme 60. Et je vais essayer de regarder autour de moi. C'est beaucoup plus naturel, comme dans un jeu de tir à
la première personne. Essayons d'ajuster
ce chiffre ici. Vous ne voulez pas que ce soit trop bas, sinon la caméra
semblera très lente et d'accord, c'est réglé. Passons maintenant à la
fenêtre ou modifions-le, et passons aux
paramètres du projet à l'intérieur d'ici. Si vous recherchez une fréquence d'images fluide, vous avez ce que l'on appelle
une fréquence d'images fluide. Vous devez
l'activer pour votre jeu si vous souhaitez le
publier ailleurs, par
exemple sur Steam
ou pour un ami. La raison pour laquelle c'est une erreur que j'ai commise lorsque j'ai
sorti Fm tail sur Steam. Si vous n'avez pas cette limite, si elle n'est pas activée, le joueur qui
joue
à votre jeu exécutera votre jeu au
maximum d'images par seconde. Cela dépend de la carte
graphique dont ils disposent. S'ils en ont un
très, très bon, peut-être que votre jeu tournera
à 800 images par seconde et qu'il utilisera en fait beaucoup de ressources pour leur ordinateur. Vous pouvez probablement
entendre l'ordinateur émettre beaucoup de
son à cause des ventilateurs parce que la carte
graphique fonctionne trop. Vous devez l'activer
pour empêcher le jeu fonctionner et d'utiliser toutes les
ressources du joueur. Allez-y et utilisez cette fréquence d'images
fluide. Au minimum, je
vais juste le mettre à 30 images par seconde
comme maximum. D'habitude, je le mets à
60 images par seconde. Pour les autres jeux, cependant, il s'agit d'un jeu de tir à la première personne, vous avez besoin de plus d'images par seconde. Je vais peut-être le mettre à 200 comme
image maximale par seconde. Je pense que 200 c'est bien. Je ne pense pas que tu aies
besoin de plus que ça. Fermons ça
et sauvegardons tout. Passons à
la leçon suivante.
52. 5.01 Réglage de la vitesse de déplacement: Nous sommes maintenant prêts à ajuster
la vitesse de déplacement. Vous pouvez voir
que lorsque vous cliquez sur jouer, cela tourne bien trop vite. Donc, si vous lancez un jeu, vous pouvez essayer d'avoir une
idée de la vitesse à laquelle vous souhaitez
courir dans votre jeu. Maintenant, pour moi, c'
est bien trop rapide. Cela dépend vraiment du
jeu que vous créez. Maintenant, si vous créez
un jeu rapide, cette course pourrait même
être trop lente pour vous Pour moi, je suis juste en train de créer quelque chose qui ressemble
à Counterstrike Pas vraiment à 100 %, mais quelque chose comme ça. Je vais réduire légèrement cette vitesse de
déplacement. Je pense que c'est bien trop rapide. Je peux aller ici dans ma
base de joueurs, dans le volet personnage. Ensuite, je peux diminuer
ma vitesse maximale de marche. Maintenant, je vais le réduire
à quelque chose comme 700. J'essaie de jouer plusieurs fois et j'essaie d'
ajuster ce chiffre. Ensuite, vous devez
cliquer à nouveau sur Play. Et juste pour courir ici et essayer
de voir ce que l'on ressent. Maintenant, continue juste à jouer. Essayez d'augmenter ou de diminuer le nombre de vitesses
et voyez à quoi cela ressemble. Je pense que c'est bon pour moi. Peut-être que je peux réellement l'
augmenter à 750 et essayer de rejouer. Je pense que 750 est le
chiffre qu'il faut utiliser. OK, donc lorsque vous êtes
trop occupé avec celui-ci, vous pouvez également vous rappeler
que vous avez également
ces variables flottantes pour la vitesse. Permettez-moi
simplement de cliquer et de faire glisser
ceci vers le haut, pour qu'
ils soient ensemble. Vous pouvez également cliquer sur cette vitesse de
course et la régler sur 750. Continuez et compilez maintenant.
Pour la vitesse de marche, je vais la régler
à environ 400. Et pour la vitesse d'accroupissement
, environ 200. Encore une fois, j'ai essayé de jouer à
mes jeux plusieurs fois.
Je connais ces chiffres. Vous devez, encore une fois, régler la vitesse de marche sur quelque chose. Ensuite, vous devez cliquer sur Play. Ensuite, vous devez cliquer
sur Shift to Walk et essayer de voir si cette
vitesse de marche vous convient. Ou si vous voulez que ce
soit un peu plus rapide. Essayez simplement de jouer à
votre jeu encore et encore et essayez d'
ajuster ces chiffres. Maintenant, si je joue à mon
jeu, si je cours et que j'essaie de
me faire une idée de sa rapidité, si je clique sur Shift
pour me déplacer, je trouve que c'est
beau aussi. Et si je clique sur le bouton de commande et que j'essaie de voir à quoi
cela ressemble, je pense que cette vitesse me convient également. OK, alors allons-y
et fermons tout cela maintenant que la
vitesse de déplacement a été ajustée. Et ajustons également la vitesse de l'animation
dans la leçon suivante.
53. 5.02 Réglage de la vitesse de l'animation: Lorsque nous ajustons la vitesse de
déplacement, nous devons également ajuster la vitesse d'
animation, sinon cela aura l'air incorrect. Si nous cliquons à
nouveau sur le joueur et cliquons sur
la base de joueurs. Ici, je veux
ajouter de la longueur au Spring. Encore une fois, comme avant. La raison en est que je veux voir mon animation de course et voir à
quelle vitesse ils courent. Vous pouvez voir que nous sommes en train de courir. Ça a vraiment l'air bien. Vous pouvez voir qu'il
suit le sol. Parfois, vos animations pour le personnage lorsque
vous courez
sont trop rapides et trop lentes. Vous devez également ajuster la vitesse de
course. Vous pouvez voir qu'il y a
une collision ici. Pour une raison ou une autre, je
pense que c'est mon ciel. Si je clique sur ce ciel ici et que je l'éloigne,
pour une raison ou une autre, il y a une collision. Mais ce n'est que le ciel là-haut et
peu importe où il se trouve, nous allons juste le
mettre ici. OK, pour la vitesse de l'animation, ce que vous
devez faire, c'est passer aux animations. Ensuite, vous pouvez définir
les animations à l'intérieur des espaces de fusion que
nous avons créés précédemment. Permettez-moi de commencer par
l'espace Run Blend. Et à l'intérieur d'ici,
si vous
descendez et que vous pouvez voir
tous ces mélanges. Maintenant, toutes ces animations que vous avez ajoutées ici sous forme de points, vous pouvez également les voir ici. Maintenant, d'abord, ce que je veux faire, c'est
augmenter ma vitesse de prise de poids. Parce que la vitesse du poids, souvenez-vous, est le lissage
des animations Je pense que parfois ça
glisse un
peu trop. Peut-être si je l'augmente à nouveau à
6,5 au lieu de 9,5. N'oubliez pas que, comme avant,
lorsque vous l'augmentez,
cela donne moins de fluidité
à l'animation Je voulais juste avoir l'
air plus naturel. Je vais ouvrir
les autres. Pour les autres,
je vais également régler la vitesse du poids à 6,5. 6,5 pour la promenade également. Je vais régler la vitesse du
poids à 6,5. OK, c'est réglé.
Sauvegardons tout. Bien, avant
de faire quoi que ce soit, tu peux aussi monter ici et penser à
changer d'axe vertical. Valeur maximale ici. N'oubliez pas que c'était la vitesse de
déplacement pendant la course. La vitesse de déplacement
actuelle de mon jeu est de 750. D'habitude, je le mets
à environ la moitié. Je vais plutôt mettre
celui-ci à 350. Vous pouvez voir que lorsque vous le placez
à quelque chose de plus élevé, il est
maintenant appliqué ici, 350. Cependant, mes animations
fonctionnent toujours à 300. Je
dois cliquer ici, faire glisser et maintenir la touche Shift enfoncée, puis la replacer ici, puis cliquer sur Maintenir la touche Maj pour
la capturer à nouveau et la placer ici. Rien de nouveau. Nous l'avons déjà
fait. Il suffit de faire glisser toutes ces
animations jusqu'à 350, et elles s'
exécutent maintenant à cette vitesse. OK, alors faisons-le
avec les autres. Ouvrons la position accroupie. Je me suis accroupi à une vitesse de 200. Si vous ouvrez le
joueur et que la vitesse d'
accroupissement se trouve à l'intérieur de la
base de joueurs,
je la règle sur 200, donc je peux m'
accroupir et je peux mettre celui-ci à environ
100 Cependant, vous pouvez voir que si je le
mets à quelque chose de plus bas, cela me donnera beaucoup d' erreurs et toutes mes
animations auront disparu. Cela est dû au fait que
toutes ces animations sont supprimées. Ici, je vais
cliquer sur le contrôle Z pour les
ramener tous. Ils sont là. N'oubliez pas de
tous les diminuer avant de
commencer à jouer avec ces chiffres afin
qu'ils ne soient pas supprimés. Je les ai déposés ici. Permettez-moi de réduire ce
nombre à 100 maintenant. Et maintenant, vous pouvez tous
les prendre et les ajouter ici
à la vitesse maximale. J'aurais aimé qu'il y ait une
fonctionnalité permettant de tous les prendre et de
les déplacer vers le
haut en même temps. Je
ne pense pas qu'il y en ait. En fait, maintenant, pour la vitesse de marche, elle est fixée à 400. Je vais le mettre à 200, revenir à la vitesse
d'animation, et je vais le
mettre à 200 à la place, pour la vitesse, je vais les déplacer
à nouveau vers le haut. Bien, maintenant que c'est
réglé, sauvegardons tout. Revenons
maintenant à l'essentiel pour ce qui est de la vitesse de l'animation. Commençons par
la course en avant. Je vais commencer par
la course en avant. Et la raison pour laquelle je le fais, c'est
parce que lorsque ce sera correct, je m'appliquerai
aux autres. Le running forward
est mon premier ici. Courez en avant sans armes. Et vous pouvez cliquer sur
la petite flèche pour voir les paramètres de
l'échelle tarifaire. Si je l'augmente à environ
trois et que je les maximise tous pour une raison ou une autre, c'est la voie à suivre Si je le mets à trois
et que je clique sur Play, vous pouvez voir que la
vitesse de mon animation est vraiment très rapide. Vous devez maintenant ajuster
la vitesse de l'animation en
fonction de votre mouvement,
si pour le moment, une est la vitesse par défaut. Si je disais 1.1, juste
un peu plus vite. Et si je clique sur jouer, et que vous pouvez voir à quoi
cela ressemble, maintenant, la course sur les
côtés ne fonctionne pas car il ne s'agit que du run forward que nous avons ajusté. Voilà à quoi ça
ressemble. Pour moi Je pense que 1,1 sur l'échelle des
taux semble une bonne chose. En fait, je veux
l'appliquer aux autres. Ce que vous pouvez faire, c'est maintenir la
touche Maj enfoncée et cliquer avec le bouton droit de la souris. Cela copiera ceci. Ou vous pouvez simplement
cliquer avec le bouton droit de la souris et copier. Mais vous pouvez voir que Shift
et le bouton droit de la souris le copieront également. Alors je ne veux pas le faire
pour l'animation inactive. Les animations inactives, je veux juste qu' elles ne fassent qu'une, comme d'habitude. Encore plus de problème pour l'animation
en cours d'exécution. L'avant droit court ici. Je vais maintenir la touche Maj enfoncée et cliquer avec le bouton
gauche de la souris pour le coller. Encore une fois, vous pouvez également simplement
cliquer avec le bouton droit de la souris et le coller. Mais vous pouvez voir que le raccourci
est Shift et cliquez avec le bouton gauche de la souris. Je vais également le coller sur toutes
les autres animations, afin qu'elles soient appliquées
comme ça. Allons-y et cliquons sur
Enregistrer. Cliquons sur Play. Maintenant, vous pouvez également voir à quoi
cela ressemble pour tous les autres côtés. Ça a l'air un peu mieux. Et si nous l'
augmentons, c'est pour qu' il ne ressemble pas
un peu à ce qu'il était avant. Bien, maintenant que c'est
fait, laissez-moi le fermer. Vous devez également le
faire pour vous accroupir. Tu dois jouer ici. Essayez de vous accroupir et essayez de vous
accroupir, voyez à quoi cela ressemble Peut-être encore une fois, nous devons augmenter légèrement
la vitesse de l'animation car vous pouvez voir qu'elle semble
glisser parce que la
vitesse de l'animation est bien trop faible. Vous devez donc y retourner,
passer à l'animation, vous
accroupir en avant Je vais le
remettre en version 1.1,
comme pour ma course à pied, juste
pour voir à quoi cela ressemble. Et si je m'accroupis et que j'
essaie de marcher sur le côté, il nous en faut
peut-être
un peu plus ici 1.3 Cliquez plutôt sur jouer Essayez de vous accroupir et de
voir à quoi cela ressemble. Mettez-le sur quelque chose comme 1.1 ,
puis vous pouvez cliquer sur Play. Alors tu te souviendras que ce n'
est que pour les accroupis en avant Cela ne fonctionne pas si
vous courez vers les sites ou si vous vous accroupissez devant les
sites accroupis en avant, et je peux voir à quoi
cela ressemble Peut-être qu'il
glisse encore légèrement. Si je le mets plutôt sur 1.2, je clique sur jouer et
je m'accroupis en avant Je pense que ça
s'annonce bien mieux. Essayons, en fait 1.2 Ce que je vais faire, c'est que je
vais à nouveau le copier et le coller sur toutes mes autres animations
qui ne sont pas inactives. Les animations inactives ne
m'intéressent pas. Je les ai au rythme
d'un. C'est très bien Et pour les autres animations, je vais le mettre en 1.2
comme ça pour enregistrer. Ensuite, jouons et
voyons à quoi ça ressemble. Si je marche aussi sur les côtés, il glisse toujours. En fait, je dois peut-être l'
augmenter à 1,3. Laisse-moi vraiment y retourner. Ici, vous pouvez voir que cela prend du temps. Tu
dois le tester. Si je le mets à 1.3,
je le copie et je le colle sur toutes
les autres animations. Tout comme avant. Je continue
et je clique à nouveau sur jouer. Laisse-moi voir à quoi ça
ressemble maintenant. Maintenant c'est beaucoup moins, vous pouvez voir que c'est
beaucoup plus beau qu'avant. Nous pouvons continuer à
ajuster ces vitesses de déplacement et ces animations et voir à
quoi elles ressemblent. Lorsque vous êtes satisfait, vous pouvez maintenant passer à la marche,
faire la même chose, continuer
et cliquer sur Jouer, maintenir la touche Maj enfoncée, Essayer de vous déplacer. Tu glisses beaucoup
trop en ce moment. Passez au mouvement vers l'avant. Je vais voir si je
peux le trouver ici. Si je monte en avant, celui-ci ici,
Animation. Avancez. Si je le mets à 1,3 cliquez sur Play, je maintiens la touche
Shift enfoncée et j'essaie de me déplacer. Et il continue de
glisser légèrement. Si je le mets plutôt à 1,5, maintiens la touche Maj enfoncée et que j'
essaie de me déplacer, vous verrez que la marche
est beaucoup plus belle. Je ne suis pas en train de me balader. Vous pouvez soit régler
la vitesse de déplacement pour la marche, soit ajuster les animations en fonction de
la vitesse de déplacement. Je pense que 1,5 me convient. Je vais le copier sur toutes les autres animations
qui ne sont pas inactives, comme celle-ci et au verso. Et maintenant, vous pouvez
voir que c'est inactif, donc je ne vais pas le
copier ici. OK, cliquez sur jouer, et
maintenant vous pouvez maintenir la touche
Maj déplacer et
essayer de marcher sur le côté. Ça a l'air bien mieux. Si vous
pensez que c'est trop rapide, vous pouvez toujours réduire la vitesse de déplacement ou
la vitesse d'animation. C'est très bien Encore une fois, cela dépend
vraiment
du jeu que vous créez. Je pense que c'est bon pour moi. Et je peux toujours venir ici et ajuster plus tard si
je ne suis pas satisfait. Parfois, lorsque je
ferme mon jeu et que je
me connecte le lendemain, je trouve que
quelque chose semble stupide et je change les choses, essaie de modifier la vitesse de déplacement et la
vitesse d'animation, etc. Mais pour le moment, ça me
semble bon. Je dois donc le fermer maintenant et nous laisser tout enregistrer. Passons
à la leçon suivante.
54. 5.03 Fixer le mur de la caméra: Nous devons maintenant régler
le problème de la caméra. Si je retourne vers le
joueur et que je règle
le ressort à la longueur du
bras de zéro, juste pour revenir au
mode première personne et que je joue, vous pouvez voir si je m'approche
d'un objet et si je regarde vers le bas,
parfois il passe à travers le mur comme ça, comme vous pouvez le voir ici. Et je peux regarder à travers le mur, et les gens vont probablement en
abuser et tricher dans le jeu pour voir ce qu'il y a derrière le mur afin d'y remédier Il y a deux moyens. La
première consiste à
aller sur le marché, à aller voir le joueur et trouver le squelette
du joueur. Maintenant, cela
dépend de votre socket. abord, le socket que
vous avez ajouté, vous pouvez voir que j'ai
mis ma valeur Y à sept, si vous la mettez à
zéro, par exemple. Et si vous cliquez sur Play, vous pouvez voir que vous
repoussez la caméra. Et tu peux voir une plus grande partie de
ton corps, juste comme ça. Vous pouvez essayer de
repousser votre appareil photo, peut-être qu'au lieu de zéro, vous pouvez le réduire de cinq. Vous pouvez voir à
quel point vous pouvez repousser votre appareil photo sans le
faire mal paraître. Vous pouvez donc voir moins cinq. Je commence par : vous pouvez voir le cou ou la tête de mon
personnage, presque là où la tête a disparu et ça
n'a pas vraiment l'air bien. Moins cinq, c'est beaucoup trop. Je le remettrais à zéro, par
exemple, et j'
essaierais de rejouer. Le problème avec ce
personnage, c'est qu'il a une radio. Vous pouvez voir la radio
sur le lecteur ici. En fait, c'est un peu ennuyeux de se retrouver
devant
le personnage ou la caméra comme ça
. Maintenant, s'il s'agit d'un personnage personnalisé que
vous avez conçu, vous pouvez le stabiliser
un peu plus pour
qu'il ne passe pas
par la caméra. Et si tel était le cas, cette position de la prise
serait en fait bien meilleure. Parce que vous pouvez voir le corps
et qu'il est beau comme ça. Cependant, la radio est un peu
embêtante pour ce personnage, alors je vais encore une fois avancer. C'est la raison pour laquelle
nous l'avons portée à sept, car à sept heures, nous ne pouvons pas voir la radio et tout
va bien. OK, comment pouvons-nous résoudre ce problème maintenant ? Nous ne pouvons plus vraiment jouer
avec le socket car il est placé du mieux
que nous pouvons. L'autre point est que vous pouvez accéder
à la base de joueurs et à la fenêtre d'affichage
ici, dans la base de joueurs, vous pouvez cliquer sur le composant
Capsule Composant de la capsule. Vous pouvez
voir si vous l'augmentez, le rayon de la capsule jusqu'à quelque chose d'extrême, par
exemple 150. Et si vous cliquez sur Jouer,
vous pouvez voir que vous entrez collision beaucoup plus rapidement
contre les murs. Et tu ne peux pas te diriger facilement vers
les murs. Vous pouvez le voir ici. Il est désormais impossible de marcher et de
voir à travers les murs. Cependant, il est un peu
irréaliste placer trop haut, car
vous ne pouvez pas vraiment approcher des murs
et vous vous retrouvez bloqué Vous serez également
bloqué ici. Si vous vous rendez sur cette rampe, je pense que vous pouvez voir que vous ne pouvez pas la
franchir parce que composant de
votre capsule est
bien trop haut et que vous ne
pouvez pas la traverser. OK, augmentez ce composant de la
capsule. Une taille qui vous
convient parfaitement et qui élimine
le clip mural, tout en restant petite 70, par exemple.
Essayons-le. Passons à travers le mur ici. Regardez en bas, regardez la taille. C'est peut-être sympa. Cela fonctionne en fait,
passons à celui-ci. Parfois, je peux voir
à travers les murs. Parfois, si je marche dedans, je dois l'augmenter
légèrement, car le fait continuer à traverser les
murs peut le porter à 75. Ensuite, testez à nouveau et
voyez à quoi cela ressemble. Oui, peut-être que 75
fonctionne en fait. Ça fait un
peu mal parfois. OK, donc je vais mettre un 280. C'est ma décision finale ici. Alors compilons et
maintenant c'est à 80. Oui, si je regarde vers le bas, je regarde vers le haut, je regarde sur les côtés. Je ne peux pas voir à travers le mur. Et je peux toujours m'approcher
du mur comme ça. Et voyons si nous pouvons
monter les rampes ici. Si je monte la
rampe et que cela fonctionne, même si je suis près
du mur de la rampe ici, je peux toujours monter la rampe. OK. C'était une
solution facile si vous allez ici. Maintenant, ça pose un
petit problème car l'espace
est vraiment étroit. Ce que vous pouvez
faire pour régler ce problème dès maintenant, c'est que vous pouvez toujours venir ici et vous pouvez
passer à dix Et enfilez-le. Alors en fait, vitesse de
mon appareil photo est bien trop élevée. Je vais le
diminuer. Vous pouvez cliquer sur cet objet ici et
simplement le déplacer sur le côté. Modifiez peut-être un peu le
design de la carte pour que
cela ne se renverse pas. Maintenant, si vous avez besoin d'un système de collision
très, très complexe, cela nécessite en
fait un travail bien trop avancé
pour ce cours. Ici, vous pouvez le
faire avec des plans. Cependant, il faut
beaucoup de code pour que cela fonctionne, et ce sera vraiment avancé
par rapport à ce cours. Vous pouvez réessayer de monter
ici pour voir si cela fonctionne. Regarde si tout va bien. Et vous pouvez voir
que tout fonctionne bien également. Très bien, voici
comment on répare la caméra. Je perce à nouveau
les murs. Si ça se coupe un jour, tu peux toujours y aller. Reprenez peut-être la position la prise
ici,
cela vous aidera. Ou si vous pouvez venir
ici et augmenter légèrement
ce composant de la capsule
pour qu'elle ne soit pas épuisée. Mais attention à ne pas trop l'
augmenter.
55. 5.04 Fixer le crouch de saut: C'est vrai. Maintenant, si je joue au jeu, vous pouvez voir quand je saute,
en fait, quand je saute et j'
appuie sur le bouton
accroupi en même temps, vous pouvez voir que je peux le spammer ici Quand je saute et que je
continue à m'accroupir, la caméra se
coupe comme ça Vous pouvez l'avoir comme mécanisme
si vous le souhaitez pour votre jeu. Certaines personnes
aiment ce genre de choses, par exemple. Vous pouvez sauter, vous pouvez
essayer de vous accroupir et vous pouvez regarder par-dessus le mur en vous disant que c'est
peut-être un mécanicien Cependant, je trouve que c'est un peu
trop et je ne
veux pas vraiment que ce mécanisme soit là
quand il se clipse comme ça. Si je continue à m'accroupir, revenons au joueur, à la base de joueurs qui
se trouve à l'intérieur d'ici Passons à la logique de
l'accroupissement. Celui-ci, ici. Dans la logique de l'
accroupissement, je veux m'assurer que
le joueur ne saute pas Tu ne peux pas t'accroupir quand
tu sautes. Si nous prenons celui-ci, souvenez-vous que nous avons déjà fait en sorte que cette
fonction ne saute pas. La seule chose que nous avons faite
ici, c'est de prendre la
composante de mouvement du personnage et lui demander si
le personnage tombe ou non. Si le joueur ne tombe pas,
cela signifie qu'il n'est pas en l'air, ce qui signifie qu'il
ne saute pas. OK, on peut le prendre,
on peut créer une branche. Si le joueur ne saute pas, nous pouvons nous accroupir Il y a un léger
problème en ce moment si nous sautons et que j'
appuie sur accroupi Parce que tu vois, je ne peux que m'
accroupir par terre. Cependant, si je saute et que je m'accroupis, lorsque j'atterrisse, je ne m'accroupis pas Je dois vraiment m'accroupir chaque fois que je saute et que je
clique sur accroupi, il devrait s'
accroupir automatiquement lorsque Et nous devons régler ce problème ici. Je vais m'en
éloigner et retarder le code de quelque chose de
vraiment très petit. Peut-être que 0,05 après le délai, nous pourrons revenir en arrière et
rejouer ce code. Ce que cela fait, c'est simplement que
si vous êtes en train de sauter, vous ne pouvez pas vous accroupir, alors
ce sera faux Il va poursuivre et
retarder le code, puis il reviendra et vous demandera à nouveau
si vous sautez ou non. Il ne cesse de vérifier si
vous sautez ou non. Et lorsque vous
atterrissez au sol que le bouton d'
accroupissement est toujours enfoncé, il
avance et s'accroupit Vous pouvez l'essayer, voir
si cela fonctionne ou quelque chose comme ça. Bugs, vous pouvez sauter ici, accroupir, vous accroupir,
un œil, atterrir Cela fonctionne vraiment. Maintenant,
si vous le mettez trop haut, cela vous semblera un peu lent,
car lorsque vous sautez, cela prend un peu de temps Avant de vous accroupir, vous pouvez faire en sorte qu'il soit beaucoup mieux
de vous accroupir ici Si vous le réduisez beaucoup, le temps de réponse
sera beaucoup plus long. Si vous sautez,
cliquez et vous accroupissez, vous pouvez le voir s'
accroupir immédiatement Je n'aime pas trop le dire
, car souvenez-vous que
plus vous le mettez bas, plus ce
code sera exécuté plusieurs fois. Il va fonctionner
autant de fois par seconde pour essayer de vérifier si
vous sautez ou non. Pour celui-ci, je vais juste le mettre
à 0,05 à la place. Pour vérifier combien de
fois cela s'exécute, vous pouvez toujours
utiliser ce navigateur et dire 1/0 0,05. Ensuite, vous pouvez voir
ce code maintenant, s'exécute 20 fois par seconde Et vous pouvez voir qu'il
fonctionne de nombreuses fois. Si vous le mettez à 0,01,
il s'exécute 100 fois par seconde. Je n'aime pas le
dire trop bas. 0,05 est un bon chiffre.
Fermons ça. OK, maintenant ça marche. Maintenant, le problème est
là. Pour l'accroupissement. Il va en fait exécuter le code d'accroupissement même si
je ne suis plus accroupi. Vous pouvez voir si je fais
glisser le pointeur ici et que je dis « imprimer la chaîne » et que j'imprime simplement un simple message à
l'écran pour voir si ce code est en cours d'exécution ou non
compilé. Cliquons sur Play. Tu peux voir si je saute, si je
tiens, si je m'accroupis, et je vais lâcher prise. Donc, quand j'atterrirai, il va
vraiment s'accroupir. Je saute, je m'accroupis et je lâche prise. Il va exécuter
le code d'accroupissement même si je n'en ai pas
vraiment besoin, parce que je ne me suis pas
encore accroupi pour le faire ou pour le réparer Nous pouvons prendre l'
état du mouvement faire glisser à partir de celui-ci et nous
pouvons dire qu'il contient un élément. S'il contient
l'objet accroupi, alors nous voulons continuer
et nous accroupir Lorsque nous relâchons le
bouton, frappons ici. En fait, il suffit de le
faire glisser ici. Faisons une branche et
connectons-la, juste comme ça. OK, j'organise ça
un peu, d'accord ? Donc, ce que nous faisons
ici, c'est nous demander si nous sommes dans
le coup ou non. Et si nous ne sommes pas en train de sauter, nous pouvons avancer et nous accroupir
si nous sommes au sol Cependant, si nous sommes dans
le saut en l'air, cela va continuer à se
revérifier chaque fois que nous atterrirons Et quand nous atterrirons,
il va
passer par ce code,
puis il va demander avez-vous relâché le bouton
ou avez-vous appuyé sur le bouton ? Si vous appuyez sur le bouton, vous
allez vous accroupir
automatiquement Si vous appuyez toujours sur
le bouton d'accroupissement, si vous l'avez relâché,
il
va d' si vous l'avez relâché,
il
va d'abord vérifier si
vous êtes réellement accroupi.
Si ce tableau d'états de mouvement contient l'élément d'
accroupissement,
et si ce
n'est pas le cas, alors ne faites rien car
nous
ne sommes pas Il est logique d'exécuter ce code. Cependant, s'il
contient le bouton accroupi et que vous relâchez le bouton, il va s'accroupir Essayons d'y jouer maintenant. Et sautons
et cliquons sur accroupissement. Cela aide. Si je saute, que je
clique sur accroupi et que je lâche prise, vous pouvez voir que le
code ne fonctionne plus et qu'il est
entièrement optimisé Compilons maintenant. Tout fonctionne ici. Quand je saute et que je spam mon bouton accroupi, ça
ne marchera pas Ce n'est que lorsque j'
atterrisse ici en l'air que je ne peux pas envoyer de spam sur mon bouton d'accroupissement
56. 5.05 Correction des bugs restants de crouch: OK, la dernière chose que je voudrais corriger pour le fait d'être
accroupi, c'est que vous pouvez voir si je passe sur
un bord ou un rebord Et je m'accroupis ici, je vais jusqu'à ce bord et je
m'éloigne du bord Vous pouvez voir que le personnage
est bloqué ici dans les airs. Vous pouvez voir tous les arêtes
qui le font réellement. Si je monte ici, c'
est bien trop haut. Je monte ici, je m'
accroupis et j'ai envie de tomber. Vous pouvez voir que je
suis en fait sur le bord du gouffre. Et oui, ça a l'air bizarre.
Fermons-le. Passons à la base de joueurs. Et si vous cliquez sur le composant de mouvement du
personnage et
que vous recherchez accroupi, celui-ci s'appelle
Can walk off ledges Lorsque vous êtes accroupi, cliquez dessus
, compilez et cliquez sur jouer Maintenant, vous pouvez voir
quand cela se produit, si vous vous
accroupissez ici et si vous sautez, il tombera
de ce bord C'est la seule
chose que nous devions faire, une solution très, très simple. Passons à
la leçon suivante.
57. 5.06 Préparer le SFX Footsteps: Il est maintenant temps d'ajouter des effets
sonores de au personnage afin qu'il sonne mieux dans le jeu et qu'
il ne soit pas trop silencieux. Allons-y et
créons un nouveau dossier. Allons-y dans
le dossier de contenu. Faisons un clic droit, accédons à un
nouveau dossier, appelons-le audio. À l'intérieur de ce dossier,
je vais également écrire click and
create a new folder. Je vais appeler cela des
effets sonores à l'intérieur de ce dossier. Allons-y et importons
les effets sonores maintenant. Encore une fois, dans les
documents que j'
ai téléchargés pour
vous sur ce site Web, vous verrez beaucoup plus d'articles. Par exemple, dans l'
interface utilisateur ou dans l'audio, vous verrez beaucoup plus d'éléments que ce que vous voyez ici
parce que je n'arrête pas d'en ajouter. Pendant que je développe ce cours. Vous verrez peut-être encore plus
de choses que ce que vous
voyez ici en ce moment. Ne vous inquiétez pas,
ne vous y trompez pas trop, je continue d'ajouter des éléments
pendant que je développe ce cours. heure actuelle, ce que nous
devons utiliser, ce sont les pas, l'effet sonore des pas
1-6.
Vous pouvez donc cliquer sur tout cela et
les faire glisser dans le panneau ici, le navigateur de contenu, les lâcher prise, et ils seront ajoutés Ce que vous devez faire, c'est
cliquer avec le bouton droit de la souris sur Go et, ici, dans l'
audio, créer un son. Lorsque vous produisez un son, vous pouvez l'appeler,
appelons-le des pas. Maintenant, une autre façon de créer un
son est de
simplement cliquer avec le bouton droit sur l'un d'entre eux et de
cliquer sur Create Que. La troisième option consiste à les
sélectionner toutes et créer un seul que qui les
téléchargera également dans un seul que, ce que nous voulons faire. Mais vous pouvez également simplement cliquer avec
le bouton droit de la souris
pour accéder à l'audio et créer
le son. Différentes options s'offrent à vous. Passons à l'intérieur de
cette file d'attente audio. Laisse-moi juste l'
agrandir un peu pour qu'on puisse voir. Ce que nous pouvons faire maintenant, c'est
prendre tout cela. Cliquez sur le premier
, tout le quart de travail, cliquez sur le dernier et cliquez et faites-les glisser
dans le signal sonore ce qui ajoutera tous les effets sonores des
pas
au signal sonore Maintenant, à l'intérieur,
ce que vous pouvez faire, c'est
que nous voulons jouer ces
pas au hasard. Il doit choisir au
hasard lequel jouer,
juste pour que nous ayons une certaine variété. Ce que vous devez faire est d'écrire, de
cliquer et de rechercher au hasard. Ensuite, vous trouvez cette note aléatoire. D'ailleurs, pour les
signaux sonores, vous pouvez écrire click. Et vous pouvez voir que vous
avez ces nœuds comme dans Blueprint Cependant, pas comme dans Blueprint. Vous pouvez voir que vous n'
avez pas beaucoup de nœuds, mais vous pouvez également faire des
choses intéressantes avec eux, même si vous n'en
avez pas beaucoup. Maintenant, pour celui-ci, nous
allons utiliser le random, et il va jouer l'un de ces
effets sonores au hasard. Connectons-le.
Faisons-les glisser et connectons-les ici. Et cliquons dessus
. De plus, quelques fois que nous avons ces entrées, nous pouvons les brancher comme ça. Branchez-les
tous. La sortie que nous
branchons sur la sortie. Organisons-le un peu. Ce que vous pouvez faire
maintenant, c'est cliquer sur Pl Q pour voir ce qu'il fait. Et vous pouvez voir qu'il émet
un son au hasard. Il choisit simplement l'un d'entre eux. Maintenant, je pense que c'est bien trop silencieux. Nous pouvons passer au
multiplicateur de volume et augmenter l'effet sonore des pas pour
le mettre à 1,2 par exemple Ou tu peux le mettre à trois. Vous pouvez voir que cela
augmente le son, peut-être 1,2. Je ne
veux pas qu'il soit trop élevé pour ce cours, car je vous
parle aussi et vous
pouvez entendre ma voix. Si c'est trop fort, ce
sera probablement trop ennuyeux. Peut-être un pour moi, tu peux
l'augmenter un peu plus. L'un d'eux est peut-être encore trop silencieux. Mais pour ce cours, je
vais m'en tenir à un. Je pense que vous pouvez
également m'entendre lorsque je me rappelle le cours. OK, nous avons pris les mesures nécessaires
et tout est prêt. Et vous pouvez également le jouer ici
pour voir à quoi il ressemble. Maintenant, si vous voulez également plus de
variété, vous pouvez utiliser ce qu'
on appelle un modulateur Si vous cliquez avec le bouton droit de la souris et
recherchez un modulateur ici, je vais simplement utiliser un son pour vous le
démontrer Si je prends ce son et que je le
connecte à la sortie, vous verrez que si vous jouez maintenant, son
est un peu différent. Si vous cliquez sur le modulateur et que vous diminuez le pitch à 0,9 et augmentez
le pitch maximum à 1,1, il y a une
grande différence Il va produire une variété de sons avec des hauteurs
différentes. Si vous cliquez sur Play
now, vous pouvez entendre que le son est un peu
différent à chaque fois que vous pouvez utiliser un modulateur pour augmenter
ou diminuer la
tonalité de manière aléatoire Vous pouvez également le connecter ici. Si je le reconnecte, vous pouvez le connecter ici pour
créer un peu de variété. Maintenant, au lieu de 0,9,
je vais m'en tenir
à 0,95, mais pour le pitch max, je peux m'en tenir à un Quelque chose comme ça. Vous obtenez un son différent à chaque
fois que vous jouez. OK, sauvegardons tout. Fermons-le et
passons à la leçon suivante.
58. 5.07 Minuterie par événement: Maintenant, il faut ajouter l'effet sonore des
pas de pas. Si vous l'avez déjà fait, vous savez que vous pouvez accéder
aux actifs et aux animations. Et à l'intérieur d'une animation, par
exemple, celle-ci ici,
n'importe quelle animation aléatoire. En fait, l'accroupissement est probablement la course que nous devons
trouver. Par exemple, celui-ci. Vous savez que vous pouvez entrer
ici, cliquer avec le bouton droit de la souris, ajouter les notificateurs, puis créer un effet sonore Lorsque vous faites cela, vous sélectionnez un effet sonore
ici dans la file d'attente audio, et vous cliquez simplement sur Play. Vous pouvez voir que cela fonctionne
réellement. Et vous pouvez copier cet effet
sonore, le coller,
essayer de le
combiner avec les
traces de pas, juste comme ça. Quelque chose comme
ça, par exemple. Juste comme ça. Cela
fonctionnera également dans
le jeu lorsque vous jouerez au jeu. Cependant, je l'ai fait et je
voulais l'enregistrer pour vous. Cependant, cela se produit un
peu parce que lorsque vous courez, le son est
parfois émis deux fois. Comme vous l'avez également sur l'autre
animation, vous devez l'appliquer à toutes les animations exécutées lorsque
vous passez
de l' animation de l'arrière
au premier plan ou de l'arrière à
droite à l'arrière gauche. Parfois, il place
le son deux fois à la fois. Ça a l'air un peu bogué. Je n'aime pas vraiment cette méthode, alors j'en ai essayé une autre. Alors fermons-le et
essayons ce qu'
on appelle un chronomètre par événement. Dans cette leçon, je veux
juste vous
expliquer ce qu'est ce
chronomètre par événement, car nous allons en fait l'
utiliser plus d'une fois. Et c'est un concept
et une fonction très
importants au sein
du plan directeur Passons au joueur,
passons à la base de joueurs. Maintenant, pour ce qui est de la course à pied, je voudrais peut-être
en parler ici, dans le cadre de l'épreuve de mouvement qui
aura le plus de sens. Prenons tout cela, et je vais en fait le baisser légèrement pour pouvoir travailler ici
sans aucune restriction. Passons ici à la fin du code
de mouvement,
puis faisons glisser le pointeur à partir de là
et écrivons le chronomètre par événement. Et nous pouvons continuer et sélectionner celui-ci appelé chronomètre par événement. Tu peux aussi écrire, et tu
peux voir ce que tu peux faire. Vous avez une minuterie par événement, minuterie par nom de fonction. C'est presque la
même chose que l'événement, mais vous pouvez voir de quoi il s'agit. Après avoir compris
ce qu'est le réglage du chronomètre par événement, sélectionnons le réglage du chronomètre par événement. Maintenant, pour cet événement, nous
devons ajouter un événement personnalisé ici. Vous pouvez voir cette entrée
que vous devez diriger à partir d' ici et vous devez
écrire des événements personnalisés. Ensuite, vous devez donner un nom à votre événement
personnalisé. Par exemple, je vais simplement l'
appeler play footsteps, sound effects, play
footstep sound effect Maintenant, il vous demande ici, quelle heure
voulez-vous faire une boucle ? Par exemple, augmentons de 0,5. Maintenant, je vais
sélectionner ici que ce
chronomètre est en boucle Et je vais juste
cliquer à nouveau sur cette flèche. OK, maintenant c'est un chronomètre en boucle. Et ça va tourner en boucle
toutes les 0,5 seconde. Si je pars d'ici
et que j'imprime une corde, et que je peux cliquer sur jouer ici, vous devriez voir que nous courons ici. Et j'arrête mon code, vous pouvez voir qu'il
s'exécute toutes les 0,5 secondes. Vous pouvez voir qu'il imprime le
bonjour toutes les 0,5 secondes. Tu peux mieux voir ça si
je change juste la couleur. Par exemple, pour ce qui est de la durée, au lieu de 2 secondes, je l'ai fixée à 50 secondes. Je clique sur jouer,
je bouge et je m'arrête. Il va exécuter le code. Tu vois, toutes les 0,5 secondes, il va dire bonjour. Si vous le posez,
vous pouvez voir toutes les 0,2 secondes qu'il va dire
bonjour, comme vous pouvez le voir ici. Nous pouvons donc utiliser ce
minuteur pour exécuter du code. Dans ce cas, nous
allons l'utiliser pour reproduire en boucle les effets sonores des pas
lorsque vous courez, il va jouer
les effets sonores OK, pour ce chronomètre, il faudra
à un moment donné
arrêter le chronomètre. Sinon, cela va tourner en boucle pour toujours et votre code se bloquera à un moment
donné parce que vous
en avez généré trop d'
instances Faisons donc un clic droit
pour le transformer en variable. Appelons cela des étapes de 1 pied. Cela influe sur le temps ou sur la manipulation.
C'est ce qu'on appelle une poignée. Si vous maintenez la souris dessus, cela s'appelle une structure de
poignée temporelle. D'habitude, je dis «
time » ou « handle » à la fin. Les pas, le son,
les effets, le temps ou la poignée. Maintenant que nous l'aurons plus tard, ce que nous pouvons faire, c'est prendre cela et
dire clair et invalider le chronomètre C'est à ce moment que nous
voulons arrêter ce chronomètre. À un moment donné, nous
pouvons aller de l'avant et utiliser ce chronomètre clair et
invalidé Mais pour l'instant,
supprimons-le simplement. Oui, c'était en fait
pour cette leçon. Permettez-moi simplement de changer celui-ci en quelque chose comme 0,5
pour commencer. Parce que n'oubliez pas qu'un chronomètre
dure ce nombre de secondes. Ainsi, par exemple, si vous avez 0,1, il fonctionnera
dix fois par seconde. Vous pouvez imaginer que vous ne
voulez pas associer cela à
quelque chose comme ça, car imaginez combien de
fois cela va se reproduire. Si je dis bonjour, que je clique sur
jouer, que je cours et que je m'arrête, vous pouvez voir que c'est du spam. Ce code, vous pouvez le voir,
mon jeu
plante en fait et il est très lent Ne fais pas ça, c'
est vraiment nul. J'aime m'en tenir au
minimum, à la valeur minimale. Si je dois vraiment aller très bas, c'est 0,3 ou peut-être
0,2 dans de rares cas. Mais d'habitude, j'essaie de
rester à 0,50 0,40 0,6 C'est si j'ai
vraiment besoin de l'exécuter Souvent, encore une fois, comme je l'ai déjà dit, vous pouvez toujours accéder à votre navigateur Internet
et vous pouvez dire, par
exemple, 1/0 0,01 Ensuite, vous pouvez voir
combien de fois il s'exécute D'habitude, je n'aime pas y aller
plus de 60 fois par seconde. J'écris, par exemple, si vous écrivez 0,03, cela
fonctionne 33 fois par seconde Et parfois c'est
bon, ne t'inquiète pas. Cela est parfois nécessaire et vous saurez
quand vous en aurez besoin. Quand tu peux rester éveillé comme
ça, c'est beaucoup mieux. Cela exécute le code 16 fois. Vous pouvez voir 0,03 Vous exécutez le code presque ou même le
double du
temps que 0,06. Essayez de
rester le plus haut
possible ici , car
ce sera vraiment optimisé pour moi en ce
moment pour les Exécutons-le simplement
pendant 0,5 seconde, deux fois par seconde. Et nous pouvons toujours l'
ajuster plus tard lorsque nous en avons besoin. Supprimons
celui-ci. Compilons tout et
passons à la leçon suivante.
59. 5.08 Réplication multicast: OK, alors nous y revoilà. Maintenant, très important, nous
sommes en mode multijoueur. Nous ne pouvons pas simplement aller ici faire glisser le pointeur à partir d'ici et dire
play Sound par exemple. Il suffit de dire Play Sound. Vous pouvez jouer le son en deux D, qui est généralement utilisé pour les éléments de l'
interface utilisateur lorsque vous
cliquez sur un bouton. Et vous pouvez émettre du
son à un endroit, par exemple
pour les traces de pas. Et vous pouvez simplement
sélectionner le son. Et vous pouvez voir
que si je clique sur Play, je cours, le son sera comme vous pouvez le voir ici. Maintenant, cela ne fonctionne pas vraiment
en multijoueur. Le client n'entendra pas
le son, car encore une fois, souvenez-vous que nous devons répliquer les éléments aux clients
depuis la liste des serveurs Maintenant, cela fonctionnerait en solo, mais
non en multijoueur. Maintenant, pour le multijoueur, nous
devons utiliser une multidiffusion. Ce qu'est un multicast, créons-le ici et je vais vous l'
expliquer Faisons un clic droit et
créons un événement personnalisé. Cet événement personnalisé, je
vais d'abord appeler le serveur. Faisons-le passer par le serveur. Traces de serveurs, effets sonores. OK, cliquons ici
dans les répliques, lançons le serveur de manière fiable Maintenant, faisons un clic droit ici et créons un
nouvel événement personnalisé. Appelons-le MC pour multicast. Et encore une fois, jouez des effets
sonores pour celui-ci, cliquez sur le Replicate Et maintenant, nous allons également choisir la
multidiffusion et la fiabilité Ce qu'est un multicast,
vous pouvez l'imaginer,
il le reproduit, peu importe ce que vous écrivez ici, à
tous les clients Tous ces articles que
vous écrivez ici à
tous les clients coûtent cher . Pour le multicast, il ne peut
fonctionner que via le serveur. Vous ne pouvez pas venir ici et dire « effets sonores de pas de
multidiffusion parce que celui-ci, vous pouvez le voir, indique que si le serveur ne
passe que par le serveur, vous ne pouvez pas le diffuser
via le client On ne peut pas faire ça. C'est pourquoi nous devons d'
abord le faire glisser à partir d'ici et le faire passer par le serveur, avec des effets sonores de pas Ensuite, depuis le serveur,
nous pouvons faire glisser et dire des effets sonores de pas en
multidiffusion Et cela fonctionnera parfaitement, vous devez
donc d'abord le faire
passer par le serveur, depuis le serveur, vous
pouvez ensuite le multidiffuser OK, une autre
explication de la multidiffusion que vous
devez comprendre est que la
multidiffusion est généralement utilisée pour des effets temporaires Par exemple, si vous jouez un effet sonore parce que vous vous
souvenez de la multidiffusion, si un joueur se connecte à votre jeu et que vous avez
écrit un code en multidiffusion, le joueur connecté ne
pourra pas voir ce C'est là qu'
intervient Rep Notify . Et cela
viendra plus tard. Ne t'en fais pas pour le moment. Mais vous pouvez voir ici si
je clique sur une variable, si j'ai réellement une
variable, si je vais
vous voir accroupi par exemple, et que je
clique sur mon état de mouvement Vous pouvez le voir dans le répliqué, j'ai aussi quelque chose appelé une notification de représentant qui
arrivera Mais si nous y retournons et que nous
revenons ici pour la multidiffusion, code
que vous écrivez
ici ne sera pas vu par le joueur connecté à
moins qu'il ne soit rejoué Si je me connecte simplement
au jeu et qu'il émet effet sonore
continu, je ne peux pas l'entendre à moins que le joueur ne s'arrête
puis ne redémarre. Et placez ce code pendant que je
suis connecté au serveur, il jouera correctement
pour la multidiffusion Il est très important que vous
fassiez quelque chose que le
joueur connecté n'a pas vraiment
besoin d'entendre ou de
voir, à moins qu'il ne soit
rejoué, par exemple. Maintenant, pour cet
effet sonore de pas, nous pouvons jouer ici, ainsi que certains effets visuels, par
exemple des feux d'artifice Et si vous ouvrez un
coffre et que ce coffre produit des effets visuels dorés, il doit également être
diffusé en multidiffusion Le représentant ici, si je clique sur
l'une de mes variables. doit être utilisé chaque fois que vous avez besoin du lecteur connecté
pour voir ce changement. Supposons par exemple que
le joueur tienne, par
exemple, un AK ou
un pistolet, un deagle Dans ce cas, il est très important
que le joueur connecté besoin de voir la bonne
arme sur les mains du joueur. L'arme que vous ne
manipulez pas vraiment dans une multidiffusion car le
joueur connecté verra la mauvaise arme sur le joueur Certains jeux coûtent beaucoup d'argent car ils utilisent la
multidiffusion pour tout Encore une fois, je
l'utilise généralement pour effets
sonores et visuels qui n'ont pas besoin d'être
présents tout le temps. Par exemple, vous pouvez voir si
vous avez un feu de signalisation qui passe du rouge au
jaune au vert. Ce feu de signalisation
comme cette couleur, je le ferais probablement
à l'intérieur d'un représentant, avertirait parce que cette couleur doit être correctement visible
pour le joueur connecté Le joueur connecté doit voir
s'il est jaune ou rouge et ne pas continuer à le voir
vert jusqu'à ce qu'il change à nouveau. Pour les
effets visuels temporaires, par exemple, feux d'artifice qui disparaissent au
bout de 3 secondes et qui se rapportent n'ont pas besoin
de figurer dans une notification qui doit être diffusée en multidiffusion Tout ce qui est temporaire et
que le joueur connecté n'a pas besoin de voir immédiatement,
vous devez le faire ici. N'oubliez pas que ce code doit être exécuté à nouveau pour que le
joueur connecté puisse le voir. OK, allons-y et
jouons le son ici. Faisons glisser le pointeur à partir d'ici et
disons « jouer le son sur place ». C'est ainsi que l'on émet un son. Vous devez indiquer où
vous voulez jouer le son. N'oubliez pas que nous codons
à l'intérieur du lecteur. Je peux juste faire glisser le pointeur d'ici
et dire « trouvez l'acteur ». Je vais obtenir la position de ce
joueur. Maintenant, ce son sera
diffusé où que se trouve ce lecteur. Nous devons maintenant
sélectionner quel son. Nous allons sélectionner
les traces. Maintenant, si je clique sur jouer
et que je cours, je m'arrête. Vous pouvez entendre
le bruit des pas. Vous pouvez également l'entendre ici
sur l'autre joueur. Si j'ouvre l'autre lecteur, je peux également entendre
le son. Cela vient du client.
Maintenant ça marche, d'accord ? Vous pouvez entendre qu'il
fonctionne tout le temps, même si je ne cours pas. Et nous devons également résoudre
ce problème dans la prochaine leçon. Mais pour le moment, nous savons que cet effet
sonore fonctionne
réellement. Encore une fois, la multidiffusion ne peut
être exécutée que via le serveur. Vous ne pouvez pas exécuter une multidiffusion via le client, mais via
le serveur,
et depuis le serveur, vous pouvez effectuer une multidiffusion vers effets sonores ou
visuels
temporaires qui
n'ont pas besoin d'apparaître comme un lecteur connecté. Par exemple, feu d'artifice ou une balle que vous venez de tirer et
elle disparaîtra. Mais par exemple, le
pistolet que le joueur
tient est très important
pour le joueur connecté. Cela ira donc à l'intérieur
d'un représentant, prévenez. Ne vous inquiétez pas, nous
le ferons plus tard. Pour l'instant, nous n'en avons pas beaucoup. Nous n'avons que l'effet sonore. Mais nous aurons de nombreux
exemples tout au long de ce cours. OK, pour arrêter l'effet sonore chaque fois que nous nous arrêtons
ici en fin de compte. C'est à chaque fois que nous
relâchons les touches de mouvement. Ce que nous pouvons faire, c'est
repartir sur les traces. Nous pouvons effacer et invalider le
chronomètre par poignée. Cela empêchera ce chronomètre
de fonctionner. Nous pouvons continuer et le connecter, juste comme ça, nous pouvons compiler et
essayons d'y jouer maintenant. Si nous courons et que je m'arrête ici, vous n'entendrez rien
quand vous courez. La raison pour laquelle vous ne pouvez pas
entendre tout cela, c'est parce que cela continue de fonctionner
comme ça très vite. Il n'atteint jamais ce chronomètre avant le début
du deuxième mouvement. Il continue de fonctionner comme ça. Cela lui donne une pause pour passer en revue
et régler cette minuterie. Nous allons corriger ce problème, mais vous pouvez voir ici que
lorsque vous l'ajoutez, le minuteur ne produit plus
l' effet sonore
parce que nous nous arrêtons. Il efface le chronomètre juste pour s'assurer qu'
il ne se décharge pas. Nous pouvons toujours prendre
cette poignée de pas, nous pouvons faire glisser et dire
valide et nous pouvons utiliser,
celle-ci est un chronomètre valide Si c'est valide, nous pouvons
créer une branche et nous pouvons effacer ce chronomètre comme ça. OK ? Assurez-vous
que ce minuteur est valide, puis
effacez-le pour le rendre plus propre. Vous pouvez toujours prendre une autre instance de cette
variable et la brancher ici. Et vous pouvez continuer à
organiser davantage cette fosse. Nous avons maintenant ce code. OK, compilons et
dans la leçon suivante, rendons cela moins embrouillé et
exécutons ce code chaque fois que nous l'exécutons
60. 5.09 Footsteps SFX: OK, tout d'abord, ce que je dois
faire, c'est fabriquer un lingot, le traîner de côté. Et fabriquons un nouveau lingot appelé Playing
Footsteps Effects Jouer l'effet
sonore des pas. Et je l'ai juste mal orthographié. Juste comme ça, en jouant l'
effet sonore de pas de pas, faisons-le glisser et définissons-le true chaque fois que nous
jouons les effets sonores. Avant de faire cela,
prenons-le et créons une branche. Tout d'abord, nous allons demander si nous jouons les
effets sonores ou non. Juste pour le rendre plus lisible, je vais tirer
de ceci et écrire pas linlion, juste comme ça Lorsque nous ne
jouons pas les effets sonores, je veux
jouer les effets sonores. Nous n'avons pas besoin d'exécuter
les effets sonores des pieds lorsque nous les exécutons déjà. Si nous ne jouons
pas les effets sonores des pas, nous pouvons continuer et jouer les effets sonores
comme ça N'oubliez pas que vous
devez le régler sur les défauts. À un moment donné, lorsque nous arrêterons le chronomètre et
que nous arrêterons les effets sonores, je mettrai ce paramètre sur false. Résumons,
voyons si cela fonctionne ou s'il faut en faire plus. Maintenant, vous pouvez réellement voir que cela
fonctionne lorsque vous courez, qu'il fonctionne lorsque vous vous
arrêtez, qu'il s'arrête également. OK, génial. Maintenant, il
fonctionne bien trop lentement. Alors peut-être devriez-vous réduire
ce nombre à 0,5 ou quatre. Et tu peux recommencer
à jouer. C'est peut-être bien trop rapide. En fait, je vais écrire 0,42. Je pense qu'il faut y
jouer plusieurs fois. Essayez de tester votre jeu.
Je pense que c'est bon. Vous pourrez toujours l'ajuster plus tard si vous avez
de l'argent avec cela. Mais je pense que ce chiffre
me convient pour le moment. Maintenant, cela fonctionne correctement. Cependant, vous
aurez quelques bugs. Vous verrez si vous cliquez
sur Play et que je cours partout, vous pouvez voir si vous tombez
sur quelque chose. Placez également l'effet sonore. Il s'agit d'un petit bogue
que vous devez corriger. Pour celui-ci, vous pouvez utiliser
la vélocité du joueur, car si je le
frappe, déplaçons
le tout ici. Vous pouvez donc réellement
avoir de la place pour travailler. Si vous cliquez avec le bouton droit de la souris
et que vous dites « obtenir la vélocité », il s'
agit de la vitesse du joueur Vous la prenez et vous
cassez, vous cassez ce vecteur. Ainsi, vous pouvez à nouveau voir le
X, le Y et le Z. Vous pouvez également simplement cliquer avec
le bouton droit de la souris et diviser l'épingle de la structure.
C'est pareil. Cependant, j'aime
décomposer le vecteur juste
pour l'avoir ici. Maintenant, juste pour le voir,
imprimons une chaîne. Vous pouvez simplement imprimer
la vélocité x, par
exemple, et vous
pouvez voir ce qu'elle indique. J'ai l'habitude de le faire parfois
lorsque je fais appel à un nouveau mécanicien. J'utilise
beaucoup la chaîne d'impression pour voir ce qu'elle fait. Vous pouvez cliquer sur
W pour vous déplacer, et vous pouvez voir la
vélocité augmenter. La vitesse de ton personnage
augmente à chaque fois que je me déplace. OK. Juste comme ça. Et il en va de même
pour le X et le Y. Vous pouvez
donc le voir augmenter à
chaque fois que vous vous déplacez Ce que nous pouvons faire pour produire les effets sonores lorsque
vous entrez dans des objets, je ne veux pas jouer le son. Partons de
là et disons si cette vitesse est supérieure, par
exemple, à 100 ou si
elle est inférieure à 100. Parce que n'oubliez pas que
si vous revenez en arrière, ce sera un chiffre négatif s'il est également inférieur à 100. Ou faisons-le également
pour le y. Copiez-collez ceci et connectez-le
simplement ici. S'il est inférieur ou supérieur, ou inférieur à 100 ici.
Partons de là. Nous n'avons pas besoin d'
utiliser des lingots car n signifie que tout cela
doit être vrai Nous pouvons en tirer parti et utiliser un lingot d'or si l'une
d'entre elles est vraie, nous ne voulons pas émettre le
son parce que nous sommes trop lents Cliquons sur le signe plus
ici et ajoutons-les tous. Ce que nous disons, c'est que si la vélocité du x est supérieure à 100, ou si elle est inférieure à 100,
ou si c'est ceci,
alors nous voulons émettre le
son que nous
pouvons faire glisser d'ici
et écrire une branche. Ensuite, à partir de cette branche, nous pouvons
continuer et la connecter. Juste comme ça, nous
pouvons connecter le code. Maintenant, le code
ne sera joué que lorsque nous nous déplaçons
à cette vitesse. Cliquons sur jouer.
Et je me déplace. Je m'arrête et je
passe à quelque chose ici. Tu vois, ça joue toujours. Et je pense que c'est parce que ce n'est pas assez haut
ici. Si nous écrivons, par exemple, c'est
en fait
parce que celui-ci l'est, le plus bas est également faux. Faisons-le d'abord
plus haut, faisons-en 250. Et là, je dois écrire moins de -250 C'était
une erreur de ma part. Laissez-moi écrire 250 et
c'est inférieur à -250 En fait,
le son est toujours émis si je me lance dans des objets, et c'est parce que je ne l'ai pas mis
ici sur le faux Quand c'est faux, vous
pouvez voir si c'est vrai, l'effet
sonore va se produire. Mais si je continue d'appuyer sur le bouton
, ce sera faux. Nous ne faisons vraiment rien. Cela n'arrêtera
l'effet sonore que lorsque je relâcherai le bouton. Ce que nous devons faire, c'est le faire glisser vers le bas. Et nous devons également insérer cette
fausse information ici. Il arrête donc le chronomètre
chaque fois que c'est faux. Cliquons sur jouer maintenant
et entrons dans le vif du sujet. Et vous pouvez voir maintenant qu'il
ne joue pas le son. Quand je marche un peu, vous pouvez voir que le son commence
à émettre. Vous pouvez toujours
ajuster ce nombre. Si vous le baissez,
le son sera diffusé beaucoup plus rapidement
lorsque vous entrez dans des objets. Mais pour le moment, c'
est bon pour moi. Et tu peux toujours aller de l'avant et organiser ça un peu plus, d'accord ? Donc quelque chose comme ça. J'ai
juste mis les notes de route lues pour qu'elles soient
un peu plus lisibles. Juste comme ça, OK. Maintenant, ce que nous devons faire,
c'est d'autres facteurs. Maintenant, le facteur suivant est que vous pouvez voir si je monte ici, me
laisse vraiment sauter
d'ici et si je saute, cela émet également du
son en l'air. Ce que nous devons faire,
c'est prendre, celui-ci ne saute pas, donc nous assurer que
le joueur ne saute pas. Sinon, nous ne voulons pas
jouer les effets sonores. Frappons-le avec la
rame et le lingot droit. Si c'est vrai, si vous ne sautez pas, nous pouvons
jouer les effets sonores. Cela doit également être une
condition. En fait, attaquons-les. Oui, un peu par ici. Permettez-moi d'étendre tout
cela plus loin. Maintenant, le saut fonctionne. La deuxième chose est que nous
voulons également nous assurer que nous
courons réellement
et non pas que nous marchons. Et vous pouvez voir ici que si je
joue d'abord à courir et
que je marche, je
jouerai aussi, en courant. Je ne sais pas si je l'ai
, je n'en ai pas, en fait. Nous pouvons prendre cet état de mouvement et nous pouvons faire glisser le pointeur à partir d'ici et dire « obtenir une copie » à nouveau. Nous pouvons essayer de vérifier
quel est le dernier indice. S'il court, cela
signifie que nous appuyons sur le bouton de course en ce moment et que nous ne marchons pas ou que nous ne nous accroupissons Si cela équivaut à une exécution, alors nous pouvons continuer et faire ce code comme ça.
Nous pouvons le faire comme ça. Maintenant, pour le rendre plus propre, je vais sélectionner tout ce clic droit
et le réduire à une fonction que je vais
appeler ainsi, la fonction est en cours d'exécution. Il s'agit simplement de vérifier si le
joueur court ou non. J'en fais
une pure fonction. Allons ici
et organisons cela un peu plus dans la
fonction, juste comme ça. Ici, nous vérifions simplement si le joueur court ou non. Donc celui-ci fonctionne, donc nous nous assurons que
le joueur fonctionne, sinon nous ne voulons pas jouer
les effets sonores des pas OK, allons-y
et jouons ici. Et réessaie. Je joue en ce moment. J'arrête. Si je cours, si je maintiens ma touche pour marcher, je
ne vais pas jouer. Si je lâche prise, c'est génial. Maintenant ça marche, d'accord. Il y a un petit
problème en ce moment. Vous pouvez voir que si je cours un peu, cela ne produira pas vraiment d'effet sonore à moins que
je ne cours un peu plus. Ce que vous devez savoir
ici pour le chronomètre par événement, c'est le temps
qu'il
vous faut ici pour exécuter pour exécuter ce
code fit five par exemple. Et je clique sur Play. Il ne va pas lire
ce code instantanément. Il va attendre 5
secondes avant de fonctionner. La première instance
de ce code passe 5 secondes
avant qu'il ne
commence réellement à émettre les effets sonores des
pas Comme vous pouvez le voir ici,
il vient d'être joué, l'
effet sonore du pas est de 0,42. Nous devons jouer l'effet sonore juste avant qu'il ne soit joué
, juste une fois Nous pouvons le faire ici.
Chaque fois que nous allons commencer à jouer
les effets sonores. Je peux continuer et me rappeler que vous ne pouvez pas lancer le multicast
directement depuis le client. Vous devez également l'exécuter via
le serveur. C'est pourquoi je peux
partir d'ici et écrire d' abord
les effets
sonores de la pièce Ensuite, il diffusera la
multidiffusion. Après cela, je vais jouer l'
effet sonore de pas de pas de suite. Au bout de 0,42 seconde,
ce code commencera à tourner en
boucle Parce que si je ne le fais pas, il faudra attendre 0,42 seconde avant de commencer à
exécuter tout cela C'est pourquoi nous avons
un petit retard. Si vous cliquez sur « Je peux jouer maintenant »,
vous pouvez le voir jouer tout de
suite , donc c'est beaucoup mieux. Maintenant, ce que vous pouvez faire si vous ne
voulez pas le jouer tout de suite. Si vous
voulez retarder
légèrement votre effet sonore,
ce que vous pouvez faire,
vous pouvez également cliquer ici et prendre secondes écoulées
ou les secondes de déclenchement Les deux fonctionnent.
Permettez-moi simplement d'utiliser celle qui s'appelle
Trigger Seconds. Ce que vous pouvez faire, c'est que vous
pouvez faire glisser à partir d'ici, imprimons simplement une chaîne. J'aime imprimer des chaînes pour que vous
puissiez voir ce que nous faisons. Connectons cette chaîne d'impression au code et connectons simplement ce déclencheur quelques secondes à la chaîne
d'impression. Jouons. Vous pouvez voir quand je tiens ma clé, cela ne compte que
les secondes pendant lesquelles je la tiens. Par exemple, non seulement ma touche, aussi tous mes
mouvements peuvent indiquer que je bouge, mais ils comptent. Si je relâche mes mouvements, ils recommencent depuis le début. Cela ne compte que les secondes pendant lesquelles vous avez appuyé sur
les boutons de mouvement. Mais ce que vous pouvez faire, c'est
suivre à partir de cela et dire que si les secondes de déclenchement
sont supérieures 0,3, par
exemple, nous
voulons continuer et courir. Permettez-moi d'ajouter une autre
condition ici. Nous avons beaucoup de
condition 1 ici. Au final, nous avons de
nombreuses conditions. Branchons-le et
cliquons sur Play. Cela fonctionne, mais maintenant, au bout 0,3 seconde, il va
lire le code. Maintenant, si vous le montez plus haut, il y jouera bien plus tard. Au bout de 2 secondes, si vous cliquez sur Play et que vous
exécutez au bout de 2 secondes, le code sera lu. C'est le cas si vous voulez le
retarder un peu. Si vous ne voulez pas reproduire l'
effet sonore en cours instantanément, vous pouvez avoir un petit délai, peut-être 0,4 au lieu
de 0,5, et le jeu sera beaucoup plus rapide. Vous pouvez voir que l'effet sonore ne se produit pas chaque fois que
vous le faites. Si vous cliquez simplement rapidement sur la touche, mais si vous cliquez
un peu plus, l'effet sonore sera activé. Je pense que je vais le mettre à 0,3 Je pense qu'
il joue bien trop tard. Si tu fais ça, ça
ne marchera pas. Cependant, si vous
appuyez un peu plus
dessus, l'effet sonore sera activé. OK. Maintenant, cela fonctionne parfaitement. Allez-y, organisez le code. Si vous souhaitez supprimer l'une
des épingles du Ou, par
exemple, vous pouvez écrire,
cliquer et retirer l'épingle. Allez-y, organisez le code. Maintenant, tout est organisé et vous pouvez voir le code ici, juste au cas où vous auriez
oublié quelque chose. J'ai également mis en ligne
ce projet final pour vous,
afin que vous puissiez le suivre. Allons-y et compilons. Sauvegardons tout, et passons
à la leçon suivante.
61. 6.01 Placer les points d'apparition: OK, maintenant que
le mouvement est terminé, nous avons bien sûr encore
besoin du mouvement du pistolet et du
mouvement du fusil, mais nous nous concentrerons
là-dessus plus tard Pour l'instant, passons à l'apparition du joueur
pour l'apparition du joueur Commençons par placer
des points d'apparition pour le joueur ici dans
le dossier Cliquez avec le bouton droit de la souris
pour créer un nouveau dossier. Appelons celui-ci
Span Points Encore une fois, cliquons avec le bouton droit sur ce dossier. Je vais régler la
couleur de celui-ci. Encore une fois, à l'intérieur de ce dossier. Faisons maintenant un clic droit pour
obtenir des points d'apparition Les joueurs doivent
commencer pour qu' ils puissent réellement
commencer le niveau Cependant, au lieu de le
créer à partir d'ici, parce que celui-ci
n'est actuellement créé qu'à partir de
là, les joueurs commencent. Cependant, nous avons besoin
de points d'apparition qui sont en fait des plans Au lieu de faire
celui-ci, supprimons-le. Les joueurs commencent par le
niveau Si vous voulez vous assurer qu'il n'y aura pas plus de joueurs
partants dans votre niveau, vous pouvez toujours simplement
entrer ici dans le plan et
rechercher les joueurs de départ Et tu peux voir qu'il n'y a rien ici. Je vais cliquer sur le X
en haut pour en créer un nouveau. Faisons maintenant un clic droit pour accéder au cours
Blueprint. Au lieu de sélectionner l'un d'entre eux ici, vous pouvez cliquer sur
cette petite flèche, pouvez réellement voir, vous pouvez créer des
plans de presque tout Une caméra, un feuillage, et même
le joueur démarre et ainsi de suite. Vous pouvez donc voir que vous avez 682
objets que vous pouvez
rechercher, par exemple une sauvegarde, lorsque vous allez créer un jeu dans lequel vous sauvegardez,
déchargez, etc. Il y a donc beaucoup de
choses à l'intérieur. Pour l'instant, il suffit que
les joueurs commencent. Si vous recherchez un nom de
joueur, vous pouvez le voir ici. Celui-ci s'appelle Players Start. Sélectionnez celui-ci. Allez-y
et cliquez sur Sélectionner. Appelons-le BP spawns. Je passe à la sauvegarde automatique
pour une raison quelconque. Appelons-la base de points de
spawn BP. Nous avons, nous avons un
plan de base, tout comme le joueur. Si vous revenez au joueur,
nous avons une base de joueurs. Et à partir de ce joueur,
nous avons créé les deux. Maintenant, je n'ai pas vraiment expliqué à quoi
ils servent, car nous
n'avons vraiment
rien à voir dans les plans du terrorisme et de la lutte contre le
terrorisme Et celui-ci, nous devrons
le corriger plus tard. Mais maintenant, vous pouvez voir
ici qu'ils sont vides, les enfants de la base de joueurs. N'oubliez pas que ce sont les
plans pour enfants de la base de joueurs Vous pouvez également voir que si vous
maintenez la souris dessus, vous pouvez voir que la
classe parent est la base de joueurs. Nous allons expliquer dans cette section comment
ils sont utilisés. Revenons maintenant
à la somme des points. Maintenant que nous avons
un point d'apparition de base,
cliquons dessus avec le bouton droit de la Créez une classe de plans pour enfants. Appelons cela le point d'origine
des terroristes de BP. Cliquez à
nouveau avec le bouton droit sur
cette base de points de scie et créons une autre clause de plan
enfant Appelons cela le point d'origine
des terroristes de BP. OK, nous avons un point d'origine
antiterroriste
et un point d'
origine terroriste. Maintenant, allons-y et
plaçons-les à l'intérieur du niveau. Prenons d'abord le
contre-terrorisme et plaçons-le dans le niveau
quelque part, par exemple ici. Et vous pouvez à nouveau cliquer sur E pour le faire pivoter et vous pouvez le
faire pivoter. Juste comme ça. Vous pouvez voir que vous avez
cette flèche bleue et c'est là que le
joueur regarde. Comme vous pouvez voir
si je clique sur jouer, le joueur regarde
maintenant
dans cette direction. Si je le fais pivoter de cette
façon et que je joue, le joueur tourne dans
cette direction. Donc, pour nous assurer qu'ils
regardent dans la bonne direction, allons-y et
faisons en sorte qu'ils pointent dans
cette direction comme ceci. OK ? Maintenant, vous pouvez toujours ajuster
les points de liaison plus tard, mais pour l'instant, je vais
simplement
les placer là où je pense qu'ils
seraient les plus optimaux. Ainsi, par exemple, sur la terrasse du
comptoir,
vous pouvez toujours maintenir la touche Alt enfoncée
et faire glisser le pointeur pour la copier. Et vous pouvez placer
celui-ci ici par exemple. Et j'ai l'habitude de les placer
derrière la défense ici, parce que si vous
les placez ici, ils peuvent s'
entretuer tout de suite. J'ai l'habitude de les mettre
derrière le mur pour qu'ils ne soient pas
tués tout de suite. Vous pouvez simplement
en placer deux. C'est un troisième et
c'est le quatrième. OK ? Juste comme ça. Vous pouvez même en placer un ici, mais je ne veux pas en faire apparaître
quelqu'un ici, en fait Je veux juste
les faire apparaître ici. Encore une fois, pour ce qui
est de votre jeu, tout dépend de vous. Vous pouvez choisir l'endroit où vous souhaitez faire apparaître vos joueurs selon vos préférences OK, je les ai fait apparaître ici. Permettez-moi de faire la même
chose ici pour le terroriste. Permettez-moi de prendre cela en compte
et de le placer quelque part ici. Encore une fois, j'essaie de
les placer du mieux que je
peux derrière le mur. Maintenez Alton, faites glisser pour copier et je vais en
placer un ici Maintenant, il est écrit, oh, j'
ai le sélecteur de couleur. Pour une raison ou une autre, je
n'ai aucune idée de ce que je viens de presser. En cliquant ici et en le
faisant glisser à nouveau ici. Maintenez votre place quelque part
ici et maintenez la touche Alt enfoncée. Faites glisser et placez le
dernier ici. Je vais juste regarder sur le côté, voir à quoi ils ressemblent. Je peux tous les sélectionner en maintenant la touche
Ctrl enfoncée et
en cliquant dessus. Je peux juste les rapprocher
légèrement du mur. C'est parce que je
veux vraiment placer des armes derrière ces joueurs ou
derrière ces spawns OK. Quelque chose comme ça. Je trouve que ça a l'air bien. Vous pouvez ajuster ces points d'
apparition comme vous le souhaitez, mais je trouve que cela
a l'air génial Maintenant, les points d'
apparition des terroristes sont placés,
et les points d'apparition de la lutte contre le
terrorisme sont également placés Allons-y, sauvegardons
tout et passons à autre chose.
62. 6.02 Stocker des informations sur les points d'apparition: Maintenant que nous avons placé
tous ces points fils, passons en revue et stockons
toutes les informations. Maintenant, je le fais habituellement
en mode jeu car c'est le mode de jeu
qui choisit les règles du jeu. Maintenant que vous travaillez
en mode multijoueur, il est très important
de savoir que
le code que vous écrivez ici
dans le mode de jeu ne
s'exécute sur le serveur que si
vous êtes le joueur et
disons à l'intérieur du joueur,
vous essayez ici depuis le mouvement, vous essayez ici depuis le mouvement car souvenez-vous que lorsque
vous lancez le mouvement vous lancez le code tant que joueur ou en tant que client. Et en tant que serveur,
vous pouvez toujours voir sous
quel nom vous lancez. Si vous faites simplement glisser le pointeur d'ici
et écrivez une chaîne d'impression. Maintenant, n'oubliez pas qu'une chaîne d'impression
est très puissante à utiliser. Et si vous compilez
et cliquez sur Play. Et maintenant, quand je déménage, vous pouvez
voir qu'il est écrit « serveur ». Et quand je déménage en tant que client,
c'est le client qui me dit bonjour. Cela signifie que ce
code est exécuté par le serveur et le client
et non par le serveur seul. Maintenant, permettez-moi de le connecter. Permettez-moi de prendre un autre exemple. Quelque chose qui ne passe que
par le serveur. Par exemple, si je m'accroupis et que je joue ici depuis l'autorité
par exemple, je peux compiler Cliquez sur Play, et quand
je marche en tant que serveur, rien ne s'imprime. Et en fait,
lorsque je clique sur jouer, je marche en tant que serveur. Je vais vraiment m'accroupir.
C'est la touche d'accroupissement Si je m'accroupis, tu peux
dire bonjour. Cependant, si je joue en tant que
client et que je m'accroupis, vous pouvez voir que le serveur
dit bonjour Ce n'est pas le client
qui dit bonjour car ce code
ne s'exécute que sur le serveur. Maintenant, pour le mode jeu, vous ne pouvez pas accéder au
code ici depuis un client. Il n'a pas
accès au mode jeu. Si vous voulez écrire
ici du code auquel vous devez
accéder depuis le client, ce n'est pas possible,
alors vous
ne devez pas
l'écrire en mode jeu. Générez des points. Très
important à savoir, c'est toujours le serveur qui fait apparaître les choses dans le monde. C'est parce que nous
essayons d'éviter de tricher. Nous laissons toujours le serveur
gérer le spawning. Par exemple, faire apparaître les
joueurs qui font apparaître une arme dans le niveau lorsque le joueur la
laisse tomber le niveau lorsque le joueur la
laisse tomber de
l'inventaire, etc. Le spawning est toujours géré
via le mode de jeu. Pour les points d'apparition, nous pouvons les
écrire ici. Supprimons tout
cela pour le moment. Écrivons « click »
à l'intérieur des événements. Si vous cliquez sur un
événement, par exemple, et que vous cliquez sur un jeu, vous pouvez voir ce que l'on appelle « post login ». Vous pouvez également simplement écrire « cliquer » et «
écrire » après la connexion. Et cet événement en
mode multijoueur. Chaque fois que le joueur
se connecte à votre carte, il se connecte à votre serveur. Dépublier la connexion, c'est
comme commencer une partie. Chaque fois que le joueur se connecte à votre serveur, quelque chose se passe. OK ? Donc, ce
que nous voulons faire habituellement ici, c'est
créer une nouvelle variable. Créez une nouvelle variable, vous pouvez
voir la nouvelle entrée du joueur. Voici une manette de joueur, vous pouvez
donc stocker la manette du joueur
lorsqu' il se connecte et vous
pourrez l'utiliser plus tard. Il s'agit d'une information très utile. Écrivons joueurs connectés et le type est contrôleur de
joueur, puis sélectionnons celui-ci, Référence d'
objet
du contrôleur de joueur .
Et compilons. Puisque nous voulons stocker toutes les commandes
du joueur
lorsqu'il se connecte, nous devons en
faire un tableau. N'oubliez pas qu'il s'agit
d'une variable unique, vous ne pouvez stocker qu'une
seule information. Cependant, dans un tableau,
c'est comme une boîte. Vous pouvez placer toutes les commandes du joueur dans cette boîte et
vous pourrez l'utiliser ultérieurement. Prenons celui-ci,
suivons à partir d'ici et disons Ad. Nous pouvons ajouter cette manette
de
joueur dans cette case ici avec toutes les commandes du joueur avec les joueurs
connectés ici. Au lieu d'utiliser cette annonce, évitez
simplement la case que j'ai l'
habitude de supprimer à partir d'ici et d'utiliser
celle-ci appelée ajouter unique. Vous ne pouvez avoir qu'une seule instance de cette manette de joueur
à l'intérieur, juste au cas où le joueur
se reconnecterait ou quelque chose comme ça Nous n'avons pas deux manettes de jeu de
ce type
dans le tableau. Ajoutez Unique. Il suffit d'ajouter une instance de ce
contrôleur de joueur à l'intérieur d'ici. Et ensuite pour stocker les
informations relatives aux points de liaison. Maintenant, pour obtenir quoi que
ce soit, c'est très, très important. Lorsque vous programmez habituellement
dans le cadre de mes cours, je veux que vous prêtiez attention
aux outils que j'utilise. Il est parfois important que nous
programmions un jeu de tir à la première personne
ou un jeu en deux D. Parfois, il est plus
important de
faire attention aux
nœuds que j'utilise. Et imaginez comment vous pouvez l'utiliser
autrement dans un jeu RPG lorsque vous
collectez des pièces, etc. Pour stocker ou récupérer tout ce
qui se trouve à l'intérieur de votre niveau qui existe
à l'intérieur de votre niveau, nous devons utiliser un nœud
appelé Get Actor of class. Si vous cliquez ici avec le bouton droit de la souris
et que vous dites « Get Actor of class », vous pouvez voir que vous pouvez maintenant obtenir tout ce qui se trouve
dans votre niveau. Par exemple, les joueurs
commencent que nous utilisons. Si vous recherchez Players
Start, vous pouvez le constater. Vous pouvez le voir ici
également, puisque cela ne s'appelle pas Players Start,
ce n'est pas faux. Cependant, vous pouvez également obtenir, si vous allez aux points d'apparition, vous pouvez obtenir la base des points
d'apparition Maintenant que nous l'avons dans
le plan, si vous
recherchez simplement la base de points, vous pouvez la voir Trouvez un acteur de classe. Vous n'en
trouverez qu'une depuis le niveau. Nous avons également un autre nœud
appelé get all actors of class. Non seulement nous obtenons
un point, nous obtenons également
tous les points d'apparition. En fait, je
veux juste les séparer. Vous pouvez simplement
rechercher une base
de points d'envergure ajouter et l'
appeler points d'Espagne. Cependant, je vais déjà les séparer d'ici. Je vais chercher les points d'origine des
terroristes de Cada . Point d'apparition. Assurez-vous que c'est le
point d'origine que vous sélectionnez ici. Je vais cliquer ici avec le bouton droit de
la souris, en faire une
variable et l'appeler Cada terrorist spawn points Maintenant, je les ai dans cette variable
de tableau. OK, ensuite nous pouvons encore une fois dire «
trouvez tous les acteurs de classe », « nous pouvons obtenir les points d'apparition des
terroristes » Maintenant, si vous pouvez trouver un point de spa
terroriste, laissez-nous le reconnecter ici. Permettez-moi de cliquer avec le bouton droit sur celui-ci, promouvoir en tant que variable et de le qualifier de
points d'apparition terroristes . Il s'agit d'obtenir tous les acteurs de
la classe des points d'apparition en terrasse, c'
est-à-dire tous ceux ici Il reçoit les quatre et nous les stockons maintenant dans
ce tableau. Bien, maintenant que nous l'
avons stockée, encore une fois, vous pouvez toujours essayer d'imprimer
une chaîne si vous le souhaitez, cliquez avec
le bouton droit sur Imprimer une
chaîne comme ceci. Vous pouvez essayer d'obtenir
celui-ci par exemple, le récupérer correctement et d'en obtenir
une copie. Encore une fois, si vous ne vous souvenez
pas des fonctions d'un tableau, vous pouvez simplement
rechercher un tableau et vous pouvez voir toutes les fonctions
que vous pouvez utiliser ici. Par exemple, vous pouvez dire obtenir, si je peux le trouver
ici, celui-ci ici et vous pouvez le connecter
. Vous obtenez maintenant le
point pour l'Espagne à l'indice zéro. Et si vous jouez, vous pouvez voir que cela
s'appelle Terrorist Spin
Point comme ça. Si vous obtenez le point de spin
à l'indice un dans ce tableau, il s'appelle spin 0,2. Si vous
obtenez le point de spin à l'indice deux, il s'appelle Spin 0,3. Vous pouvez voir ce tableau contient en fait
tous les points d'Espagne. Très utile, encore une fois pour utiliser des chaînes d'
épingle lorsque vous
souhaitez déboguer votre jeu, vous souhaitez simplement
voir ce que cette variable, par
exemple, stocke
réellement Allons-y, compilons, sauvegardons tout,
et passons à autre chose.
63. 6.03 Importer les ressources de l'interface utilisateur: Maintenant que les informations relatives aux
points espagnols sont stockées, nous sommes prêts à créer
une interface utilisateur avant de
terminer le spawning Allons-y
et importons l'interface utilisateur dans les documents de coûts
que je
vous ai fournis sur ce site Web, vous pouvez y accéder et
la télécharger à nouveau. Si vous ne l'avez pas déjà
téléchargé, vous pouvez accéder au dossier
de l'interface utilisateur. Ici, j'ai des boutons pour vous, des icônes
et des images. Maintenant, si vous cliquez sur les boutons, laissez-moi d'abord entrer dans le
moteur. Et laissez-moi créer un dossier d'interface utilisateur. Faisons un clic droit sur
le dossier de contenu. Je vais créer un nouveau dossier
appelé I à l'intérieur d'ici. Faisons un clic droit et
créons un nouveau dossier. Et je vais l'appeler, par
exemple, des boutons. Je vais en créer
un nouveau appelé icons. Je vais en créer un
nouveau qui s'appellera Images. Commençons par
le dossier des boutons. Permettez-moi de consulter
mon matériel de cours. Prenez tous les boutons ici,
cliquez dessus et faites-les glisser
dans votre navigateur de punt. Juste comme ça, vous pouvez
tous les voir importés avec Awesome. Maintenant, si vous ouvrez simplement l'un d'entre eux, vous verrez qu'ils sont importants
et que tout est correct. Pour les améliorer un peu et pour ne pas les rendre flous ou éviter toute
erreur dans le jeu, vous devez remplacer le groupe de
textures par UI Vous devez également modifier
les paramètres
de compression l'interface utilisateur 2
D. Ensuite, il
sait qu'il s'agit d'un élément de l'interface utilisateur et qu'il n'
y a rien de flou ou de ligne blanche
derrière cette interface utilisateur, etc. Et en fait, vous devez
le faire pour chacun d'entre eux. Maintenant, je vais vous montrer un truc. Nous l'avons déjà utilisé. Et si vous les
sélectionnez toutes, vous pouvez écrire Click
Go to
Asset Actions et Modifier en bloc via
Property Matrix. C'est ce que nous avons fait
avec les animations. Si vous vous en souvenez, vous pouvez également le
faire avec les
éléments de l'interface utilisateur à l'intérieur d'ici. Cliquez sur la compression ici. Assurez-vous que les paramètres
de compression les intègrent dans une interface utilisateur. Deux D, laissez-moi
voir quel est l'autre, je pense que c'est dans le
niveau de détail ici. Un groupe sélectionne celui-ci
et l'intègre à l'interface utilisateur. Maintenant, vous l'avez
changé pour chacun d' entre eux et nous n'avons pas besoin de
le faire pour chacun d'entre eux. Maintenant, vous pouvez voir si vous cliquez
sur l'un d'entre eux, par exemple, vous pouvez voir que c'est
l'interface utilisateur et l'interface utilisateur deux, géniales. Tout semble
bon. Allons-y et cliquons
sur Fichier et Enregistrer. Revenons aux supports de
cours. Revenons aux icônes Maintenant, vous verrez peut-être plus d'icônes que ce que vous pouvez voir
ici sur mon écran. Encore une fois, c'est parce que j'ai l'habitude mettre des icônes au fur et à mesure que je
développe ce cours. Plus tard, j'ajouterai d'autres icônes, mais dans votre exemple ou dans le
contenu de votre matériel pédagogique, vous verrez probablement d'autres icônes. Ne vous y trompez pas, nous les
utiliserons plus tard. Mais pour l'instant, je n'
ai que ces deux-là. Et je vais aller sur mes icônes et je vais les faire
glisser ici. Et encore une fois, comme
avant, cliquez dessus, transformez-le dans une interface utilisateur et dans une interface utilisateur deux D. Je vais aussi le
faire pour l'autre, interface
utilisateur deux D.
OK, elles sont donc prêtes. Revenons maintenant
aux images. Et permettez-moi d'ouvrir
mes documents de dépenses. Revenons aux images. Permettez-moi
de tous les importer ici. Et parfois, cela
en fera une carte normale,
comme vous pouvez le voir ici. Celles-ci ont été importées sous forme cartes
normales et je
ne le veux pas. Et cliquez sur Revert, Inverser et revenir en arrière, cela n'en fera
pas une carte normale, alors allez-y et cliquez à nouveau
sur la première,
sélectionnez la dernière
, cliquez avec le bouton droit Accédez à Asset Actions et
modifiez en bloc via la matrice de propriétés. Ouvrez la
sélection de compression ici dans les paramètres
de compression. Sélectionnez l'interface utilisateur,
deux D dans le niveau de détail dans le
groupe de textures, sélectionnez l'interface utilisateur. Fermons tout
et sauvegardons tout. Maintenant que tout est prêt, passons à
la leçon suivante.
64. 6.04 Importer une police personnalisée: Très bien, maintenant que
nous avons ajouté l'interface utilisateur, nous avons également besoin d'un
fonds que nous pouvons utiliser. Du texte, du texte personnalisé, et vous pouvez le trouver si
vous écrivez Google Funds, c'est vraiment agréable
à utiliser car ils sont gratuits et
contiennent beaucoup de fonds intéressants. Si vous entrez dans les fonds Google et que vous cliquez dessus,
cela fait partie des fonds que vous
souhaitez utiliser dans votre jeu. Ce que je fais habituellement, c'est
ici par catégories, je supprime généralement l'affichage, l'
écriture manuscrite et le monospace Encore une fois, cela dépend du
style que vous souhaitez pour votre jeu. En ce qui concerne le nombre de styles, j'aime généralement les fonds qui
proposent beaucoup de styles parce que je sais qu'ils ont
une belle apparence dans le jeu. Par exemple, nous pouvons utiliser
Roboto ou Open Sense. Ou vous pouvez également utiliser,
par exemple, quelque chose comme Rubic. Je pense que je vais
réutiliser Rubic. Choisissez ce que vous
voulez, peu importe. Je vais choisir Rubic puis cliquer sur
Download Family Il va le
télécharger pour vous. Je peux cliquer dessus et l'ouvrir. Et ici, vous pouvez voir tous les
fonds statiques, en cliquant sur les fonds statiques, et voici tous
les fonds, d'accord ? Ce que je vais faire, c'est
minimiser
tout ce qui se trouve sur mon bureau. Je vais d'abord les
mettre ici car il s'agit d'un dossier et vous
devez d'abord l'extraire. Parce que si vous essayez d'importer des
éléments depuis un dossier Sip, il ne vous le permettra pas, il
vous donnera cette erreur ici. Encore une fois, je vais
minimiser cela. En général, vous n'avez pas vraiment besoin de
fonds très légers comme celui-ci. La lumière rubis, parce qu'elle est
vraiment difficile à voir dans le jeu, j'ai l'habitude de choisir
les plus audacieuses. Rubrique, en gras, très gras.
Choisissons également
le semi-gras, il existe un médium normal. Je vais prendre le format moyen
et simplement cliquer dessus et
les faire glisser sur votre bureau
pour les extraire. Maintenant, je vais
fermer ça. Maintenant que nous avons ces fonds, nous pouvons revenir à Unreal
Engine et
me permettre de créer un nouveau dossier
ici, dans le dossier de l'interface utilisateur Permettez-moi de cliquer avec le bouton droit de la souris et de créer un nouveau dossier appelé
funds Go in out of here. Et je vais les glisser
dans mon dossier de fonds. Et je vais vous demander si vous souhaitez
créer un nouvel actif de fonds à l'aide de ces fonds importés ? Je vais cliquer et
postuler à tous les D. Oui, je veux que tu le fasses. Cela va créer
un fonds pour vous. Allez-y, sauvegardez tout. Et maintenant, vous pouvez réellement
utiliser ce fonds si vous accédez à une interface utilisateur que nous
créerons à l'avenir. Vous pouvez remplacer le fonds l'un de ces fonds afin
de découvrir un moyen
très, très simple de l'ajouter. OK ? Maintenant que nous avons
ajouté des fonds dans le moteur, allons-y et je vais vous
présenter les plans de
Widgit
65. 6.05 Introduction aux plans de widget: Allons-y maintenant et
créons un plan de widget. Les plans du widget
sont essentiellement l'interface utilisateur présente dans Unreal
Engine Donc, si vous cliquez avec le bouton droit de la souris, accédez à l'interface utilisateur et
créez un plan de widget Mais ensuite,
créez-le et sélectionnez-le. Ici, là-haut, le widget utilisateur. Et appelons-le simplement WB. Et je vais l'appeler
sélection d'équipe, parce que nous sommes en train de créer une sélection d'
équipes dans laquelle vous pouvez choisir d'être
le terroriste ou l'antiterroriste Ouvrons ce
widget, Blueprint. À l'intérieur de ce
widget. Plan directeur Cela ressemble presque au visualiseur de plans avec lequel
nous avons travaillé Vous pouvez écrire, cliquer
à l'intérieur d'ici
et vous déplacer vers la gauche. Vous pouvez voir tous les éléments que vous pouvez ajouter
à l'intérieur de la palette. Par exemple, nous pouvons ajouter des images, des boutons, des bordures,
des curseurs, du texte, etc. Nous travaillerons
beaucoup sur tout cela. Il existe également une hiérarchie. Par exemple, si vous cliquez et faites glisser ce bouton
dans cette hiérarchie, vous pouvez voir
ici que
ce bouton a été ajouté. Cela semble très étrange en ce moment, mais nous avons ajouté un bouton à notre sélection Steam,
Widgit Blueprint Encore une fois, vous pouvez
compiler pour vous assurer qu' il
n'y a aucune erreur,
comme dans Blueprint Et vous pouvez jouer
au jeu pendant le test et voir votre jeu. Cependant, nous n'avons pas vraiment affiché cette interface utilisateur
dans le niveau, vous ne pouvez
donc
rien voir dans le jeu, d'accord. Et à droite, vous
avez un panneau de détails. Si vous cliquez sur le
bouton par exemple, vous pouvez voir que vous pouvez modifier
certaines choses à propos de ce bouton. Vous pouvez modifier le style, la couleur et vous pouvez également
modifier d'autres paramètres. Nous allons travailler
avec eux dès maintenant. Le plan de Wiga est
divisé en deux sections. Vous avez le concepteur en ce moment, vous concevez l'interface utilisateur. Et puis vous avez
le graphique où vous codez les boutons et ainsi de suite. Voici tout le code,
le plan ou l'interface utilisateur. Par exemple, ici dans
le graphique, vous pouvez coder Par exemple, si vous cliquez sur ce bouton, que devrait-il se passer ? Cela se fait ici dans le
code où vous concevez, ici vous codez les
fonctionnalités de l'interface utilisateur. OK, allons-y
et supprimons ceci. Et la raison pour laquelle cela semble
si étrange, c'est parce que vous devez d'abord ajouter ce qu'
on appelle un canevas. Si vous recherchez un canevas, vous pouvez d'abord cliquer dessus et le faire
glisser dans la hiérarchie. Et maintenant tu peux voir
que tu as un canevas. Lorsque vous avez un canevas maintenant, vous pouvez y ajouter des éléments. D'habitude, je ne
clique pas sur ces listes, mais si vous êtes nouveau ici, vous pouvez cliquer sur chacune d'entre elles. Essayez de lire ce que vous pouvez
réellement faire ici. C'est vraiment bien. Cependant, si vous êtes nouveau ici, je
recherche généralement simplement des éléments. Vous vous y
habituerez beaucoup car nous allons en fait beaucoup
travailler avec cela Les mêmes éléments que nous utilisons
encore et encore, vous vous y
familiariserez très bien. Par exemple, vous pouvez
rechercher un bouton, le cliquer
et le faire glisser dans le canevas. Et vous pouvez voir que lorsque vous l'
ajoutez dans le canevas, il est également ajouté
dans la hiérarchie. Tout ce que vous voyez à l'intérieur
de cette hiérarchie se trouve également à l'intérieur
de votre concepteur. Ici, dans le canevas, par exemple, vous pouvez cliquer sur ce bouton
et le redimensionner Ou ici, dans le panneau des détails, vous pouvez également
le redimensionner ici en taille x et en
taille Y. Par exemple, vous pouvez
rechercher une image, vous pouvez également
y faire glisser une image . Vous pouvez le redimensionner Cliquez sur l'image,
cliquez sur le pinceau, et vous pouvez modifier cette image. Par exemple, vous
pouvez le transformer en, importons en fait des icônes. Si je recherche ICO et que je
sélectionne l'une des icônes, vous pouvez voir ici
que l'icône importée et que vous pouvez
jouer avec elle. Vous pouvez également cliquer
sur Size To Content. Cela le dimensionnera en fait à la taille que vous avez
ici dans la taille de l'image. Vous pouvez également l'augmenter ou le
diminuer. Habituellement, lorsque vous cliquez
sur ces petites flèches, par défaut
est la même résolution
que vous avez importée par défaut
est la même que celle que
vous avez importée Pour une raison ou une autre, cela ne
fonctionne pas pour moi en ce moment. Je ne sais pas s'il s'agit d'un bogue dans vrai moteur ou quoi que ce soit d'autre, mais cela fonctionne généralement,
mais il devrait en fait le redimensionner à
la taille sous laquelle vous avez importé Et comme vous pouvez le constater, les
dimensions de cette icône sont de 256 x 256. Il devrait donc être
256 comme celui-ci. J'appuie ici, mais pour une
raison ou une autre, je ne le fais pas. Mais il s'agit en fait de
la
taille d'origine de cette image ici, et si vous cliquez sur
Taille pour consentir, elle est redimensionnée à
celle-ci ici OK, donc tu peux
juste jouer. Nous avons le bouton,
nous avons une image, et vous pouvez également simplement
cliquer sur chacun d'entre eux. En fait,
peu importe si vous éliminez tout
d'ici. Il suffit de cliquer dessus, d'essayer de voir
si vous y ajoutez une valeur. Vérifiez que vous pouvez réellement
déplacer ce curseur. Et vous pouvez cliquer, par
exemple, sur Editor Input. Par exemple, du texte modifiable. Vous pouvez le placer ici
et voir ce qui se passe. Vous pouvez écrire quelque chose à
l'intérieur de ce texte et simplement
jouer ici. C'est vraiment amusant jeter un coup d'œil à ce qu'il y a
à l'intérieur. Et je vais cliquer et
cliquer sur mon bouton Supprimer et tout
supprimer pour le moment. Et je vais également
supprimer le panneau du canevas. Allez-y, compilez,
sauvegardez tout. Passons
à la leçon suivante.
66. 6.06 Afficher l'interface utilisateur de sélection d'équipe: Passons maintenant à l'affichage
de l'interface utilisateur avant de la concevoir
réellement pour afficher l'interface utilisateur. Habituellement, lorsque nous travaillons avec l'interface utilisateur, nous le faisons à l'intérieur du contrôleur du
joueur. C'est ici que nous contrôlons l'interface utilisateur située à l'intérieur de
la manette du joueur. Passons au graphique des
événements ici. Ce que nous faisons habituellement
en mode solo, prendre ceci et de dire « créer des
widgets », juste comme ça. Créez un widget, puis
sélectionnez le widget, par
exemple, sélection d'équipes WB Et puis nous l'ajoutons généralement à la fenêtre d'affichage, juste comme ça Ensuite, nous pouvons cliquer sur Play, et nous sommes heureux de
pouvoir voir l'interface utilisateur. Et quand je clique sur Escape, vous voyez que j'ai une ère. Et c'est parce que nous
sommes maintenant en multijoueur afin d'afficher l'interface utilisateur et que nous pouvons réellement
voir quelque chose. Revenons d'abord
à l'interface utilisateur. Permettez-moi d'ajouter à nouveau un canevas, permettez-moi d'ajouter une
image aléatoire car je
veux vraiment voir si elle est ajoutée
à la fenêtre d'affichage ou non Je vais donc simplement ajouter cette image
étrange ici à mon interface utilisateur. Et je clique sur Play,
et vous pouvez voir cela s'affiche réellement
sur mon écran, à la fois sur le client
et sur le serveur. En fait, j'affiche
l'interface utilisateur en ce moment. Cependant, si je clique ici, si je clique sur Escape, vous pouvez voir que seuls les contrôleurs de
joueurs locaux peuvent être assignés aux widgets. N'oubliez pas que lorsque nous
travaillons avec l'interface utilisateur, nous n'avons pas vraiment besoin de l'
exécuter via le serveur. C'est parce que chaque
joueur possède sa propre interface utilisateur. Ce n'est pas comme une
arme que vous avez dans jeu où vous devez
la faire passer par le serveur, puis le serveur doit reproduire
ces informations
aux clients et leur dire que vous avez une arme
posée au sol C'est différent pour l'interface utilisateur, chaque joueur
a sa propre interface utilisateur. Ce n'est pas comme si cela
passait par le serveur et que le
serveur mettait à jour son interface utilisateur. Ce n'est pas comme ça que ça se passe. Cela se produit par
chaque joueur sa propre interface utilisateur. Il ne
passe pas par le serveur. Lorsque vous travaillez avec l'interface utilisateur, vous devez l'exécuter
via le client. N'oubliez pas que chaque
fois que vous avez une interface utilisateur, vous devez l'exécuter
via le client. Supprimons tout
cela pour le moment. Ce que je vais faire, c'est cliquer avec le bouton droit de la souris et créer un nouvel événement personnalisé ici, dans la manette
du joueur. Appelons celui-ci un widget d'
affichage et de masquage. En gros, ce que
ce widget ou cet événement va faire c'est afficher
ou masquer le widget, selon ce que
vous lui demandez de faire. Il faut maintenant
lui donner deux paramètres. Quel widget
va-t-il afficher ou masquer ? Et est-ce qu'il va le montrer ou le
cacher ? Ici, laissez-moi juste nom de
ce taureau pour montrer que ce
sera vrai ou faux. Si c'est faux, l'interface utilisateur
sera masquée. Si c'est vrai, l'
interface utilisateur s'affichera. Nous pouvons utiliser ce taureau ici. Cependant, pour le second, nous devons lui dire de quel
widget nous parlons. Nous devons faire une énumération. Minimisons cela. Accédez au dossier Blueprints to
enumerations N'oubliez pas que nous avons créé celui-ci appelé Movement States plus tôt. Maintenant, cliquons avec le bouton droit de
la souris et créons-en un nouveau. Accédez au plan et à l'énumération. Appelons cela
des widgets de jeu. Nous pouvons faire une liste de
tous les widgets de jeu dont nous disposons. Pour celui-ci, permettez-moi d'ajouter un
nouvel énumérateur, un élément de liste. Permettez-moi d'appeler cela la sélection d'équipe, car pour le moment,
nous voulons créer le widget de sélection d'équipe. Vous pourrez également en créer un ultérieurement. Par exemple, le Mau I, qui est en fait le principal responsable de votre santé, etc. Vous pouvez également en créer un nouveau appelé menu Escape lorsque
vous en avez un, etc., mais pour l'instant je vais les
supprimer. Je n'ai que la sélection de l'équipe. Économisons maintenant dans le cadre de
notre loi sur le contrôle des joueurs. Cliquons à nouveau sur notre événement. Changons ce type en E.
Nous l'avons appelé widgets de jeu. Et c'est celle-ci,
cette énumération. Allez-y, appelez-le Widgets. Et nous l'avons ici.
Alors compilons maintenant. Comme vous pouvez le voir, si
j'écris, commencez, jouez et créez l'événement
Begin Play. Si je fais glisser le pointeur d'ici et que j'appelle cet événement, affiche le widget de masquage. Afficher masquer le widget,
vous pouvez voir maintenant que je peux sélectionner de
quel widget ou de quel widget je parle. Ensuite, je peux choisir
si je veux le masquer, ce qui signifie que l'émission est fausse. Ou si je veux montrer l'interface utilisateur. Et nous pouvons exécuter le
code ici. OK, très, très cool. Continuons maintenant le code. Je vous ai dit que cela
doit être exécuté sur le client, donc toute l'interface utilisateur que vous créez doit
passer par le client. Faisons donc un clic droit et
créons un nouvel événement personnalisé. Appelons-le CL pour le
client, show hide widgets. Et laissez-nous le faire passer par
le client et de manière fiable, tout comme ici, nous avons besoin des deux entrées. Créons les deux entrées. Le premier s'appelle widgets et celui-ci a déjà
été sélectionné. Le second s'appelle show
the bullion. Afficher ou masquer. Et choisissons le type de
lingot. Nous devons le faire passer par ici. Choisissez également le CL, affichez, masquez les widgets ici. Nous connectons donc l'événement
client ici. Et allez-y,
connectez-les ensemble. OK, donc ce
qui se passe en ce moment,
c'est au début du jeu.
Lorsque vous commencerez à
jouer, je vais afficher instantanément l'interface de
sélection des équipes. Je vais donc
cocher cette case et je
vais montrer l'interface utilisateur de sélection des
équipes. Lorsque je fais cela ici
au début de
la partie, le code va
passer par ici. Il va donc mettre ces informations dans celle du client. Maintenant, ces
informations sont publiées ici et nous pouvons les
utiliser comme bon nous semble. Maintenant, je vais faire
glisser ce taureau et écrire une branche
parce que je veux savoir, je
vais afficher l'interface utilisateur ou est-ce que je
vais la masquer ? Est-ce faux ou est-ce vrai ? C'est ce que je demande en
ce moment. Maintenant, si c'est le cas, créons une nouvelle fonction. Créons cette fonction
appelée show widgets. Créons-en un autre
appelé Hyde Widgets. Encore une fois, cliquez dessus et ajoutez une nouvelle entrée du widget de
type A. L'énumération que nous avons faite
auparavant et que nous appelons widget est à nouveau compilée car
nous avons besoin de savoir quel Widgit nous
parlons dans le widget Hyde Créez une nouvelle entrée
et appelez-la widget. Encore une fois, assurez-vous que ce type
est également un widget de jeu. Bien,
revenons au graphique. Faisons glisser les fonctions que nous venons de créer. Ils
sont toujours vides. Il n'y a rien dedans. Mais pour l'instant,
ajoutons-les ici. OK, afficher le widget de masquage. Si c'est vrai, nous devons afficher le widget. Celui-ci, je peux le connecter. S'il est faux, nous
devons masquer le widget, et nous pouvons le sélectionner ici. Maintenant, de quel widget
parle-t-on ? Ces informations que nous avons ici, parce que nous les avons configurées ici, nous pouvons
les connecter aux entrées que nous venons
de créer pour celles qui sont ici. Ces informations entrent maintenant
dans la fonction. Maintenant, nous l'avons ici, et
nous pouvons faire ce que nous voulons. Quel est notre objectif ici ?
Pour afficher un widget, nous devons utiliser le
nœud appelé create widgit. Nous devons
utiliser celui-ci ici. Ensuite, nous devons sélectionner de
quel widget nous parlons. Celui-ci par exemple, ici, comme vous pouvez le voir pour
l'énumération, nous pourrions avoir beaucoup d'articles Nous devons savoir quelle est la
valeur de cette énumération. Pour ce faire, il suffit de glisser le pointeur d'ici et
de rechercher Switch Et nous avons
celui-ci appelé Switch
on enumeration.
Allez-y, sélectionnez-le. Et maintenant, il va
vous donner une épingle d'exécution, en fonction
des éléments de la liste dont vous disposez. Par exemple, si je reviens à mon énumération et
disons que j'ai un MenUI et un menu
d'échappement, juste comme ça, par exemple Allez-y, sauvegardez-le. Et revenons à la manette du
joueur. Maintenant, vous pouvez voir que je
reçois des épingles d'exécution, en fonction des éléments de ma liste, peu importe ce que vous avez configuré ici. Donc, si je reviens en arrière,
tout ce que vous sélectionnez ici va
passer par cet événement, le
placer dans
celui du client et
continuer le code, mettre dans la fonction. Il sait maintenant que vous
parlez la sélection de l'équipe parce que
vous l'avez sélectionnée ici. Il va donc exécuter
le code à l'intérieur de
la sélection du joueur. Il ne va pas exécuter le
code écrit ici. Et il ne va pas exécuter le
code écrit ici. Je n'exécuterai le
code écrit ici que parce que vous avez défini la
valeur pour la sélection de l'équipe. Il va juste le faire par cette
épingle d'exécution pour le moment. C'est ainsi que nous procédons. Supprimons-les simplement pour le moment. Nous n'en avons pas vraiment besoin, nous avons juste besoin de la sélection de l'équipe. Allez-y, enregistrez-le et
compilez-le également. OK, pour créer
ou afficher un
widget, créez le widget. Sélectionnez celui
que vous souhaitez afficher. Ensuite, cliquons dessus avec le bouton droit de la souris et
promouvons-le en variable. Comme elle est très
utile avec la variable, nous pourrons l'utiliser ultérieurement
pour exécuter des événements. C'est ce que je vais appeler WB selection. Maintenant que vous
avez créé l'interface utilisateur, si vous cliquez sur Play, rien ne
s'affichera vraiment. En effet, il ne
suffit pas de
créer l'interface utilisateur. Vous devez également faire glisser le pointeur à partir d'
ici et dire Ajouter à la fenêtre d'affichage. Il est maintenant ajouté à la fenêtre d'affichage. Maintenant, si vous cliquez sur Play, vous
pouvez voir qu'il est ajouté à la fenêtre d'affichage et que vous n'avez aucune erreur lorsque vous cliquez
sur le bouton Escape OK, ça a l'air bien. Maintenant, pour m'assurer que vous ne continuez pas ajouter à votre fenêtre d'affichage
sans aucune raison, permettez-moi de simplement me déconnecter
ici et de le déplacer. Permettez-moi de prendre cette variable, de la
faire glisser ici, cliquer avec le bouton
droit de la souris et de la convertir en un get validé, puis de la connecter.
Maintenant, si cette variable n'
est pas valide, c' Maintenant, si cette variable n'
est pas valide, est-à-dire que nous n'avons pas encore créé
cette variable, le programme ou le moteur irréel ne sait pas vraiment de quoi
vous parlez avec cette variable parce que vous n'y avez mis aucune
information Cela signifie que nous n'avons pas encore
exécuté ce code. S'il n'est pas valide
, créez l'interface utilisateur. Toutefois, si elle est valide, si cette variable
contient déjà le widget. Nous avons donc déjà exécuté ce code. Nous ne
voulons pas vraiment le réexécuter, nous voulons juste l'
ajouter
à la fenêtre d'affichage,
comme ça, d'accord ? Cela évite donc de créer
l'interface utilisateur encore et encore. Si ce n'est pas valide,
créez
l' interface utilisateur, puis
ajoutez-la à la fenêtre d'affichage si c'
est valide . Cependant, allez-y et ajoutez-le simplement à la fenêtre d'affichage Allons-y, compilons
et sauvegardons tout. Maintenant, pour le widget de
masquage, c'est pareil. Partons d'ici et
disons activer l'énumération. Prenons cette variable.
Maintenant que nous l'avons créée, cliquons avec le bouton droit de la souris sur Convertir en un get validé.
Allez-y, connectez-le. Maintenant, si c'est valide, c'est-à-dire que
nous voulons vraiment le cacher. Maintenant, partons d'ici
et disons supprimer de Parent. C'est ainsi que vous supprimez l'
interface utilisateur de votre Viewport. Supprimer du parent,
s'il est valide,
allez-y, supprimez-le, car nous voulons le masquer. Maintenant, si vous compilez
et cliquez sur Play, vous pouvez voir la fenêtre d'affichage Dans la fenêtre d'affichage, vous
avez ajouté l'interface utilisateur. Si vous continuez dans le graphique des événements de contrôle des
joueurs, si vous supprimez simplement l'émission, parce que maintenant elle est en fait,
alors
qu'elle est fausse, elle va passer par ici et par ici. Et il va afficher faux parce que vous l'
avez défini sur faux. Cela signifie qu'il va aller de l'avant et
masquer l'interface utilisateur, le widget. Et il sait de quel widget
vous parlez, car il introduit
ces informations ici. Et cela va masquer l'interface utilisateur
de sélection des équipes. Comme vous pouvez le voir ici, lorsque je joue, je ne vois pas l'interface de sélection des
équipes. Mais pour l'instant, nous
voulons montrer
l'interface utilisateur à l'avance pour
la sélection de l'équipe.
Allez-y, cliquez sur Afficher. Maintenant, cela devrait fonctionner parfaitement. Maintenant, si vous voulez que
cela soit plus organisé,
vous pouvez toujours cliquer et créer des épingles d'exécution, ou vous pouvez les
sélectionner toutes. Cliquez sur C sur votre
clavier et appelez-le, par
exemple, Show
Hide UI, etc. Alors allez-y
et restez organisé. Mais pour l'instant, allons-y
, compilons, sauvegardons tout,
et passons à autre chose.
67. Taille d'interface utilisateur dynamique pour toutes les tailles d'écran: Maintenant, avant de commencer à
concevoir l'interface utilisateur, il est très important de savoir à quoi ressemble l'interface utilisateur
sur les autres écrans, non seulement sur votre écran,
mais aussi sur le mien. Si vous concevez votre jeu, vous devez savoir à quoi il
ressemble sur mon écran, qui est un moniteur d'une
résolution de quatre K. Et aussi sur un
écran d'ordinateur portable et ainsi de suite. Il faut donc le
redimensionner correctement. Apprenons-le
avant de concevoir,
car ce sera plus
tard si vous
le concevez mal. Passons par exemple au plan
du widget. Allons-y et
ajoutons du texte. Ce sera le
moyen le plus simple de le voir. ajoute un
écran de texte et disons que je redimensionne quelque chose
comme ça, peu importe Maintenant que vous l'avez dans l'interface utilisateur,
allons-y et compilons. Et allez-y, cliquez sur Plate. Voilà à quoi ça
ressemble sur mon écran. Et d'habitude, je reprends simplement plan de
mon widget et
je commence mon jeu ici Et d'habitude, j'
essaie juste de le comparer. Allez-y,
ouvrez votre jeu ici. Je vais
le minimiser légèrement, et j'essaie de voir à quoi cela
ressemble dans le jeu. Voilà à quoi ça ressemble
vraiment. Si je le compare à ici, il semble un peu plus grand ici, il ressemble en fait à ceci. Lorsque je zoome et dézoome, vous pouvez réellement voir
le zoom vers le haut ici. heure actuelle, j'ai
zoomé plus trois, et maintenant cela semble correct Avec un zoom plus trois,
cela semble correct. Maintenant, cela peut sembler un
peu étrange de résoudre ce problème. Maintenant, montez ici dans
la taille de l'écran. Habituellement, ce que vous voulez
faire, c'est ce que vous voulez, dans l'interface utilisateur, sur le plus petit
écran possible. Si vous voulez le concevoir
pour les jeux mobiles, vous devez cliquer
sur la taille de l'écran, accéder aux téléphones, puis
sélectionner le téléphone. Vous souhaitez le concevoir
pour le plus petit écran. Pour le moment, je
veux juste créer un jeu vidéo. Je vais cliquer ici. D'habitude, je le conçois pour les ordinateurs portables. Ces ordinateurs portables génériques de 14,
15 pouces. Je ne vais pas le faire maintenant. J'ai un moniteur 4K. Je peux le sélectionner et
le concevoir ici. Cependant, cela ressemblera
peut-être à ceci sur votre écran si vous avez
un moniteur One K, etc. Il est très important
de le concevoir correctement. Tout d'abord, cliquez
sur la taille de l'écran. Et je vais sélectionner
la taille générique de l'ordinateur portable. heure actuelle, si je
zoome et que c'est un à un
comme celui-ci ici à
la taille d'un ordinateur portable , en ce
moment, je le regarde et je vois
à
quoi il ressemble. Si j'ouvre ce jeu en
ce
moment sur mon ordinateur portable, c'est la taille du texte Par exemple, sur ordinateur portable,
cliquons sur ce fonds. Cliquez sur le fonds, et je fais
la taille, par exemple, 30. Voilà à quoi ça
ressemble maintenant sur l'ordinateur portable. Mais si je joue, maintenant c'
est à ça que ça ressemble. Sur mon écran 4K, vous pouvez voir qu'il
y a une différence. Voici l'ordinateur portable. C'est moi. Je le vois beaucoup plus grand sur le
mien que sur l'ordinateur portable. Si cela ne vous plaît pas,
si parfois l'interface utilisateur devient trop grande sur les
grands écrans, vous pouvez cliquer sur ce
bouton ici. Vous pouvez voir ici la
mise à l'échelle de l'interface utilisateur. Les ordinateurs portables génériques
sont ici. Comme vous pouvez le constater, c'
est la résolution. Je suis en train de le concevoir
pour ces ordinateurs portables. ce moment, j'ai
un moniteur 4K, et il est en fait ici. Vous pouvez le voir sur un écran 4K, je l'augmente de 3,8 %.
Il est 3,8 % plus grand que
ce qu'est un ordinateur portable. Maintenant, si vous ne
voulez pas l'augmenter autant, vous pouvez sélectionner cette résolution. Au lieu de passer à huit, je vais le réduire
à quatre, par exemple. Maintenant, vous pouvez voir que
cela n' augmentera pas autant
par rapport à avant. Maintenant, si je clique sur Play, il est en fait
plus petit qu'avant. Si je reviens
en arrière, cliquez ici, laissez-moi simplement l'augmenter
à environ 18, afin que vous puissiez réellement
voir quelque chose d'extrême. Si je clique sur Play, vous pouvez
le voir maintenant il est très grand. D'habitude, ce que j'aime, c'est
que si je suis satisfait de la taille de l'ordinateur portable, j'essaie de le redimensionner. Je suis donc également
satisfait de mon moniteur à quatre K. Habituellement, il est d'environ
2,5 dans la mise à l'échelle. Je n'aime pas trop y aller. Vous pouvez cliquer sur ces boutons. Ça, c'est sur ton écran comme ça. Je vais juste faire un léger
zoom arrière. Peut-être qu'il suffit de cliquer sur, je vais légèrement dézoomer pour
que ça soit plus beau. Permettez-moi de cliquer sur Play Now, je trouve que ça a l'air sympa. Si j'ai besoin de le redimensionner davantage, je le redimensionnerai Mais je trouve que ça a l'air sympa. Vous pouvez le comparer maintenant, et il a presque la même apparence. Je vais essayer de le concevoir à
l'échelle de 2,5, mais encore une fois, allez-y et
jouez avec. Il suffit de le redimensionner à la hausse ou à la baisse, en fonction de son apparence sur votre écran par rapport
à l'écran d'un ordinateur portable. OK, quand tu seras satisfait, fermons tout et
enregistrons tout. Passons à
la leçon suivante.
68. 6.08 Créer l'interface utilisateur de sélection d'équipe: Maintenant que nous
affichons l'interface utilisateur à l'écran et que nous
avons la bonne taille, passons à la
conception de l'interface utilisateur. Clôturons le jeu. Passons au dossier de l'interface utilisateur. Et ici, à l'intérieur du widget de
sélection des équipes, un plan. Supprimons maintenant ceci ici. La seule chose que nous avons pour le
moment est le panneau en toile. Encore une fois, si vous ne l'avez pas encore
ajouté, parcourez la palette
et recherchez Canvas. Et allez-y, ajoutez-le à
votre widget, votre plan. La toile est très importante. Vous devez l'ajouter
avant de faire quoi que ce soit. Ce que nous voulons concevoir,
c'est la sélection de l'équipe. C'est un extrait de mon autre projet. J'aimerais vous montrer l'interface utilisateur afin que vous sachiez
ce que vous concevez. C'est ce que nous voulons concevoir. Chaque fois que vous commencez à concevoir une interface utilisateur, vous devez imaginer
ce que vous voulez concevoir, car ce
sera beaucoup plus facile pour vous. C'est ce que nous
allons concevoir. Allons ici. La première chose que nous voulons faire, décomposer l'interface utilisateur. Si je le
reprends ici pour toi, tu devras le décomposer. Comme vous pouvez le voir ici, nous avons un arrière-plan
surmonté d'un texte. Lorsque vous avez deux objets
l'un au-dessus de l'autre, vous devez utiliser
celui-ci appelé superposition Lorsque vous superposez des éléments les uns
sur les autres, lorsque vous avez un objet
au-dessus d'un objet, imaginez qu'une superposition le fasse
glisser ici. Cherchons une
image, l'arrière-plan,
et placons-la également ici, et placons-la également ici, à l'intérieur de la superposition.
Juste comme ça. Faisons-le simplement glisser au milieu
du canevas
pour voir ce que
nous faisons, il suffit de redimensionner cette superposition pour remplir cette Vous pouvez voir qu'il est très petit. Pour afficher cette image
sur l'ensemble de l'écran, vous devez l'aligner horizontalement et
verticalement, cliquer ici pour remplir,
horizontalement et verticalement, cela remplit toute la superposition Peu importe la
taille de votre superposition, votre image
remplira le tout Nous voulons le remplir
avec le fond. Maintenant, l'arrière-plan, vous pouvez
cliquer ici pour l'image, et dans le pinceau ici, cliquez sur l'image et
vous pouvez rechercher, je crois que je l'ai appelé panneau. Et ce panneau bleu. Encore une fois, c'est à vous de
décider ce que vous voulez utiliser. Tu peux utiliser une autre couleur, mais je choisis juste le
bleu. Et c'est ici. OK. Neral Engine, pour que les choses ne soient pas floues comme
ça et pour qu'elles
s'étirent correctement, faut le changer au
lieu d'une image, il
faut le transformer en boîte Maintenant, avant de le faire,
laissez-moi vous montrer comment cela fonctionne. Si je vais dans les images de l'interface utilisateur
et que je recherche le panneau, vous pouvez voir si je passe
la souris dessus,
il s'agit en fait d'une
très petite image. C'est 68 pixels par 68 pixels. Si vous l'ouvrez,
c'est en fait sa taille lorsque je l'ai
conçu dans Photoshop. Vous pouvez le faire très
grand tout en restant
beau dans Unreal Engine Si vous ajoutez simplement l'image, peignez les dessins dans un cadre,
puis modifiez la marge à 0,5 comme si vous cliquiez sur celui-ci. Ici, vous supprimez
ces lignes en pointillés. J'aimerais le faire pour voir
mon interface utilisateur sans que rien ne soit gênant Et voici ce que vous pouvez voir.
Même s'il s'agit d'une petite image, il vous suffit
maintenant de
cliquer sur la superposition étirer
et d'en
faire
autre chose sans qu'
elle soit floue Fonctionnalité vraiment cool
dans Unreal Engine. Vous n'avez pas à concevoir
chaque bouton, vous pouvez simplement concevoir la base, puis vous pouvez concevoir les boutons eux-mêmes
à l'intérieur d'ici. C'est dans ce contexte
que nous avons choisi l'équipe. Maintenant, en
ce qui concerne la sélection de l'équipe, nous avons également, si je le fais glisser ici, encore une fois,
du texte en dessous. Nous avons ces boutons. Nous avons ce
qu'on appelle une boîte verticale. Si vous allez ici et que vous
recherchez vertical, vous verrez cette case verticale. Je vais l'ajouter
à la superposition. Maintenant, dans la case verticale, nous avons du texte en haut comme titre. Comme
vous pouvez le voir ici, nous avons également ces boutons. Avant d'ajouter ces boutons, vous devez également les
décomposer. Vous avez en fait
une boîte horizontale. Ils sont alignés
horizontalement les uns par rapport aux autres. Si je cherche une case
horizontale, cette case horizontale, tu dois placer dans la case verticale. Nous avons le titre, nous
avons le titre ici. Et puis nous avons
la case horizontale où nous ajoutons les deux boutons. OK, celui-ci est là. Le titre doit en fait
être placé au milieu. Je vais cliquer sur le texte, l'
aligner ici horizontalement
au milieu. Et vous pouvez voir que rien ne se passe quand je l'aligne au milieu. Parfois, lorsque vous faites
cela dans une interface utilisateur, ne vous y trompez pas, vous
devez également regarder le parent. Peu importe que le texte soit aligné comme ça ou le
cadre vertical
ne soit pas aligné non plus. Vous pouvez voir le cadre vertical
lorsque vous cliquez sur l'un d'entre eux. Ici, vous pouvez voir que la boîte verticale n'est
en fait que cette section. Ce n'est pas le cas. Si vous
alignez ce texte
ici, ici et ici, vous
n'avez que de l'espace. Ça ne remplit
pas tout. En cliquant sur la case verticale, je dois la remplir
ici sur cette superposition en
cliquant sur l'alignement
horizontal
et l'alignement vertical Maintenant tu peux voir que c'est le cas. Remplissage à l'horizontale
et à la verticale. OK, maintenant quand j'aligne
le texte, ça devrait fonctionner. Prêtez toujours attention
au parent là-haut, à la
façon dont il est aligné. Parce que s'il est
aligné comme
ça, ce texte n'
arrivera jamais ici. Allez-y et
alignez-les horizontalement comme ceci. Maintenant, pour donner plus d'
espace aux bords, nous pouvons cliquer sur la case
verticale et pousser ici dans le
rembourrage ou sur la gauche En fait, vous pouvez également
écrire un nombre ici, par
exemple 50 ou 102030 Vous pouvez voir que vous pouvez
le pousser depuis les bords 50, 60, etc. Et si vous voulez le pousser
spécifiquement dans les directions, par
exemple,
je mettrai 55 vers la gauche et 45 vers le haut. Pas autant que la
gauche et la droite. La droite est 55 et
le bas 45 également. Quelque chose comme ça. N'oubliez pas
que je suis en zoom plus deux. La taille réelle
ressemble à ceci. Faites simplement attention
au zoom que vous utilisez car il se peut que vous
soyez trop zoomé Voici à quoi cela
ressemble en ce moment. Je pense que l'espacement entre les
bords est bon pour le moment. Ce que vous pouvez faire,
c'est aller de l'avant et continuer notre conception. Ensuite, nous pouvons tout
styliser. Cliquons sur la case
horizontale. Maintenant, pour la case horizontale, nous avons ces deux boutons. Encore une fois, nous
superposons un bouton. Au-dessus se trouve une image
et nous avons également du texte. Encore une fois, vous devez
utiliser une superposition, sinon vous ne pouvez pas superposer des
objets les uns sur les À l'intérieur de la
boîte horizontale, nous avons une superposition. À l'intérieur de cette superposition, nous avons un bouton, puis nous avons une image, qui est l'icône du bouton Nous avons également du texte. Si je recherche du texte
et que je l'ajoute ici, nous avons le bouton, l'
image et du texte. En cliquant sur cette superposition, en fait, sur cette case horizontale, encore une fois, nous devons la
remplir ici. Vous pouvez donc voir que
même si je l'aligne
horizontalement et verticalement, il ne s'aligne pas Et c'est parce que vous
devez cliquer sur Remplir, et cela va tout
remplir. En cliquant sur ce
bouton, allons-y et ajoutons quelque chose
à ce bouton. Cliquez sur le bouton,
allez dans le style, cliquez sur Normal en haut, puis sélectionnez le bouton. Je vais sélectionner
le bouton rouge. Et d'habitude j'appelle les boutons BTN. Vous pouvez essayer de rechercher le bouton
que vous souhaitez utiliser. Encore une fois, c'est facultatif,
c'est à vous de décider. Cependant, ce que je veux utiliser, c'est celui-ci appelé Button Red, je crois, ou Button
Square Red, comme celui-ci. Et je vais le choisir ici. Ce que vous pouvez faire, encore une fois, c'est teinter. Je vais
cliquer sur la teinte, et je vais la
mettre en blanc, car je ne veux pas de teinte
grise sur mon bouton. C'est en fait la vraie couleur. Si vous la mettez en blanc ici, la boîte arrondie,
je vais la
remplacer par une boîte, une boîte normale. Encore une fois, la marge, comme
je vous l'ai déjà dit, fixez-la à 0,5 et elle
aura l'air normale. Voyons maintenant si nous avons d'autres choses à
modifier et non Si vous souhaitez copier ce
paramètre sur le survol, vous n'avez pas à
faire tout cela À nouveau, maintenez la touche Maj enfoncée
et cliquez avec le bouton droit Ou encore une fois, vous pouvez simplement cliquer avec
le bouton droit de la souris et copier. Mais vous pouvez maintenir la touche Shift et
le bouton droit de la souris enfoncés pour le copier, et le bouton Shift et le bouton gauche de la
souris
pour le coller également pour ces deux. N'oubliez pas de cliquer sur le pointeur. Et n'oubliez pas non plus de remplacer
celui survolé par le hoard Et cliquez sur celui pressé
pour appuyer sur celui-ci. OK. Nous devons peut-être aussi
ajuster la taille de l'image, mais nous le ferons plus tard. Pour l'instant, sur celui-ci, vous pouvez
voir qu'il est très étiré. Donc, ce que je vais faire, cliquer sur la superposition, puis sur Remplir Cela remplit donc le tout. Alors permettez-moi de le
copier à nouveau. En cliquant sur cette superposition, je vais cliquer sur Control D, et cela copiera
l'autre bouton Je peux donc voir à quoi cela ressemble si j'
ai deux boutons. Maintenant, j'ai ces
deux superpositions, et mettons une
entretoise entre elles,
cherchons une entretoise et ajoutons-les entre
ces deux Et puis ajoutons de l'espace
entre ces deux superpositions. Il s'agit de l'axe X et de l'axe Y. Et nous avons besoin d'espace sur l'axe X. Laissez-moi écrire quelque chose comme 50. Maintenant, vous pouvez voir
qu'il y a de la place. Passons maintenant à ce texte. Je veux que ce soit en bas de
ce bouton ici. En cliquant sur le texte,
je vais l'
aligner sur le bouton ici et
également au milieu. Et pareil avec
cet alignement en bas et au milieu horizontalement. Bon, passons maintenant aux boutons. Je ne veux pas qu'ils soient
étirés comme ça. En cliquant sur l'un des boutons, au lieu de
l'aligner verticalement, je vais
cliquer en bas ici C'est pareil ici.
Cliquez sur le bas. Alignez verticalement, comme ça. Au lieu de
l'aligner verticalement, contrôlons-le nous-mêmes Cliquez sur le bouton, vous pouvez
cliquer sur la taille de l'image. Ici, c'est le Y qui
augmente vers le haut et vers le bas. Vous pouvez augmenter le
Y pour le bouton, et vous pouvez choisir
sa taille pour celui-ci et
celui-ci, environ 160. Pour l'instant, 160. Ajoutons
les icônes avant décider de
leur taille. Je vais
recommencer pour l'image, c'est-à-dire l'aligner au milieu Faisons-le
pour les deux. Cliquons sur les deux. Cliquez sur un ancien contrôle,
cliquez sur le suivant. Alignons-les à nouveau au milieu
et en bas. Pour les pousser à nouveau vers le haut, nous pouvons utiliser le rembourrage en les
poussant de bas en haut. Vous pouvez donc
les pousser, par exemple, 40, quelque chose comme ça, 50, 60. Vous pouvez voir que vous pouvez
les faire monter d'environ 40. Permettez-moi d'abord de
changer l'icône. Cliquez sur l'image et
changeons l'icône. Si vous recherchez ICO pour celui-ci, je vais
sélectionner le compteur ou le terroriste.
Pour celui-ci, je vais choisir le
contre-terroriste. Ici, nous pouvons voir qu'ils sont
très petits pour une raison quelconque. Encore une fois, ces boutons ne fonctionnent pas, je dois
donc ajouter
la taille manuellement. Si vous allez simplement
ici,
et que vous cliquez sur Si je descends dans
l'interface utilisateur pour accéder aux icônes, si vous maintenez la souris
sur ces icônes, vous pouvez voir les dimensions. La taille réelle est de 256
pixels sur 256 pixels. Si vous pouvez cliquer dessus,
si vous écrivez 256 par 256, c'est en fait la taille
réelle de l'icône. Cependant, c'est beaucoup trop important. Mais sachez
que si vous l'
augmentez au-delà de
sa taille maximale,
il deviendra en fait flou.
Ne passez pas en revue ça. Ce que je vais faire,
c'est peut-être
faire 150 x 150. Et il en va de même pour
le contre-terroriste, de taille 150 x 150. OK. Quelque chose comme
ça. Maintenant, pour contrôler la distance entre
ces boutons vers le haut et vers le bas,
vous pouvez cliquer sur
la case verticale, en fait sur la superposition elle-même. Ensuite, vous pouvez simplement
redimensionner le cadre vertical. Ensuite, choisissez à quelle distance ces boutons
doivent être comparés vers le
haut et vers le bas par rapport au titre. En cliquant également sur ce texte. Je veux styliser ces textes. N'oubliez pas que nous avons ajouté des fonds provenant de Google Funds,
The Rubic Nous pouvons toujours cliquer sur le texte, cliquer sur la famille de polices, puis choisir l'un
des styles rubiques Pour celui-ci, je vais juste
choisir le rubic bold. Ensuite, je vais régler
la taille un peu plus petite, peut-être quelque chose comme 22. Je vais plutôt ajouter
un aperçu au texte. Si vous
les sélectionnez à nouveau, accédez aux paramètres du plan. Je vais régler la
taille sur quelque chose comme, vous pouvez essayer 1234, je pense que
trois, c'est bien ici. Et puis changez également la couleur. Je vais changer de couleur en cliquant sur la
couleur du contour, puis
en utilisant le sélecteur de couleur Alors je vais
choisir une couleur foncée, peut-être celle-ci. Allez-y, cliquez dessus et
il choisira cette couleur. Vous venez de sélectionner. OK, pour le texte, si
vous voulez le pousser vers le bas, vous pouvez toujours essayer ce
bas ici, par exemple. Moins deux, moins cinq. Vous pouvez voir que vous pouvez les
faire glisser vers le bas. Si vous écrivez un nombre plus, vous l'
augmentez. Quelque chose comme ça. Vous pouvez également utiliser
celui-ci ici, la traduction, si je peux
le trouver ici, la transformation. Et puis la traduction, vous
pouvez la traduire dans le y. Si vous en écrivez deux
ici, par exemple 56, vous pouvez également le déplacer vers
le haut ou vers le bas dans la traduction, car celui-ci peut être quelque chose, deux c'est bien. Nous l'avons juste légèrement abaissée. OK. Je vais également styliser
ce texte Cliquez dessus. Allez-y et
sélectionnez le Ruby Bold. Celui-ci, j'en ai fait 22. J'en fais 24
parce que c'est un titre. Ensuite, allez-y et sélectionnez
les paramètres du plan. Je vais le mettre à trois,
comme les autres. Pour la couleur du contour, je vais peut-être choisir cette couleur
foncée ou celle-ci, je vais choisir cette
couleur foncée et continuer et cliquer sur. OK. Maintenant, vous pouvez simplement
continuer et modifier le texte. Par exemple, sélectionnez
une équipe pour celui-ci. Je vais écrire Terri
pour l'autre, je vais écrire Terrorist OK, pour le daterrist. En fait, je veux
changer le bouton. Vous pouvez cliquer dessus,
modifier ce bouton. Je vais passer au carré, je pense au vert carré. Et allez-y,
sélectionnez le vert carré. Juste comme ça. Encore une fois,
comme avant. Vous pouvez le copier
par-dessus les autres, vous pouvez cliquer sur le texte, cliquer sur la couleur du contour. Prenez le sélecteur de couleur et
sélectionnez celui-ci à la place. OK, je pense que ça
a l'air bien mieux qu'avant. OK,
voyons maintenant ce qui ne va pas. Maintenant, si vous cliquez sur Play, c'est toujours agréable de compiler. Cliquez sur Play pour voir
ce qui se passe. l'heure actuelle, vous pouvez voir que l'interface utilisateur ou le widget de
sélection Steam se trouvent en haut de l'image et non au milieu. Vous pouvez voir si vous
cliquez sur le canevas, il se trouve réellement ici. Si vous faites simplement glisser cette superposition
vers le bas, par exemple, en bas
à droite, et que vous cliquez sur Play, vous pouvez voir
qu'elle se trouve au milieu Cela n'a vraiment aucun sens. Il devrait être ici,
parce que je viens de le placer ici. Il s'agit d'un
concept très important que vous devez
comprendre pour comprendre ces points d'ancrage. Ils sont très
importants en ce moment. Ce qui se passe, c'est que vous avez
le point d'ancrage ici. Si je clique sur Play, j'essaie de
maximiser l'écran ici, vous pouvez voir que cette interface utilisateur est en train de s'afficher. Vers cette extrémité de
l'écran, ici, il sera poussé vers le haut. C'est parce que votre point
d'ancrage est là-haut. Ça ne va pas rester ici
comme tu le souhaites. Il faut changer
le point d'ancrage. N'oubliez pas de toujours
le faire pour votre interface utilisateur. En cliquant sur la superposition, vous devez changer le
point d'ancrage en cliquant ici Comme vous pouvez le voir ici, seul le parent possède
un point d'ancrage. Tous les autres n'
ont pas de point d'ancrage, seulement le point parent. En cliquant dessus,
continuez, cliquez sur Ancrages,
puis sélectionnez l'endroit où vous
souhaitez l'aligner. Pour cette interface utilisateur. Je veux
l'aligner au milieu, en sélectionnant le
point d'ancrage central
au milieu de l'
écran comme ceci. Ensuite, pour la position, je vais écrire 00 pour l'
aligner au centre. Mais comme vous pouvez le constater, il
ne s'aligne pas au centre. En fait,
on en est arrivé là. C'est là qu'il faut
jouer avec l'alignement. Si vous augmentez simplement celui-ci, vous pouvez voir que vous l'
augmentez correctement. Il est au milieu,
à la position 00. Maintenant, pour celui-ci, vous devez écrire le
nombre exact à la place. 0,50 0,5 Vous pouvez voir ici si vous écrivez zéro
dans l'alignement, il
s'agit de l'alignement en x. Cela va s'aligner de cette façon. Si vous écrivez 0,5
, c'est au milieu. Si vous en écrivez un, il passe de l'autre côté de l'alignement. Vous pouvez soit écrire 00 point
5.1 Vous avez ces options. Je vais écrire 0,5
par 0,5 car cela l'
alignera au milieu
et à la position 00. Maintenant, vous pouvez voir qu'il est
directement au milieu. Et si je compile et que je joue, ça devrait être au milieu. Peu importe
la taille de mon écran, il restera au
milieu de l'écran. OK. Le prochain problème
que nous avons en ce moment est que la souris
n'apparaît pas vraiment, et nous le ferons plus tard. Nous
allons régler ce problème. Cependant, si j'essaie de passer
ma souris sur les boutons, ils sont en fait en train de boguer Et je dois arranger ça. En effet, si vous cliquez sur le bouton et que vous
cliquez sur le bouton normal, vous avez réglé la
taille de l'image sur 32 x 160. Cependant, pour le
survol, la taille de l'image est toujours très faible Vous devez copier la taille de l'image à partir de la
taille normale, basant sur le survol et sur le fait
que vous les avez toutes pressées. Et faites de même
pour le vert. Copiez-le, en vous basant également sur la taille de l'image survolée et sur la taille de l'image survolée et sur
la taille de l'image pressée Allons-y et compilons, d'accord. Cliquez sur jouer. Maintenant, encore une fois, si je
passe ma souris dessus, vous pouvez voir que je peux passer ma souris
sur le Cependant, lorsque je place ma
souris sur l'image, je ne peux pas vraiment survoler le bouton, et l'image et le texte bloquent en fait le bouton. Réglons ça. Cliquez sur les
images, elles sont toutes ici. Et le texte aussi. Vous devez trouver
celui-ci appelé visibilité. Et vous devez le
régler sur Non testable. Et cela signifie que les images et les textes ne
sont que de la décoration. Je ne veux pas que ma souris
interagisse avec eux. Je choisis celui-ci non testable, ce qui
garantira qu' ils n'interagissent pas
avec ma souris Maintenant, lorsque je clique sur jouer et
que j'essaie de survoler le bouton, vous pouvez voir qu'il survole également
même si je survole
l'icône et le texte OK, c'était donc tout pour le CI. La dernière chose que je
veux faire est de
rendre l'arrière-plan flou car, comme vous pouvez le voir,
tout semble correct Cependant, j'aime aussi que mon
arrière-plan soit flou. C'est désormais optionnel.
Je l'enlèverai peut-être plus tard. Mais pour l'instant, cherchons flou et mettons-le
ici en arrière-plan, donc par-dessus la superposition
extérieure à Pour celui-ci, encore une fois, pensez à changer
le point d'ancrage. Je veux que ce flou
remplisse tout l'écran. Comme vous pouvez le constater, pour ce flou, vous pouvez modifier l'intensité du
flou Donc quelque chose comme 50
, comme vous pouvez le voir ici. Mais je veux qu'il remplisse tout
l'écran. Ce que vous devez faire, c'est
cliquer à
nouveau sur le point d'ancrage , puis remplir tout l'écran.
Juste comme ça. Et changez le décalage en
0000, juste comme ça. Maintenant, il va remplir tout
cet écran. Et si vous cliquez sur Play,
l'écran est flou. Maintenant, pour ce qui est de la quantité de flou, je vais en fait la réduire
à environ dix C'est parce que vous pouvez
également voir l'effet d'arrière-plan, vraiment cool, lorsque
vous sélectionnez l'équipe. Lorsque vous rejoignez le
jeu, vous pouvez voir les autres joueurs jouer
pendant que vous sélectionnez l'équipe. OK, maintenant que
nous avons terminé, sauvegardez tout et passons
à la leçon suivante.
69. 6.09 Effets sonores Button: Maintenant, allons-y et ajoutons des effets sonores
aux boutons. Et pour ce faire, passons
au coût des matériaux. Et à l'intérieur,
passons à l'audio. Et j'ai ces
effets sonores pour toi. Le bouton survole
et le bouton est enfoncé. Passons également au dossier
audio, au moteur
et aux effets
sonores. Et faisons-les simplement glisser
dans le navigateur de contenu. Maintenant, faisons un clic droit sur
le bouton, survolons, Créer. Et je vais l'appeler,
alors survolez le bouton. Pour l'autre, appuyez sur le bouton droit de la souris sur
Create Q et
appelons-le Sound Button en appuyant sur le bouton. Passons en revue les deux. Le survol et le pressage. Permettez-moi de réduire
le son à
0,25 . Cela
convient à la presse Permettez-moi de le mettre à 0,4 peut-être. Oui, ça a l'air bien. OK, sauvegardons
tout à nouveau. Comme je vous l'ai déjà dit, nous pouvons
voir si vous jouez le son. Si tu veux que
ce soit différent. Chaque fois que vous pouvez ajouter un modulateur et
le connecter ici, vous le pouvez J'aimerais changer
la tonalité de 0,9 à 1,1. Cela sonne différemment chaque fois que vous pouvez faire
la même chose ici. Je vais copier le modulateur. Je vais le coller ici et le connecter ici également. Maintenant, cela sonne différemment à
chaque fois, lorsque vous survolez les boutons OK, génial. Allez-y et enregistrez tout. Maintenant, pour ajouter
les effets sonores, revenons à l'interface utilisateur. Ouvrez le widget, le plan,
cliquez sur le bouton. Ensuite, ici, vous
voyez les options pressées. Son Vous pouvez continuer
et le modifier en appuyant sur le
bouton pour le survol Son Vous pouvez le remplacer par
le bouton, survolez. Même chose pour l'autre. Vous pouvez remplacer le bouton enfoncé
par pression sur le bouton et
celui survolé par le pointeur sur le bouton et
celui survolé par le pointeur sur le bouton
. Allez-y, compilez. Et maintenant, lorsque vous cliquez sur Play et que vous passez la
souris dessus, si vous appuyez sur OK,
vous pouvez voir que cela fonctionne Cependant, vous pouvez voir que j'ai
vraiment un dollar ici, donc je dois changer
le dollar vert. Le vert survolait et le vert était pressé. En fait, je veux utiliser l'
autre, le plus grand. Je crois que j'en ai une grande. Celui-ci est bien meilleur pour moi. En fait, je
vais le copier. Choisissez la version surlignée et
pressée de celui-ci. Je vais cliquer sur le texte et sélectionner le sélecteur de couleur Et sélectionnez plutôt celui-ci. Je trouve que ça a l'air beaucoup mieux. OK, pour le son, je dois en fait réduire l'effet
sonore du survol, je trouve ça un peu ennuyeux Permettez-moi de le changer
à 0,15 à la place. Jouez. Et maintenant, testons-le. Cela fonctionne ici. OK,
maintenant ils fonctionnent. Et vous avez aussi des sons
sur les boutons.
70. 6.10 Comment faire apparaître des acteurs: Maintenant, allons-y
et faisons apparaître le joueur. Et avant cela, examinons l'étendue des paramètres
du monde. Passons en fait
aux plans. Cliquez sur le mode de jeu
pour accéder au mode de jeu. N'oubliez pas que dans les paramètres par défaut de la classe, nous avons défini la
classe par défaut pour qu'elle apparaisse en tant que
contre-terroriste Allons-y et
clarifions-le pour le moment. Et avant de faire
quoi que ce soit d'autre, passons aux plans
et ouvrons la lutte contre le terrorisme pour nous assurer qu'ils sont corrects Si j'ouvre la fenêtre d'affichage ici, assurant
simplement que
le
maillage à la troisième personne est le même que
le maillage, et je pense qu'il y a
un bogue dans le terroriste Donc, si je l'ouvre et que vous
voyez qu'il y a un insecte, le maillage est le terroriste.
C'est exact. Et pour ce qui est du maillage de la troisième personne, nous devons le remplacer par le terroriste masculin,
puis par ce maillage ici. OK. Il suffit de
s'assurer que l'appareil photo est incorrect pour une raison quelconque et c'est en fait parce
que nous avons besoin du support pour l'appareil photo du support pour l'appareil photo ici et
du support parent. Parce que n'oubliez pas que
le terroriste utilise un autre squelette. Si je vais au
marché, celui-ci, le personnage argenté
utilise ce squelette, les militaires le font, le terroriste
utilise ce squelette. Je vais ouvrir ce
squelette au terroriste. Va vers la tête. Je vais également cliquer avec le bouton droit de la souris et ajouter un socket pour
celui-ci. Je vais changer
le nom en caméra, tout comme l'
autre que je vais enregistrer. Et maintenant, nous devons le
positionner de la même manière
que l'autre. Je vais ouvrir le
personnage Silver Skeleton. Je vais cliquer
sur ce socket. Je vais juste maintenir la touche Maj enfoncée et cliquer avec le bouton droit de la souris pour
copier ces paramètres. Ensuite, je vais passer à la section terroriste, maintenir la touche Maj enfoncée et cliquer avec le bouton
gauche de la souris sur celle-ci pour la
placer dans la même position, continuer et tout enregistrer. Maintenant, vous devriez voir si vous
revenez voir le terroriste, il a automatiquement
placé la caméra là-haut parce que le
bras à ressort est en fait fixé à la prise de la caméra. OK, sauvegardons tout. Maintenant, cela semble correct. Encore une fois pour le mode jeu. Dans les classes par défaut, nous devons supprimer le pan
par défaut, le définir sur Non, car c'est désormais au
joueur de
choisir s'il veut apparaître tant que terroriste ou
contre-terroriste OK, fermons-le. Assurez-vous également dans
les paramètres mondiaux, si vous cliquez ici, que cette classe de panoramique par défaut
est également définie sur non. OK, maintenant si tu cliques sur jouer, tu peux te voir apparaître
dans une zone aléatoire. Et c'est très bien.
C'est intentionnel. Alors maintenant, nous n'apparaissons pas en
tant que personnage. Nous devons le sélectionner nous-mêmes. OK, pour faire apparaître des joueurs, nous devons le faire dans le contrôleur
du joueur, le contrôleur
du joueur, à l'intérieur d'ici Nous nous occupons de l'interface utilisateur comme nous l'avons fait ici, mais nous nous occupons également
de la création d'objets et de
personnages, etc. Chaque fois que vous générez quelque chose, vous devez accéder à l'interface utilisateur du contrôleur du
joueur et l'apparition se fait à l'intérieur du contrôleur
du joueur Ouvrons le
Player Controller. Et à l'intérieur d'ici, en fait, je veux, cette fois, travailler à reculons parce que vous
comprendrez
beaucoup mieux cela en ce qui concerne le frai.
Très, très important. Nous voulons organiser un événement, il n'est pas nécessaire qu'il se trouve à l'intérieur de la manette du joueur. Vous pouvez organiser l'événement depuis le joueur ou depuis
n'importe quel autre endroit. Vous avez donc un premier
événement que vous souhaitez organiser. Ensuite, cet événement doit
passer par le mode jeu. Parce que n'oubliez pas que le
mode jeu ne fonctionne que sur le serveur. Le client ne peut pas communiquer
avec le mode de jeu. Donc, l'apparition d'
objets et de joueurs. Nous parcourons en fait le mode jeu pour nous assurer que
le client ne triche pas Le serveur
vérifie donc toujours si ce que vous
faites est légal ou non. Ensuite, à partir de ce
mode de jeu, si tout va bien, vous allez accéder à la manette du joueur et faire
apparaître cet objet ou ce personnage La réapparition finale se fait toujours
à l'intérieur du Controller. Comme nous n'avons pas
de personnage pour le moment et que nous
voulons vraiment le faire apparaître, commençons cet événement depuis
la manette du joueur En fait, je veux
travailler à reculons. Le dernier événement que nous voulons
atteindre est que si vous écrivez,
cliquez et écrivez un
événement personnalisé et que vous faites Saw Player, nous appelons ce joueur de création d'
événements personnalisés un joueur Vous faites glisser le pointeur d'ici et dites «
spawn actor from class ». C'est la fonction qui est utilisée pour faire apparaître des
objets dans le monde entier. Maintenant, pour celui-ci, au lieu de simplement sélectionner ce que
nous voulons faire apparaître, nous allons laisser
le joueur décider Je vais simplement faire glisser cette
entrée ou cette épingle ici dans l'événement et cette variable
sera automatiquement créée pour moi Et je vais
faire de même
pour la transformation du spawn Maintenant, pour ce cours,
je vais simplement
sélectionner une équipe ou l'appeler équipe parce que c'est
soit un antiterroriste soit un terroriste qui
va apparaître Le joueur sélectionne l'équipe, puis elle apparaîtra à un
moment donné lors de la collision.
Je dois la configurer pour essayer d'ajuster l'emplacement, mais assurez-vous simplement de
toujours faire apparaître ce OK. C'est toujours agréable d'avoir une variable
de ce joueur. Faisons un clic droit, faisons
la promotion d'une variable et appelons-la pion joueur, d'accord ? C'est la dernière étape
que nous voulons atteindre. Nous voulons, par exemple, organiser un événement
appelé Select Team. Ensuite, cette équipe
sélectionnée passera par
le mode de jeu. Et le mode de jeu
va revenir dans la
manette du joueur et lancer ce joueur qui apparaît
si tout va bien et que nous voulons
apparaître dans le monde OK, sauvegardons tout maintenant, passons au
mode jeu. Dans le mode jeu, nous voulons lancer
ce spawn player En fait, je travaille à reculons, en ce moment je travaille à reculons Ce spawn player doit
être exécuté à l'intérieur d'ici. Pour ce faire,
créons un nouvel événement personnalisé. Et appelons cette
requête un joueur spawn, nous demandons de faire apparaître
le joueur pour celle-ci Encore une fois, je souhaite organiser cet événement. Nous n'avons pas vraiment de référence à notre manette
Player. Ajoutons-le à celui-ci. Je clique simplement sur le et
je recherche mon PC. Je crois que ça s'appelle
PC Counterstrike. Celui-ci. Allez-y et sélectionnez
votre manette de jeu. Et je vais l'appeler
Player Controller, on peut le faire glisser à partir d'ici maintenant. Et puis comment l'avons-nous
appelé, Spawn Player. Je fais glisser le pointeur d'ici et je dis Spawn player,
puis je le sélectionne OK, alors maintenant tu t'
en occupes. Nous pouvons maintenant voir que vous devez définir l'équipe et la transformation du
spawn Pour ce qui est de l'équipe, encore une fois, sera déterminée chaque fois que le
joueur appuiera sur ce bouton. Donc, celui-ci va
revenir entièrement
à la pression sur le bouton. Je vais donc simplement cliquer et faire glisser ceci ici également. Maintenant, pour ce qui est de la transformation d'apparition, nous devons déterminer où dans le monde nous voulons faire
apparaître les joueurs, et c'est en plus des points d' apparition que
nous avons créés Passons donc
à la leçon suivante et écrivons la logique de cela.
71. 6.11 Lieu d'apparition des joueurs: Bien, nous devons maintenant
déterminer où nous voulons
faire apparaître les joueurs Et n'oubliez pas que nous avons déjà placé les points d'apparition ici pour le terroriste et
le contre-terroriste, et que nous avons déjà stocké ces points d'apparition
dans ces tableaux Allons-y et prenons les apparition de
la lutte contre le terrorisme
et les points d'apparition du terrorisme. Partons d'ici
et écrivons au hasard. Nous avons donc une fonction
appelée élément du tableau aléatoire Nous allons
donc simplement faire apparaître le joueur à l'un de ces points d'
Espagne au hasard, puis sélectionner l'un de ces
points d'Espagne au hasard Ensuite, nous
allons prendre le
point de vue de l'Espagne et dire « get act transform ». OK, fais la même chose ici. Nous allons écrire au hasard
puis obtenir la transformation. Nous avons maintenant l'emplacement, la
rotation et l'échelle des acteurs . Vous pouvez voir que si vous
cliquez ici avec le bouton droit de la souris et que vous divisez la structure, vous pouvez voir le point d'apparition
qu' elle a sélectionné au hasard Vous avez l'emplacement
de ce point de scie, vous en avez la rotation et vous en avez également l'échelle. Je vais recombiner l' épingle
de la structure parce que je veux
vraiment la transformer Maintenant, ce que vous pouvez
faire, très cool, c'est que vous pouvez faire glisser le pointeur hors de cette équipe, et maintenant vous pouvez dire égal
comme ça et le sélectionner ici. Si cette équipe sélectionnée est
égale, par exemple, à Counter Terrorist, sélectionnons
celle-ci BP Counter Terrorist. Si le joueur a sélectionné
le contre-terrorisme, ce que nous pouvons faire ici, c'est
faire glisser le pointeur à partir d'ici et dire « sélectionnez, utilisez celui-ci ». En fait, utilisons celui-ci
appelé select transform. Mais vous pouvez également utiliser
celui-ci appelé select. Ensuite, vous pouvez
simplement le placer ici et utiliser ce qui est
faux ou correct. Au fait, c'est la même
chose, la transformation de sélection. Cela nous donne déjà un lingot. Utilisons
simplement celui-ci. Allons-y et
connectons-le. Maintenant, ce qu'
il dit ici,
connectons-le ici. Cela signifie que si l'équipe qui a été sélectionnée est capable de lutter
contre le terrorisme, si c'est vrai,
allez-y et choisissez A. Si c'est faux,
allez-y et choisissez B. est ce
qu'il dit. S'il est vrai que j'ai
sélectionné la lutte contre le terrorisme, je dois prendre les
points antiterroristes ici, puis je dois les connecter
à A.
Parce que c'est vrai, j'ai sélectionné la lutte contre le terrorisme. Je vais prendre les points de repère de la lutte contre le
terrorisme et intégrer la transformation ici. Cependant, s'il est faux, c'est le terroriste
que le joueur a sélectionné et l'a placé ici. Si vous avez plusieurs
équipes pour votre jeu de tir, vous devez utiliser
celle-ci appelée select car celle-ci
ne vous donne en fait que l'
option entre deux. Celui-ci vous donne l'
option de plus de deux, comme vous l'avez vu précédemment. Si vous insérez une
énumération ici, elle vous donnera les options de toutes les énumérations que
vous avez sélectionnées Maintenant, supprimons simplement celui-ci. Concentrons-nous
là-dessus pour l'équipe, je vais le
reconnecter ici Je ne sais pas pourquoi
il s'est déconnecté. Et allons-y et organisons un peu plus les
choses. Très bien, maintenant, il
va falloir faire apparaître ce joueur au
hasard vers l'un de ces
points,
selon qu' hasard vers l'un de ces
points,
selon il sélectionne
Contre le terrorisme ou le terrorisme Comme vous pouvez le constater ici, pour ces événements, je ne
sélectionne plus jamais Exécuter sur le serveur Souvenez-vous que le mode de jeu
ne fonctionne que sur le serveur. Vous n'avez pas besoin de l'exécuter sur le serveur
ou sur le client. Et d'ailleurs, vous ne
pouvez jamais exécuter sur le client en mode jeu,
car là encore, il ne
fonctionne que sur le serveur. Vous n'avez pas vraiment besoin
de le reproduire ici. Il s'exécutera automatiquement
sur le serveur
ainsi qu'ici dans le
contrôle du joueur. Vous pouvez le voir ici. Ou remarquez que je ne l'ai pas non plus exécuté
sur le serveur. Souvenez-vous de ce que j'ai déjà dit, c'est toujours le serveur qui fait apparaître les choses
dans le monde En réalité, il devrait s'
agir d'une exécution sur serveur. Cependant, n'oubliez pas que vous
venez du mode jeu. Le mode de jeu ne
fonctionne que sur le serveur et il exécute ce spawn player Il est automatiquement
toujours présent sur le serveur. Cela ne vient jamais du client. Cela vient du mode de jeu qui est exécuté depuis le serveur. Celui-ci sera donc toujours
exécuté sur le serveur, vous n'avez
donc pas vraiment besoin
de le reproduire également OK, maintenant, si je reviens
au mode jeu, nous avons maintenant cette
demande de spawn player Et cela vient en fait
de la manette de jeu. Donc, si je reviens ici, je clique avec
le bouton droit de la souris et je
crée un événement personnalisé. Et appelons-la Select Team. Nous avons presque terminé.
Sélectionnez l'équipe. Et je veux aussi en faire fonctionner un
autre sur le serveur appelé
Server Select Team. Et celui-ci fonctionne
sur un serveur fiable. D'accord, nous
allons maintenant sélectionner une équipe. Lorsque nous cliquons sur l'interface utilisateur, pour cette équipe de sélection, je souhaite lancer l'équipe de sélection
du serveur. Maintenant, il va passer
par le serveur. Pour celui-ci, je vais
lancer le mode jeu. L'un d'eux s'appelle Request Spawn Player. Maintenant, je ne peux pas lancer le
Request Spawn Player car, comme vous pouvez le voir ici, je n'ai pas d'interface de
plan pour mon mode de jeu et je n'
ai aucune référence à celle-ci Passons donc
à la leçon suivante et créons une
interface de modèle pour le mode de jeu.
72. Interface de plan du mode jeu 6.12: Très bien, alors
allons-y et créons une interface de plan
pour le mode de jeu. Maintenant, vous pouvez le faire
vous-même parce que nous l'avons fait tant de fois. Maintenant, si vous ne vous en souvenez pas, allez-y et
suivez-moi ici dans cette leçon. Allons-y dans le dossier
Blueprint interfaces. Cliquez avec le bouton droit de la souris, accédez à Blueprint et sélectionnez l'interface
Blueprint Allez-y,
appelez-le et je passe en mode. Accédez à cette interface de
plan. Appelons cette fonction,
trouvons la référence du mode de jeu
à l'intérieur d'ici. Créons une sortie. Vous devez sélectionner ce à quoi vous
essayez de faire référence. J'essaie de faire référence
à mon mode de jeu appelé GM, je crois. Contre-attaque. Si je clique à nouveau
ici, c'est vrai,
Counterstrike Sélectionnez mon mode de jeu
, puis appelez-le mode jeu. OK, maintenant on en a fini avec ça. N'oubliez pas de tout compiler. Revenons à notre mode de jeu
dans le mode de jeu Blueprint. À l'intérieur d'ici, cliquons
sur les paramètres de la classe,
accédons aux interfaces,
puis sélectionnons accédons aux interfaces,
puis sélectionnons l'interface que vous venez de créer en mode jeu. Double-cliquez maintenant
sur l'interface. Et à l'intérieur d'ici,
écrivons l'autoréférence. Nous avons maintenant défini
ce mode de jeu. Allez-y, compilez
et enregistrez tout. Nous pouvons maintenant accéder à la manette du
joueur et je peux commencer à jouer. En fait, allons-y,
disons et cliquez avec le bouton droit de la souris
ici pour lancer le mode de jeu. À partir de là, nous pouvons dire « obtenir référence au mode de
jeu »
que nous venons de créer. Et c'est un message car il provient d'une interface de
plan Et allez-y, connectez-vous. Maintenant, pour celui-ci, vous
pouvez maintenant cliquer avec le bouton droit de
la souris et le transformer en variable
et l'appeler mode jeu. Nous avons maintenant une référence
à notre mode de jeu. Maintenant que nous avons une
référence à notre mode de jeu, nous
pouvons prendre
ce mode de jeu et
dire que si je reviens à
mon mode de jeu et que je me rappelle
comment je l'ai appelé, et si je reviens ici, nous l'avons appelé
Request Spawn Player Maintenant, nous pouvons directement depuis
ce mode de jeu et dire « Request Spawn Player »,
juste comme ça Bon, maintenant nous pouvons l'
utiliser dans la prochaine leçon. Allons-y, compilons et sauvegardons tout,
et passons à autre chose.
73. 6.13 Terminer la logique de sélection d'équipe: OK, maintenant allons-y
et finissons la logique. Maintenant,
connectons cette requête événement
spawn player depuis le mode jeu nous permet de le connecter
à celui du serveur Maintenant, si vous connectez
celui-ci ici, vous aurez également une ère si vous le connectez ici. Et puis pour ce mode de jeu, disons que vous avez branché
cette cible ici Il s'agit de la référence du mode de jeu. Si vous le faites ici,
si vous l'exécutez, il s' agit de la référence du mode de jeu.
Si vous l'exécutez à partir d'ici, arriverez à une époque où il est indiqué que cette
variable de mode de jeu n'existe pas. Je ne vois pas de quoi
tu parles. Cela se produit si vous l'exécutez
sur le client. N'oubliez pas que le mode de jeu
ne peut communiquer qu'
avec le serveur. Si vous essayez d'exécuter la
variable du mode de jeu via le client, cela vous donnera une
époque et vous indiquera époque et vous indiquera je ne sais pas quelle est
cette variable. N'oubliez pas d'exécuter également ce mode de jeu via le serveur. Supprimons cette variable. Permettez-moi de
reconnecter mon mode de jeu, juste comme ça. Maintenant, je dois connecter ma manette
de jeu Select. N'oubliez pas que nous sommes déjà dans la manette du joueur, faites glisser
à partir d'ici et écrivez elle-même l'équipe que vous
devez sélectionner. Encore une fois, nous voulons le faire
via l'interface utilisateur ici. Ce que je vais faire, c'est simplement le faire
glisser dans l'événement, faire glisser également dans l'
événement, et le compiler. Maintenant, ce que nous pouvons faire maintenant, que vous pouvez prendre cet événement
et l'exécuter via l'interface utilisateur. Si j'ouvre mon
widget, mon plan, je clique sur mon bouton.
Pour celui-ci, changeons
le nom Si vous cliquez sur le bouton, je
l'appellerai BTN Terrace. Rendez-le variable, car si vous ne l'avez pas
en
tant que variable dans le graphique, vous allez coder la fonctionnalité
de ce bouton. Vous pouvez voir que vous n'avez aucune variable. Si
vous le mettez à, vous pouvez maintenant le voir comme
une variable ici. Et vous pouvez créer des
événements grâce à elle. Assurez-vous que le nombre de cases à cocher est variable. Faites de même pour
la lutte contre le terrorisme. Disons que c'est un terroriste BT N. Faisons en sorte que ce soit variable. Allez-y, compilez
et enregistrez tout. Passons maintenant
au graphique. Pour celui-ci, je vais
tout supprimer. Pour l'instant, je vais d'abord cliquer sur le
Terris, par exemple Et maintenant, nous avons ces événements. Nous pouvons sélectionner celui-ci en un clic. Que doit-il se passer lorsque je
clique sur le bouton Terris ? Ce que je veux faire,
c'est que lorsque je clique, je veux lancer cette équipe de sélection. J'ai besoin d'une référence à
la manette Player. Donc, de la façon dont vous le faites très, très facilement dans l'interface utilisateur, vous pouvez écrire, cliquer
et dire « devenir propriétaire ». Et vous pouvez voir que vous
avez deux choses ici. Vous pouvez soit
devenir propriétaire du joueur ce qui vous permettra d'obtenir la
manette du joueur. Et vous pouvez devenir
propriétaire du joueur Pon. Cela permettra d'obtenir le joueur P au lieu de la manette
du joueur. À l'heure actuelle, nous avons besoin de la manette du
joueur. Je vais m'occuper de
devenir propriétaire du joueur. Encore une fois, nous nous souvenons déjà d'
avoir une interface de plan pour le contrôleur du joueur où
nous pouvons faire glisser le pointeur
et dire « obtenir la référence du contrôleur du joueur Allez-y, connectez-vous.
Nous pouvons maintenant organiser cet événement appelé Select Team et
continuer à le sélectionner. Vous devez maintenant préciser
quelle est l'équipe. C'est le terroriste parce que nous
avons cliqué sur le bouton
terroriste. Allez-y, recherchez le terroriste de BP et compilez
pour le contre-terroriste. Allez-y et cliquez dessus.
Allez-y et cliquez ici. Je vais juste
copier-coller le tout. Tu peux le réécrire si
tu veux t'entraîner davantage. Maintenant, sélectionnons le compteur place ou celui-ci.
Allons-y et compilons. Maintenant, pour
vous expliquer ce qui
se passe réellement , c'est si je clique
sur le bouton terroriste. Il va maintenant passer
par les
commandes du joueur et sélectionner l'événement par équipe. Ça va passer par ici. N'oubliez pas que celui-ci s'exécute
à la fois sur le client et sur le serveur. Nous l'exécutons via
le client ici
, puis nous l'exécutons d'abord sur le serveur. Lorsque nous l'exécutons sur le serveur, nous communiquons désormais
avec le mode jeu. Nous allons
passer en revue le mode jeu et demander au mode de jeu nous
sommes
réellement autorisés à le créer ? Et nous allons
passer en revue tout cela et créer le contrôle du joueur Ça va aller ici. N'oubliez pas qu'il sait
quoi générer , car nous les avons
définis ici dans l'interface utilisateur, nous avons défini l'équipe ici Elle va transmettre cette
valeur à l'équipe sélectionnée, elle va la
transmettre ici, la
connecter ici, la faire
passer en mode jeu ici. Ensuite, il va l'exécuter dans
le spawn player ici. Et il sait quelle
est la valeur parce que nous lui avons indiqué
ce que c' est et il sait également
où faire apparaître le joueur OK, maintenant allons-y
et cliquons sur jouer. Et si je sélectionne l'un
d'entre eux, par exemple, le terroriste, vous pouvez voir qu'il ne se
passe rien en ce moment. Passons à la
leçon suivante et finissons-en.
74. 6.14 Apparaître le joueur: Bien, il y a donc une dernière
chose à faire pour faire apparaître le joueur. Et nous devons
posséder le joueur. Si vous cliquez dessus, vous faites
apparaître le joueur Mais vous ne pouvez pas voir le
joueur dans le niveau car vous devez également
le posséder. Si vous faites glisser le pointeur depuis l'écran, n'oubliez pas que nous avons déjà créé une interface pour
la base de joueurs Vous pouvez
donc faire glisser le pointeur depuis l'affichage et dire « obtenir la référence du joueur ». Nous avons déjà créé cette interface de
plan, et vous pouvez désormais le faire glisser
depuis le lecteur Vous devez posséder le joueur pour pouvoir le contrôler. Allez-y, compilez
tout maintenant, et cliquons sur Play. Si vous cliquez sur le terroriste
maintenant, vous pouvez voir que vous pouvez réellement posséder ce
contre-terroriste. Cependant,
l'interface utilisateur est toujours devant nous et
nous devons la supprimer. L'interface utilisateur est exécutée
via le client. Lorsque vous travaillez avec l'interface utilisateur, vous travaillez à l'intérieur
du client. Maintenant, au lieu de le faire ici, cliquons avec le bouton droit de la souris et
créons un nouvel événement personnalisé. Et passez-le par le biais du client. Spawn player, je vais juste l' appeler client spawn Je sais que c'est lié à celui-ci. Je
vais cliquer dessus. Allez-y et continuez à
avoir un client fiable. Passons-en en revue
ici également. Cl Spawn Player pour celui-ci
ici en ce moment Je veux juste me rappeler que nous
l'appelons show hide widget. Nous pouvons donc descendre ici et dire Afficher masquer le widget
et le sélectionner ici. Nous pouvons maintenant sélectionner
l'équipe sélectionnée, et celle-ci est décochée Maintenant, il va masquer
l'interface utilisateur pour les joueurs. Allons-y, compilons
et cliquons sur Play. Et choisissons, par
exemple, le
Counter Terrorist. Maintenant, vous pouvez voir que nous
sommes à l'intérieur. Maintenant, vous pouvez voir que je ne
peux pas déplacer mon personnage. Et je peux aussi voir la
tête de mon personnage. Souvenez-vous que nous avons effectivement retiré
la tête. Il s'agit d'un bug. Si nous allons voir le joueur, et je veux juste vérifier mon code si vous cliquez sur la base de joueurs, si vous allez sur le graphique des événements,
il montre ma tête. N'oubliez pas qu'au début du jeu, on enlève la tête, on ne peut pas non plus
contrôler le joueur. Je pense
que ce code,
le code de mouvement et le fait de
cacher la tête ne fonctionnent pas. Parce que si je joue et que je clique, vous pouvez voir ma tête, ce code ne fonctionne pas. Celui-ci ne fonctionne pas non plus parce que je ne peux pas vraiment
déplacer mon personnage. Je crois que c'est parce que vous pouvez simplement
imprimer une chaîne ici. Imprimer à nouveau une chaîne, imprimer une
chaîne est vraiment puissant. Il devrait dire bonjour ici. Si c'est le cas, je sais que
mon code s'exécute ici. Si je clique sur mes foulques, tu peux voir qu'il
ne dit pas bonjour Mais si je le connecte
au non valide. Donc, si je le déconnecte, que le
mets comme non valide,
juste comme ça. Et je peux le reconnecter à nouveau. Je clique sur Play, et
maintenant il me dit bonjour. Cela signifie en fait
que ce n'est pas valide. Maintenant, en multijoueur, vous
devez savoir que vous devez laisser un peu
de temps
au joueur
pour qu' il apparaisse, car ce
n'est pas comme un mode solo Ils mettent un certain
temps à apparaître sur le serveur ou
à se connecter au serveur Vous devez donc en tirer un
trait et, disons, retarder. Parfois, cela
résout réellement le problème. Si j'ajoutais juste un délai et
pas vraiment un gros délai, juste de 0,01 donc très, très faible et compilais. Et maintenant,
si je clique sur Play, sélectionne le Counter Terrorist. Maintenant, vous pouvez voir que je peux déplacer mon personnage et que j'ai perdu
la tête également. En fait, la seule chose dont nous avions besoin ici était d'
ajouter ce délai. Parce que lorsque vous vous connectez
au réseau sur le serveur, vous devez disposer d'un
très petit délai pour que le joueur
se connecte réellement et exécute ensuite ce code. Très bien, maintenant, comme
vous pouvez le voir ici, tout fonctionne très bien. Cependant, vous pouvez
voir que la souris disparaît à chaque fois
que je clique sur l'écran Et c'est embêtant,
je dois sélectionner mon autre écran avant pouvoir réellement cliquer
sur les boutons. Et je dois cliquer
ici avant de pouvoir jouer. Vous pouvez donc voir que je dois cliquer, ou même
minimiser cela. Maintenant, je peux cliquer sur l'interface utilisateur. Et je dois cliquer à nouveau sur l'écran avant de pouvoir déplacer
mon personnage avec la souris. Nous devons donc régler ce problème. Et c'est ce que nous devons faire dans la leçon suivante
avec ce on appelle un mode de saisie
que nous devons définir. Passons à
la leçon suivante.
75. 6.15 Réglage du mode d'entrée: Très bien, maintenant
allons-y et
ouvrons notre manette de jeu. Donc, si vous ouvrez le contrôleur du
joueur, comme vous pouvez le voir
lorsque je clique sur jouer, je ne peux pas voir ma souris et je ne
peux rien appuyer sur quoi que ce soit. Si je vais sur la manette du joueur et que je clique sur la
classe par défaut, je peux sélectionner
celle appelée chaussures Si je compile et que je joue, maintenant vous pouvez voir que je peux
voir le curseur de ma souris. Cependant, parfois, lorsque
j'entre dans le jeu, je n'arrive pas à survoler mes boutons Et c'est là qu'intervient le mode de saisie
défini. Ici, dans la manette
du joueur. Commençons par
là, dès le début. Jouez et disons
définir le mode de saisie. Vous avez ces différents types. Vous pouvez régler le
mode de saisie sur UI uniquement, sur jeu uniquement ou sur jeu et interface utilisateur. heure actuelle, lorsque nous nous
connectons au serveur, nous voulons simplement qu'il soit accessible à l'interface utilisateur. Parce que nous voulons simplement nous concentrer sur la sélection de
notre équipe
et sélectionner l'équipe. On s'en fout
du jeu pour le moment,
je vais me suffire. Ensuite, nous devons spécifier
le contrôleur du joueur. N'oubliez pas que nous sommes déjà
sous le contrôle du joueur, donc je vais faire glisser le pointeur à
partir d'ici et dire « soi ». Ensuite, pour que nous puissions nous concentrer sur le widget, nous n'avons rien à
faire ici. Et tout se présente bien. Alors allons-y et compilons. Et maintenant, lorsque je clique sur Play, ne me
concentre plus sur mon jeu. Et je peux aller de l'avant
et faire tout cela. Maintenant, lorsque le joueur apparaît, vous devez également
changer le mode de saisie. Parce que lorsque nous
entrons dans le jeu, vous pouvez voir que je ne peux plus bouger parce que pour le moment, votre
mode de saisie est réglé sur l'interface utilisateur uniquement, vous devez
donc également le
modifier. Allons ici.
Et n'oubliez pas qu'en fait, si vous
montez ici et que vous voyez l'icône, vous pouvez maintenir la souris dessus Vous pouvez voir que
celle-ci est en haut, vous pouvez voir qu'elle indique « client uniquement ». Il ne fonctionne que sur le client.
Allons ici. Lorsque nous faisons apparaître le joueur, envoyons-le au client. Joueur Spawn. Faisons glisser le pointeur à partir d'ici
et disons définir le mode de saisie. Pour le moment, nous n'avons besoin du jeu que parce que nous sommes dans le jeu. Nous voulons nous déplacer. Peu nous importe l'interface utilisateur, la manette du joueur,
disons « self », comme avant. C'est ce qui devrait être le cas.
Compilons et jouons. Maintenant, je sélectionne Counter Terrace, par
exemple, et maintenant
je suis à l'intérieur. Mais comme tu peux le voir, je
peux toujours voir ma souris. Faisons glisser le pointeur à partir d'
ici et disons souris. Vous avez cet événement ici. Le lingot appelé
set show mouseursa. Je vais le régler
pour qu'il tombe ici. Vous pouvez toujours le
définir sur true par défaut, si vous le souhaitez,
vous pouvez le copier. Et vous pouvez le coller ici brancher
et le
régler sur true. Maintenant, nous l'avons déjà fait en le définissant sur
true par défaut, mais juste pour vous assurer
qu'il est visible, au cas où vous feriez quelque chose dans le futur, vous
pouvez l'avoir. Mais pour l'instant, ce n'est
en fait pas nécessaire. Mais en fait,
laissons-le être ici. Cliquons sur Play by
Select, No terrorist. Vous pouvez voir que ma souris disparaît et que tout
fonctionne parfaitement. Très bien, alors
fermons tout. N'oubliez pas de sauvegarder votre
partie et passons à autre chose.
76. 6.16 Placer une caméra de spectateur: heure actuelle, lorsque vous
cliquez sur Play, vous pouvez voir que cela
commence à un moment aléatoire. Et en fait, je veux
commencer par un endroit sympa où vous pouvez voir tous
les joueurs
dès que vous vous connectez. Ce sera vraiment chouette. Ce que vous pouvez faire, c'est
simplement installer une caméra ici, par exemple. Permettez-moi de placer d'abord
mon appareil photo. Par exemple, je
veux placer ma caméra comme ça ici et je peux voir l'ensemble du niveau ainsi que
les joueurs. Maintenant que vous êtes
satisfait de la position
de votre caméra, vous pouvez cliquer ici sur la fenêtre d'affichage, puis
cliquer sur celle-ci Créez une caméra ici,
puis sélectionnez Caméra. Cela créera automatiquement un
acteur de caméra. Maintenant, si je clique sur la caméra, elle a été créée ici. Pour m'assurer de ne pas déplacer
la caméra ici par erreur, je vais écrire
click and transform puis sélectionner Lock
Movement selected. Maintenant, lorsque vous cliquez dessus et que vous sélectionnez l'outil de déplacement, vous pouvez voir qu'il n'est pas là. Je ne peux pas vraiment
le déplacer par erreur. Maintenant, il a bloqué le
mouvement pour celui-ci. OK, je vais renommer
celle-ci et l'appeler caméra spectateur. Laissez-nous économiser. heure actuelle, ce que nous
pouvons faire, c'est
accéder à la manette du joueur
et nous souvenir de ce que j'ai dit tout accéder à la manette du joueur à l'heure. Si vous voulez faire référence à
quelque chose qui se trouve dans le monde, essayez de vous rappeler quelle
fonction nous utilisons réellement. Je vais vous donner
une petite seconde pour réfléchir à la
fonction que nous pouvons
utiliser ici pour obtenir la
référence de cet appareil photo ici. Passons maintenant à la
manette du joueur. Ce que nous pouvons faire, c'est
définir cette vue chaque fois que
le joueur se connecte. En fait, je vais le
faire ici au début de Play. Ce que vous pouvez faire, c'est que je vais juste le faire
ici après le mode, je vais le faire glisser. Et puis à partir de là, dites «
acte de classe » à Floss. Il s'agit de la fonction
que vous devez utiliser. Sélectionnez ensuite l'appareil photo. Si je recherche une caméra, vous pouvez continuer
et sélectionner la caméra. C'est une caméra, nous la prenons
à notre niveau. Maintenant, ce que nous pouvons faire, c'est utiliser cette fonction appelée Set View Target, Blend. Set View Target with
blend va
définir la vue de votre
caméra lorsque vous vous connectez. Maintenant, il vous demande
quelle est la vue. La vue est juste cette caméra
que nous avons créée. Allez-y, connectez-vous.
C'était en fait ça. Choisissons-les ici. Allez-y, compilez,
sauvegardez tout. Cliquons sur Play. Et maintenant, vous pouvez voir que nous commençons ici. Et je peux voir ce niveau. Ça a l'air cool si
les joueurs jouent et
que je
peux sélectionner mon équipe et voir les joueurs
en arrière-plan. Lorsque vous cliquez sur un terroriste, par
exemple, vous continuez et vous
apparaissez à l'intérieur du niveau Et tout fonctionne
bien pour l'autre. Si je deviens un
antiterroriste, je passe
et vous pouvez
voir qu'ils peuvent se voir À l'heure actuelle, vous pouvez
voir qu'il y a un bogue. Réparons réellement à ça. La tête disparaît lorsque je considère le client
comme le serveur, si je quitte ici, cela me
montre une époque et c'est peut-être à
cause de celle-ci Il est dit que Axis n'
essaie pas de lire cette époque ici, vous pouvez essayer de le réparer
vous-même maintenant avant de me suivre
juste pour vous entraîner. Axis non signifie qu'il essaie de lire cette valeur appelée sous-système get
local player Si je clique ici, c'est le sous-système get local player Il essaie de lire cette valeur
mais il indique access none, qui signifie que je ne peux obtenir aucune
information à partir de celle-ci. Supprimons simplement ça. Il est toujours agréable de le supprimer
et de dire que ce est valide que lorsque c'est valide. Nous allons exécuter ce code, connectons-le également ici. Chaque fois que le
contrôleur du joueur est valide ainsi que
cette entrée améliorée, elle est valide, alors nous
voulons réexécuter le code. Il suffit de double-cliquer ici
sur le nœud de redirection. Allez-y et faites cette compilation
organisée. Cliquons sur jouer pour
voir ce qu'il fait. Maintenant, allez-y et sélectionnez des terroristes pour
celui-ci, par exemple. Nous allons passer au milieu et sélectionner l'autre. Nous allons sélectionner le
contre-terroriste. Laissez-moi voir l'
autre gars ici et voir s'ils se voient. Et maintenant vous pouvez voir que c'est réparé. C'était juste un problème lié à
cette époque que nous avions avant. Maintenant, si vous voulez le tester, vous pouvez y jouer en tant que client. Vous pouvez y jouer,
par exemple, à trois joueurs. Ouvrons tous
ces trois acteurs. Je vais juste minimiser
cette grande taille pour le moment et les agrandir
légèrement. Juste comme ça pour celui-ci, créons un contre-terroriste Et pour l'autre, créons
un contre-terroriste. Pour le troisième, créons
un terroriste. Laisse-moi passer au milieu. Pour celui-ci, je
vais également passer au milieu. Et pour l'autre aussi. Maintenant, vous pouvez voir qu'ils
fonctionnent parfaitement. Tout le monde peut voir tout le monde. Et les animations, on
peut les voir s'accroupir, celle-ci aussi, les effets
sonores fonctionnent, et tout est prêt Allons-y, sauvegardons
tout, et passons à autre chose.
77. Espaces de mélange de pistolet: Nous sommes maintenant
prêts à travailler avec les armes et à les placer également
dans le niveau. Cependant, avant cela,
faisons les animations sur les fusils
et les pistolets car elles nous manquent
pour le moment Finissons-en avant
de travailler sur les armes, car à ce
moment-là, nous aurons toutes les animations
et tout sera beaucoup plus facile pour nous. Revenons donc au dossier
des plans, cliquez sur le lecteur et revenons au dossier des animations ici Ce que je veux faire pour cette leçon,
c'est créer les espaces de mélange des pistolets Comme ceux-là,
mais les pistolets sont maintenant disponibles si vous voulez les
créer vous-même. C'est donc un bon exercice et ensuite vous pourrez
voir ce que je fais. Mais vous devriez
maintenant savoir comment procéder. Parce que c'est en fait
la même chose que ceux qui s'accroupissent sans armes
, courent sans armes et marchent également sans Si vous voulez suivre, cliquez ici avec
le bouton droit de la souris. Passons ici dans
l'animation et sélectionnons l'espace de fusion pour celle-ci. Encore une fois, sélectionnez notre style
squelette, un homme, et
appelez-le blend space. Appelons ça
un pistolet accroupi. Créons-le d'abord.
Double-cliquez ici. Pour l'axe horizontal, c'est le sens du mouvement
pour l'axe vertical, c'est la vitesse de déplacement. Pour le sens du mouvement, il passe de moins 180 à 180. Et puis nous avons
huit déficiences parce que nous avons un mouvement à
huit voies Quant à la vitesse de déplacement actuelle, elle dépend du fait que nous sommes accroupis, que nous
marchons ou que nous courons Revenons maintenant à...
je peux vraiment le faire ici,
sur la droite. Retournons en position
accroupie pour ceux qui ne sont pas armés. Je veux voir quelle était la vitesse de
déplacement. Voilà, il y en a 100, donc je vais régler la
même chose ici pour le pistolet, 100 Enfin,
pour ce qui est de la vitesse du poids, nous l'avons fixée à 6,5.
Si vous vous souvenez, si vous ne le faites pas, vous pouvez cliquer sur le accroupi, vous pouvez descendre Et puis vous pouvez voir la
vitesse du poids, nous l'avons réglée à 6,5. Fais la même chose pour
celui-ci, pour qu'ils soient pareils. Et avant de faire quoi que ce soit, je vais l'enregistrer cliquer dessus avec le bouton
droit de la souris
et le dupliquer. C'est parce que je n'ai pas à faire tout cela
encore et encore. Et celui-ci s'
appelle Run Pistol. Ensuite, je vais le
dupliquer à nouveau et cela s'
appellera S walk pistol Je vais
ouvrir le pistolet de course. Il ne nous reste plus qu'à modifier
la vitesse de déplacement. Je pense que c'est 350 et si
vous ne vous en souvenez plus, cliquez sur le bouton non armé Pour la course, tu vois, c'est 350. En position accroupie ou
accroupie, le pistolet de course, vous devez également le
mettre à 350 OK. Et
vérifions le pistolet Celui-ci, je crois, c'est 200
sur le dessin. Oui, c'est 200. Mettons donc également le nombre de marches de
un à 200 et
sauvegardons tout. Maintenant, vous pouvez voir que
lorsque je l'ai dupliqué, je n'ai pas à faire tout
cela encore et encore. Maintenant, ils sont tous prêts. OK. Commençons
par celui du pistolet Cherchons la position accroupie ou je peux juste
chercher un pistolet C'est beaucoup plus facile. Ensuite, je pourrai jeter un œil à
l'accroupi ici Tout comme avant.
Il faut d'abord avoir le moteur inactif. Voyons voir, accroupissez-vous
au ralenti, encore une fois, maintenez la touche Shift enfoncée et
branchez-les ici Juste comme ça. Et
pareil l'autre côté, juste comme ça. OK, voici le mouvement vers l'avant comme
vous pouvez le voir ici. Ensuite, vous avez l'
avant gauche jusqu'ici, puis l'avant droit jusqu'ici. Alors tu as le gauche ici et tu as
le droit ici. Ensuite, vous avez le dos gauche et
le dos droit, puis vous avez le
dos des deux côtés. Et je peux activer les étiquettes pour que vous puissiez également voir
comment je les place. Mais vous pouvez maintenir
le bouton de commande enfoncé et déplacer votre souris juste pour
vérifier si tout va bien. Tout semble bon. Je vais le sauvegarder et le fermer. Maintenant, je peux
ouvrir le pistolet de course. Je vais chercher le pistolet inactif et utiliser celui-ci appelé pistolet inactif et le
remettre en place Maintenez la touche Shift enfoncée et
placez-les toutes. Maintenant que vous les aurez placés, cherchons un pistolet et je
trouverai ceux qui fonctionnent. Lancez celui-ci, les
pistolets dont nous avons besoin maintenant, si je peux les trouver
ici, le pistolet de devant Ensuite, nous avons besoin de l'avant
gauche, puis de l'avant droit. Ensuite, nous avons besoin de la
gauche, de la droite, et nous avons besoin de l'arrière
gauche, de l'arrière droit. Nous avons également besoin
du soutien des deux côtés. Encore une fois, maintenez la touche
de contrôle juste pour voir à quoi cela ressemble. Tout a l'air bien. OK. Nous pouvons le fermer. Ouvrons maintenant le
dernier, le pistolet de marche. Encore une fois, je vais
trouver l'inutilisé. Prenez le pistolet à vide et
replacez-le ici. Alors cherchons un pistolet. Maintenant, nous devons trouver la promenade
sur ce front de promenade, placer ici comme ça. Ensuite, nous avons besoin de la
gauche, de l'avant, de la droite. Ensuite, nous avons besoin de la gauche
et de la droite ici, revenir à gauche, de revenir à droite. Ensuite, nous avons besoin des
deux sites. Encore une fois, je peux activer
ces étiquettes pour que vous
puissiez les voir et que je puisse garder le contrôle. Déplace ma souris juste pour voir à quoi ça ressemble et
tout va bien. Maintenant, nous pouvons tout sauver. Et c'était tout pour
le pistolet, une fois. Passons à la
leçon suivante et passons au fusil.
78. Espaces de mélange de fusils: Pour le fusil. Encore une fois,
vous pouvez essayer de le faire vous-même maintenant que nous avons
également fabriqué le pistolet Mais allons-y
et faisons-le ensemble si cela
vous pose encore des
difficultés. Cliquons ici avec le bouton droit de la souris.
Passons à l'animation. Allons dans Blend Space
et sélectionnons notre squelette. Encore une fois, appelons-le S.
Appelons-le Rifle. Passons à celui-ci. Appelez l'horizontale. Direction du mouvement. L'axe vertical. Vitesse de déplacement. La direction va
de moins 180 à 180. Avec huit divisions de grille, la vitesse du poids est 6,5. Quant à la
vitesse de déplacement, il s'agit de l'accroupissement Il est donc fixé à 100. C'est exact.
Fermons-le à nouveau. Je vais le reproduire
et l'appeler « fusil Un ». Et je vais le
dupliquer à nouveau. Appelons ça un fusil à marche unique. Je vais ouvrir le fusil de course et changer
la vitesse de déplacement à 350. Oui, nous n'avons pas besoin de
changer quoi que ce soit d'autre. Ouvrons le
Walk Rifle ici. Passons la vitesse de
déplacement à 200 comme les autres. Et sauvegardons tout
et fermons-le. OK, pour le fusil. Commençons par
l'accroupissement. Pour l'accroupi, je
vais
chercher un fusil, puis je vais trouver le fusil inactif
et le placer ici. Et allez-y,
replacez-les, jusqu'ici. Très bien, quand c'est fait, trouvez le
fusil accroupi et placez-le ici Parfois, je tiens juste
le contrôle pour vérifier si cette animation que j'ai
importée pour vous est correcte. D'habitude, je garde le contrôle et je vérifie simplement
si c'est correct. Je ne me trompe pas
sur ce cours. Maintenant, nous avons cette façade. OK, donc nous avons l'avant
gauche, nous avons l'avant droit, puis nous avons le côté gauche accroupi gauche et accroupi à droite également Ensuite, nous avons l'arrière
gauche et l'arrière droit. Ensuite, nous avons également
des allers-retours. Oups, je dois le recopier comme ça à nouveau. Gardez le contrôle, vérifiez si
tout est correct, tout semble correct. Fermons ça. Passons à
nouveau au fusil. Je recherche Idle. Et je prends ce fusil inutilisé
et je le place ici. Et replacez-le,
jusqu'en bas. Une fois cela fait, allez-y
et recherchez un fusil. Maintenant, je trouve le fusil
Run Forward une fois et je trouve le fusil Run Forward
qui semble correct. Et mettons-le à l'
avant, à gauche, à l'avant, à droite. Et puis il y a
la gauche et la droite. Et nous avons le dos
gauche et l'arrière droit, et nous avons
le dos des deux côtés. Et je vais garder le contrôle, vérifier si tout
va bien. Cela semble correct.
Fermons-le. Le dernier est le Walk Rifle. Encore une fois, je vais
chercher le moteur inutilisé, le
faire glisser vers le bas du fusil et
le placer jusqu'ici. Encore une fois, allons-y
et cherchons un fusil. Et maintenant, il nous faut celle qui marche. Passons à la marche à suivre. Placez-le ici et
vérifions-le. C'est exact. Puis à l'avant, à gauche. Avant
à droite, et nous avons la gauche. Nous en avons les droits. Ensuite,
nous avons les Bcrights. Nous avons également du dos des
deux côtés. Je vais contrôler, encore une fois, juste pour vérifier si
tout semble correct et si tout
semble correct. Sauvegardons tout.
Fermons-le. Et maintenant, le fusil et les
pistolets sont terminés. Passons à la
leçon suivante et faisons le décalage de visée.
79. 7.03 Décalage de la cible du pistolet: Maintenant, allons-y et
effectuons le décalage de visée. Maintenant, vous l'avez déjà fait. Encore une fois, essaie de le
faire sans moi. C'est une bonne pratique. Et si vous ne vous en souvenez pas, allons-y et
faisons-le ensemble. Cliquons ici avec le bouton droit de la souris, passons à Animation
et passons à Legacy. Et sélectionnez-les, Offset one D, laissez-nous sélectionner le personnage. Appelons-le O pour un décalage. Et accroupissons-nous. Et appelons-le un pistolet. Et double-cliquons dessus. Pour celui-ci, l'
axe horizontal est la direction. Vous pouvez également simplement cliquer sur l'autre pour
voir ce que vous avez fait. Alors tu fais la même chose. Ce n'est pas vraiment bien de faire différentes choses
sur un même jeu. C'est donc toujours agréable
de faire la même chose. Si vous l'avez appelé
direction ici, essayez de l'appeler
direction ici également,
au lieu de déplacer la
direction et ainsi de suite. Essayez donc de faire la même chose. Vous avez donc de la constance
dans votre jeu -90 Et je pense que les lacunes
restent les mêmes Tout se présente bien. La vitesse de poids que
j'ai
fixée à 5,5 , je vais cliquer sur
le pistolet et également
la mettre à 5,5 Je vais
tout enregistrer maintenant. Cherchons l'offset du pistolet
accroupi. Si je cherche un pistolet et que je
descends sur le décalage Am, ce sont ceux qui
sont accroupis Celui du centre, je
vais maintenir la touche
Shift enfoncée et la placer ici en bas. Ensuite, nous avons le
feu vert et je vais garder le contrôle pour voir si tout
va bien. C'est très bien.
Fermons-le. Je vais cliquer avec le bouton droit sur
Animation Legacy Am. Offset 1. D. Sélectionnez votre squelette et
appelez ce pistolet à 10 positions. Ouvrons-le à nouveau. Appelez cela direction allant de -90 à
95,5 pour ce qui est de la vitesse du poids Et cherchons
à nouveau un pistolet. Cette fois, c'est
le pistolet sur support, celui
du centre que je vais
mettre au centre Ensuite, il y a le bas,
puis il y a le haut. Et vous pouvez également voir l'
étiquette ici. Nous avons le bas,
nous avons le haut. Tout se présente bien. Sauvegardons tout, et passons à
la leçon suivante.
80. 7.04 Compensations de visée des fusils: OK, il ne nous
manque plus que le fusil. Visez à nouveau en décalant, essayez de le
faire seul pour vous entraîner. Et si vous ne vous en souvenez pas encore, allons-y et faisons-le
ensemble. Cliquez avec le bouton droit sur Animation. Sélectionnez
Legacy et visez un décalage d'un D. Et choisissons
notre squelette et appelons ça, appelons-le fusil accroupi Pour celui-ci, je vais
double-cliquer, appeler ça direction pour la valeur minimale -90 Pour
la valeur maximale, c'est 90 La vitesse du poids est de 5,5.
Cherchons le fusil cette
fois pour le compenser. C'est celui qui est accroupi. Nous avons besoin d'un décalage en position accroupie. Je vais attaquer ce
centre et le mettre ici. Ensuite, il y a le bas,
puis il y a le haut. Ça a l'air sympa ici. Maintenant, l'animation
elle-même semble étrange. Je veux dire, il est vraiment tordu
et ça a l'air tellement bizarre. Mais ce ne sont que
des animations comme si ce n'était pas de ta faute, que
nous ne faisions rien de mal. C'est juste l'animation
qui est faite comme ça. Maintenant, si j'avais de meilleures animations,
je vous les donnerais. Malheureusement, je n'ai pas vraiment
de meilleures animations. Peut-être qu'à l'avenir, quelqu'un fera tout sur mesure. Mais pour le moment, c'est le
mieux que nous puissions faire. Tout va bien. Maintenant, fermons-le. Et cliquez à nouveau avec le bouton droit de la souris. Allez dans Animation et héritage, on vous dit de
sélectionner le squelette. Appelez-le fusil AO Stand Rifle. Double-cliquez ici
et appelons-le direction. Ensuite, pour la valeur minimale -90 pour le maximum
90, pour le poids, vitesse 5,5 Et
cherchons le fusil et ensuite nous pouvons
sélectionner le fusil sur support, c'est le centre Ensuite, il y a le down.
Ensuite, nous avons l'ancienne commande pour vérifier si tout est correct et si tout va
bien. OK, sauvegardons tout. Fermons-le. Et maintenant, nous avons également un
objectif décalé. Passons à autre chose dans
la leçon suivante.
81. 7.05 Mélanger les poses de Bool: Nous sommes maintenant prêts à revenir
au plan d'animation
et à y travailler Cliquons sur le
dossier Animations du lecteur et ouvrons le plan
d'animation Maintenant, à l'intérieur d'ici, je veux que vous cliquiez sur le graphique
d'animation. Nous sommes donc à l'intérieur d'
ici. Comme vous pouvez le constater, nous avons
déjà utilisé
le décalage pour le support. Cependant, nous avons également
utilisé l'autre option, le décalage de visée, pour
l'accroupissement Nous n'avons utilisé que
celui-ci pour le stand. Lorsque nous sommes accroupis,
nous n'utilisons pas le bon
décalage de visée. Pour ce faire. Cliquez avec le bouton droit de la souris et
recherchez accroupi. Ce lecteur offset, moment nous sommes dans le, je vais juste les
copier dans leur direction. Et copiez celui-ci au
fur et à mesure que nous le branchons. Maintenant, c'est ce que nous avons.
Mais le problème moment, c'est que je ne peux pas le
brancher ici, car comme vous pouvez le voir, qu'une seule entrée. Nous devons trouver quelque chose qui réunisse ces
deux éléments. La façon dont nous pouvons le faire
est de cliquer avec le bouton droit de la souris et de rechercher des poses de mélange. Vous pouvez voir que nous pouvons mélanger ces deux poses en fonction de nombreux facteurs. Vous pouvez tous les
voir. Cependant, ce dont nous avons besoin,
c'est de mélanger les poses par un Vous pouvez voir qu'il existe ce que l'
on appelle les poses de mélange par taureau. Cela vous permet de mélanger les poses
à l'
aide d'un lingot Si vous avez un lingot
qui est vrai, il utilisera cette pose Si c'est faux, il
va utiliser cette pose. Nous devons lui donner un lingot. Le lingot que nous voulons utiliser est vérifier si le joueur
est accroupi ou non Si le joueur est accroupi, nous allons utiliser le
décalage de visée pour l'accroupissement Si le joueur n'est pas accroupi, nous allons utiliser le
décalage pour le stand Allons-y et découvrons
que le lingot ici, si nous l'avons déjà
fait maintenant, est accroupi et marche N'oubliez pas que nous les avons
précédemment supprimés d'ici. Ils ne sont en fait pas utilisés pour
le moment et ils se trompent. Supprimons le Is
accroupissement et marche. N'oubliez pas que nous les avons
changés avec l'état de mouvement ici. Attaquons
celui-ci. Et partons d'ici et disons «
obtenez-en une copie ». Et maintenant, vous pouvez faire glisser le pointeur d'
ici
et dire dernier index, puis nous pouvons le brancher. Nous sommes en train de vérifier si le joueur appuie actuellement sur
le bouton accroupi Nous pouvons faire glisser le pointeur à partir de là et dire égal si le dernier indice
est égal à accroupi, ce qui signifie que le joueur est en train appuyer sur
le bouton d'accroupissement,
puis nous pouvons continuer et nous accroupir puis nous pouvons continuer et nous Maintenant, nous allons le brancher si
c'est vrai, c' est-à-dire que le joueur est accroupi, nous voulons utiliser celui-ci où
le décalage de visée est accroupi Cependant, si le joueur n'
est pas accroupi, nous voulons utiliser
celui-ci avec le support Allez-y, compilez-les et branchez-les ici.
Compilez tout. Et je vais juste
tout déplacer ici
et les organiser. C'est bon, donc tout
est organisé maintenant. Vous pouvez maintenant essayer de vérifier
si cela fonctionne. Vous pouvez donc cliquer sur
l'état du mouvement. Vous pouvez ajouter un tableau ici, ajouter un élément au tableau. Et vous pouvez simplement le mettre
en position accroupie. Et tu peux voir à
quoi ça ressemble. Alors maintenant, vous pouvez
voir que cela fonctionne. Parce que si je le mets sur
accroupi, c'est qu'il est accroupi. Si je le mets sur autre chose, il passe
à l'autre. Maintenant, vous pouvez voir qu'il change, qu'il fonctionne correctement. N'oubliez pas de continuer
et de le supprimer pour le moment. D'accord. Cela
fonctionne donc correctement. C'est ainsi que vous
mélangez les poses grâce à ce que l'on appelle les
poses mixtes par intimidation. D'accord. Nous en avons donc
un autre que nous devrons utiliser plus tard, car celui-ci
n'est qu'un mouvement non armé Nous avons également besoin du mouvement du pistolet et du mouvement
du fusil Vous pouvez donc voir que cela devient
un peu plus complexe parce que nous devons créer tout cela pour le pistolet
et le fusil Nous en avons besoin d'un autre appelé
blend poses by enumeration. Mais pour l'instant, passons à la leçon suivante et
découvrons le sujet.
82. 7.06 Mélanger les poses par Enum: Très bien, nous y revoilà. Cette fois, nous
voulons utiliser celui-ci appelé blend poses
by enumeration Si vous écrivez, cliquez et écrivez des poses de
fusion ou des poses de fusion, vous verrez toutes celles qui commencent un E. En commençant par un E,
il s'agit en fait d'une énumération Et ce ne sont
que des énumérations créées par défaut dans le moteur
Unreal Maintenant, créons plutôt notre
propre énumération, permettez-moi de minimiser tout cela Allons à l'Enos. Permettez-moi de cliquer avec le bouton droit sur ce dossier, d'
accéder à Blueprint et de créer
une nouvelle liste d'énumération Mais appelons-le type d'arme. Allons-y et
entrons dans l'énumération. Et vous pouvez désormais ajouter les types
d'armes dont nous disposons. Nous avons le pistolet
et le fusil, mais nous avons aussi ceux qui ne sont pas armés car j'ai également besoin de mouvements
désarmés Je vais donc faire en sorte que les personnes
soient désarmées pour commencer. Et nous pouvons en fabriquer un pour le pistolet et un pour le fusil Encore une fois, l'ordre
dans lequel ils se trouvent n'a pas d'importance. Que ce soit comme ça, que vous les ayez
créés ou comme
ça, peu importe. C'est-à-dire cela ne veut vraiment rien dire. OK. Je vais juste en faire un pistolet ou un fusil non armés Allez-y et économisez,
voici les armes dont nous disposons. Si vous avez d'autres armes, vous pouvez les ajouter. Mais pour l'instant,
sauvegardons tout. Entrons dans le vif du sujet. Nous pouvons maintenant cliquer avec le bouton droit de la souris et rechercher des poses de mélange. Ensuite, vous pouvez rechercher l' énumération que vous venez de faire, le type d'arme, nous pouvons
rechercher le type d'arme Et c'est ici. Et
vous pouvez désormais le sélectionner. Maintenant tu l'as
ici. Vous pouvez désormais mélanger les poses grâce à
cette énumération Nous pouvons cliquer avec le bouton droit sur cette pose
par défaut, puis vous pouvez sélectionner et ajouter une
épingle pour les personnes désarmées et autres . Cliquez avec le bouton droit,
sélectionnez le pistolet, cliquez avec
le bouton droit de la souris, sélectionnez le fusil Vous avez maintenant des épingles pour tous
les mouvements que vous avez, sorte que vous pouvez intégrer
le mouvement non armé, le mouvement du pistolet
et le mouvement du fusil Et vous devez insérer
l' énumération pour pouvoir la modifier en conséquence OK, vas-y,
sauvegarde tout. Maintenant, ce que nous devons faire ici,
c'est revenir au joueur, car maintenant nous devons vraiment
savoir ce que le joueur est
équipé en ce moment Parce que si vous
équipez un fusil, nous devons changer votre
pose pour une carabine Si je vais dans la
base de joueurs et que j'
ajoute simplement une nouvelle variable que
nous utiliserons plus tard, je vais appeler
cela une arme équipée. Je vais faire de ce type variable
le type d'arme. Nous utiliserons cette arme
équipée plus tard lorsque nous définirons
l'arme que le joueur a équipée. Et sauvegardons tout. Je pense que celui-ci
sera reproduit plus tard. Maintenant, laissez-nous le reproduire afin que les autres puissent réellement voir de quelle arme
vous êtes équipé Et revenons au plan
d'animation. Accédez au graphique de l'événement à l'intérieur d'ici. N'oubliez pas que nous avons déjà la
référence du joueur. Nous pouvons
donc faire glisser le pointeur à partir d'
ici, rechercher une arme équipée et
obtenir cette variable. Maintenant, ce que nous pouvons faire, c'est faire clic
droit
pour en faire une variable, en l'appelant également
arme équipée Allez-y, connectez-le. Je vais cliquer ici pour
créer un nœud de reroutage, juste pour que les choses soient un
peu plus organisées. Bien, maintenant que nous l'avons
, allez-y et compilez. Revenons maintenant au graphique
d'animation. Maintenant, nous pouvons brancher cette arme
équipée ici, et nous laisser compiler. Maintenant, pour la pose par défaut, vous devez avoir une pose par défaut. D'habitude, ce que je fais, c'est
intégrer le mouvement désarmé dans la pose par défaut Pour ceux qui ne sont pas armés,
il faut brancher le même appareil. Cependant, vous ne pouvez pas vraiment le brancher
deux fois comme ça. Vous devez en fait
le copier-coller. Maintenant, pour que cela soit plus organisé, je veux vraiment me déconnecter. C'est pourquoi
il est si agréable de prendre notes
sur le cache, car vous n'avez pas à tout
copier-coller. Ce que nous pouvons faire, c'est simplement le placer ici. Ensuite, je vais renommer celui-ci Unarmed Movement Je vais juste l'appeler
Unarmed State Machine. Cache de machine à états non armé. N'oubliez pas que celle-ci
s'appelait une machine d'État, une machine État
non armée mise en cache Ils sont correctement
branchés ici. Pour celui-ci, je
vais faire glisser et dire
cache et nouvelle pose du
cache de sauvegarde. Pour celui-ci, je
vais parler de mouvement
non armé parce que c' est maintenant le mouvement non armé qui inclut également les décalages de
visée Maintenant, nous pouvons simplement l'
emporter ici et l'utiliser
ici si vous
recherchez un mouvement de bras, et
non le mouvement désarmé de la machine d'État mis en cache Et maintenant, vous pouvez voir à quel point
c'est facile et organisé. Nous n'avons pas vraiment
besoin de copier tout cela et de le brancher ici
encore et encore. Maintenant, nous pouvons simplement le
copier-coller et l'
utiliser également comme
pose désarmée Maintenant, pour le pistolet
et le fusil, nous devons les fabriquer Faisons-le simplement glisser,
branchez-le ici, allez-y et
compilez-le. Donc, ce que je peux faire maintenant, c'est cliquer
sur l'arme d'équipement. Et disons que dans le jeu
j'ai pris un fusil. Vous pouvez donc voir que cela change. Cependant, nous n'avons pas vraiment
branché quoi que ce soit. Et c'est
ce que dit cette note. Cela veut dire que la pose du pistolet
et du fusil a été ignorée parce que
rien n'est branché ici Mais comme vous pouvez le constater,
cela fonctionne réellement. Et si vous
le repassez en mode non armé, il revient au mouvement
non armé Maintenant, ce qui nous
manque, c'est qu'il nous manque le pistolet et les machines à
fusils. Passons donc à la leçon suivante et faisons les plans d'animation des
pistolets
83. Plan d'animation au pistolet 7.07: Bonjour et bon retour. Nous sommes maintenant prêts à passer à
la machine à pistolets. Maintenant, nous avons ceux qui ne sont pas armés. Je vais le copier. Allez-y, cliquez sur Copier et contrôlez C et contrôlez
à nouveau V. Et maintenant, nous l'avons. Je vais appuyer sur F deux pour renommer et je vais
appeler cela mouvement du pistolet Maintenant, je vais entrer dans
cette machine à états et ne pas oublier
de modifier tous
les mouvements au ralenti. Allons-y et
changeons ça pour celui-ci. Si vous recherchez simplement un pistolet, n'
avez pas déjà besoin
de chercher Mets-les ici en
bas. Et nous avons le pistolet utilisé. Faites-le glisser ici. Allez-y, supprimez celui-ci. Et tenez compte de la
direction et de la vitesse du mouvement. Et allez-y, branchez-le. Retournez à la
promenade, maintenant à la promenade. Supprimons-le. Cherchons
le pistolet de randonnée ici. Assurez-vous simplement de faire glisser le pointeur dans le bon espace de fusion que vous avez créé et compilé. Maintenant, revenons en arrière et
accroupissons-nous maintenant. Allez-y, supprimez
celui-ci et pour le
pistolet accroupi , faites-le glisser et inscrivez sens
et la vitesse du mouvement Allez-y, branchez-le
également. Compilez, revenez en arrière maintenant,
nous les avons tous. Je ne pense pas que nous ayons besoin de changer quoi que ce soit en ce qui concerne les
règles de transition, et ce n'est pas le cas en fait. Tout est correct maintenant. Maintenant, pour le saut,
il faut continuer. Maintenant que le saut commence, cherchons le saut. Je dois utiliser
celui pour le pistolet. Celui-ci est un pistolet Jump Start. Allez-y, supprimez
celui-ci et branchez-le. Allons en l'air
et voici le saut : un pistolet, supprimez
celui-ci, branchez le Le dernier est un pistolet jump end et jump end, celui-ci est là et
branchez-le également N'oubliez pas de modifier
la règle de transition pour celle-ci, car elle indique toujours
de démarrer sans arme Nous devons rechercher le rapport temporel et sélectionner celui
du pistolet Et il sait automatiquement qu'il s'agit du pistolet parce que nous
avons bloqué l'animation sur l'autre. Nous
l'avons corrigé. Alors allez-y et sélectionnez
celui-ci, le ratio et le pistolet. Et allez-y, supprimez celui-ci et branchez celui-ci à la place. N'oubliez pas que nous l'
avons également ici. Double-cliquez à nouveau sur celui-ci, recherchez le temps restant
pour le pistolet Jump End Supprimez celui-ci
et ajoutez-le. Maintenant, compilez, sauvegardez tout. Laissez-nous faire ici, vérifiez simplement s'il y a quelque chose
que nous avons oublié. Je ne pense pas que nous ayons plus
rien ici. Maintenant que nous avons le
mouvement du pistolet, nous pouvons faire glisser
le pointeur d'ici
et répéter « cache ». Nous pouvons appeler celui-ci
Pistol State Machine
haché , juste comme ça Et maintenant, il y a le mouvement du
pistolet.
84. Plan d'animation de fusil 7.08: C'est vrai. La dernière chose qui nous manque, c'est le mouvement du fusil. Alors allons-y et copions
le pistolet, ici Ted. Et renommons-le en Rifle Movements. Permettez-moi de revenir sur ce point. Double-cliquez plutôt sur le bouton inactif pour
ce pistolet à usage unique. Permettez-moi simplement de supprimer tout cela. Descendez, je vais
juste chercher un fusil qui sera beaucoup
plus facile ici. Nous ne voyons que les espaces de mélange des
fusils. C'est le fusil Un. Allez-y, inscrivez
le sens
et la vitesse du mouvement et branchez-le
également. Revenons à la promenade. Et laissez-moi supprimer celui-ci. Branchez l'
espace de mixage pour la promenade ou pour le fusil. Verrouillez-les. Juste comme ça. Même
chose pour le accroupi. Allez-y, prenez
celui qui est accroupi. Verrouillez-les encore une fois, comme ça. Même chose pour
le saut. Démarrez, je vais chercher Jump et trouver celui qui correspond au fusil. Fusil Jump Start, celui-ci. Supprimez l'ancien.
Placez-en un nouveau. Maintenant, pareil pour le saut. R, sélectionnez le saut, un fusil. Branchez ça. Il en va de même pour le jump end. Prenez un fusil Jump End et supprimez
celui-ci. Branchez ça. N'oubliez pas de modifier à nouveau la règle de transition
ici pour le ratio de temps de
départ restant
pour le fusil de démarrage. Allez-y, supprimez l'ancien. Sélectionnez celui-ci, et pareil pour
celui-ci. Règle de
transition, ratio
du temps restant pour le fusil de saut. Supprimez l'ancien.
Placez celui-ci à la place. Allez-y, compilez,
sauvegardez tout. Et je pense que nous en avons terminé
avec celui-ci également. Il suffit de vérifier rapidement, je
pense que tout va bien. Revenons au graphique d'
animation. Et à l'intérieur d'ici,
frappons et disons cache à nouveau. Et renommez celui-ci en
Rifle State Machine. D'accord, tu peux l'organiser
un peu plus si tu le souhaites, mais pour le moment, tout
est terminé. Allons-y et
sauvegardons tout. N'oubliez pas de compiler également
et de passer à autre chose.
85. 7.09 Finaliser le plan d'animation: OK, maintenant il est temps
d'en finir. Il ne nous reste plus grand-chose, alors allons-y et
finissons tout cela. Ce que nous devons
faire maintenant, c'est également
ajouter les décalages de visée Commençons par celui du pistolet. Je vais juste le
traîner. Prends le pistolet ici. Nous devons maintenant utiliser
cette pose de cache. Faisons un clic droit et
recherchons le cache du pistolet. Prends celui-ci, le pistolet State
Machine est en cache et utilise-le. Maintenant, nous devons faire
la même chose ici. Nous devons cliquer avec le bouton droit de la souris
et rechercher AO Rauch. Cherchez celui
qui a le pistolet
Am Offset Player Crouch Pistol Am Offset Player Crouch Allez-y et branchez-le également
ici pour la
direction de visée. Je peux simplement copier-coller cette
variable. C'est maintenant correct. Je vais utiliser pour eux un pistolet à support
offset. Prenez celui avec le lecteur
Am Offset. Branchez dans le sens de visée,
allez-y, prenez
la même pose en cache et branchez-la également ici Vous en avez maintenant un pour
le pistolet accroupi et un pour le pistolet debout,
comme avant Utilisez ce mélange de
poses de Bool. En fait, je vais juste
copier tout ça. Nous n'avons pas vraiment besoin de l'
écrire encore et encore. Alors vas-y et prends ça. Mettons celui-ci en position accroupie, c'est en fait toujours correct Branchons simplement le vrai. Si nous sommes accroupis, nous
allons utiliser celui-ci. Si nous ne sommes pas accroupis,
nous allons utiliser celui-ci. Allez-y, compilez. Et maintenant, je vais juste organiser
ça un peu plus tard. instant, je
veux juste le brancher parce que ceux-ci vont devenir un peu plus grands, tout
comme celui-ci ici. Ce que je vais
faire, c'est prendre ceci et enregistrer
une nouvelle pose en cache, comme avant
que vous ne l'
appeliez unun movement Je vais l'appeler mouvement du
pistolet, juste comme ça Et allez-y,
branchez-les ici. Maintenant, je vais l'organiser
comme avant. OK. Maintenant, c'est organisé. J'ai juste essayé
de tout organiser. Et maintenant, nous avons le
fusil ici. Nous pouvons simplement le déplacer vers
le bas pour le moment. En fait, je vais
déplacer le mouvement désarmé au-dessus du pistolet, comme ça Essayez d'être aussi organisé que possible, car lorsque vous
créez un grand jeu, cela va être vraiment compliqué car vous aurez
tellement de choses à faire Et c'est toujours
agréable d'essayer de rester organisé pour la dernière fois, qu' agisse du pistolet
ou du fusil Encore une fois, comme avant, je vais
cliquer avec le bouton droit de la souris pour rechercher AO Rauch et choisir
celui qui correspond au fusil Et encore une fois, tenez-vous debout et choisissez
à nouveau celui qui convient au fusil. Maintenant, nous pouvons prendre
la mitrailleuse d'
État, la machine d'État mise en cache, la
brancher ici, prendre la direction et la
brancher ici Nous pouvons maintenant
le coller également ici. Branchez-le sur ces entrées. Maintenant, tout va bien. Encore une fois, comme avant, je
vais tout copier. Le mélange qui fait peur à
ceux d'ici aussi. Allez-y, collez-le. Connectez le accroupi. Si vous êtes accroupi, c'est ce
que vous faites Si vous n'êtes pas accroupi, vous êtes le faire, c'est correct Et nous pouvons faire glisser le pointeur d'ici
et répéter « Cache ». Nous pouvons enregistrer une nouvelle pose de
cache et appeler ce mouvement de fusil «
Caché en cache » comme ça OK, tout semble
correct. Et laissez-nous compiler. Et je vais
réorganiser ça comme avant.
Elle est désormais organisée. Et je vais prendre
tout ça et le placer juste sous
celui du pistolet, comme ça ici OK ? Essayez de le faire le mieux possible.
Maintenant, nous l'avons ici. Nous avons celui pour les désarmés, nous avons celui pour le pistolet, et nous avons aussi
celui pour le Ce que nous pouvons faire maintenant, c'est tout compiler et
tout enregistrer pour
nous assurer que rien ne tombe en panne avec le pistolet Maintenant, nous pouvons faire glisser et dire que nous
pouvons utiliser. Maintenant, celui-ci utilise simplement le
mouvement, car à partir
du mouvement, nous déterminons si nous
devons utiliser le
accroupi ou le support À partir de cette recherche de cache,
n'oubliez pas de sélectionner le mouvement du
pistolet mis en cache, et non le mouvement de la machine à
états Ensuite, pour le fusil, nous pouvons faire glisser et rechercher à nouveau le cache. Et choisissez le seul mouvement de
fusil mis en cache. Allez-y,
organisez-le du mieux que vous le pouvez. Je vais également le faire légèrement
glisser vers le bas. Ça a l'air un peu mieux, peut-être quelque chose comme ça. Et maintenant, compilons. Et maintenant, vous pouvez voir que la note a disparu parce que nous avons tout
branché Et si je clique sur l'arme
équipée et change en pistolet,
elle fonctionne Si je le change en
fusil, il fonctionne. Si je le repasse à Unarmed,
cela fonctionne également. Désormais, vous pouvez également modifier le temps de
mélange si vous le souhaitez. Nous pouvons donc voir si
vous les augmentez toutes et si vous essayez de les changer Maintenant si vous passez au pistolet et au
fusil, vous pouvez voir les choses
changer instantanément Ce que vous pouvez faire, vous pouvez
également augmenter cette durée. Par exemple, je peux le
porter à deux. Il se
mélangera en fait beaucoup plus lentement. Je me souviens de compiler,
sinon cela ne fonctionnera pas. Compilez puis
passez au pistolet. Vous pouvez maintenant voir
qu'il faut beaucoup de temps avant que ces poses ne changent
. Tu peux essayer de jouer avec ça. Par exemple, 0,0 0,3
peut aller de deux à l'extrême. Laissez-nous compiler et
sélectionnons le fusil à pistolet. C'est peut-être beaucoup mieux. Je pense que c'est encore trop lent. 0,20 0,20 0,2 Laissez-nous compiler. Laissez-nous sélectionner le pistolet à fusil
non armé. Il suffit de compiler, en s'assurant
que cela fonctionne correctement. Je pense que c'est beaucoup mieux. 0,2 au lieu de 0,1,
c'est beaucoup mieux. Maintenant, vous pouvez voir que nous en avons
terminé avec le mouvement, et peut-être que nous pouvons placer
celui-ci ici au milieu. C'est le dernier. Et maintenant, tout fonctionne. Nous pouvons donc toujours changer
cette arme équipée plus tard dans notre base de joueurs
lorsque nous pillons des armes Et il définira automatiquement dans le
graphique des événements cette variable et elle changera
dans le graphique d'animation. Mais pour l'instant, pour ce qui est de l'arme
équipée, je vais simplement la
placer sur un arme par défaut, tout
compiler, tout
enregistrer, et nous sommes maintenant prêts à passer à autre chose.
86. 8.01 Importer les armes: Allons-y maintenant et
importons les ressources en armes. Pour cela, revenez au lanceur
Epic Games. Et à l'intérieur d'ici,
allons au marché. Sur le marché,
passons à Parcourir
et à Weapons In Weapons Vous devez cliquer sur les options
gratuites pour que nous puissions obtenir des ressources gratuites que nous pourrons
utiliser pour le cours. J'ai téléchargé celui-ci
appelé FPS Weapon Bundle. Si vous cliquez dessus, continuez
et cliquez sur Télécharger. Si vous ne l'avez
pas encore téléchargé, vous pouvez cliquer sur Ajouter au projet. Une fois le téléchargement terminé, cliquez sur Afficher tous les projets, puis sélectionnez notre propre
projet, Counterstrike Et allez-y, sélectionnez
la version
compatible avec la
dernière version, celle-ci. Peu importe que cette version avec laquelle
elle est compatible, cela ne nous
posera aucun problème. Allez-y, sélectionnez-le
et accédez à Ajouter au projet. Cela va ajouter
cela à un projet. Et cela peut prendre un certain temps. Si c'est la première
fois que tu le fais, je vais y retourner. Je vais télécharger
celui-ci également car ce pack ne
contient aucun pistolet Et je veux aussi fabriquer
un pistolet, bien sûr. Vous savez donc
tirer avec des pistolets et ainsi de suite Il ne s'agit donc pas que de fusils.
Cliquons sur celui-ci. Et
téléchargeons à nouveau celui-ci. Armes militaires Doc.
Allez-y, téléchargez-le. Vous pouvez également utiliser celui-ci, argent
militaire à la place, mais je vais juste
utiliser celui-ci. Allez-y, téléchargez-le
et ajoutez-le à nouveau au projet, cliquez sur Afficher tous les projets, sélectionnez notre projet et
sélectionnez la dernière version. Et ajouter au projet également. Ensuite, vous pourrez voir qu'une fois que c'est terminé et
que je pourrai le fermer, vous pouvez voir à l'intérieur de
notre projet que nous avons maintenant le bundle d'armes FPS et nous avons également le document sur les armes
militaires. Et avant de faire quoi que ce soit, je vais les sélectionner
tous les deux
, puis les faire glisser dans le dossier
Marketplace. Et sélectionnez Déplacer ici. Et celui-ci va
prendre un certain temps, donc je vais passer à autre chose jusqu'à ce qu'
il soit terminé. C'est bon. Maintenant qu'ils ont été déplacés, et comme vous pouvez le voir, dans le dossier
Marketplace, j'ai maintenant le dock des armes
militaires et le
pack d'armes FPS. Mais comme vous pouvez le voir à l'extérieur, j'ai toujours ce dossier de bundle
d'armes FPS. Et cela pourrait aussi vous arriver
. Vous pouvez voir qu'ils sont vides
et si j'appuie sur Supprimer sur mon clavier et que je sélectionne
Supprimer, cela ne sera pas supprimé. Et cela se produit parfois
dans un vrai moteur. Donc, ce que je fais, j'
enregistre généralement le projet et
je le ferme. Ensuite, j'ouvre le fichier de projet, pour qu'il se trouve à l'intérieur,
le Counter Strike. Ensuite, j'ouvre le dossier de
contenu
, puis je supprime ce bundle FPS. Assurez-vous donc
que
tous les fichiers
se trouvent déjà sur le marché. Vous pouvez donc voir ici que
le bundle FPS est vide et
qu'il n'y a
rien dedans. Je ne sais pas pourquoi il ne
supprime pas pour une raison quelconque. Alors allons-y et
supprimons ce dossier. Ensuite, je peux aller de l'avant dans la bibliothèque et exécuter à nouveau
mon projet. Et il devrait être supprimé
maintenant, comme vous pouvez le voir ici, une fois que je suis de nouveau dans
mon projet, le dossier disparaît parce que
nous venons de le supprimer. Et dans le
dossier Marketplace, nous avons le pack d'armes FPS et
le document sur les armes militaires.
87. 8.02 Paramétrer l'arme: Maintenant que nous avons importé
les armes, allons-y et installons-les. Cliquez ici avec le bouton droit de la souris
dans le dossier Blueprint. Créons un nouveau dossier, nous appellerons armes. Faisons un clic droit sur celui-ci et définissons une nouvelle couleur pour ce dossier. Encore une fois,
ouvrons ce dossier, cliquez avec le bouton
droit de la souris, accédez à la classe
Blueprint Pour celui-ci, nous
allons simplement créer un acte simple. Parce qu'une arme
n'
est qu'un Ta statique présent dans le monde. Ce n'est pas un pion ou un personnage
que vous pouvez contrôler. Et ce n'est pas un de ceux-là
non plus, c'est juste un acteur. Appelons cela une base
d'armes BP . Encore une fois, je
vais créer une classe de base. Et à partir de celui-ci, nous pouvons écrire, cliquer et sélectionner Create
Child Blueprint Class Pour celui-ci, je
vais fabriquer un AK 47, donc nous pouvons l'appeler PK 47 Ensuite, vous pouvez
cliquer à nouveau avec le bouton droit de la souris et créer une
classe de plan enfant pour celle-ci Appelons-le BP M41. Voilà l'autre arme. Le dernier est un pistolet. Nous pouvons cliquer avec le bouton droit de la souris sur Créer une classe de plan pour
enfants
et l'appeler pistolet BP Allons-y
et sauvegardons tout. Ouvrons d'abord la base d'armes,
car
nous devons d'abord travailler à
l'intérieur. Ici, nous avons besoin d'un nouveau composant. Le composant dont nous avons besoin est soit un maillage statique,
soit un maillage squelettique, car nous devons ajouter le modèle à
trois D pour l'arme. Maintenant, si vous cliquez dessus
et recherchez un maillage, nous avons soit le
maillage squelettique, soit le maillage statique. Si vous ne savez pas, la différence
est que le maillage statique
n'est qu'un modèle statique en trois D
sans aucune animation. Et nous avons un
maillage squelettique qui est un modèle en trois D avec des animations. Si vous y retournez, en fait,
nous devons vérifier ici les armes du
marché,
ce qu'elles proposent, comme si vous
ouvriez le pack d'armes du FPS, vous ouvriez les armes
et vous ouvriez les mailles Et ouvrons
celui-ci K pour sept. Et vous pouvez voir que c'
est un maillage squelettique. Si vous voyez cette ligne rose ou si
vous pouvez également regarder en bas,
cela indique un maillage squelettique. Nous devons en fait l'ajouter
sous forme de maillage squelettique. Nous pouvons également consulter l'autre
dossier pour nous assurer que document
sur les armes militaires ouvre armes et qu'il se présente également sous forme de maillages
squelettiques Vous pouvez voir ici qu'ils
ont des animations. Ils ont des animations de rechargement, des animations de
tournage, etc. Ces armes ont des animations. Si nous revenons à la
base d'armes qui se trouve à l'intérieur d'ici, cliquons sur Ad et cherchons
un maillage squelettique. Et sélectionnez-le ici. Et
appelons-ça une arme. Maintenant, pour cette arme, nous avons également besoin d'une sphère de collision. Parce que nous devons
interagir avec l'arme. Par exemple, si
elle est enfouie dans le sol, nous devons aller chercher cette
arme et la piller C'est pourquoi nous avons besoin
d'une sphère de collision afin de pouvoir entrer en collision avec
elle et effectuer certaines actions Si vous
recherchez simplement une collision, nous pouvons voir que nous pouvons
faire une collision entre une boîte, une collision avec capsule ou
une collision avec une sphère. Maintenant, ils sont identiques, c'est juste la forme
qui est différente. Je vais donc simplement sélectionner une collision de sphères pour celle-ci. Et je vais agrandir
un peu le rayon de
cette sphère . Maintenant, cela
n'a pas d'importance pour le moment, car nous allons
l'ajuster plus tard. Lorsque nous essayons les armes
à l'intérieur du
niveau, nous pouvons déterminer à quelle distance le joueur peut
piller l'arme, etc. C'est ainsi que vous le contrôlez ici. Mais pour l'instant, je
vais juste le mettre à un nombre aléatoire et
continuer à tout enregistrer. Fermons maintenant la base d'armes et
passons aux plans pour enfants Si tu ouvres des armes. Et ouvrons
l'AK 47 ici. Maintenant, pour ce qui est de l'arme,
si vous cliquez dessus, sélectionnons le maillage squelettique. Si vous
recherchez simplement, je ne sais pas pourquoi il s'appelle KA 47, mais vous pouvez le
rechercher trouver et sélectionner celui-ci. Et ouvrons
le second. Et tu peux cliquer sur l'arme, ouvrir celle-ci ici
et rechercher R quatre. Vous pouvez le sélectionner ici, puis ouvrir le
dernier, le pistolet, cliquer sur l'arme
puis sélectionner ou simplement rechercher un pistolet
et sélectionner celui-ci Maintenant, vous pouvez voir que toutes
les armes sont
à l'intérieur. Allez-y et compilez
tous les plans. Mais comme vous pouvez le voir ici, ils tournent tous dans cette direction. C'est en fait la
mauvaise direction, car dans Unreal Engine, l'axe X est l'axe avant Et vous pouvez voir ici
que le point
de pivot rouge est l'axe avant. Les armes doivent
tourner dans cette direction. Ici, ils prennent
tous le mauvais chemin. Comme vous pouvez le constater, nous
devons tous les tourner
au lieu de les tourner
un par un comme ça. Et nous devons aller ici
et le transformer également. Faisons autre
chose en fait. N'oubliez pas que nous avons une base d'armes qui est la classe de
plan parent Tout ce que vous ferez ici s'
appliquera à tous les
enfants. Si vous cliquez sur l'
arme, que vous prenez l'outil de rotation et que vous le faites
pivoter de -90 degrés, vous pouvez procéder à la compilation Regardez maintenant
le pistolet M quatre, l'AK. Ils tournent tous dans le bon sens, maintenant c'est dans la bonne
direction qu'ils devraient tourner. Allez-y, sauvegardez tout. Je crois que
c'était pour tout. Maintenant que c'est fait,
faisons-les simplement glisser dans le niveau et voyons
à quoi ils ressemblent. Je vais juste les
séparer un peu. Je vais
tous les sélectionner
, puis les déplacer vers le
haut dans le niveau. Encore une fois, vous pouvez cliquer sur G
pour masquer toutes les icônes, et vous pouvez y jeter un œil et tout s'annonce bien. Pour l'instant, allez-y sauvegardez tout,
et passons à autre chose.
88. 8.03 Physique habilitée: Comme vous pouvez le voir ici,
lorsque je clique sur jouer, toutes les armes flottent. Si j'y vais, ils sont vraiment du
côté des terroristes. Si je clique sur jouer et que je
sélectionne des terroristes, nous pouvons voir que toutes les
armes flottent. Nous voulons qu'ils
tombent par terre. Au lieu de les
faire flotter comme ça. Nous devons activer la physique. Si nous revenons au plan
et avant cela,
je vais réduire
le nombre de joueurs que
j'espionne sur le serveur de leçons OK, passons aux armes, ouvrons la
base d'armes. À l'intérieur, tu cliques sur l'arme. Vous
pouvez voir quelque chose appelé Simuler la physique ici sous
Physique Simuler la physique. Cependant, pour une raison quelconque, je ne peux pas sélectionner et je ne sais pas pourquoi. Mais ce que vous pouvez faire, c'est simplement
supprimer ces événements pour le moment. Dans le Begin Play,
faisons-le ici. Prenons l'arme.
Faisons glisser le pointeur à partir d'ici. Si vous écrivez simplement
le même nom que que vous pouvez voir ici,
vous cliquez sur Arme. Cela s'appelle Simulate Physics. Si vous faites glisser le pointeur d'ici
et que vous écrivez simplement Simulate, vous pouvez voir qu'il s'agit de celui-ci
appelé Set Simulate Physics. Si vous le sélectionnez
ici, que vous le connectez
et que vous le réglez sur true pour qu'il simule la physique et que vous
continuiez à compiler cela ne fonctionne toujours pas
car la collision est fausse Si vous cliquez sur l'arme et
que vous descendez jusqu'à la collision, vous pouvez voir qu'il n'y a pas de collision. Si vous cliquez sur jouer
maintenant et que vous sélectionnez le terroriste, vous pouvez voir qu'il ne
tombe pas encore. Ils volent toujours dans les airs. Fermons-le et
pour la collision, changeons-le en personnalisé. Pour l'instant, je
vais juste cliquer sur Ignorer la collision pour
tout ignorer pour le moment. Je vais ici pour
éviter toute collision. Allez-y et sélectionnez uniquement
la physique. Nous voulons juste de la physique. Ce que signifie une requête. Cela signifie si nous pouvons interagir
avec l'arme ou non. Nous n'en avons pas vraiment
besoin car notre sphère de collision n'est
en fait qu'une requête. C'est comme si nous étions
en collision ici. Nous sommes en train d'agir
avec cette sphère de collision. Il s'agit d'une collision et vous pouvez interagir avec
elle sans avoir recours à la physique. Mais pour ce qui est de l'arme, je
ne le veux pas, car nous avons déjà la
sphère de collision pour celle-ci, nous voulons simplement activer la
physique. Alors je vais tout
ignorer. Cependant, vous devez bloquer la statique
et la dynamique du monde car c'est le sol maintenant. Si vous ignorez tout,
vous pouvez voir si je clique sur jouer maintenant et que je
sélectionne le terroriste, les armes ont disparu. C'est parce que tu n'as pas bloqué le sol. Ils
tombent par terre. Nous devons bloquer le terrain, le monde statique et dynamique. Allez-y, compilez cliquez sur jouer et
sélectionnez des terroristes. Encore une fois, je
vais les prendre tous et
les avoir
ici plutôt comme ça. Il suffit de les placer au milieu
pour que je puisse
les voir plus rapidement. Si je clique sur
jouer, si je passe à Terrorist, vous pouvez voir qu'ils sont
maintenant bloqués par le sol et qu'ils
tombent par terre, d'accord. Maintenant, vous pouvez également voir que si je les croise en tant que
terroriste ou en tant que pion, rien ne
se passe vraiment et c' est parce que je ne suis pas
en collision avec Maintenant, si vous voulez que le pion entre
en collision avec eux, je ne vais pas le faire
dans le cadre de ce projet Toutefois, si vous le souhaitez,
vous pouvez également choisir que étang que vous contrôlez les
bloquera également. Cela signifie que vous pouvez désormais interagir avec eux
en tant que pion afin que nous
puissions les percuter et que la
collision fonctionne également Vous pouvez
également le faire si vous le souhaitez. Cependant, pour ce projet, je ne vais pas vraiment le faire, je vais l'ignorer pour le
moment. Maintenant, la physique est activée, et nous simulons la physique
pour toutes les armes Allons-y, compilons et sauvegardons tout,
et passons à autre chose.
89. 8.04 Acteurs de réplication: Auparavant, nous
répliquions les variables, mais vous pouvez également répliquer les acteurs du
plan Et nous devons le faire pour
qu'ils apparaissent correctement pour
tous les clients. Si vous ouvrez la base d'armes et que vous trouvez ici les valeurs par défaut de la classe, vous pouvez voir qu'elle est
également appelée répliques Et vous devez sélectionner
cette option si vous souhaitez montrer les informations correctes
du serveur à tous
les clients affichant
ces armes, ainsi que le mouvement
des armes, etc. Vous devez donc appuyer sur les répliques. Cela fonctionne donc en multiplicateur. Vous devez également reproduire
le mouvement, pour vous assurer qu'il gêne pas non plus C'est la seule
chose que vous deviez
faire parfois, si
vous l'oubliez, parfois vous créez du code et vous vous rendez compte que cela ne fonctionne pas pour les clients et
vous ne savez pas pourquoi cela fonctionne. Donc, mais c'est parce que vous
devez également intégrer un acteur
que vous créez, par
exemple, c'
est la base d'armes. Et vous devez sélectionner des répliques ainsi que
reproduire le mouvement Cela fonctionne pour le multijoueur. Allez-y, sauvegardez tout. Comme vous pouvez le constater, puisqu'il s'agit
du plan pour les parents, il est également reproduit désormais pour
tous les enfants Allez-y, sauvegardez tout,
et passons à autre chose.
90. 8.05 Chevauchement d'arme: Nous sommes maintenant prêts
à organiser certains événements lorsque nous
utilisons l'arme. Pour mieux voir les choses, vous pouvez ouvrir la base d'armes pour le moment Si vous cliquez sur la sphère, vous pouvez cliquer sur ce
jeu caché. Tu peux le supprimer. Et si vous compilez, vous pouvez voir la
sphère de collision dans le jeu. C'est agréable à voir ici. Vous pouvez voir à quelle distance vous pouvez interagir
avec l'arme. Vous pouvez toujours l'agrandir ou réduire en fonction
du jeu que vous créez. Mais c'est toujours agréable
de voir l'intérieur d'ici. Faisons quelques événements
d'interaction. Ce que nous voulons faire ici,
dans la base d'armes, cliquer sur
la collision
de sphères en bas. Si vous allez
ici dans le panneau de détails, vous pouvez voir celui-ci intitulé
Component Begin Overlap. Si vous cliquez sur le signe plus, l' événement
sera créé pour vous. Maintenant, il indique ce qui doit se passer chaque fois que vous vous retrouvez face à
cette collision de sphères ? Pour celui-ci,
je dois d'abord vérifier si c'est le joueur qui
entre en collision avec lui Parce que si vous avez des
ennemis qui courent partout ou si quelque
chose d'autre entre en collision avec
eux, cela déclenchera ce code Je veux m'assurer que seul le joueur peut
interagir avec celui-ci. L'autre acteur
est celui qui interagit avec
cette sphère de collision. Je peux directement depuis cet
autre acteur et dire que l'acteur a un tag, puis je peux
sélectionner cette fonction ici. Et ce que dit cette fonction
, c'est que si l'acteur qui
interagit avec cette collision de sphères
possède cette balise spécifique, je peux
lancer le code. Je peux créer une succursale ici. Si c'est vrai, le joueur possède ce tag que nous
sommes sur le point d'écrire. Les événements peuvent déclencher ici le tag que nous
devons écrire ici. Nous devons attribuer un
tag au joueur. Si vous rouvrez simplement
le
joueur, la base de joueurs ici, à l'intérieur d'
ici dans la classe par défaut Si vous recherchez un tag
dans le panneau de détails, vous pouvez voir
celui-ci sous acteur. Ce n'est pas sous étiquette. Tu dois t'assurer que
c'est sous-acteur. Et vous pouvez voir les tags. C'est ce qu'on appelle Actor Has Tag. Il faut que ce soit sous la direction de l'acteur. Si vous cliquez sur la clause, je peux simplement l'appeler
un joueur. Nous avons maintenant ajouté une balise ici
pour cette clause de plan. Nous avons ajouté le tag player. Ce que nous pouvons faire, c'est aller à la base d'armes et simplement demander si cet acteur a
le tag player. Si c'est le cas, nous
pouvons désactiver ces fonctions. Maintenant, cela n'est vrai que pour les
joueurs de la base de joueurs. Ils ont le tag player. Et cela s'appliquera à la
fois au terroriste et au
contre-terroriste, car encore une fois, il s'agit de
la clause directrice principale Ouvrons ici. Maintenant
, en cas de collision ou de chevauchement de composants, vous devez toujours vous
assurer faire
passer par le serveur
pour éviter toute triche À partir de là, glisser-dire,
switch a autorité ,
puis nous pouvons écrire le code
à partir de cette autorité ici, savoir le serveur.
Assurez-vous toujours que vous exécutez ce
code via le serveur. Parce que si vous ne le faites pas, disons que le client est là et qu'
il triche d'une manière ou d'une autre, qu'il a téléchargé un
logiciel, qu'il peut réellement interagir avec l'arme même
s'il est
là à la faire exécuter sur
le serveur Le serveur vérifie si le joueur
interagit réellement avec lui ou non. OK, avec cet autre acteur, ce que nous pouvons faire, c'est aussi faire glisser. Maintenant, nous savons que c'est le joueur et maintenant nous le faisons
passer par le serveur. Nous pouvons faire glisser le pointeur à partir d'ici et
dire « obtenir la référence du joueur »,
car n'oubliez pas que c'est le joueur qui interagit avec lui. Et nous avons également fait en sorte que le
joueur F soit accessible depuis l'interface. Plus tôt, nous avons la référence des
joueurs, nous pouvons
donc procéder
à la connexion. Double-cliquez ici pour rediriger
les notes
et les rendre plus propres Juste comme ça, Dieu et compilez. Et maintenant, nous pouvons réellement
interagir avec elle. Maintenant, pour voir si c'est correct, vous pouvez faire glisser le pointeur d'ici
et écrire une chaîne d'impression. Vous pouvez peut-être y
connecter ce lecteur . Allez-y et voyez si c'est une bonne idée. Si vous cliquez sur jouer et que vous
sélectionnez le terroriste, ne sommes
donc pas de l'
autre côté de la carte. Maintenant, si je vais ici
et que j'interagis avec lui, vous devriez voir qu'il est
écrit ici, BP Terrorist. Maintenant, c'est exact, nous interagissons avec lui. Tout fonctionne, alors
allez-y , supprimez-le pour le moment, compilez et passons à autre chose.
91. 8.06 Réglage du type d'arme: Cependant, avant de continuer, je dois ajouter le
type d'arme à chaque arme. Et c'est agréable à utiliser
plus tard, car il est toujours bon de savoir si
l'arme que vous
pillez est un fusil ou un pistolet Nous en aurons besoin plus tard
pour l'inventaire, afin de ne pas piller
plusieurs fusils, plusieurs pistolets, Vous pouvez bien sûr le faire dans
votre propre jeu, mais
aussi vérifier, par
exemple, que votre propre jeu, mais
aussi vérifier, par
exemple, vous ne pouvez pas piller trois fusils et
autres objets de ce genre Vous devez donc savoir
si c'est un fusil
ou un pistolet que vous êtes en train de piller,
car pour le moment, nous n'avons aucune
idée de ce que nous pillons, nous interagissons simplement
avec Ce que nous pouvons faire, c'est ici
, dans la base d'armes. En fait, avant
de le faire,
passons aux énumérations Et nous avons déjà
celui-ci appelé type d'arme, en fait, nous
avons déjà celui-ci. Revenons à la
base d'armes et ajoutons-la ici. Cliquez sur le signe plus dans
les variables et écrivez
simplement le type d'arme ici. Pour le type de variable que vous
pouvez rechercher par type d'arme, voici notre énumération Sortez, sélectionnez-le, cliquez compilez
et enregistrez le tout. Ce qui est cool, c'
est que vous l'avez ajouté à la base d'armes, qui est la classe mère de
ces plans d'armes est vraiment bien, c'est que si vous
ouvrez l'AK 47 maintenant et que vous cliquez sur
les valeurs par défaut de la classe, vous pouvez maintenant voir le type d'arme
variable et sélectionner de quel
type d'arme il s'agit Si vous ajoutez des variables
à la classe parent, elles sont utilisables dans
les classes pour enfants. Vous pouvez voir maintenant si j'
ouvre le 44 ou le pistolet, je clique sur les valeurs par défaut de la classe, je peux voir les variables
de la classe parente Tout ce que vous ajoutez ici peut également être appliqué à tous les
enfants. Maintenant, en cliquant sur l'AK, je peux sélectionner le type
d'arme qui doit être un fusil. Je peux compiler maintenant. Je
peux également passer aux quatre sélectionner le type
d'arme qui doit être un fusil. Si j'ouvre le pistolet, je passe à la classe
par défaut, je clique ici et je sélectionne le pistolet
en fonction du type
d' Allez-y et compilez
tous ces plans. Maintenant, nous pouvons les sauver. Oui, maintenant nous savons quel
est le type d'arme pour chacun d'entre eux. C'est un pistolet,
c'est un fusil. Et c'est aussi un fusil. Et nous devons le faire pour
savoir ce que nous sommes en train de piller.
92. 8.07 Vérifier si le joueur a l'arme: Créons maintenant
un inventaire des armes pour le joueur et vérifions si le joueur
possède déjà l'arme. Parce que ce que j'essaie de faire, c'est si le joueur interagit
avec l'arme, il doit vérifier s' possède
déjà l'arme ou non Si le joueur possède déjà
l'arme,
il ne peut pas la récupérer Cela ne leur permettra de piller le fusil que s'ils n'en
ont pas déjà un Et ils vont
piller le pistolet s' ils n'en ont pas déjà un Allons-y dans
la base de joueurs et à l'intérieur d'ici,
cliquons sur le signe plus. Je vais créer une nouvelle variable
appelée Inventaire des armes. Ici, nous cherchons simplement le type d'arme ou
la base d'armes, car nous devons ajouter les
armes à cet inventaire, elles doivent correspondre au
type de base d'armes. Et allez-y et sélectionnez
la référence de l'objet. Maintenant, puisqu'il s'agit
d'un inventaire, permettez-moi de
cliquer sur le X ici. Comme il s'agit d'un inventaire, nous devons le remplacer par une variable
unique par un tableau. N'oubliez pas qu'un tableau est comme une boîte dans laquelle vous ajoutez des éléments. Nous devons ajouter les différentes armes que vous avez pillées. Tu peux voir si je
clique sur le signe plus. Maintenant, je ne peux pas sélectionner car
il s'agit de la classe parent. Et nous ne pouvons pas vraiment
simplement ajouter des éléments ici automatiquement. Mais vous pouvez voir que vous pouvez ajouter le fusil et
le pistolet pendant le jeu Vous pouvez ajouter plusieurs armes
dans cet inventaire. Mais pour nous, nous voulons ajouter, par
exemple, un
fusil et un pistolet Et tu peux avoir un fusil de chasse
et ainsi de suite pour ton jeu. Mais pour l'instant, nous n'avons que
le fusil et le pistolet. Allez-y et
supprimez-le pour le moment. C'était juste un exemple. Revenons à
la base de joueurs. Maintenant, à partir de la base de joueurs, puisque nous
avons déjà la référence, nous pouvons faire glisser le pointeur d'ici et rechercher l'inventaire des
armes et
nous pouvons obtenir ce tableau. Maintenant, pour ce tableau,
nous voulons parcourir l'ensemble de l'
inventaire et vérifier si le joueur possède un fusil que
nous pouvons tirer d'ici et dire pour chaque boucle avec frein. Et vous pouvez
continuer et sélectionner cela. Vous pouvez maintenant voir les
armes pendant cette rotation, si vous maintenez la souris dessus. Il s'agit désormais d'un élément unique. C'est la base d'armes BP. Il va prendre
toutes les armes contient,
parcourir le code, parcourir
ce tableau, et vous pourrez en faire
quelque chose. Maintenant, nous essayons
de vérifier si le joueur possède
déjà l' arme avec laquelle il
essaie d'interagir. Ce que nous devons faire, c'est
prendre chacune des armes de
l' inventaire que nous devons emporter
d' ici et vérifier
leur type d'arme. N'oubliez pas que vous venez de créer
ce type d'arme, vous pouvez
donc l'appeler ici. Maintenant, il
parcourt chacun d'eux en boucle. Vous choisissez le type d'arme, vous demandez simplement ici, faisant glisser le pointeur et en disant « égal », si le type
d'arme figurant dans votre inventaire est même que le type d'arme
que vous essayez de piller Et nous pouvons créer une branche, si c'est correct, alors vous ne pouvez pas piller l'arme Nous devons le faire plus tard pour que
vous ne puissiez pas piller l'arme. Cependant, s'il est faux, nous pouvons réellement le piller C'est comme ça que tu le fais.
Nous devons maintenant reproduire celui-ci, car
le client
a également besoin de voir ces informations, type d'arme
que vous possédez Je vais sélectionner le
répliquer. Allez-y, compilez
et enregistrez tout. Maintenant, vous pouvez voir ici que nous faisons l'
inventaire des armes. Nous essayons de vérifier si le joueur possède déjà l'
arme. Nous prenons le type d'arme dont l'arme se trouve dans
l'inventaire. Et nous vérifions si
ce type d'arme est le
même que celui que nous
essayons de piller Si c'est exact,
nous ne pouvons pas piller l'arme car nous l'avons déjà
dans l'inventaire Si c'est faux, nous
pouvons piller l'arme. Ok, celui-ci avec break,
on pourra l'utiliser plus tard. Je peux expliquer ce que
cela signifie, mais pour le moment, nous pouvons tout enregistrer et passer
à la leçon suivante.
93. 8.08 Piller l'arme: Maintenant, allons-y et
permettons au joueur de
piller l'arme Maintenant, nous avons vérifié que l'
arme est dans l'inventaire. Si c'est vrai,
allons-y d'abord dans la base de joueurs et
fabriquons un nouveau lingot, que j'
appellerai arme à butin Je vais le changer
en lingot. Modifions-le en
une variable unique au lieu d'un tableau.
Compilons. Maintenant, celui-ci sera
vrai si le joueur
parvient à piller l'arme Et ce sera faux
si le joueur ne le peut pas. Ce que je vais faire, c'est le mettre par défaut. Le joueur peut donc piller
l'arme par défaut, sauf si nous trouvons ici
dans l'inventaire que le joueur possède déjà
une arme par défaut Allez-y et réglez-le sur true. Sauvegardons tout et
allons à la base d'armes maintenant. Maintenant, ce que nous pouvons faire, c'est nous
séparer à nouveau de ce joueur et rechercher des lingots d'armes
qui peuvent être Nous allons le configurer ici. Si nous trouvons cette arme que nous
essayons de piller, si nous la trouvons dans l'inventaire, nous la retrouverons défectueuse C'est vrai par défaut, mais nous allons régler les erreurs
pour que le joueur ne puisse pas récupérer l'arme si nous la trouvons réellement
dans l'inventaire Cette boucle ne le trouve
pas dans l'inventaire
du joueur, c'est juste une faute pour tous les objets qu'il
recherche. À la fin, lorsque la
boucle est terminée, celle-ci est toujours vraie. Si nous n'avons trouvé aucune
arme, c'est toujours vrai. Nous pouvons donc aller de l'avant et piller l'arme que nous
pouvons emporter dans celui-ci Encore une fois, je peux
chercher une arme à butin. Selon que cela
est vrai ou faux, nous pouvons effectuer certaines actions
ici une fois que c'est terminé. Tout d'abord, il va juste parcourir les objets en
boucle. Ensuite, nous
allons vérifier si cette arme
capable de piller est
désormais fausse ou vraie Maintenant, je vais organiser
ça un peu. Je vais ajouter un nœud rocheux arrière
ici et le brancher ici. Au lieu de cela,
si c'est vrai, si le joueur peut
réellement piller l'arme, allons-y dans la
base de joueurs et descendons ici Je vais écrire click et
créer un nouvel événement personnalisé. Appelons à nouveau cela une arme à
lot unique. Je vais juste le
faire passer par le serveur. Assurez-vous simplement qu'il fonctionne déjà
sur le serveur. Parce que tu te souviens que tu le fais passer par
l'autorité. Il est déjà en cours d'
exécution sur le serveur. Cependant, j'aimerais juste le faire cette façon pour rester constant. Vous pouvez simplement en écrire un pour ce
serveur tout de suite. Vous n'êtes pas obligé de le
faire car nous sommes déjà en train de parcourir
le serveur pour vous. Vous pouvez simplement utiliser
celui-ci si vous le souhaitez, mais j'aime juste rester
cohérent avec mon code. Je vais le faire passer
par le serveur ici. Encore une fois, je vais faire glisser le pointeur de
celui-ci et passer par le serveur comme ceci. Alors je vais écrire
mon code ici. Encore une fois, vous pouvez simplement écrire un code ici si vous le souhaitez, mais à l'avenir, si vous ne l'exécutez pas
via le serveur, vous devrez le faire par ici. Maintenant, nous l'avons écrit. Maintenant, ce que nous voulons faire
lorsque nous pillons l'arme, nous voulons simplement ajouter cette
arme pillée à l'inventaire Nous prenons cet inventaire
d'armes et nous disons «
set array element ». Parce que nous voulons l'ajouter
à l'inventaire, il vous demande à quel index
souhaitez-vous l'ajouter ? Je veux juste l'ajouter à n'
importe quel index disponible. Je vais donc
partir d'ici et dire longueur, puis je vais l'ajouter ici. Rappelez-vous maintenant que les tableaux commencent à partir de l'indice zéro, puis
ils vont à 123 et ainsi de suite Si vous faites glisser le pointeur d'ici et que vous dites « dernier index pour
le moment », le dernier index est trois, ou ce tableau ici. Si vous prenez ce dernier index et que vous le branchez ici, vous
allez en fait remplacer
l' arme qui se trouve dans
l'index de trois Si vous voulez utiliser
le dernier index, vous devez prendre le dernier
index et dire plus un. Vous trouvez le dernier
index, puis vous ajoutez
la nouvelle arme
ici dans l'index quatre, laquelle vous pouvez vous connecter ici. Maintenant, une meilleure méthode pour le faire
consiste simplement à trouver la longueur. La longueur est de 1234. Il va en fait l'
ajouter à l'index de quatre. Nous n'avons pas besoin de faire ça ici. C'est pourquoi j'utilise la longueur. Il va en produire quatre. Et vous pouvez également le voir
si vous
écrivez simplement une chaîne d'impression et
que vous la connectez ici, c'est toujours agréable d'ajouter des chaînes
d'impression. Si vous voulez vérifier les valeurs
de ce que vous faites, je vais
l'ajouter à cet index. Maintenant, quel article
voulons-nous ajouter ? C'est l'arme que nous voulons ajouter. Maintenant, nous n'avons pas vraiment de référence à l'arme. Laissez-nous le faire. Cliquez sur
Perte sur cet événement ici. Et cherchons une base
d'armes. Et sélectionnons-le ici
et appelons-le une arme. Vous pouvez également l'appeler
arme pillée si vous souhaitez vous armer. Ensuite, je vais m'en occuper
à partir de là et l'
intégrer à cet événement. Et maintenant, nous pouvons l'utiliser
ici, dans la base d'armes. S'il est vrai qu'il y a beaucoup d'armes, nous voulons l'
emporter ici depuis la base de joueurs et
rechercher un lot d'armes. C'est ainsi que nous l'avons appelé. Allez-y,
sélectionnez-le et vous pouvez maintenant le connecter à nouveau ici Je vais cliquer pour créer des
notes réécrites afin de le rendre un peu plus lisible. Juste comme ça. Maintenant, il va vous demander
quelle est cette arme ? Quelle en est la variable ? Maintenant, selon votre définition, souvenez-vous que vous êtes à l'intérieur de la base d'armes si
vous vous contentez de frapper et écrire self, car c' est l'arme avec laquelle vous
interagissez. Si vous interagissez
avec celui-ci ici, il sait que c'est le 41 parce que c'est celui avec
lequel vous interagissez. Et si vous écrivez self
comme référence, il sait que cette arme est en fait la seule
clause type ici Si on dit que l'arme est
fausse, elle peut en récupérer une. Cela signifie donc que vous ne pouvez pas piller l'arme, car
à un moment donné l'
arme a été trouvée dans l'inventaire et vous
ne pouvez pas la piller Maintenant, s'il trouve l'arme dans l'inventaire, par
exemple,
au premier index, il l'a
effectivement trouvée. Et cela n'a aucun sens de
parcourir toutes les autres armes, car
l' arme a
déjà été trouvée
et vous ne pouvez pas la piller Quoi qu'il en soit, voici ce que
c'est, ce que signifie cette pause. Je veux briser la boucle. Je ne veux plus
parcourir ce tableau. Quand je trouve l'arme
dans l'inventaire je peux faire tomber l'arme
à butin En fait, je veux le
faire glisser et le mettre en pause. Je peux maintenant double-cliquer et prendre des notes pour
faciliter la lecture. Ce que je veux dire, c'est que lorsque vous trouvez cette arme
dans l'inventaire, allez-y et rompez la boucle. Parce que cela n'a
aucun sens de parcourir tous les objets alors que je
les ai déjà trouvés et que je ne peux pas
le
piller de toute façon Donc ça va se casser
et ça peut piller, l' arme est prête à tomber Vous n'allez donc
rien piller car nous
n'avons aucun code ici Mais n'oubliez pas que vous
devez à nouveau
régler celui-ci sur true
car c'est vrai. Par défaut, cela doit être vrai. Cela disparaîtra la prochaine fois que vous
interagirez avec une arme. Ce sera
faux par défaut car vous n'avez pas oublié
de le définir sur vrai. Par défaut,
ce sera faux. Et même si vous
pouvez piller une arme, même si elle n'a rien
trouvé, celle-ci sera fausse La prochaine fois que tu prendras une arme. N'oubliez pas de le faire glisser à
nouveau et de rechercher à nouveau si vous
pouvez perdre une arme et set, puis n'oubliez pas de le
régler à nouveau sur vrai. Par défaut, chaque fois que
vous interagissez à nouveau avec une arme dans le futur,
vous pouvez la définir, mais vous
pouvez également la récupérer si vous ne l'avez pas
dans l'inventaire Je peux aussi simplement
cliquer et faire
glisser ceci ici, ça va
en fait être beaucoup plus beau. Quelque chose comme ça. Alors
maintenant, cela devrait être vrai, vous pouvez tout
recompiler. N'oubliez pas que si vous l'avez fait comme moi,
allez-y, dans la
base de joueurs et dans l'inventaire, je vais supprimer toutes celles que je viens
de pour démontrer que
l'inventaire des armes par défaut
ne devrait rien contenir. Allez-y, sauvegardez tout. Et maintenant, pour cette arme, prenons-la ici, organisons-la un peu mieux. Et maintenant, ce que vous pouvez faire maintenant, c'est connecter cette
arme car nous avons définie ici
comme l'autoréférence. Maintenant tu peux la prendre, cette arme
va passer par ici et elle va être
ajoutée à l'inventaire. Encore une fois, double-cliquez pour
prendre des notes sur l'itinéraire arrière. Vous êtes en train de le piller et de
l'ajouter à l'inventaire. Et allez-y,
sélectionnez la taille qui vous convient. Il va s'assurer
de l'ajouter à ce tableau. Allez-y, compilez. Et maintenant, cela devrait fonctionner
correctement pour le tester. Pour vous en assurer, continuez, faites glisser le pointeur à partir d'ici et
écrivez une chaîne d'impression. Et tu peux toujours
prendre celui-ci, collons-le ici. Et faisons glisser et disons «
gets » pour en obtenir une copie. Et nous pouvons toujours obtenir l'
indice zéro parce que c'est le cas, souvenez-vous que dans les tableaux, cela
commence par l'indice zéro Nous obtenons l'
indice zéro et nous nous
assurons que nous
pillons réellement l'arme Ceci. Et ajoutez-le à la ficelle pour qu'il connaisse
le nom de l'arme. Maintenant, nous allons
imprimer le nom de l'arme
que nous avons pillée sur l'écran, puis tout compiler et
sauvegarder Et assurons-nous que
tout fonctionne. Cliquons sur jouer.
Sélectionnez des terroristes et si j'entre ici il y aura AK 47,
comme vous pouvez le voir ici. Maintenant, le numéro n'a plus
vraiment d'importance, c'est juste le numéro
de ce plan Nous pouvons prendre celui-ci. Maintenant, vous pouvez voir que je ne peux pas
interagir avec elle car j'ai déjà un fusil
dans mon inventaire. Donc maintenant, si je
rejoue, que je sélectionne le terroriste et que je
passe par le 41, le 41 s'affiche à
l'écran ci-dessus. Maintenant, si je regarde le pistolet,
comme vous pouvez le
voir pour le K, il n'imprime
rien parce que j'ai déjà un fusil
qui fonctionne correctement Maintenant, si je passe par le
pistolet, il devrait l'imprimer. Et vous pouvez voir qu'il imprime mais qu'il imprime
le mauvais nom. Et n'oubliez pas que pour
la chaîne d'impression, nous n'imprimons que
l'index zéro, donc il ne
s'agit que du 41. Il suffit de le
régler fort sur l'index 1 et il
imprimera le pistolet Maintenant, si vous voulez
imprimer tout le contenu de cet inventaire pour voir
ce qu'il contient, faites
toujours glisser le pointeur d'ici et
dites que pour chaque boucle, vous
allez parcourir l'ensemble de
ce tableau et vous pouvez connecter la boucle. Ensuite, vous pouvez sélectionner
chacun des noms uniques de
l' élément qui se trouve
à l'intérieur d'ici et vous pouvez l'imprimer sous forme de chaîne. Je peux aller
chercher l'AK par exemple. Ensuite, vous pouvez voir qu'il l'
imprime à l'écran. Je peux passer au pistolet et
maintenant il va imprimer à la
fois l'AK et le
pistolet à l'écran Il fonctionne comme
il est censé le faire. Sauvegardons tout et passons
à la suivante.
94. 8.09 Créer la prise d'arme: Avant de pouvoir attacher l'
arme aux mains du joueur, nous devons créer un support. N'oubliez pas que nous avons créé
un socket plus tôt. Lorsque nous avons créé la caméra du
joueur et que nous
l'avons fixée à la tête du joueur, nous avons dû ajouter
un autre support fixer l'arme à
la main du joueur. Passons au
dossier Marketplace et passons
au personnage militaire Silva pour découvrir ce squelette ici. N'oubliez pas que c'est l'appareil photo, c'est le support pour l'
appareil photo que nous avons ajouté plus tôt. Maintenant, ce que nous devons faire, c'est
ajouter un support pour la main du joueur afin
qu'il puisse tenir l'arme
dans la main, n'est-ce pas ? C'est là que vous avez l'habitude de tenir une arme. L'avoir sur la main droite. Pour la main, c'est vrai,
je peux cliquer avec le bouton droit de la souris et ajouter une prise ici. Je vais cliquer
sur deux pour le renommer. Et je vais l'appeler Rifle. Maintenant, je vais
ajouter une douille pour un fusil et une douille
pour le pistolet Maintenant, j'ai essayé tout à l'heure
d'en ajouter un pour l'arme. Arme et je pourrais
y ajouter le pistolet et le fusil. Cependant, la position dans la
main est différente. Il vaut mieux en ajouter un pour le fusil et
un pour le pistolet Ça a l'air bien mieux de
choisir un fusil S. Allons-y et ajoutons
une animation d'aperçu afin que nous puissions réellement voir à quoi cela ressemble si je cherche simplement fusil et que je
cherche l'un d'entre eux. Par exemple, l'
animation Idle Rifle. Je vais suspendre
cette animation jusqu'à la première image juste pour qu'elle soit
immobile et qu'elle ne bouge pas. Et je peux régler la prise. En cliquant sur le fusil à douille, je peux maintenant cliquer avec le bouton droit de la souris
pour ajouter un
aperçu D. Ajoutons , par exemple, le 41,
ou il s'appelle R quatre, en fait ici
et sélectionnons-le. Nous pouvons maintenant le prévisualiser et
ajuster le socket. Alors allez-y et
cliquez sur le socket. Et allez-y et sélectionnez
l'outil de rotation. Et maintenant, vous pouvez le
faire pivoter de 90 degrés de cette façon. Et j'essaie juste de l'ajuster à la main pour qu'
il soit plus beau. Je vais réduire la
vitesse de mon appareil photo. C'est bien trop rapide. Maintenant, vous pouvez voir la
seule erreur ici, vous pouvez essayer de
régler la prise. heure actuelle, la seule erreur de ce personnage est qu'
il tient le
fusil comme ça. Ça a l'air bizarre
parce qu'il va
tirer en avant ici. Si je suis debout devant lui, il tire en l'air alors qu'il est
censé me tirer
dessus . C'est un peu
faux du côté de l'animation. Tu ne peux vraiment
rien y faire. Essayons de le faire du mieux
que nous pouvons. Cette rotation devrait
en fait être comme si elle devait aller de l'avant. Nous allons supprimer le
cliquetis associé à la rotation. Et j'essaie de faire en sorte qu'il soit orienté le
mieux possible vers l'avant. Vous pouvez également passer à
la bonne vue. En fait, allez à la vue de face. Pour la vue de face,
vous pouvez encore une fois faire pivoter l'arme du
mieux que vous le pouvez.
C'est ici. Il vaut peut-être mieux voir comment il
vise l'avenir de cette façon. Vous pouvez revenir à
la perspective et y jeter un coup d'œil, vous
assurer qu'il vise l'avenir et tout va bien,
peut-être, quelque chose comme ça. Ensuite, vous pouvez le
déplacer vers le haut, essayer de le placer dans la main du personnage,
quelque chose comme ça. Essayez simplement de
le placer correctement dans la
main du personnage. Par exemple, avoir
ce déclencheur ici, en s'assurant qu'il
ne passe pas entre
ses doigts comme ça ici. J'essaie de le faire
avancer un peu, tout en l'ayant toujours dans
la main du joueur. Maintenant, tu ne peux pas vraiment
le faire parfaitement. S'il s'agissait d'un
projet sérieux, les personnages devraient
être conçus de manière à ce qu'ils tiennent correctement cette
arme. L'arme et le
personnage vont de pair. Par exemple, dans Counterstrike, ils le conçoivent comme ça Cependant, ici pour celui-ci, il ne s'agit que d'un personnage aléatoire, animation
aléatoire.
Avec des armes aléatoires. Vous ne pouvez pas vous attendre
à ce que cela soit faisable à 100 %. Nous essayons juste de l'
adapter du mieux que nous pouvons. Maintenant, celui-ci a l'air bien. Tout se présente très bien. Je peux juste essayer de le
faire reculer un peu, juste comme ça. Tout
se présente très bien. Il tient l'arme maintenant. Et vous pouvez voir si je l'anime,
ça va ressembler à
ça. Ça a l'air génial. Vous devez maintenant le tester
avec l'autre fusil. Juste pour m'en assurer, je
vais cliquer avec le bouton droit sur celui-ci et supprimer
tous les actifs attachés. Je vais
cliquer à nouveau avec le bouton droit de la souris lors de la révision. Maintenant, permettez-moi d'ajouter le KA pour sept. Permettez-moi d'ajouter l'AK. Vous pouvez voir que l'AK se
faufile légèrement Ce que je vais faire, c'est
le déplacer vers le haut
autant que possible sans le faire
réserver quelque chose comme ça. Maintenant, ça va se
passer un peu, mais peu importe, comme si on ne pouvait pas
vraiment y faire grand-chose. Ces armes ne sont pas conçues
pour ces animations. Nous ne pouvons pas être précis à 100 %. Mais quelque chose comme ça ici. Et encore une fois, je peux
sélectionner le fusil, sucer correctement pour le
déplacer le plus possible vers
le bas sans le faire paraître bogué,
quelque chose comme ça C'est peut-être le mieux que je puisse faire. Si vous cliquez avec le bouton droit supprimer la ressource attachée, cliquez à nouveau avec
le bouton droit de la souris. Ajoutez l'AR Four comme aperçu juste pour
vous assurer à quoi il ressemble. C'est un peu plus haut. Mais c'est le mieux que nous
puissions faire pour cette arme. Comme si on ne pouvait pas vraiment le
placer mieux parce que ça va aussi être
un bug pour l'AK. Nous pouvons maintenant regarder à travers la glace de ce personnage et nous assurer que la
rotation est correcte. Je pense qu'il a légèrement tourné dans
le mauvais sens. Je vais cliquer à nouveau sur le
support maintenir enfoncé puis le faire pivoter
dans cette direction ici. Je pense que c'est
un peu incliné, peut-être. Quelque chose comme ça. Et
ça a l'air bien mieux. OK, c'était ça. Ça oui, tout
va bien. Maintenant, juste pour m'en
assurer, je vais à
nouveau cliquer dessus avec le bouton droit de la souris. Retirez-le. Je vais faire un
clic droit sur l'AA 47 comme la dernière fois juste pour m'assurer que
tout est correct. Maintenant, ce que nous pouvons faire, c'est que nous pouvons toujours le faire glisser un
peu plus de cette façon. Il ne s'agit pas d'un bogue ici
à travers le manche. Quelque chose comme ça. Ok, ça a l'air mieux maintenant,
tout va bien. Maintenant, vous pouvez toujours l'ajuster légèrement vers
le haut ou vers le bas. Je trouve que ça a l'air bien. Maintenant,
sauvegardons tout. Maintenant, vous devez vous rappeler de l'ajouter également à l'autre
squelette, mais ajoutons d'abord le pistolet Avant cela,
passons maintenant à l'aperçu. Ou pas des aperçus.
Aperçu de l'animation. Et
cherchons un pistolet maintenant, prenons l'une des animations du
pistolet Et je vais juste sélectionner
cette idole à pistolet ici. Posons-le lors de la
première animation. Maintenant, pour celui-ci, je vais
supprimer tous les actifs attachés. Faisons un clic droit sur la
main et ajoutons un nouveau socket. Et je vais appeler
ça un pistolet. En fait, un pistolet. Nous
savons que c'est une prise. Maintenant, pour celui-ci,
cliquez avec le bouton droit de la souris et ajoutons le pistolet comme
ressource attachée Si nous ajoutons simplement notre
pistolet comme avant, tournons la douille Je vais ajouter cet outil de
capture sur rotation de 90 degrés faire pivoter de cette façon afin
qu'il pointe vers l'avant, vous pouvez toujours revenir
à la vue de face Allez-y et zoomez.
Sélectionnez le pistolet ou la prise ici et
retirez le fermoir. Je vais le faire pivoter légèrement vers le bas pour qu'il vise correctement. Et passez à la vue en perspective. Vérifiez si tout
va bien. Essayez du mieux que vous pouvez
de le faire viser vers l'avant. Et nous pourrons toujours l'
ajuster plus tard. Mettons-le maintenant dans
la main du joueur. Comme ça, comme ça,
peut-être comme ça. Encore une fois, essayez de placer le doigt sur la gâchette du mieux
que vous le pouvez. Donc,
encore une fois, quelque chose comme ça , nous pouvons toujours l'
ajuster plus tard. Ce n'est pas vraiment un problème. Si quelque chose est un peu foiré, vous pouvez voir que la rotation est un peu perturbée. Il est trop
incliné Je vais, encore une fois, le
faire pivoter de cette façon, afin qu'il ne soit pas incliné comme
ça. Je pense que c'est une bonne chose. Nous pourrons toujours l'ajuster plus tard. Essayons maintenant de le
déplacer du mieux que nous pouvons entre les mains du joueur. Je pense que quelque chose comme
ça a l'air bien. Je pense que je vais le déplacer
légèrement vers le haut, juste comme ça. OK, maintenant il tient
l' arme et il la
tire vers l'avant. Nous pouvons toujours essayer de le prévisualiser. Vous pouvez essayer de prévisualiser avec d'autres animations si vous le souhaitez. Par exemple, si je cherche un pistolet et que je prends
le feu, vous pouvez voir à quoi cela ressemble Ça a l'air bien. Maintenant, allons-y
et sauvegardons tout. Maintenant, tu dois les copier. Cliquez avec le bouton droit de la souris pour supprimer
tous les actifs joints. Vous devez également les copier
sur l'autre squelette. Je vais donc
prendre ce socket, cliquer avec le bouton droit de la souris ici
et copier le socket sélectionné. Ou vous pouvez cliquer sur le contrôle C. Accédez à l'autre squelette,
le document militaire. Cliquez sur la main droite
et contrôlez V pour le coller. Passons également à l'autre
squelette. Copiez celui du fusil et cliquez sur Ctrl V pour le
coller également ici. Celui-ci en a aussi. Maintenant, le
contre-terroriste et
le terroriste devraient tous deux fonctionner dès maintenant. OK,
c'était donc tout pour les prises. Passons à
la leçon suivante.
95. 8.10 Créer les socles restants: Créons maintenant les sockets
restants. Revenons donc au squelette du personnage Silver. Je veux ajouter le
fusil à l'arrière
du personnage si celui-ci tient déjà le pistolet Nous ne voulons donc pas ajouter
le pistolet dans la main
du personnage qui
tient déjà une arme. Allons-y Imaginons par exemple
l'animation du pistolet. Il suffit de sélectionner l'un d'entre eux.
Il suffit de sélectionner celui-ci. Inactivez-le à nouveau. Je vais le mettre
en pause à la première image. Je vais ajouter une prise ici,
à l'arrière, pour le fusil. Je vais ajouter le fusil à
l' arrière s'ils ne le
tiennent pas. Si vous
ne savez pas quel os utiliser,
vous pouvez toujours cliquer
sur Character Bones puis afficher toute la hiérarchie. Ensuite, vous pouvez essayer de choisir le meilleur os que vous pouvez voir ici sur le
lecteur qui convient. Par exemple, vous pouvez
choisir la colonne vertébrale deux ou vous pouvez choisir
la colonne vertébrale trois. Je pense que je vais choisir
la colonne vertébrale 3. Vous pouvez choisir la colonne vertébrale
trois. Cliquez avec le bouton droit. Ajoutez un socket. Je vais
appeler celle-ci une arme. L'arme
sera là, à l'arrière. Faisons un nouveau clic droit, ajoutons
un maillage d'aperçu et ajoutons simplement les K appelés KA 47. En fait, sélectionnons celui-ci. Faisons simplement pivoter cette arme. Je vais maintenir ou sélectionner cet outil de capture et je
vais le faire pivoter de 90 degrés. De cette façon, je vais le déplacer vers l' extérieur et essayer de
placer l'arme comme bon vous semble Il n'y a pas vraiment de réponse
à ce qui est correct ou non. Quel que soit le jeu que vous
essayez de jouer, essayez de le faire à votre
façon, selon votre style. Vous pouvez toujours le faire glisser vers l'arrière du
personnage si vous le souhaitez. Vous pouvez toujours l'incliner
comme ça pour le rendre
plus beau et le placer sur le dos du personnage du mieux
que vous le pouvez. Et peut-être quelque chose comme ça. Je pense que ça a l'air bien. Je peux le déplacer légèrement vers le haut. Je trouve que cela semble
bien si vous jouez simplement une animation pour vous
assurer que tout
va bien et que tout
fonctionne correctement. Si vous créez simplement
une animation de course, par
exemple, à l'avant droit, sans arme, vous pouvez sortir
et jouer l'animation Et je peux cliquer sur les os des
personnages. Et sélectionnez-le uniquement pour retirer tous les os afin que je puisse voir quoi il ressemble réellement. Et ça ressemble à ça. OK, tout
semble correct. L'arme bouge également
avec le corps. Je peux également sélectionner
Supprimer la pièce jointe. Et je peux sélectionner l'AR Four juste pour voir à quoi
il ressemblera s'ils le tiennent à la place. OK, tout
va bien. Oui, c'est lié
au joueur. Nous pouvons maintenant cliquer avec le bouton droit de
la souris et supprimer toutes les pièces jointes. La deuxième chose que je
veux ajouter maintenant,
revenons à l'idole et
sélectionnons l'une d'entre elles. Par exemple, l'idole en forme de pistolet que
je vais
placer devant Ce que je veux faire, c'est placer le pistolet sur le côté du personnage lorsqu'il tient le fusil Celui-ci était pour le fusil, l'autre pour
le pistolet Mais là encore, vous pouvez cliquer sur
les os
du personnage dans toute la hiérarchie et vous pouvez
sélectionner un os qui vous convient. Par exemple, celui-ci.
C'est la cuisse. Nous allons le créer ici,
la cuisse, cliquer avec le bouton droit de la souris, ajouter une prise et dire que
celui-ci est une arme, juste comme ça. Allez-y et
cliquez avec le bouton droit sur celui-ci. Joignez une ressource de prévisualisation
et sélectionnez le pistolet. Comme avant, je vais ajouter l'outil de capture et le faire pivoter de cette façon Par exemple, permettez-moi également de
le faire avancer. Le pistolet, quand on le place ici de
façon réaliste, va se trouver
du côté opposé,
quelque chose comme du côté opposé,
quelque chose Au lieu de cela, je vais le faire
pivoter si vous le souhaitez, vous pouvez le faire pivoter d'une manière ou d'une autre et essayer de le placer du
mieux que vous le pouvez. réalité, s'il
s'agissait d'un joueur
conçu pour ce jeu,
je ne placerais pas celui-ci ici il
s'agissait d'un joueur
conçu pour ce jeu, je ne placerais pas celui-ci Nous pourrions donc
placer le pistolet ici. Mais nous pouvons essayer de le placer
sous ce sac du mieux que nous pouvons et essayer de le déplacer
un peu vers l'extérieur Nous pouvons également le déplacer ou le
faire pivoter dans cette direction et essayer de le placer le mieux possible sur la cuisse
du personnage. Je pense que ça a l'air bien. Maintenant, si vous
sauvegardez tout et que vous essayez à nouveau
de lancer l'animation. Sélectionnez l'un d'entre eux,
par exemple, lancez le pistolet avant. Et si vous y jouez maintenant, vous pouvez le voir ici. Maintenant, personnage, je
vais sélectionner des os. Sélectionnez uniquement pour que je puisse
retirer les os. Et voici le pistolet
quand tu cours avec. OK. Elle est attachée
à la cuisse. Nous pouvons maintenant arrêter cette animation. Et je peux cliquer avec le bouton droit de la souris ou sur
un autre pistolet, celui sur la cuisse. Si je peux le trouver ici,
celui-ci en bas, je peux cliquer avec le bouton droit de la souris. Supprimez tous les actifs attachés. Et n'oubliez pas de le copier
également pour l'autre squelette. Si je double-clique ici et que j'ouvre
le document du personnage, j'ouvre également le squelette. Copions l'alvéole de la cuisse. Et je vais trouver
la cuisse ici. Si je peux le trouver. Celui-ci
contrôle V pour le coller. Je vais y retourner
et je vais
trouver la prise arrière.
Ici, l'arme est remontée. Je vais copier celui-ci. Et encore une fois, pour la colonne vertébrale 3, je vais la coller et
elle sera correcte
pour celle-ci également. Sauvegardons tout et passons à
la leçon suivante.
96. 8.11 Attacher une arme à la main: Maintenant que nous avons
créé ces douilles, nous pouvons continuer et attacher
l'arme à la main. Revenons à
la base de joueurs. Dans la base de joueurs
précédente, si vous vous en souvenez, nous avons déjà défini la logique de l'arme
à butin ici Nous pouvons déjà obliger le joueur à
s'équiper de l'arme. Ce que nous pouvons faire, c'est utiliser ce qu'on appelle attacher si
vous recherchez simplement attacher, afin que vous puissiez utiliser l'un d'
entre eux, par exemple, attacher à un acteur, ou acteur
à un composant, etc. Vous pouvez donc simplement sélectionner l'un
d'entre eux pour voir de quoi il s'agit. Vous êtes essentiellement là pour
celui-ci, par exemple, vous associez un
acteur à un composant. Par exemple, vous attachez
l'acteur d'arme
au composant maillé où vous sélectionnez le support auquel
vous souhaitez l'ajouter. Par exemple, le pistolet. Ensuite, vous
pouvez l'y accrocher et l'
attacher à la main. Maintenant, au lieu de le faire, souvenez-vous que nous sommes dans
un jeu multijoueur. Il ne s'agit pas d'un mode solo. S'il s'agissait d'un mode solo, nous pourrions simplement le
faire ici sans tout ce serveur et ainsi de
suite, et cela fonctionnerait. Cependant, comme nous sommes
dans un jeu multijoueur, nous devons répliquer les informations du
serveur vers le client Pour de tels changements visuels,
vous devez utiliser ce que l'
on appelle une notification de représentant Et nous ne l'avons
pas encore utilisé. Si vous cliquez avec le bouton droit sur cette arme et que vous
la promouvez au
rang de variable, je vais simplement l'
appeler arme pillée Maintenant, quatre variables. Collectons maintenant
ou connectons d'abord celui-ci. Permettez-moi de double-cliquer. En fait, nous avons déjà un nœud de
route arrière ici, donc je vais le faire
glisser vers le bas. Double-cliquez sur celui-ci. Nous avons maintenant cette variable. Et si vous cliquez dessus maintenant, au lieu de le configurer pour
qu'il soit répliqué,
vous obtenez ce que l'
on appelle une notification de représentant Et là où une notification de
représentant indique que si vous
avez des modifications visuelles dans votre jeu qui doivent être
envoyées à tous les clients, vous devez utiliser une copie de
notification de représentant Il n'est utilisé que pour
des informations telles que les
numéros qui
seront envoyés au client. Auparavant, nous avions celui-ci appelé
arme équipée, par exemple. Nous avons dit de reproduire celui-ci. Parce que le client doit
savoir s' il s'agit
d'informations variables, à
quoi elles sont configurées, si elles sont réglées sur pistolet ou un fusil non armé Cependant, pour celui-ci, je
vais faire un changement visuel. Il ne s'agit pas simplement de chiffres et
d'informations comme le texte. Je dois mettre à jour l'arme. Il est donc attaché aux mains
du joueur, il s'agit en fait d'une mise à jour visuelle. Cette arme va
se téléporter les mains du joueur et elle
va y rester J'ai donc un changement visuel à apporter,
et c'est ici
que vous
sélectionnez une notification de représentant Maintenant, si vous vous en souvenez, nous utilisons
également une multidiffusion. Donc, si je reviens
sur les traces, nous utilisons celui-ci
appelé multicast La multidiffusion envoie également des informations
à tous les clients. Pourquoi utilisons-nous
ce que l'on appelle une notification de représentant au lieu
d'une multidiffusion ? Cependant, une notification de représentant est utilisée
si vous avez modifications
visuelles qui doivent être montrées à tous les
joueurs, même à ceux qui ne sont pas encore
connectés au serveur Supposons que quelqu'un
se connecte au serveur, comme si j'allais ici et que je
pille le 44 ou le 41 Quelqu'un se connecte à mon
serveur 2 minutes plus tard. Si je fais ce code
dans le cadre d'une multidiffusion, le joueur connecté ne
pourra pas
voir que je tiens ce 44 La multidiffusion n'est utilisable que
pour des choses temporaires. Par exemple, des traces de pas
ici et maintenant. Ou si je joue des
feux d'artifice, des effets visuels qui disparaîtront au
bout de 2 secondes. Les joueurs connectés ne le font pas, le joueur qui se
connecte en ce
moment n'a pas vraiment
besoin de le savoir. Parce qu'il a probablement déjà
disparu dans le niveau. Par exemple, l'
effet visuel d'un représentant est utilisé pour les
changements visuels qui
doivent également être vus par quelqu'un qui va se
connecter à votre jeu Dans 2 minutes, je veux voir les joueurs qui
se connectent à mon jeu. Je veux qu'ils voient que
je tiens maintenant le 41. Allons ici. Et cliquons dessus. Et
cliquons sur Rep, Notify Allez-y, compilez.
Et vous pouvez voir qu'elle a
déjà été créée comme
une fonction pour vous. C'est ce que l'on va appeler, donc tu vas
piller l'arme Et celui-ci va être réglé. Chaque fois que cela va
être défini et modifié en valeur, cette fonction sera automatiquement
exécutée. Nous pouvons donc maintenant écrire le code
à l'intérieur de cette fonction. Et quoi que
nous écrivions ici, cela sera communiqué
à tous les clients. OK, donc d'abord, avant
de joindre quoi que ce soit, je voudrais prendre cette
arme pillée que nous venons de
piller , frapper ici et cherchons le maillage de
l'arme Donc, si je vais en bas
et que je sélectionne une arme. N'oubliez pas, cette arme est là. Si je reviens aux armes
et que je sélectionne la base de l'arme, il
s'agit du maillage
squelettique de l'arme. Je vais sélectionner le maillage du
squelette, car
n'oubliez pas que nous
simulons la physique Nous n'avons pas vraiment besoin
de simuler la physique. Chaque fois que cette arme
est entre les mains du joueur, nous devons en supprimer la physique. Ce que je dois faire, c'est d'
abord faire glisser le pointeur à partir d' ici et dire définir la physique de
simulation. Allons-y et connectons-le. Définissons-le comme faux. Nous n'avons pas vraiment besoin
de simuler la physique lorsque c'est
entre les mains du joueur. Ensuite, je
dois également supprimer la collision, car lorsqu'elle est entre les mains
du joueur,
nous n'avons pas vraiment besoin entrer en collision avec quoi que ce soit Encore une fois, faites glisser le pointeur hors de
cette arme, dites « Set Collision », puis
sélectionnez celle-ci. Activez Collision, et laissez-nous le connecter
et pas de collision. Maintenant, il n'y a plus
de collision entre les armes. Nous n'en avons pas vraiment besoin lorsque le joueur l'
a entre les mains. Maintenant, n'oubliez pas que dans la base d'armes vous avez également la sphère ici. Vous devez également supprimer la
collision. Sinon, les autres joueurs
peuvent entrer en contact avec
vous lorsque vous avez l'arme et ils
peuvent récupérer l'arme de votre main Vous pouvez maintenant l'avoir en
tant que fonctionnalité dans le jeu, mais pour celui-ci,
laissez-nous le supprimer. Reprenons l'arme
pillée. Et je vais
faire glisser le pointeur à partir d'ici et chercher ma sphère de collision. Et c'est en bas ici. Et en fait, cela s'appelle
collision, simplement appelé sphère. Et je vais le renommer
en pollsionsphere,
juste pour que ce soit plus évident Sphère de collision.
Allez-y, compilez. Revenons ici et
cherchons maintenant une sphère de pollution. Et laissez-moi aller
en bas et le sélectionner ici. OK, comme avant, faites-le glisser ici et dites que définir la collision a activé celui-ci ici et laissez-nous le régler
sur aucune collision. Maintenant, lorsque d'autres
joueurs entrent dans cette sphère de
collision, ils n'interagissent pas
avec elle car il
n'y a plus de collision ici. Je vais me rappeler
de le fausser car nous n'avons pas besoin de
simuler la physique.
Les collisions d' armes ainsi que les collisions pour la
sphère de collision. Maintenant, lorsque nous utilisons la fonction
attach the, nous devons en fait
faire quelque chose avant. Parce que lorsque je le faisais
auparavant, il y avait un bug. Je jouais ici. Et j'ai
attaché l'arme à ma main. Chaque fois que je tombais sur ces
armes pour une raison ou une autre, même si je
les attachais à ma main, même si je
les attachais à ma main,
elles restaient par terre
et je ne comprenais pas. La raison en est
la physique de simulation. Vous pouvez voir ici en bas qu'il est écrit : « Notez que si ce composant est actuellement attaché
à quelque chose, début de la simulation le
détachera Cela signifie que lorsque je
simule la physique ici, cela détachera réellement cette arme de la racine de scène
par défaut heure actuelle, c'est comme si
ces deux éléments n'étaient pas attachés, c'était distinct de celui-ci. En fait, je dois
rattacher l'arme à la racine de scène par défaut.
Faisons-le réellement. Prenons l'arme
pillée si je fais glisser le pointeur d'ici et que je
recherche la racine de scène par défaut, le même nom
en bas, et que je la sélectionne Maintenant, ce que je veux
utiliser, c'est
attacher un composant
à un composant. N'oubliez pas que ce sont des composants
si vous les faites glisser d'ici et de
Seach et que vous pouvez sélectionner celui-ci attaché au
composant que j'essaie d'attacher Pas celui-ci
en fait. J'essaie de fixer l'arme ici. Ensuite, il suffit de faire glisser un chiffon et de rechercher une arme, puis de
revenir en bas, de sélectionner la variable J'essaie d'associer l'arme à l'itinéraire de scène
par défaut. Ça ressemble encore une fois à ça. Allons-y et connectons-le. Nous devons maintenant
sélectionner le socket. Le socket, nous n'avons
vraiment rien. Nous connectons simplement l'arme à l'itinéraire de scène par défaut. Celui-ci convient à
la règle de localisation. Tout cela doit
être ciblé rapidement. Il s'y accroche comme ça,
et maintenant ce sont les bons snaps et maintenant ce sont les bons snaps Allons-y et
compilons. Et maintenant, tout devrait
fonctionner correctement. Maintenant, si nous essayons d'attacher l'arme à la
main du joueur, nous pouvons la faire glisser à partir d'ici. Maintenant, pour ce qui est de l'attache,
nous essayons de joindre un acteur,
cette base d'armes. J'essaie d'attacher un acteur à ce maillage,
qui est un composant. Nous devons associer un
acteur à un composant. Si je fais glisser le pointeur d'ici et que je dis « attacher » et que vous pouvez
rechercher un acteur par un composant, j'essaie de joindre l'acteur de l'arme
pillée Si je fais juste un
copier-coller ici sur le maillage ici, qui est un composant, le socket auquel nous
essayons de l'ajouter ce moment est
disons par exemple que nous l'appelions fusil.
Essayons d'abord le fusil, et nous pourrons toujours utiliser
le pistolet plus tard Encore une fois, atteignez
la cible pour tous ces éléments. Allons-y, compilons
et sauvegardons tout. Voyons comment cela fonctionne
si je clique sur Compiler maintenant ou Jouer maintenant et que je
sélectionne le terroriste. Maintenant, si je marche dans le fusil, tu peux voir qu'il est
réellement entre mes mains. Vous pouvez le voir ici
dans l'ombre. En fait, c'est entre mes mains. Maintenant, si
je ne tiens pas l' animation
du fusil, c'est
parce que nous devons également mettre
à jour l'équipement,
l'arme équipée. N'oubliez pas que si je reviens
au plan d'animation, cela fait
déjà longtemps que nous l'avons fait Si je passe au lecteur, aux animations et au plan
d'animation N'oubliez pas que nous
modifierons ces animations ici en
fonction de cette énumération d'
armes équipées Celui-ci provient de l'arme équipée par le
joueur. Nous devons modifier celui-ci pour que les
animations changent. Ce que nous devons faire ici, c'
est le faire rapidement. Si nous revenons au graphique du van, je peux cliquer avec le bouton droit de la souris et
créer un nouvel événement personnalisé. Je peux appeler cela une arme équipée d'un
ensemble unique. Encore une fois, je vais copier
ce nom avec le bouton droit de la souris, créer un nouvel événement personnalisé, le faire passer par le serveur. Celui-ci fonctionne sur un serveur fiable. Je vais faire fonctionner le serveur cette
arme normale définie
par des événements . Maintenant, pour celui-ci, la seule chose qu'il fait est de placer cette arme
équipée ici. Si vous le connectez comme
ça. Et si nous le connectons
comme ceci, encore une fois, la seule chose que fait
cet événement
est de définir cette variable ici comme
nous le souhaitons, et nous l'
utiliserons plus tard. Laissez-nous compiler maintenant.
N'oubliez pas que vous ne pouvez définir des variables et les répliquer lorsqu'
elles sont exécutées
sur le serveur Tu ne peux pas utiliser celui-ci ici. Vous devez l'exécuter via
le serveur avant pouvoir le configurer et le
répliquer sur tous les clients OK, maintenant c'est fait. Double-cliquez
sur cette variable. Encore une fois, vous pouvez ouvrir la fonction ici ou
vous pouvez simplement
double-cliquer ici et cela vous
fera entrer ici. Maintenant, n'oubliez pas que nous devons configurer l'arme équipée pour
que l'animation soit mise à jour. Si vous faites glisser le pointeur d'
ici et recherchez l'
arme équipée que nous venons de créer, nous
devons sélectionner l'arme sur laquelle nous
voulons la configurer. Ce que nous voulons faire, c' est ce que vous avez pillé. Souvenez-vous de ce type d'arme dans l'arme que vous avez
fabriquée. Si vous prenez cette arme pillée vous la faites glisser d'ici et
recherchez le type d'arme Vous savez maintenant s'il s'agit d'un fusil
ou d'un pistolet par exemple, et il sait quelle
animation utiliser Si vous le connectez ici, compilez. Cliquons sur
jouer. Si vous sélectionnez le terroriste, juste pour
qu'il apparaisse à côté Et si j'entre dans
cet AK par exemple, il va maintenant changer l'animation en
la bonne. Maintenant, si j'ouvre également
le client, juste pour m'assurer que
tout fonctionne. Si je joue en tant que serveur ici, et que je vais minimiser cela, je joue également en
tant que client. J'ouvre donc la voie de la lutte contre le
terrorisme pour celui-ci, et j'ouvre le champ du
terrorisme pour celui-ci. Je vais aller voir
le contre-terroriste pour voir si tout
fonctionne correctement. Si je travaille sur ces quatre, vous pouvez voir que je les ai pillés Si je m'approche du joueur, il n'interagit pas avec ma sphère de collision car je l'ai réglée sur aucune collision. Et maintenant, pour ce qui est de l'autre, si j'entre dans cet AK, vous verrez qu'il est également
pillé Je pense que je vais réduire la taille de l'AK. Peut-être que l'arme
semble très grosse. Vous pouvez voir maintenant qu'
il ne s'agit que de piller le fusil parce que maintenant, si
je marche dans le pistolet, il le placera également sur
la douille du Et ça a l'air bizarre comme ça. Et nous devrons
changer cela plus tard. C'est ce que nous allons faire dans
la prochaine leçon. Pour l'instant, nous l'
avons joint et nous pouvons le rendre
un peu plus complexe. Cela fonctionne donc également
pour le pistolet.
97. 8.12 Attacher des armes à l'arrière: Très bien, rendons
ce code un peu plus complexe au lieu de simplement le
joindre directement. Maintenant, je dois demander si le joueur
tient déjà une arme ou non. Si le joueur
tient déjà une arme, je veux l'attacher au dos
du personnage car il tient
déjà une arme Nous ne voulons
donc pas l'
attacher à la main. Ce que je veux faire, c'est prendre cette arme équipée , la
traîner d'ici
et me demander si elle est égale ou égale à un art ? En ce moment, tu n'as pas d'armes ? Si c'est le cas, comme si
vous ne teniez aucune arme, je voudrais en fait l'attacher
à la main du joueur. Ce que je peux faire, c'est le
connecter ici, ici. Au lieu de simplement le fixer à la douille du fusil, c'est
peut-être un pistolet Ce que je peux faire, c'est faire glisser le pointeur d'ici et dire « sélectionnez celui-ci ». Nous avons déjà utilisé celui-ci, mais nous pouvons maintenant en voir
un autre exemple. Nous devons maintenant sélectionner en fonction
du type d'arme. Si c'est un pistolet, il utilisera le pistolet
à douille. Si c'est un fusil, il
utilisera un fusil à douille. Je vais copier à
nouveau
ce type d'arme et
le connecter ici. Ou si le type d'arme
est égal à non armé, nous n'avons pas vraiment besoin de
faire quoi que ce soit Si c'est un pistolet, je veux
l'attacher à un pistolet. C'est ce que nous appelons le socket. Si c'est un fusil, nous
voulons l'attacher au fusil. Il sait maintenant quel support utiliser, en fonction
du type
d'arme et tout le
reste est correct. Maintenant,
déplaçons-le simplement ici. Cependant, si vous n'êtes pas désarmé, cela signifie que vous avez déjà
une arme en main Copions tout cela à nouveau et maintenant, au lieu de dépendre maintenant du type d'arme,
je vais soit, s'il s'agit d'un pistolet, ajouter à la cuisse de
l'arme N'oubliez pas que c'est ce que
nous appelons la douille de l'arme à cuisse. Si c'est un fusil maintenant,
il va également l'utiliser. Cela va
être connecté ici. Si c'est faux, je
vais juste rapprocher tout
cela. Maintenant, c'est mieux organisé et nous pouvons tout compiler
et tout enregistrer. Nous ne voulons installer
l'arme équipée que lorsque nous
n'avons rien en main. Parce que si nous avons
quelque chose en main, nous voulons simplement
ajouter l'arme à l'arrière du personnage.
Sauvegardons tout et cliquons sur jouer. Et si je sélectionne Terrorist
ici, et que je marche
jusqu'ici, laissez-moi simplement ouvrir laissez-moi simplement ouvrir celui-ci afin que nous
puissions voir s'il fonctionne pour ce personnage
en le maximisant un peu. Vous pouvez donc voir si je
marche dans le fusil maintenant, vous pouvez voir que je
le tiens dans ma main. Si j'entre dans le
pistolet en ce moment, vous pouvez
voir que le pistolet est tombé par terre Je veux vraiment régler ce problème. Et je crois que c'est
ce maillage ici. Il est très fin, donc il
tombe par terre. Réparons réellement à ça. Permettez-moi de prendre la
case ici. Si j'y vais, rappelez-moi
où je l'ai enregistrée,
le dossier Super Grid, le pack de statistiques et les maillages. Et utilisons la boîte Super Grid pour le
sol plutôt que pour l'avion. Je vais prendre cette boîte. En fait, je vais le à 100 pour le mouvement. Je vais d'abord placer cette
boîte dans un endroit comme ici. Et
redescendons-le sur le sol. Et je vais le repousser comme là où se trouve
ce terrain, je vais juste le
déplacer comme ça, je crois.
Et ici. OK, maintenant c'est par terre. Maintenant, je vais le
redimensionner de la même manière que pour le sol. Je vais juste faire
de mon mieux. Permettez-moi d'abord de l'
étendre . Permettez-moi de l'augmenter à
1010 pour le Z. Nous n'en avons pas vraiment besoin.
Laisse-moi juste cliquer sur ce cadenas. Et laissez-moi en écrire un ici. Je vais cliquer
sur le sol, en fait c'est plus
bas, comme ça. Et je vais le prendre ici et de
l'autre côté. OK, maintenant ça claque
sur le sol. Et je vais
cliquer sur le sol. Je vais maintenir la touche Maj enfoncée et cliquer avec
le bouton droit de la souris pour le copier. 80, 81. Je vais
cliquer sur ma case ici. Je vais maintenir la touche Maj enfoncée et cliquer avec le bouton
gauche de la souris pour le coller. Et maintenant, cela devrait être correct. Maintenant, si je passe de l'
autre côté juste pour vérifier s'il couvre le sol
et c'est le cas, d'accord. Maintenant, ce que je vais faire, c'est sélectionner l'avion. Je clique juste quelques
fois ici. Il va sélectionner
le plan du super réseau. Je vais supprimer
et copier ce matériel
pour le conserver
à nouveau. Cliquez sur l'oreille avec le bouton droit de la souris, déplacez le clic gauche pour
coller ce sol ici. Et on dirait qu'avant. OK, sauvegardons tout. Et maintenant, si nous cliquons sur Play, il ne devrait pas tomber
par terre. Le sol était assez
fin et je qu'il y a du blanc qui
tombe à travers le sol. Permettez-moi encore une fois de
maximiser un peu cela. Maintenant, si je joue en tant que joueur, je dilue un M quatre
et que je dilue une arme, elle devrait l'ajouter à la cuisse. Vous pouvez voir sur le
côté de mon personnage, je peux maintenant voir l'arme. Génial. Maintenant, pour ce K, je peux piller aussi bien
que l'autre joueur À l'heure actuelle, il a disparu. Vous pouvez voir que le client
ne le voit pas sur le serveur. Vous pouvez voir que cela semble
correct, car n'oubliez pas que le serveur a l'autorité
et peut tout faire. Cependant, pour le joueur,
c'est sur le dos. Comme vous pouvez
le voir ici dans l'ombre, il y en a un, un problème de
réplication, une valeur qui
n'est pas dépassée. La seule chose que je puisse penser de cette arme équipée et désarmée, c'est celle-ci qui
choisit de
la mettre dans le
dos ou dans la main La façon dont vous résolvez ce
problème où vous ne
pouvez pas voir l'arme
lorsque vous la récupérez est Faisons-le d'une autre manière, l'arme équipée du set. La raison en est qu'il ne connaît
pas vraiment cette valeur, car parfois,
lorsque je joue en tant que client, cela place cette arme sur le
dos du personnage. Vous pouvez le voir ici, au lieu
de le piller. La raison pour laquelle il le place au
dos du personnage
est un problème de réplication. Pour une raison
ou une autre,
cela nous a équipés , c'est celui qui contrôle que nous devons être sur votre main ou que l'arme doit
être sur votre dos. Pour une raison ou une autre, c'est parce que cette valeur d'
arme équipée n'est pas armée comme si vous en aviez déjà
une et que cela la place sur
le dos
du personnage plutôt que dans votre main. C'est en fait
parce que nous faisons passer
celui-ci par le biais de la notification du représentant Nous n'avons pas besoin de le faire
car cela va bouleverser le jeu. Je vais le supprimer
. Passons plutôt
au graphique des événements. Exécutons-le ici sur le serveur. Parce que nous devons définir les valeurs par le biais du serveur
plutôt que par le biais du représentant, notifiez, au lieu de simplement les
modifier directement N'oubliez pas que vous ne devez
installer l'arme équipée que lorsque vous êtes
ici désarmé Chaque fois que vous n'êtes pas armé, vous devez régler l'
arme équipée , car vous ne
voulez pas la changer chaque fois que vous
placez cette arme sur le dos Au lieu de cela, pour celui-ci, nous devons prendre l'arme
équipée. Et encore une fois, nous devons nous demander
si c'est équivalent à désarmé. Et laisse-moi juste déplacer ça. Assurez-vous de demander si vous n'
êtes pas armé ou non ? Parce que nous voulons exécuter
ce code uniquement si vous n'êtes pas armé. Si tu n'es pas armé, oui. Allons-y et je vais
retarder le code
avant que nous ne le fassions réellement. Et si je le fais, c'est parce que je donne une chance
à ce représentant,
notifie, de manquer de code N'oubliez pas qu'il utilisera cette variable d'arme équipée pour vérifier si vous n'êtes pas
armé ou non Et cela sera bloqué.
Si vous installez instantanément cette arme équipée et que vous
changez ce type d'arme, nous faisons en sorte
de le retarder un peu Assurez-vous que ce
code est bien lu avant de modifier le type d'arme ou l'arme
équipée ici. Ce délai doit
être aussi faible que possible car cela peut sembler
étrange si vous
courez sans que l'
animation ne s'applique. Mais essayons-le
comme celui-ci avant de faire quoi
que ce soit. Permettez-moi donc de cliquer sur jouer
ici en tant que terroriste. Maintenant, je peux cliquer
sur jouer et je peux entrer dans l'arme et
voir si elle fonctionne. Maintenant, vous pouvez voir que cela fonctionne. Je dois y aller à quelques reprises juste pour m'assurer
que cela fonctionne réellement, et maintenant vous pouvez voir qu'
il ne fonctionne pas Je pense que cela a réglé le problème. Cependant, à l'avenir, si cela nous pose toujours un
problème, nous essaierons de le résoudre. Mais je pense que c'est en fait corrigé maintenant et que cela ne nous
pose aucun problème. OK. Essayons maintenant de
réduire ce nombre, 0,05, ce qui est très faible Et nous pouvons essayer de jouer
et de le réduire, mais cela fonctionnera quand même. Maintenant, vous pouvez voir qu'
il fonctionne toujours. Si vous le réduisez trop, vous courez le
risque que le code contenu dans la notification du représentant ne
puisse pas être atteint à ce stade Avant de le faire, assurez-vous que c'est lent
mais pas trop bas. Vous allez rencontrer des problèmes, mais comme vous pouvez le voir ici,
tout fonctionne. Et assurez-vous simplement de commenter ce retard car si vous revenez
trois mois plus tard, vous ne savez pas
pourquoi vous l'avez fait. Assurez-vous de maintenir le bouton enfoncé, puis de cliquer sur C sur votre
clavier pour ajouter un commentaire. Par exemple, vous pouvez,
pour ce commentaire, assurer que l'
arme est attachée à la main avant de changer
l'état d'équipement du joueur. Juste comme ça.
Vous pouvez même écrire que vous attendez que
le représentant averti postule Allez-y, compilez
et enregistrez tout. Et cela devrait fonctionner
si vous cliquez sur Play. Maintenant, si vous entrez dans le pistolet, vous
pouvez voir qu'il est en train de changer Si vous entrez dans
celui-ci, c'est sur votre dos et je peux voir
que tout fonctionne en ce moment. Un autre avantage que nous avons, le dernier, espérons-le, c'est que lorsque vous placez deux armes l'une
sur l'autre, cela va être un
peu confus parce que vous chevauchez deux sphères Je ne sais pas laquelle piller. Si vous vous plaignez maintenant, cela va
s'arranger Et voici le client. Je
les croise tous les deux, j'essaie de les croiser tous les deux
comme ça. Vous pouvez voir qu'il
tient en fait le pistolet et les quatre en même temps
et c'est un peu confus Nous devons également réparer
cet argent. C'est ce que nous allons faire
dans la prochaine leçon.
98. 8.13 Chevaucher deux armes à la fois: Le problème auquel nous sommes
confrontés en ce moment ,
c'est que si je tombe sur
deux armes à la fois, cela disparaîtra parce que maintenant
vous pouvez voir que je tiens le pistolet et le
fusil en même temps C'est donc un bogue
que nous avons
actuellement et que nous devons corriger d'une manière ou d'une autre. Nous devons vérifier qu'il n'y a pas de chevauchement entre
les deux armes
et pas seulement une Parce qu'à l'heure actuelle, nous vérifions simplement
s'il y a
un chevauchement d'armes et nous ne vérifions pas si deux armes se chevauchent
en même temps Pour résoudre ce problème,
passons au joueur et
ouvrons la base de joueurs qui se trouve à l'intérieur d'ici. À l'heure actuelle, nous avons
cette arme à butin. Au lieu de simplement
piller l'arme, je dois créer un nouveau tableau lequel je rassemble tous les éléments qui se chevauchent Ensuite, à cause de ces acteurs qui
se chevauchent, ils
pilleront les armes au lieu de les piller directement Prenons tout cela
et ajoutons-le ici, puis cliquons avec le bouton droit de la souris
pour créer un nouvel événement personnalisé. Je vais appeler cet
événement un élément qui se chevauche. OK, avec celui-ci, encore une fois, je vais le faire passer par
le serveur, le serveur
personnalisé, et
ajouter un élément superposé Et puis n'oubliez pas de l'exécuter sur le serveur et de l'exécuter de manière fiable. Et je vais exécuter ce serveur ici dans le cas normal, en
ajoutant
un élément superposé,
juste comme ça Ce que nous devons faire,
c'est créer un nouveau tableau appelé éléments
superposés Encore une fois, il s'agit d'une base d'armes qui ne se chevauche
en fait pas d'objets Il est probablement plus juste de parler d'armes superposées Et puis
cliquez avec le bouton droit, ou cliquez simplement ici et recherchez
la base d'armes. Allez-y, sélectionnez-le. Allons-y et
sélectionnons à nouveau ce tableau. Maintenant, au lieu d'un objet qui se chevauche, il vaut probablement mieux l'appeler une arme
superposée qui est plus précise afin de
ne pas changer de style. Une arme superposée, juste comme ça. Et allez-y,
prenez ce tableau. Ce que nous pouvons faire ici, c'est chaque fois que nous superposons un objet ou une arme, nous pouvons ajouter
cette arme à cette gamme. Nous devons maintenant savoir quelle arme
nous chevauchons à nouveau. Allez-y, ajoutez une variable, recherchez une base d'armes. Il suffit d'appeler cette arme
unique et de la connecter
également ici. Cela part de là chaque fois que nous nous
recoupons , puis les
informations sont là. Tout comme avant,
ce que nous avons fait ici. Allez-y, prenez
ceci et dites « set array element » et connectez-le. Il s'agit de l'élément
que nous voulons ajouter à l'index. Encore une fois, c'est exactement ce que je vous ai
dit tout à l'heure. Utilisons la longueur. À partir de cette recherche
de longueur , il
trouvera automatiquement le bon index. Il l'ajoutera pour aller de
l'avant et organiser cela. Bien, ce que nous
faisons simplement, c'est au lieu de piller instantanément
l'arme depuis le sol, nous ajoutons cette
arme superposée à cette gamme Ensuite, à partir de ce tableau, nous pouvons aller de l'avant et
piller les armes Nous veillons à ce que toutes les armes superposées soient
pillées d'ici Lorsque je superpose une arme, n'oubliez pas de lancer à nouveau cette arme à butin,
sinon vous ne l'utiliserez pas En fait, revenons d'abord en arrière. Revenons maintenant à la base d'armes plutôt qu'à la base d'armes, plutôt qu'ici avec
le code que nous avons écrit, au lieu de piller l'arme instantanément lorsque
vous savez que vous pouvez la piller,
ajoutez-la aux armes qui se chevauchent Permettez-moi de le supprimer. Cherchons ici auprès du joueur. N'oubliez pas que c'est le joueur de quilles. Prenons ceci et cherchons
l'arme qui se chevauche dans les publicités. Allez-y, ajoutez-le ici. L'arme est elle-même
comme ça et elle est compilée maintenant. Il va d'abord ajouter
cette arme superposée à la gamme. Allons-y et utilisons
l'arme du lot. Partons d'
ici et cherchons une arme puissante. L'arme est là. En fait, nous n'en avons pas besoin
car
souvenez-vous que nous l'avons ajouté à ce tableau. Au lieu de simplement
le prendre d'ici à ici, nous pouvons maintenant utiliser ce
tableau ici. En fait, nous n'avons pas besoin de cette épingle. Si vous cliquez sur cette
épingle, retirez-la. Cliquez également ici et
supprimez-le, juste comme ça. Et pour que celui-ci le supprime, maintenez la touche Alt enfoncée et cliquez
dessus pour le supprimer, ou vous pouvez cliquer ici
et actualiser tous les nœuds qui supprimeront également ces épingles rouges. Maintenant tu es en train de piller l'arme. Ça va passer par ici. Maintenant, avant de l'ajouter directement, vérifions d'abord quelque chose. Prenons ces armes
qui se chevauchent Tout d'abord, demandons-nous si elles
sont vides ou non Parce que s'il est vide,
nous ne voulons pas le piller. Partons d'ici
et disons que c'est vide. Disons qu'il n'est pas vide. S'il n'est pas vide,
nous allons vers O. Nous pouvons faire glisser le pointeur à partir d'ici. Et écris une branche, puis
sors et connecte-toi. Maintenant, s'il n'est pas vide,
nous allons le piller. Très bien, quelle est l'
arme que nous sommes en train de piller, nous pouvons la traîner d'ici et
dire « prenez » celle-ci Nous sommes simplement
en train de récupérer le premier objet qui se trouve à l'intérieur de la gamme d'armes
superposées, en obtenant juste celui de l'index, zéro. Donc, la première arme
qui se trouve à l'intérieur d'ici, relions-la à l'arme superposée. Nous ajoutons maintenant cette
arme à l'inventaire. Ensuite, il ira ici, ajoutera à l'inventaire, il le transformera en arme
à butin Nous allons vérifier
si nous ne sommes pas armés, si c'est le cas, nous allons
installer l'arme équipée N'oubliez pas de supprimer l'arme
superposée, celle que vous êtes en train d'ajouter en ce moment. N'oubliez pas de
le supprimer du tableau, sinon il restera là pour toujours. Vous devez prendre ce tableau maintenant. Ensuite,
peut-être pourrons-nous prendre les armes
qui se chevauchent. Nous pouvons dire supprimer l'article et
continuer à le connecter. Alors n'oubliez pas de prendre
celui que vous venez d'ajouter. Vous pouvez plutôt le
connecter ici. Encore une fois, double-cliquez pour créer un nœud de route arrière et mettez-le simplement à un autre niveau
par rapport aux autres. Nous nous souvenons maintenant de le
supprimer du tableau. Il restera ici pour toujours et vous aurez une
boîte dans votre jeu. OK, maintenant nous
supprimons cet article superposé de la liste
parce que nous l'avons ajouté à
l' inventaire et que tout est terminé. Nous l'avons donc supprimé. Rappelez-vous maintenant que cette fonction ici, cet événement ici, ne s'
exécute qu'une seule fois,
chaque fois que vous vous chevauchez. Il s'agit de l'
événement organisé par le lot d'armes, comme vous pouvez le voir ici. Lorsque nous avons terminé,
nous arrêtons le code. Et si vous aviez en fait dix armes dans les armes
qui se chevauchent ? Tu dois continuer à utiliser
ce lot d' armes
jusqu'à ce qu'il soit vide. Et quand il est vide, il
ne fait rien. Vous devez continuer à
organiser cet événement pour vérifier si d'
autres éléments se chevauchent Parce qu'il ne cesse de vérifier s' il est vide ou non pour l'exécuter. Encore une fois, ici,
organisons un nouvel événement. Et je vais l'appeler, partir de
là, un événement personnalisé. Appelons celui-ci, vérifiez s'il n'y a pas
de chevauchement d'armes. Je vais vérifier s'il y a d'autres armes
qui se chevauchent. Nous pouvons prendre celui-ci
et l'utiliser ici. Vérifiez qu'il n'y a pas de chevauchement d'armes. Lorsque nous aurons fini
d'ajouter l'arme, nous vérifierons s'il n'y a pas de chevauchement d'armes et
nous recommencerons Ensuite, le code ici
s'exécutera à nouveau et vérifiera
s'il est vide ou non. S'il n'est pas vide, il va à nouveau prendre
cette nouvelle arme. Continuez à les ajouter à l'
inventaire autant que possible. Cependant, s'il est vide, nous n'allons rien faire. Très bien,
nous avons un problème en
ce moment : et si le joueur chevauche
plusieurs armes ? Parce que chaque fois que vous entrez en collision avec une arme
et que vous pouvez la piller,
cela ne fait que s'ajouter à
cette arme superposée Et il va le
réexécuter même si nous
sommes au milieu du code, ce qui perturbera
le jeu à chaque fois que vous
retrouverez quelque chose. Cela exécutera le
tout
et activera également tout cela. Mettons plutôt
une barrière. Cela ne fonctionne qu'une seule fois. Et ce que vous pouvez faire, c'est faire glisser le pointeur
d'ici et dire « faites une fois ». Ce nœud garantit qu'il
n'est exécuté qu'une seule fois, même si je chevauche
plusieurs armes. Il ne va pas
répéter ce code ici. Il va en fait
répéter ce code, il va y ajouter quelque chose. Mais cette partie du code
ne sera pas répétée. En fait, il ne
le fera qu'une seule fois. Et nous pouvons contrôler le moment où
il doit recommencer. Nous ne voulons le faire qu'une seule fois, même si nous utilisons
peut-être une centaine d'armes. Nous ne le faisons qu'une seule fois
car souvenez-vous que nous
faisons une boucle infinie
jusqu'à ce que celle-ci ne soit
plus vide et que nous arrêtions le code. Nous n'avons pas vraiment besoin de
l'aimer d'ici non plus. OK, fais-le une fois. Quand pouvons-nous le réinitialiser ? La réinitialisation signifie que je ne
vais exécuter ce code qu'une seule fois. Vous me dites quand je peux réinitialiser, afin que je puisse réexécuter ce code. La réinitialisation, faisons-la glisser à partir d'ici et créons
un nouvel événement personnalisé. Disons qu'il peut à
nouveau perdre une arme. Je peux à nouveau piller l'arme
chaque fois que j'arrête de
piller ici Lorsqu'il est vide,
l'arme se chevauche. Chaque fois que ce champ est vide, nous pouvons le faire glisser à partir d'ici et
dire « peut à nouveau piller l'arme Nous pouvons réexécuter ce code
car il s'est arrêté. Et je vais faire un peu traîner à partir d' ici, faire de la place
et organiser tout cela. Très bien, maintenant c'
est mieux organisé. Alors allons-y, compilons, et compilons également
ici, sauvegardons tout. Essayons maintenant de
cliquer sur jouer et voir ce qui se passe.
Sélectionnez Terroriste. En fait, je me
permets de copier ces armes sur
tous ces
points pour ne pas avoir à courir
à nouveau vers cet endroit. Il suffit de les copier quelques fois
et de les placer. Sélectionnez un terroriste
et
allons-y maintenant, rien ne se passe. Nous avons probablement gagné de l'argent ici, en
se chevauchant probablement Mais pour ce faire, vous pouvez faire glisser le pointeur depuis l'un d'entre eux, par
exemple, si ce
serveur se chevauche, et écrire une chaîne d'impression. C'est ainsi que vous pouvez déboguer votre
code en cas de bogue. Je ne veux pas le supprimer
de la vidéo car je veux également
vous montrer comment déboguer Vous connectez cette chaîne d'impression
et vous cliquez sur Play. Chaque fois qu'il imprime la chaîne, comme vous pouvez le voir, il
imprime en fait la chaîne. Cela signifie que cette partie
du code fonctionne. Il n'y a rien de mal ici.
C'est en train de passer. Oui, je pense que c'est ici. J'ai oublié de m'adapter à
cette taille. Essayons peut-être de
le rejouer et de le tester. Et c'était là le problème. Je n'ai pas fait cette taille à ma taille. Et cela signifie
que pour les tableaux,
lorsque vous les créez, vous devez en fait faire glisser le pointeur à
partir d'ici et dire redimensionner Ensuite, vous
devez indiquer au moteur
la taille de cette matrice. Par exemple, je vais
lui donner 20 emplacements. Maintenant, avec ces 20 emplacements, je peux ajouter des objets. Vous devez le
faire, par exemple, dans le jeu Begin ou
quelque chose comme ça. Cependant, si la taille est adaptée, cela indique que vous pouvez créer
automatiquement un nouvel emplacement. C'est très bien. La longueur de ce tableau ne me dérange
pas. C'est ce que vous faites ici, taille adaptée, qui posait problème. Maintenant, si vous rencontrez des problèmes, encore une fois, faites glisser le pointeur d'ici, écrivez une chaîne d'impression, voyez si la chaîne s'imprime
à l'écran. Si c'est le cas, il y a probablement autre
chose qui ne va pas. Encore une fois, n'oubliez pas que vous pouvez également
imprimer des valeurs pour voir si elles sont réellement ajoutées à cette gamme
d'armes superposées, etc. Mais pour l'instant, cela semble fonctionner. Cliquons sur Play. Si vous
voulez mieux le vérifier, vous pouvez également cliquer
sur le ressort, par exemple, le
faire 600. Juste pour que je puisse voir mon personnage. Essayons encore une fois de tirer au sort. Maintenant, vous pouvez voir que c'est sur mon
arme ou sur ma main et mon dos. Je vais juste le faire
plusieurs fois juste
pour m'assurer que tout fonctionne correctement
et que cela semble fonctionner. Vous pouvez donc voir que cela
résout le problème, car à l'heure actuelle, tout cela continue de tourner en
boucle Cela garantit qu'il passe
par la
gamme d'armes qui se chevauchent avant qu'il ne s'arrête et que nous
puissions à nouveau les piller Il s'agit donc de s'assurer que
tout est pillé. Et comme vous pouvez
le constater, même si
j' utilise plusieurs
armes à la fois, cela fonctionne correctement. Le fusil est dans ma main et le pistolet sur
le côté de ma jambe Hein ? Maintenant que nous en avons
fini avec cette logique, allez-y, sauvegardez tout, et passons
à la suivante.
99. 8.14 Créer la structure de l'arme: OK, avec ce jeu, je veux vous montrer
tout ce que nous faisons lorsque nous développons un jeu, même s'il est avancé. Dans cette leçon, nous
allons créer une structure d'
arme. C'est bien mieux que de continuer à créer des variables
pour les armes. Avant que cela ne devienne trop important, commençons à
créer la structure. Maintenant, je peux essayer de te
montrer et tu comprendras
beaucoup de choses dans les plans Cliquez avec le bouton droit de la souris et
créons un nouveau dossier. Appelons celui-ci Structures.
Et cliquez à nouveau avec le bouton droit de la souris,
définissez la couleur sur
cette couleur ici, comme avant
Inside of this folder. Cliquez avec le bouton droit de
la souris et accédez à Blueprint. Nous avons ce
qu'on appelle une structure. Cliquez dessus et je
vais l'appeler
ST comme préfixe pour la structure Appelons ça des informations sur les armes. Cette structure contient
les informations relatives aux armes. Maintenant, lorsque vous
ouvrez une structure, la seule chose que vous faites ici est
d'ajouter des variables. Si vous ajoutez une variable, vous pouvez choisir le nom de cette variable
. Vous pouvez choisir le
type, comme ici dans le plan où vous
créez une nouvelle variable Même chose. Maintenant, à l'intérieur de
la structure, vous pouvez avoir toutes les informations sur les
armes ici. Vous pouvez ajouter plusieurs
variables ici et vous pouvez avoir toutes les informations sur
l' arme à l'intérieur d'ici. Par exemple, à quelle vitesse
l'arme peut-elle tirer, quel est le nom de l'arme et toutes ces
choses que vous voulez. Par exemple, la miniature l'arme lorsque vous l'
ajoutez à l'inventaire, devrait-elle coûter dans la
boutique lorsque vous achetez l' Vous pouvez avoir une valeur de pièce
ou une valeur de 1$, etc. Toutes les informations relatives à l'
arme peuvent se trouver à l'intérieur. Ici, vous pouvez voir que vous pouvez rassembler toutes les variables
à l'intérieur d'une structure. Il n'est pas nécessaire de créer 100 variables dans ce plan, elles le contiennent en fait à
l'intérieur de la structure Allons-y et
commençons à en créer un. Je vais tous les supprimer. Je
vais appeler le premier nom. J'ai besoin d'un nom pour mon arme. Et je vais le remplacer par
le type de chaîne parce que chaîne est juste
un texte que nous pouvons écrire. Désormais très importante, la différence entre
une chaîne et un texte peut être localisée ou traduite dans
différentes langues. Par exemple, si je veux que mon jeu
soit allemand, japonais
ou chinois,
je dois sélectionner du texte à l'avenir. Par exemple, si je
veux traduire le nom de l'arme, si
vous choisissez String, vous ne pourrez pas
le traduire à l'avenir. Assurez-vous si vous voulez
un jeu qui puisse être traduit, car vous
souhaitez le traduire à l'avenir. Allez-y et sélectionnez du texte. Cependant, je vais sélectionner des noms d'armes à cordes,
comme un AK 47 ou 44. Même si je le change dans différentes langues, il ne
sera pas vraiment traduit. Je veux dire, comment s'appelle AK 47 dans différentes langues ?
C'est le même nom. C'est pourquoi je choisis une
chaîne plutôt qu'un texte, même si je souhaite traduire
mon jeu dans la future chaîne du
nom. N'oubliez pas que nous avons également ajouté ce
type d'arme. Nous pouvons également
avoir ce type d'arme à l'intérieur de la
structure. Je peux juste l'appeler type, vous pouvez l'appeler
type d'arme, c'est très bien. Appelez-le comme vous
voulez pour le rendre plus visible
pour vous ici. Modifions-le en type d'arme. N'oubliez pas que nous avons créé
ce type d'
arme d'énumération par exemple Nous pouvons également en ajouter
une nouvelle et appeler une classe. Une classe est si vous recherchez base
d'armes et que vous l'emmenez ici, sélectionnez cette classe, faites
référence à une classe où vous pouvez créer une nouvelle
arme à partir de celle-ci Peut-être en avons-nous besoin, peut-être pas. C'est toujours agréable
d'avoir une classe, quel que soit
le jeu que vous créez, car peut-être qu'à l'
avenir, vous devrez réapparaître cette arme dans le monde C'est toujours agréable d'avoir
ce cours ici. Nous avons maintenant une structure. Il est petit, mais il est beau
et nous en avons créé un plus tard. Vous pouvez ajouter, par exemple, la vitesse de
tir pour cette arme. Ensuite, vous pouvez
sélectionner un flotteur indiquant la
vitesse à laquelle il peut tirer. Plus tard, vous pourrez dire vitesse
de rechargement et ainsi de suite. Vous pouvez donc voir que vous pouvez ajouter de nombreuses informations
sur cette arme. Peut-être souhaitez-vous ajouter
une valeur à la boutique ou description
similaire, ou vous souhaitez ajouter une miniature à
l'inventaire Vous pouvez ajouter beaucoup de choses. Mais pour l'instant, ajoutons-les. Et je vais en ajouter d'autres à la structure plus tard
lorsque nous en aurons besoin. Maintenant que nous avons
créé cette structure, nous pouvons passer à la
création d'une table de données. Dans la prochaine
leçon, je vais vous expliquer ce qu'est une table de données, mais pour l'instant, génial, vous avez créé une structure,
et passons à autre chose.
100. 8.15 Créer la table de données d'arme: Dans cette leçon, nous allons
créer un tableau de données sur les armes. Pour créer un tableau de données, vous devez être dans Google
Drive ou Google Sheets, ou si vous avez Excel, vous
pouvez également l'utiliser. J'utilise Google Sheets. Allez-y et créez un
compte Google si vous n'en avez pas. Et puis, à l'intérieur d'ici,
nous cliquons ici
et nous nous dirigeons vers mon lecteur. À l'intérieur de votre lecteur,
je viens de créer un dossier à l'intérieur pour qu'il reste
structuré à l'intérieur d'ici. Lorsque vous êtes dans Google, vous pouvez écrire, cliquer, créer une nouvelle feuille Google. Cliquez ici, puis
cela en fera un, et je vais appeler
celui-ci ici, des tables de données. Je vais créer un espace
ici, à l'intérieur d'ici. Je vais juste
organiser ça un peu. Je vais cliquer sur Contrôle
A pour tout sélectionner. Je vais cliquer
ici, aligner son centre. Cliquez ici, alignez son centre. Cliquez ici, sélectionnez
l'habillage de texte. Alors je vais changer
de téléphone pour celui-ci. Ici, pour cette ligne, je vais cliquer sur cette ligne en gras. Encore une fois, contrôlez pour tout sélectionner. Je vais simplement élargir les
choses comme ça,
et ce n'est qu'une préférence. OK, maintenant nous sommes dans
Google Sheets. Et ce qu'est une table de données, c'est que nous pouvons écrire toutes ces valeurs à partir d'une structure
à l'intérieur d'une table de données. Ainsi, les personnes qui ne
savent pas programmer peuvent réellement utiliser
ce tableau de données et modifier les informations relatives à
votre jeu, par exemple. Commençons par là et
vous verrez ce que je veux dire. Nous avons créé cette structure
ici avec la variable name. Ce que nous pouvons faire dans
cette table de données pour écrire, vous devez écrire
ces variables exactement comme vous les
avez écrites. À l'intérieur d'une structure. Pour le nom, nous pouvons écrire le nom, puis nous avons le type, puis nous avons la classe. C'est ce que nous avons à l'intérieur
d'une structure en ce moment, n'oubliez pas de l'écrire
exactement comme vous l'avez écrit ici
à l'intérieur de la structure. Sinon, vous obtiendrez une boîte, écrivez-la ici pour le
nom de l'article. Par exemple, dans le premier cas,
nous avons un AK 47 K 47. La prochaine, nous en avons une si vous voyez ici dans l'arme
des plans, c'est
ce que vous avez Et puis tu as un pistolet. Vous pouvez également lui donner un nom. Cependant, mon pistolet s'
appelle pistolet. Je n'ai pas vraiment
de nom pour ça. Vous devez maintenant écrire
le type de cette arme. N'oubliez pas que dans
l'énumération vous avez créé ce type d'arme À l'intérieur de la
structure, vous pouvez également voir le type d'
arme que vous avez sélectionné. Maintenant, pour ce type d'arme, vous devez l'écrire exactement comme les types d'armes que
vous avez écrits ici. Sinon, vous obtiendrez une boîte
à l'intérieur d'une table de données. Tu dois écrire les choses exactement comme tu l'
as fait ici. Pour le type d'arme,
nous pouvons avoir un fusil. Cet AK est un fusil, le quatre est un fusil. Le pistolet est simplement le
type de pistolet comme celui-ci. Pour le cours, nous devons
faire autre chose. Créons d'abord la table de
données car je ne
peux pas y faire référence
à moins d' avoir la table de données à l'intérieur
des plans Créons un nouveau dossier. Appelons celui-ci des
tables de données à l'intérieur de ce dossier. Encore une fois, cliquez avec le bouton droit sur Définir la couleur dans ce dossier. Faisons un clic droit, je crois que c'est dans Michelaneous,
pas dans Blueprint Le voici, le tableau de données. Allez-y et créez.
Maintenant, il vous indique partir de
quelle structure
souhaitez-vous le créer ? Je veux le créer à
partir des informations sur l'arme. Allez-y et cliquez. OK.
Maintenant appelons-la table DT, et
appelons-la encore Weapon Info. D'habitude, je l'appelle simplement de la
même manière que la structure. Cependant, DT pour préfixe, car il s'agit d'une table de données. Si j'ouvre ce tableau de données, vous pouvez voir qu'il est
vide pour le moment. Si vous cliquez sur
le signe plus, un pur, vous ajoutez une nouvelle entrée
pour le tableau de données. Vous pouvez le voir ici, vous
pouvez lui donner un nom. Par exemple, AK 47. Je peux en faire un
fusil et la classe
est le BPAK 47 que nous avons créé Ici, vous pouvez voir
que nous avons
maintenant les informations au lieu d'un tableau de données, nous pouvons réellement extraire ces informations et les
utiliser dans notre jeu. Laissez-nous le faire à partir de notre tableau de données ici
à partir de Google Sheet. Je vais cliquer sur celle-ci,
cette entrée que vous avez
créée en ce moment, et sélectionner l'une
d'entre elles au hasard. Par exemple, ce PPK 47. Ensuite, vous pouvez écrire, cliquer maintenant
sur celui-ci et dire copier, car maintenant vous
copiez cette référence. Ici, vous pouvez voir
que c'est ainsi que nous devons
l'écrire dans votre feuille Google. Nous l'avons déjà fait. Nous avons écrit le nom
correctement ici, comme ceci. Nous avons écrit le type comme
ce fusil, par exemple. Pour la classe, tu
dois
aussi l'écrire comme ça si je contrôle juste
V à l'intérieur d'ici. N'oubliez pas d'écrire :
Cliquez ici, copiez-le, contrôlez
V. À l'intérieur d'ici. Je vais juste le
consigner pour
pouvoir réellement voir ce que je
fais. Juste comme ça. OK, ici, c'
est comme ça que tu fais. Maintenant, vous devez copier celui-ci et le
coller dans les autres. N'oubliez pas qu'au lieu d'
un AK 47, c'est 44. Vous devez donc l'écrire
exactement comme référence. Je fais référence à ce PP
44. Je peux y retourner. Ce sont les bons
dossiers, plans, armes. Et j'ai juste besoin de
changer ce 1141. Le dernier est le
pistolet appelé pistolet BP. J'écris aussi Pistol
Pistol ici. OK. Maintenant, j'ai correctement cette
information. Ce que je dois faire
maintenant, c'est cliquer sur le fichier pour le télécharger et sélectionner CSV. C'est le format
que nous devons utiliser. Maintenant, si j'ouvre mon dossier de
téléchargements ici, appelons-le T pour table de données. Je vais l'appeler du
même nom qu'ici, afin qu'il puisse être importé. N'oubliez pas d'appeler le même
nom, ET Weapon Info. Vous pouvez maintenant cliquer dessus et le
faire glisser ici. Si vous cliquez dessus et que vous le
faites glisser ici, il est indiqué que le nom de
colonne attendu est introuvable. Je ne sais pas comment je l'
appelle. Je l'ai appelé par son nom. C'est parce que nous avons
en fait besoin d'une colonne ici. Nous devons cliquer avec le bouton droit de la souris et ajouter une colonne à
gauche et l'appeler ID. Pour une raison ou une autre,
il crée un identifiant, nous en avons également besoin. Ce que je fais habituellement, c'est simplement copier tous les noms et
les coller à l'intérieur d'ici. Il va en fait extraire
des informations de l'identifiant. Et lorsque vous extrayez,
par exemple, cet identifiant ici, il connaît
le nom, le type, cette classe, etc. Il connaît donc toutes
ces informations. En fait, vous avez d'abord besoin d'une pièce d'identité. Bien, essayons maintenant de le
télécharger à nouveau au format CSV. Revenons à ici. Je vais copier ce nom. Je vais supprimer l'ancien. Et pour le nouveau, je vais
le renommer comme ça. Et maintenant je peux le glisser ici. Maintenant, vous pouvez voir que cela
fonctionne correctement. Nous avons donc besoin de cette pièce d'identité. Maintenant, vous pouvez voir que lorsque j'importe
mon tableau de données, il remplit automatiquement
toutes les informations. Donc, je clique sur le premier, vous pouvez voir qu'il contient
le fusil AK 47 et qu'il est réglé
sur le bon plan Et l'autre,
par exemple en quatre par un, vous pouvez également voir les
informations correctes, se trouve également ici. Vous pouvez donc voir à quel point c'
est
vraiment agréable pour les personnes qui ne savent pas programmer. En fait, ils peuvent
simplement entrer ici, changer le type d'arme, ou ils peuvent changer le
nom de l'arme. Et il ne vous reste plus qu'à cliquer sur le fichier. Téléchargez ce dossier ou fichier et
faites-le simplement glisser dans votre jeu. Et cela changera
toutes les valeurs. À l'intérieur, vous pouvez imaginer que vous pouvez avoir une
valeur marchande et que
l'arme peut coûter des pièces coûter des pièces si vous
l'achetez au magasin. Et le game designer
peut simplement venir ici et modifier toutes ces valeurs
dans la feuille Excel. Vous pouvez même créer des formules
à l'intérieur d'ici et calculer. Ensuite, vous pouvez simplement cliquer sur Télécharger
et vous pouvez simplement le faire
glisser ici et cela changera toutes les valeurs des pièces
à l'intérieur d'ici. Vous n'êtes pas obligé de le faire
à l'intérieur du moteur. C'est vraiment agréable d'utiliser un tableau de données, surtout pour les personnes
qui ne savent pas programmer. Ils peuvent entrer ici et le
modifier depuis le tableau de données, maintenant nous l'avons à l'intérieur d'ici. Ensuite, nous devons
utiliser une bibliothèque de fonctions. Faisons-le dans
la prochaine leçon.
101. 8.16 Utiliser la bibliothèque de fonctions: La dernière étape avant de pouvoir utiliser cette table de données consiste à
créer une bibliothèque de fonctions. Une bibliothèque de fonctions
, comme son nom l' indique, une bibliothèque et à l'intérieur
de celle-ci se trouvent des fonctions. Il suffit de cliquer à
nouveau avec le bouton droit de la souris ici pour créer un nouveau dossier. Je vais appeler ça des bibliothèques. Et changeons sa couleur à
l'intérieur de ce dossier. Cliquez avec le bouton droit sur
Accéder aux plans et utilisons celui-ci appelé bibliothèque de fonctions de
plans Vous pouvez voir que nous avons déjà
utilisé une vache modèle. Nous utilisons la bibliothèque de
plans. Nous avons utilisé l'interface Blueprint. La bibliothèque de macros est
identique à la bibliothèque de fonctions. Nous avons utilisé l'énumération et nous avons également utilisé
la structure Vous pouvez voir que nous avons
suivi la plupart de ces cours de
plan directeur C'est vraiment sympa que
tu aies traversé tout ça et que tu aies
de l'expérience. Créons une bibliothèque de
fonctions de plan. Et laissez-moi l'appeler bibliothèque de fonctions
BP parce que je n'en ai qu'
une dans mon jeu. Ouvrons cette bibliothèque de
fonctions à l'intérieur d'une bibliothèque de fonctions. Vous pouvez créer des fonctions et
vous pouvez les créer ici. L'avantage
d'une bibliothèque de fonctions est que vous pouvez utiliser les
fonctions de manière globale. Si je crée une fonction ici, laissez-moi simplement l'appeler, par
exemple, aléatoire
si je compile. Maintenant, si je passe au
plan de mon joueur par exemple. Et j'écris click and say random, c'est comme ça que je l'ai appelé. Vous pouvez voir, je peux maintenant voir les fonctions d'une bibliothèque de
fonctions. Peu importe
où je l'écris. Si j'ouvre le
mode jeu et que j'écris, laissez-moi sortir de
celui-ci. En fait, laissez-moi accéder au
graphique des événements et dire aléatoire. Vous pouvez voir, je peux voir la fonction à l'intérieur de
la bibliothèque de fonctions. Quelle que soit la fonction que
vous créez à l'intérieur d' ici, elle peut être vue globalement
à travers tous les plans oubliez pas qu'il ne faut pas simplement fonctionner à l'intérieur
d'ici sans raison, car cela nuit aux performances. Si cette bibliothèque est énorme, vous ne devriez
l'utiliser que si vous avez une fonction utilisée
dans de nombreux plans Par exemple, vous
obtenez les informations sur les armes, vous pourriez les utiliser
dans la base de joueurs. Vous pouvez l'utiliser
en mode jeu. Vous pouvez l'utiliser dans
la manette de jeu. Si vous avez une fonction
que vous allez utiliser sur
plusieurs plans,
créez-la dans
une bibliothèque de fonctions afin de une bibliothèque de fonctions afin ne pas avoir à créer
la même fonction encore et encore dans
chaque plan Mais les fonctions spécifiques ne les
créent pas dans
une bibliothèque de fonctions. Ceci est uniquement destiné aux
fonctions que vous
allez utiliser de nombreuses fois
dans les plans Par exemple, pour
celui-ci, nous allons l' appeler Get info. Nous obtenons des informations sur les
armes. Je vais aussi cocher « pur », pur » donne simplement
cette fonction verte. Si je compile et que vous pouvez voir si je vais dans la
base de joueurs par exemple et que je dis « obtenir des informations sur les armes », vous pouvez voir que c'est vert. Et si c'est devenu vert, c'
est parce que j'ai cliqué sur Pure. Et vous pouvez le voir ici. Cela ressemble en fait à
ces fonctions vertes si vous en avez créé une. Celui-ci par exemple, pour celui-ci, nous achetons
la manette, vous pouvez voir qu'elle est verte parce qu' elle reçoit simplement des informations. Si vous définissez des informations , vous avez besoin de ces épingles
ici et elles sont bleues. Il s'agit de fonctions définies et
de fonctions d'obtention. Ils
obtiennent simplement des informations sans rien modifier. C'est ce que nous
voulons faire. Nous voulons obtenir des informations sur nos armes. Nous l'avons réglé sur Pure
parce que nous ne
modifions rien
à l'intérieur d'ici. La fonction principale que nous
devons utiliser ici,
si vous cliquez dessus avec le bouton droit de la souris,
est encore la ligne du tableau de données. Celui-ci en bas,
mais ligne de tableau de données. C'est la fonction principale
que nous devons utiliser. Et nous devons sélectionner
notre tableau de données. Nous devons donc obtenir des informations à
partir des informations sur les armes T. Vous devez maintenant
lui dire
quelles informations souhaitez-vous en tirer ? Maintenant, cela doit être dynamique, en fonction de ce que vous
faites dans le jeu. Allons-y, et je pourrai expliquer plus tard pour
les informations sur les armes. Créons maintenant une variable et appelons-la nom de l'arme. Et je vais en faire
une ficelle. Je vais prendre
ça et dire remplacer. Et utilisez cette fonction
appelée remplacer. Maintenant, si je l'utilise, c'est si dans votre tableau de
données, vous avez un
nom, par exemple, disons que vous avez une
arme appelée quatre en un. Faisons semblant
que c'est une arme. Vous avez des espaces entre
votre nom pour l'identifiant. Désormais, lorsque vous créez quelque chose
dans une table de données, les espaces sont supprimés. Si vous ouvrez la table de données, supposons que vous importez
celle-ci dans l'espace 1 a. Si vous l'importez ici, cela
supprimera l'espace et écrira simplement
un A sans espace. Ce que je fais habituellement ici pour supprimer tous les espaces d'ici, lorsque vous les téléchargez, je prends le nom de l'arme
ici dans le formulaire. J'appuie sur espace,
assurez-vous d'ajouter un espace. Les deux peuvent simplement être vides. Rien à l'
intérieur, c'est tout. Ce que cela
fait simplement, c'est qu'il prend tous les espaces
de ces noms. Disons que c'est celui-ci. Cela prend de l'espace et le
remplace par rien, ce qui signifie que vous
supprimez réellement l'espace comme ceci. Il trouvera ensuite l'identifiant correct dans cette table de données. Parce que cette table de données supprime
automatiquement ces
espaces lorsque vous les importez. Lorsque vous recherchez un nom
comme dans cet espace, cela vous donnera une époque. Nous sommes en train de supprimer tous les espaces, et maintenant nous allons les
connecter ici. Il
va automatiquement convertir la chaîne en variable de nom. Ensuite, nous pouvons à partir d'
ici et dire « retour ». Vous pouvez connecter cette
sortie au retour et vous pouvez l'appeler « information sur
l'arme ». OK, maintenant nous avons terminé
et je dois vous expliquer tout
le processus car cela peut être un peu confus. Ce que nous faisons ici maintenant, c'est que
nous pouvons maintenant dire, par exemple, qu'
ici, dans la base de
joueurs, nous pouvons demander « obtenir des informations sur les armes ». Et nous pouvons appeler cette fonction que nous avons créée dans la bibliothèque de
fonctions. Nous sommes en train de recevoir cette information. Maintenant, nous devons saisir
le nom de l'arme. Imaginons, par exemple, que nous allons le faire dans
la prochaine leçon. Mais disons par exemple que j' ai inséré le nom AK 47 Il va prendre ce nom. Il va entrer cette fonction dans
la bibliothèque de fonctions. Il va prendre
le nom ici, en supprimant tous les
espaces, s'il y en a. Il va mettre l'AK
47 que j'ai écrit ici
dans le nom de la ligne, ce qui signifie qu'il apparaît
ici dans le nom, qu'il cherche l'AK 47, qu'il cherche celui-ci. Maintenant, il sait que nous
parlons de cette ligne. Il connaît le nom, le type, la classe, etc. Vous pouvez donc faire glisser le pointeur à partir d'
ici et dire « casser », vous pouvez « casser » des structures. Et maintenant, vous pouvez voir toutes
les variables puisqu'il prend les informations
de ce tableau de données, connaît
maintenant le nom de l'AK 47, il sait de quel type d'arme
il s'agit, de quelle classe il appartient, car il prend toutes ces informations de
ce tableau de données. C'est ainsi que vous l'utilisez
et maintenant nous devons créer des noms pour ces
armes. Listez-le pour le moment. Compilons et sauvegardons,
et passons à autre chose.
102. 8.17 Ajouter le nom de l'arme: Maintenant, ce que nous devons faire,
c'est tout fermer. Revenons aux armes, et passons à la base d'armes. Maintenant, à l'intérieur d'ici, créons une nouvelle
variable appelée nom de l'arme. Donnons-lui le type de chaîne. Ce n'est donc qu'un texto. Et si vous compilez, vous pouvez voir que vous pouvez
maintenant écrire quelque chose ici pour le nom de l'arme. Puisque vous créez cette variable, n'oubliez pas que puisque vous l'avez
créée dans la classe
de plan parent, tous les enfants
hériteront de cette Si vous ouvrez le Q 47, vous pouvez voir dans les paramètres de
classe par défaut que vous pouvez désormais
écrire un nom d'arme Vous pouvez le personnaliser
pour chaque arme. Vous ajoutez maintenant la variable à l'intérieur de la
base d'armes, puis vous pouvez modifier cette variable
pour qu'
elle soit spécifique à chaque enfant. Le nom de l'arme de l'AK 47
est simplement K 47 pour les quatre. Je peux le voir ici. Je n'
ai pas besoin de cliquer ici. Le nom de l'arme pour
les quatre est 41. Fermons-le également. Pour le pistolet, c'
est juste un pistolet. En fait, je
vais me souvenir compiler ici comme ça. Enregistrez tout. Vous avez maintenant écrit le
nom de l'arme pour chacune d'elles. Nous avons besoin du nom de cette arme, extrayons
les informations correctes du tableau de données, car si
le nom de l'arme est pistolet, nous allons saisir le nom de
l'arme et toutes
ces informations seront extraites d'ici OK, fermons-le maintenant. Maintenant, ce que nous pouvons faire, par exemple, c'est aller voir le joueur.
Passons au joueur. Je vais juste vous montrer que vous ne devriez pas vraiment suivre ici. En fait, je veux juste vous
donner un exemple. Nous avons par exemple
cette arme pillée. Je
peux emporter cette arme pillée d'ici. Maintenant, je peux dire le nom et prendre cette variable du nom de l'arme. À partir de là, je peux
encore dire des informations sur les armes. Il s'agit de la bibliothèque de fonctions. Maintenant, nous pouvons réellement le
brancher. Disons que j'ai marché
sur un AK 47. Je l'ai parcouru et maintenant je
peux en extraire les
informations en imprimant
simplement une chaîne sur mon écran et en la connectant ici. Prenons ceci et disons «
cassons cette structure ». Imprimons simplement le
nom de cette arme. Si je me contente d'accepter, je marche, en fait je dois choisir, donc si je choisis des terroristes
et que je marche sur ce pistolet, il imprimera Si je le lis en quatre, il sera imprimé en 41. Vous pouvez donc voir qu'il extrait désormais
correctement informations en fonction
du nom de l'arme Permettez-moi de le supprimer pour le moment. N'oubliez
pas que lorsque vous ajoutez cette variable à
la classe parent, souvenez-vous que vous
devez entrer dans chacun
des enfants et en modifier
la valeur. OK, allez-y, sauvegardez
tout et passons à autre chose.
103. 8.18 Remplacer la variable WeaponType: Bien, dans cette
leçon, je vais
remplacer la variable
type d'arme. Si nous allons à la base d'armes, souvenez-vous que nous avons créé ce
type d'arme et que nous l'
utilisons ici pour vérifier si le joueur possède déjà l'arme dans l'
inventaire. Ce type d'arme, nous l'avons déjà fabriqué à l'intérieur
de la structure. Si vous allez à la structure,
souvenez-vous que nous avons créé ce type. Maintenant, nous n'avons plus besoin de
ces variables supplémentaires. Nous pouvons en fait simplement utiliser notre
structure pour le remplacer. Ce que nous pouvons faire maintenant,
au lieu de tout cela, au lieu de prendre le type
d'arme comme celui-ci, nous pouvons maintenant demander des informations sur les armes. On peut prendre ça ici,
inscrire le nom comme ça. N'oubliez pas que nous sommes à l'intérieur
de la base d'armes. Le
nom est déjà là. Maintenant, pour connaître le type d'arme, il faut faire glisser le pointeur et dire «
break » et on peut le casser. Ce que vous pouvez faire,
vous pouvez également écrire cliquez ici et dire split struct. Et tu peux les obtenir comme ça. Cependant, j'aime simplement écrire break et les avoir ici
à la place. Maintenant, c'est juste la préférence. Je peux maintenant prendre ce type, c'est le type d'arme, et
je peux le brancher ici. Maintenant, vous pouvez voir que c'
est la même chose. Maintenant, je peux supprimer cette variable de type d'arme pour masquer les épingles que
vous n'utilisez pas. Pour le rendre plus beau, vous
pouvez cliquer dessus et appuyer sur masquer les épingles non connectées.
Ça ressemble à ça. D'accord, je dois m'organiser
un peu plus tard, mais laissez-le être
là pour ce type d'arme. Ici, je m'éloigne de ça
et je répète mon nom. Obtenez le nom de l'arme,
obtenez des informations sur l'arme. Et ensuite tu pourras le casser. Ensuite, vous pouvez brancher
le type ici, place, nous pouvons également le
supprimer. Maintenant, vous pouvez voir que nous n'
utilisons plus cette variable. Nous avons toutes les informations sur l'arme qu'il contient. OK, je vais
organiser ça un peu. Très bien, maintenant c'est un
peu plus organisé pour voir si vous avez d'autres références de
ce type d'arme. Au lieu de le chercher, je sais que nous l'avons également
utilisé dans la base de joueurs. Mais si vous ne vous en souvenez pas, disons que vous venez
ici un mois plus tard et que vous ne vous souvenez pas
où vous l'avez utilisé. Ailleurs, vous pouvez voir
que si vous essayez de le supprimer maintenant, cela indique que le type d'arme variable est déjà utilisé. Tu
veux le supprimer ? J'appuie sur « non », car nous l'utilisons toujours. Cliquez ici avec le bouton droit de la souris et
dites « trouver des références ». Maintenant, ici en bas,
il ne s'agit que
de trouver les références dans
ce plan Mais si vous cliquez sur
cette petite icône, elle se retrouvera
dans tous les plans Il va chercher dans
tous les plans. Et vous pouvez voir qu'il est utilisé
dans la base de joueurs de BP. Si vous double-cliquez
sur la variable ici, cela nous amène et nous l'avons utilisée
ici dans l'arme à butin où nous avons défini le type
d'arme équipée Au lieu de recommencer, prenons cette arme pillée Disons de mettre une arme dedans. En fait, obtenez des informations sur les armes. Obtenez le nom, obtenez le nom de l'arme. Au lieu de faire tout
cela encore et encore, je vais simplement
passer à la base d'armes et je vais copier
ceci et cela ici. Donc, les informations sur l'arme Git
et la structure des freins. Donc je peux juste le
coller ici et je peux brancher ici,
c'est un peu plus rapide. Et vous pouvez maintenant brancher
le type ici. Et vous pouvez le supprimer
à nouveau pour essayer de le rendre aussi
organisé que possible. Mais vous pouvez voir que c'est très
long maintenant par rapport à avant. Cependant, encore une fois, vous avez toutes les informations contenues
dans cette structure, elle sera
donc beaucoup
plus propre pour vous. Très bien, maintenant nous l'
avons et
ouvrons à nouveau mes références. Je vais
double-cliquer sur celui-ci maintenant. Et je l'utilise ici
lorsque je souhaite changer ou attacher l'acteur
à mon composant de maillage. Encore une fois, comme avant. Copions tout cela parce que nous n'
utilisions en fait que
cette arme pillée Encore une fois, je vais y
retourner, pillé des représentants et je vais
le supprimer faire de l'espace au-delà de celui-ci
, puis le connecter Et puis il suffit de les repousser. C'est pareil ici.
Supprimez-les et connectez-les. Juste comme ça. OK, maintenant vous avez compilé,
sauvegardez tout. Et ça devrait être
tout ce que tu peux voir. Tu n'as pas d'autres références.
C'était chacun d'entre eux. Si vous revenez maintenant à la base
d'armes et que vous appuyez sur Supprimer, elle sera
automatiquement supprimée car vous ne
l'utilisez plus. Maintenant, vous pouvez voir que nous les avons tous
remplacés. Les plans seront de
plus en plus propres à l'avenir. Nous n'avons pas dix
variables pour l'arme. Nous les avons tous à l'intérieur de notre fonction, de
notre structure. Et à partir de cette structure, il prend ces informations
de la table de données. Et nous pourrons toujours
le rallonger plus tard. Mais pour l'instant, ce sont toutes
les informations dont nous avons besoin. Maintenant, sauvegardons tout
et passons à autre chose.
104. 8.19 Action d'entrée d'arme de lancement: OK, avant de passer à la fonctionnalité
Lot, comme lorsque vous appuyez sur un
bouton, par exemple. Si j'appuie sur E sur une arme
au sol et que je la perds, je pense qu'il vaut mieux
commencer par une arme larguée. Parce que si vous tenez
une arme dans votre main, vous devez également la laisser tomber
lorsque vous pillez l'autre Commençons par lâcher
une arme avant récupérer avec une touche
du clavier. Passons à l'entrée
ici dans le dossier du lecteur. Cliquez avec le bouton droit de la souris sur Entrée. En fait, tu peux essayer de le
faire toi-même si tu veux. C'est le bon
moment pour faire de l'exercice. Nous en avons déjà fait
beaucoup. Tu devrais être capable de le faire toi-même. Essaie de le faire toi-même. Si possible, essayez de créer une action de saisie ou de
lâcher une arme. Et ajoutez-le au contexte de mappage
d'entrée. Et ajoutez également l'événement à
la base de joueurs. Maintenant faisons-le ensemble ici. Passons à droite sur Input
et sélectionnons Input Action. Appelons ça une
arme. Ouvrons-le. En fait, nous n'avons pas besoin de changer quoi que ce soit ici. Passons au contexte de cartographie. Ajoutons un nouveau mappage. Sélectionnons l'arme à larguer. Je vais lâcher l'arme avec la touche G de mon clavier, comme dans Counterstrike Vous pouvez maintenant utiliser
tout ce qui convient au modificateur. Je vais cliquer sur Pressed, parce que vous devez appuyer sur
le bouton et
le code sera lu une fois qu'il
ne l'aura pas dépassé. OK, maintenant nous l'avons.
Fermons-le. Passons au
joueur, à la base de joueurs. Et à l'intérieur d'ici,
passons au graphique des événements. Ici, vous pouvez cliquer avec le bouton droit de la souris
et réécrire le nom, comme vous l'avez fait avec
l'arme saisie ou larguée. Cliquez avec le bouton droit de la souris et dites « lâchez
une arme » et voici l'
événement que vous devez utiliser. Nous pouvons maintenant coder la logique du
drop weapon, enregistrer tout
et passer à la suivante.
105. Logique de l'arme de largage: Très bien, alors
allons-y avec la logique du largage d'armes. Nous devons maintenant savoir
quelle arme
souhaitez-vous retirer de l'inventaire. Maintenant, exécutons-le
sur le serveur. Encore une fois, nous devons le faire passer par le serveur pour éviter la triche. Je vais donc créer
un nouvel événement personnalisé appelé SRV Weapon Exécutons cela sur le
serveur de manière fiable. Faisons fonctionner le serveur qui se trouve à
l'intérieur d'ici. OK, donc quand j'appuierai sur la touche
G pour lâcher mon arme, elle passe par
cet événement personnalisé. Nous devons maintenant savoir quelle
arme nous allons larguer. Nous lâchons l'arme que
nous tenons entre nos mains. Nous devons savoir quelle
est l'arme que nous
tenons entre nos mains. À l'heure actuelle, il s'agit en fait de
ce type d'arme équipée. Il sait si nous
tenons un fusil, un pistolet ou si nous ne sommes pas armés
pour cette arme équipée En fait, je vais le renommer pour
qu'il sonne mieux. Ce n'est pas une arme équipée, c'est un type d'arme équipée. Nous devons également
changer le nom ici. En fait, installez une arme équipée. C'est un type d'arme équipé. Je vais aussi le
faire ici, définir le type d'arme équipée. Et il en va de même
pour les variables. Ils sont appelés type d'arme équipée et
type d'arme équipée. Type d'arme équipée. C'est
plus correct qu'avant. Maintenant, nous savons déjà quel est le type
d'arme équipée. Nous devons le trouver
dans l'inventaire. Nous devons faire l'inventaire des
armes. Et nous pouvons économiser pour
chaque boucle avec pause. Et
reconnectons-le ici. N'oubliez pas que nous avons créé ce
nom lors de la dernière leçon. Prenons ceci et disons name variable et prenons
ceci get weapon name. Nous avons maintenant le
nom de l'arme de l'objet. L'arme est là. Ensuite, à partir de ce nom d'arme,
obtenez à nouveau des informations sur l'arme. La structure ici,
cassons-la. Ce qui nous
intéresse, c' est que nous
voulons obtenir
le type d'arme
dès maintenant à partir de l'inventaire que nous
parcourons en boucle Si le type que nous
examinons actuellement dans l'inventaire est égal, énumération
égale, s'il est égal au type
d'arme équipée, cela signifie que nous
avons cette arme dans l'inventaire et que c'est
celle que nous détenons correctement maintenant. Si c'est le cas, nous voulons lâcher cette
arme dès maintenant. OK, si c'est le fait que l'arme que
je recherche
actuellement dans mon inventaire est la même que le
type d'arme équipée actuellement. Cela signifie que
cette arme est en fait celle que nous voulons
retirer de l'inventaire. Si c'est correct, cliquons
ici avec le bouton droit de la souris et
transformons-le en variable. Je vais appeler ça
une arme à larguer. Et nous pouvons maintenant le
connecter à ici. Tout comme avant que
vous ne fassiez de celui-ci où, voyons si nous pouvons le trouver. Tu as fabriqué cette arme à butin. Lorsque vous récupérez l'
arme, vous supprimez la collision ici de
la fonction de notification la même chose que nous devons faire ici avec
l'arme larguant, parce que nous devons réactiver
la physique Souvenez-vous que nous avons dû simuler
la physique des armes dès
le début. Nous devons en fait faire la
même chose ici pour celui-ci. Ajoutons quelques
notes de route arrière pour que cette arme puisse être larguée. Cliquons dessus et
disons : compilons. Utilisons cette fonction
dans la leçon suivante. Mais pour l'instant,
continuons ici, nous lâchons l'arme. Et pensez également à le
retirer de l'inventaire. Je vais prendre cet
inventaire ici, le coller ici et dire « Supprimer l'article ». Supposons supprimer
un article comme ça. Nous allons maintenant sélectionner l'
élément que nous voulons supprimer. Il s'agit de cette arme
ou de cet objet d'inventaire. Nous le retirons maintenant de l'inventaire, car
si vous ne le faites pas,
il est toujours
dans l'inventaire. Si vous le laissez tomber par
terre, nous ne devons
pas oublier de mettre également à jour le
type d'arme équipée. Faites glisser le pointeur à partir d'ici et dites «
définir, équiper, type d'arme ». Pour l'instant, réglons-le simplement
sur désarmé. Nous pourrons le modifier plus tard
si vous avez un pistolet ou quoi que ce soit d'autre en ce moment,
lorsque vous lâchez l'arme, réglons-le simplement sur désarmé Et c'est tout. Maintenant, tu es
en train de lâcher l'arme. Nous en avons maintenant terminé
avec celui-ci. Cependant, nous devons encore créer
cette fonction de représentation et de notification. Faisons-le dans
la prochaine leçon.
106. 8.21 Notifier aux représentants de l'arme de largage: Bien, ouvrons l'
arme pour faire perdre de la réputation, prévenir. Si vous ne vous souvenez pas de
ce que nous avons fait, vous pouvez toujours revenir
à l'arme évoquée Ici, vous avez
supprimé la simulation physique, vous avez supprimé la collision pour l'arme parce que vous la tenez
maintenant dans votre main et vous avez également supprimé la collision par sphère de
collision. Vous pouvez en revanche, si nous
revenons à notre arme lâchée, nous devons d'abord détacher
l'arme de la main Parce que souvenez-vous que dans
les armes pillées, vous les avez attachées
au personnage Ce que nous devons faire d'abord, c'est
prendre cette arme pour la lâcher. Nous devons dire détacher. Et vous pouvez sélectionner celui-ci. Détachez-vous de l'acteur. Maintenant tu es en train de détacher
ce truc, cette arme à larguer
à cet acteur. Conservons l'emplacement, rotation et l'échelle nécessaires pour que le
monde reste là où il se trouve
actuellement dans le monde. Il conserve simplement l'
emplacement et ainsi de suite. Tout le contraire
des armes pillées. Supposons que
nous définissions d'abord la collision car nous ne pouvons pas
simuler la physique. Si vous ne définissez pas correctement
la collision, activons-la C'est
en fait l'arme. Si vous revenez en arrière, si
vous ne vous en souvenez pas, retournez
toujours à
la base d'armes, vérifiez ce qui doit entrer en collision. N'oubliez pas que c'est l'arme qui
a besoin de cette collision ici. En fait, nous devons prendre ceci
et prendre l'arme en premier, la variable d'arme, l'obtenir. Ensuite, nous pouvons dire définir la collision activée ici. Connectons-le. Souvenez-vous que la collision n'
était qu'une question de physique. Nous n'avons pas besoin de requête pour ce
maillage ici, uniquement en physique. Et nous devons également
simuler la physique. Et c'est ce que nous faisons avec l'arme. N'oubliez pas que si vous revenez en arrière
et que vous cliquez sur l'arme, c'est ici que vous
simulez la physique. Il ne figure pas dans les valeurs par défaut de la classe. Il faut sortir de l'arme et dire simuler la physique. Et sélectionnez ce Dieu,
connectez-le et activez la physique. Allez-y et prenez quelques
notes de redirection pour le rendre plus agréable. OK, maintenant nous simulons
la physique et
certaines collisions sont également activées. Maintenant, n'oubliez pas que vous avez également
désactivé la collision. Si je reviens à l'arme pillée, vous avez également désactivé la collision
pour la sphère de collision, vous devez prendre celle-ci et vous devez prendre la variable sphère de
collision Vous descendez en bas, prenez la
sphère de collision, puis vous
activez à nouveau une collision, puis vous sortez et vous la sélectionnez. Et oui, juste comme ça. Vous devez maintenant définir la
collision sur requête uniquement, car la collision est en fait une requête uniquement pour la sphère de collision. Vous pouvez le voir ici. Requête uniquement, nous devons le configurer sur Query only. Je pense que c'est la seule
chose que nous devions faire. Nous allons le tester.
Voyons si tout fonctionne. Si nous
avons une boîte à réparer, incarnons les terroristes. Maintenant, si je lance
l'arme à haute voix, par exemple sur l'AK,
et que je clique sur G , vous pouvez voir
qu'elle tombe par terre. Juste comme ça. Génial. Jouons à la première personne, pour que je puisse mieux voir les choses. Je vais cliquer
sur mon bras à ressort
pour accéder à la base de joueurs
et le mettre à zéro. Jouons à la première personne. Passons maintenant à ce K.
Maintenant que je le tiens, j'appuie dessus pour le faire tomber. Maintenant, vous pouvez voir
qu'il est au sol. Génial. Essayons de prendre celui-ci ici et de le
déposer par terre. Maintenant, vous pouvez voir que nous avons un dollar. Je ne pense pas que ce soit invisible parce que vous ne pouvez pas le
voir sur mon dos. Je me demande ce qui se passe. Prenons le printemps.
Je vais le régler à 600
pour voir ce qui se passe. Et il ne s'agit en fait
que du M quatre. Vous pouvez donc voir que le pistolet
fonctionne correctement. Le K fonctionne également
correctement. Il ne se passe
rien d'autre que le M quatre. Je le charge correctement
la première fois. Cependant, si je le laisse tomber
et que je marche dedans,
oh, il est en fait en dessous de moi. Tu peux le voir sur mes pieds. C'est là. Réparons
rapidement à cela. Je pense que nous devons
réinitialiser l'emplacement. Si vous allez voir le représentant, prévenez de
l'arme pillée. Chaque fois que vous récupérez une
arme, vous devez la réinitialiser, transformer.
Faisons-le ici après avoir attaché le composant
au composant racine. Ce que je peux faire ici, c'est prendre l'arme et je
peux juste dire qu'elle est réinitialisée. Et vous pouvez voir ce on appelle réinitialisation, transformation
relative. Cela va réinitialiser la transformation de cette arme ici, dans le plan Comme il ne suffit pas rattacher au composant
racine, nous devons également en réinitialiser
la transformation Compilons et jouons pour
voir si cela résout notre problème. J'en prends quatre, je les laisse tomber. J'en prends encore quatre, et maintenant vous pouvez voir
que cela fonctionne correctement. Si je reviens avec mon
bras à ressort, mets-le à zéro. Incarnez un terroriste dès maintenant. Je peux maintenant le prendre en
quatre et le laisser tomber. Je peux le reprendre.
Je peux le laisser tomber. Vous pouvez voir maintenant qu'il
fonctionne correctement. C'est un bon mécanicien qui
doit d'abord sortir de
la sphère de collision
avant de pouvoir à nouveau piller. Parce que vous pouvez
imaginer que si vous la laissez tomber et que vous n'avez pas
cette fonctionnalité, vous continuez à piller l'arme Lorsque vous le déposez en dessous de
vous, vous devez sortir
et rentrer à nouveau et tout fonctionne
parfaitement, d'accord. La dernière chose que nous
avons également oubliée,
ou que j'ai oubliée, c'est de
rompre la boucle. Parce que si vous trouvez
l'arme ici, nous
devons vraiment rompre la boucle. Nous devons le prendre et le refaire jusqu'
au bout pour le casser. Et double-cliquons pour rediriger les nœuds afin de leur
donner une meilleure apparence Parce que maintenant, si nous
trouvons l'arme, nous devons arrêter la boucle. Nous n'avons pas besoin d'en lire plus car nous avons déjà
trouvé les résultats. Nous devons le sortir
de la boucle. Cela le rendra
plus optimisé. Maintenant compilons et
cliquons sur Play. Et jouez le chara juste pour vérifier si tout
fonctionne correctement. Maintenant, nous pouvons voir que tout fonctionne bien avec
le pistolet également. Tout fonctionne
bien également. Parfois, vous
recevez une erreur si
vous lâchez l'arme alors que
vous n'
avez rien ici. Au lieu de simplement
lâcher l'arme, nous devons vérifier si vous
en avez réellement une ou non. Nous devons prendre ce type d'
arme équipée et nous demander si c'
est équivalent à une arme non armée En fait, on peut dire que ce n'
est pas égal ? Ce sera bien mieux. Si ce n'est pas égal à désarmé, vous pouvez
lâcher l'arme S'il n'est pas armé, vous n'avez
rien en main et cela n'a aucun sens
de lâcher l'arme S'il n'est pas désarmé, vous pouvez
lâcher l'arme, ce qui
l'améliorera beaucoup Et retirez également
une boîte que vous pourriez avoir plus tard si
vous lâchez l'arme. Et vous pouvez voir maintenant
que tout fonctionne comme prévu. Cependant, ne vous laissez pas trop tromper car essayons maintenant de le
jouer en tant que client Maintenant, si je jouais en tant que
client en tant que terroriste, maintenant si je tombe sur une arme, vous pouvez voir qu'elle est correctement
localisée. Et si je clique sur G
pour lâcher l'arme, d'accord, tout va bien. Cependant, si je vais le piller
à nouveau, vous verrez que je tiens quelque chose et que je
tiens réellement l'arme Cependant, il est toujours
sur le terrain. Que se passe-t-il ? Ce bogue se produit parce que le
représentant envoie des notifications Si je vais dans la
base de joueurs, le représentant m'informe
qu'il n'est appelé que si
la valeur change Par exemple, ici, si
je perds l'arme ici, disons que je fais allusion à l'
arme. OK, sympa. J'ai défini cette variable, ce représentant indique qu'elle
est réglée sur pistolet Maintenant, si je le
laisse tomber, revenons au jeu. Si je le dépose ici, si j'alloue les quatre, d'
accord, c'est sympa de le déposer Si je vais au
pistolet, ça marche bien. Tu peux voir que je peux le faire. Cependant, je ne peux pas perdre deux fois la
même arme. C'est le cas, mais quand
j'entre dedans, vous pouvez voir que ça fonctionne et qu'il y
a quelque chose de bizarre.
En effet si c'est la même valeur qui est entrée ici
que la dernière fois, elle n'
appellera en fait pas de fonction de notification de représentation La fonction rep notify ne
sera pas appelée s' il
s'agit exactement de la même valeur
que celle que vous avez saisie ici Et cela va avec tout. Par exemple, supposons que vous disposiez d'une variable vectorielle et que
vous en définissiez une Supposons que vous définissiez
l'emplacement de l'arme. Supposons que vous définissez
l'emplacement de l'arme et que vous la
fassiez passer par une notification de représentant Disons que l'
emplacement de l'arme doit être 000 et que vous l'avez branchée ici Maintenant, la prochaine fois
que vous l'
exécuterez et que l'emplacement de
l'arme sera exactement le même, de notification par les représentants ne sera pas cette fonction de notification par les représentants ne sera pas
exécutée La
fonction de notification par représentant ne s'
exécute que si vous
modifiez la valeur Supprimons celui-ci ici. Supprimons ce
que nous venons de créer sur la position de l'
arme représentative. Ce que nous devons faire ici, c'est
changer cela. Faisons-le réellement
dans la prochaine leçon.
107. 8.22 Réinitialiser la valeur Notify Rep: Très bien, réinitialisons maintenant la fonction de notification des représentants
pour qu'elle fonctionne correctement. Donc, ce que nous pouvons faire
ici maintenant, c'est vous
qui utilisez cette arme larguée. Vous l'exécutez correctement. Maintenant, réinitialisons-le ici. Lorsque la boucle est terminée
et que tout cela est terminé, redéfinissons cette valeur. Donc, la prochaine fois que nous le
définirons, même s'il s'
agit de la même valeur, il exécutera cette notification, car nous l'avons réinitialisée
auparavant. Ici, ce que je
dois faire,
c'est lâcher cette arme. Allons prendre ça ici.
C'est ici, l'arme à lâcher.
Allons l'emporter ici. Laissez-nous nous connecter au complet. En fait, c'est la
seule chose que vous devez
faire si vous n'insérez
rien dans cette valeur, cela supprimera toutes les informations
qu'elle contient et réinitialisera
cette variable ici. Ce que nous pouvons faire maintenant, c'est qu'il y
aura un petit bogue, et vous le
verrez probablement aussi. Maintenant, si nous cliquons sur
Play, je prends ceci, je le laisse tomber, vous pouvez voir
qu'il est maintenant en l'air. Nous le récupérons correctement. Cependant, il est toujours dans l'air. C'est vrai, laisse-moi juste
fermer ça. C'est parce que vous exécutez toujours cette
fonction ici. Et en même temps, vous
réinitialisez cette variable. Nous devons en fait
lui accorder un petit délai pour lui donner une chance de
jouer à cette fonction de notification. Avant de le réinitialiser.
Permettez-moi de retarder par quelque chose de très petit, comme 0,1, puis nous
pourrons réinitialiser cette variable. Compilons, jouons
et voyons ce qui se passe. Maintenant, si je joue le rôle d'un terroriste, je le prends et je le laisse tomber. Vérifiez que cela fonctionne correctement.
Si je le récupère. Maintenant, il y a toujours une
erreur et nous
devons faire de même
pour le luth. Maintenant, il est écrit que X n'essaie pas de lire la propriété de l'arme à
lâcher de l'acteur. Maintenant, ce que nous devons faire ici,
car lorsque nous l'exécutons, souvenez-vous que lorsque vous exécutez
une fonction de notification de représentation, vous modifiez la
valeur même si vous y mettez zéro Même si vous videz, vous modifiez toujours la valeur Et il gérera réellement
tout cela. Encore une fois, la façon dont nous pouvons faire est de cliquer avec le bouton droit sur
cette arme pour convertir en
un get validé et connecter ici
chaque fois qu'elle est valide. Nous pouvons continuer,
connecter et exécuter ce code chaque fois qu'
il n'est pas valide. Cela signifie qu'ici, chaque fois que nous ne branchons rien ici, cela le rend non valide et nous ne faisons rien
s'il n'est pas valide. Compilons et voyons si cela résout
réellement les problèmes. Avant de continuer,
je peux le déposer ici, y entrer, et vous
verrez qu'il est toujours invisible et que nous devons
vider l'autre variable. Cependant, vous pouvez voir que nous
n'avons aucune erreur, elles sont
donc corrigées.
Retournons en arrière. Passons maintenant aux
armes pillées. Nous devons également
réinitialiser celui-ci. N'oubliez pas que cette variable est également définie sur la même variable car vous pillez le pistolet
encore et encore Maintenant, ce que nous pouvons
faire ici, n'oubliez pas que celui-ci n'est pas vide Nous vérifions
donc si la gamme d'armes qui
se chevauchent est vide ou non. S'il est vide, on place à
nouveau l'arme à butin, ici Encore une fois, je peux dire retarder de 0,1 seconde pour lui donner
une chance de jouer. Chaque fois que c'est fait, je peux prendre cette arme
pillée configurer comme ça et vider
les valeurs qu'elle contient. N'oubliez pas d'y revenir
et de vous assurer que cela est valide
chaque fois que vous le faites Cliquez avec le bouton droit de la souris sur Convertir en un get validé,
comme avant. Uniquement lorsqu'il est valide. Nous voulons exécuter le code
car s'il n'est pas valide, nous ne voulons rien faire. Laissez-nous compiler, tout enregistrer. Permettez-moi de cliquer sur jouer maintenant,
et cela devrait fonctionner. Si je joue le rôle d'un terroriste, je lâche l'arme,
je pille à nouveau. Vous pouvez voir qu'il est correctement
pillé. Si je le laisse tomber encore beaucoup, vous pouvez voir maintenant qu'il
fonctionne parfaitement. C'est correct. Maintenant, il
fonctionne en tant que client. Et si je joue au serveur d'écoute du
jeu. Donc, si je joue en tant que serveur
et en tant que client. Voici maintenant mon serveur. Je vais apparaître. Et voici mon client. Je vais aussi apparaître. J'ai fait allusion au pistolet en tant que client et vous pouvez
le voir ici sur le serveur, et si le serveur perd K par exemple, vous
pouvez le voir également Si je le laisse tomber, j'ai fait allusion, vous pouvez voir que vous pouvez le voir sur les deux écrans
ici en tant que client, je peux supprimer ce lot, tout fonctionne correctement Si j'ai fait allusion à l'information, elle est également correcte OK. Tout est
correct, ça a l'air bien. Maintenant, il y a un petit problème. Si je vais voir le joueur et
que le joueur laisse tomber l'arme, vous pouvez voir que je
tiens maintenant l'arme. Cependant, en tant que joueur, en tant que client, je
ne vois rien. Mais en tant que serveur, vous pouvez le
voir, je peux voir le K. Que se passe-t-il
maintenant ? Vous pensez peut-être qu'il s'agit
d'un problème de réplication, car en tant que serveur, je peux
voir les informations correctes, mais en tant que client, je ne peux pas
voir les informations correctes. Il s'agit peut-être d'un problème
de réplication. Comme vous pouvez
voir sur le sol, je peux vraiment voir l'arme. Il y a quelque chose qui ne va pas. Maintenant, je ne soupçonne aucun
problème de réplication. En fait, je peux voir l'
arme au sol. S'il s'agissait d'un problème de réplication, l'arme devrait être sur mon dos. Parce qu'alors il pense
que j'ai déjà quelque chose en main et qu'il me
poserait mon Ak sur le dos. Mais pour une raison étrange, l'arme est
en fait au sol et la voici dans ma main. Le problème est
très probablement que vous êtes en train de
piller l'arme En tant qu'autre joueur, vous êtes
en train de piller
l'arme avant d'avoir eu l'
occasion
de jouer tout ce code dans l'arme larguée Faisons-le réellement
dans la prochaine leçon. Réglons ce problème.
108. 8.23 Booléen de l'interaction avec les armes: Pour nous assurer que nous ne pouvons pas
interagir avec cette arme tant qu'elle n'est pas terminée et qu'
elle n'a pas été réinitialisée. Ensuite, nous
voulons vraiment interagir avec l'arme, car à l'
heure actuelle , les joueurs interagissent
avec elle beaucoup trop vite. Allons à la base d'armes. Et à l'intérieur, je vais
créer une nouvelle variable. Disons que cela peut
être interagi. Transformons-en un lingot. Passons maintenant à la base de joueurs. Faisons en sorte que vous puissiez
interagir avec lui par défaut. Si nous cliquons simplement
sur ce lingot, je vais le définir sur true default. Ce que nous pouvons faire maintenant,
c'est aller voir le joueur. Maintenant, je ne veux pas qu'il
interagisse avec lui. Une fois que nous aurons trouvé cette arme et
que nous voudrons la lâcher, je la
retirerai. Nous avons maintenant cette arme. Je vais juste faire le double ici. Et à partir de
là, je peux dire et être interagi avec moi et nous
pouvons le définir comme faux Maintenant, nous n'avons pas besoin de le reproduire et la raison en est que
nous le faisons simplement
passer par le serveur Parfois, vous pensez que
vous reproduisez des choses, parfois vous ne
répliquez pas De quoi ai-je réellement
besoin pour répliquer Si vous avez besoin de certaines variables que vous utilisez uniquement
pendant les fonctions du serveur, pas nécessaire
de
les répliquer Vous définissez si cela peut
être interagi avec ou non. Si vous utilisez ces
informations dans les fonctions
du serveur uniquement pour faire preuve logique et que les autres joueurs n'ont pas besoin de les connaître, vous n'
avez pas besoin de les reproduire Cependant, si vous voulez
autre chose, par exemple, quelle arme
équipez-vous si vous l'utilisez, vous pouvez voir
le type
d'arme équipée ici En fait, je l'utilise ici où le client exécute également le code. Maintenant, si cela n'est pas reproduit, cela donnera une
ère au client Cependant, il se peut que
si je l'utilise ici où se trouve également
le client, je doive le reproduire Mais comme je ne l'utilise que
dans la logique du serveur, je n'ai pas
besoin de le reproduire C'est comme un
truc interne. Tu peux le sauvegarder maintenant. Maintenant, je ne peux plus interagir avec
l'arme ici. Chaque fois que c'est terminé, je veux définir ma capacité d'interaction avec laquelle je peux interagir
avec elle comme vraie Nous devons maintenant le définir avant
celui-ci, car n'oubliez pas que vous
supprimez la variable. Avant de supprimer la
variable, nous devons l'utiliser. Supposons qu'il soit
possible d'interagir avec cela. Et je vais le définir sur
true car maintenant nous
pouvons interagir avec elle et ensuite nous voulons supprimer cette variable. Vous
ne voulez pas le faire ici car vous
supprimez la variable, celle-ci ne serait donc pas valide. Maintenant, c'est le supprimer. Maintenant, ce que nous devons
faire, c'est nous rendre à la base d'armes ici. Nous devons également écrire ici que si vous ne pouvez pas
interagir avec elle, ne faites rien après l'autorité. Faisons la
grève à partir d'ici. N'oubliez pas que nous n'avons pas
reproduit cette variable. Si nous écrivons quelque chose ici, cela nous donnera une ère
depuis que nous l'écrivons Une fois que le switch aura autorité, nous ne
l'utiliserons
donc que sur le serveur, alors tout ira bien, nous
n'avons pas besoin de le reproduire Supposons qu'il soit
possible d'interagir
avec cela et créons une branche Disons,
peut-on interagir avec cela ? Si c'est possible,
lancez le code. Si ce n'est pas possible, je vais
retarder le code de 0,1 seconde, disons. Ensuite, je
vais recommencer. Je continue donc à
parcourir ce code en boucle. En fait, je vais
organiser ça un peu plus. Donc, en gros, ce que
je fais ici ,
c'est
parcourir le code en boucle pour m'
assurer que je peux interagir avec mon arme avant de créer un code
d'interaction Alors laissez-moi juste essayer de organiser ici,
laissez-moi le préciser. Alors maintenant, ce que je dis
essentiellement, c'est
allez-y , jetez un œil et voyez s'il est possible d'
interagir avec cela Si c'est possible, lancez le code à l'
avance. Si ce n'est pas le cas, je vais
boucler ou retarder le
code de 0,1 seconde. Ensuite, je vais y
retourner et vérifier s'il est
possible d'interagir avec cela Je continue à le parcourir
en boucle et j'attends cela soit vrai, car
chaque fois que vous lâcherez l'arme, cela se produira très rapidement Vous ne
remarquerez donc même pas celui-ci. Ne vous inquiétez pas,
cela ne nuit pas aux performances car cela
va se terminer très rapidement. Et ça ne va pas
fonctionner plusieurs fois, parce que celui-ci va
se réaliser très vite. Donc, celui-ci ne fonctionne
pas plusieurs fois. Ne vous inquiétez donc pas pour ça. Essayons de cliquer sur
jouer maintenant et de voir ce qui se passera si je joue alors que le
terroriste maximise le jeu. Je pille quelque chose et je clique dessus, vous pouvez voir que je le
pille instantanément Et c'est le problème
que nous avons actuellement. Si je lâche l'arme
très rapidement,
je continue à la piller parce qu'elle va
vraiment lâche l'arme
très rapidement,
je continue à la piller parce qu'elle va là et vérifie si je peux
interagir avec elle Même si je suis
le même joueur, le même joueur qui lâche l'
arme peut interagir avec elle C'est donc quelque chose que
nous devons corriger. Cependant, à
l'heure actuelle, le code fonctionne. Nous ne pouvons interagir avec elle que chaque fois que cela est passé. Le fait qu'il soit invisible ne nous
apporte donc aucune boîte. Passons donc à
la leçon suivante.
109. 8.24 Supprimer l'interaction de Dropping Player: Très bien, nous devons maintenant
écrire un peu de code ici
avant que cela puisse fonctionner. Parce que nous
voulons nous assurer que le joueur lâche
l'arme en ce moment, nous voulons nous assurer
que le joueur qui laisse tomber ces informations ne les
pille Encore une fois, nous voulons juste que l'
autre gars pille les informations. Nous ne voulons pas interagir
avec elle tout de suite, sinon vous continuerez à la piller Nous devons définir
l'arme larguée. Permettez-moi d'organiser
un nouvel événement pour les clients. Et appelons ça une arme larguée
en un seul set. Et faisons-le à nouveau passer par
le serveur. Ensemble de serveurs abandonné. Nous devons ensuite l'
exécuter sur le serveur en étant fiables
et nous devons le faire fonctionner comme d'habitude
ici, à savoir installer une arme larguée. OK, ici en bas, il suffit de définir cette variable. Je vais juste cliquer ici, ajouter une nouvelle variable. C'est juste la base d'armes
parce que nous avons besoin de l'arme. Appelons ça une arme
larguée. Connectons-le également ici. Pour celui-ci,
transformons-le en variable et disons arme
larguée. Maintenant, je ne pense pas que nous ayons
besoin de le reproduire,
car je pense que nous n'avons qu' à le faire
passer par le serveur Mais je ne peux pas vraiment
le déterminer pour le moment. Faisons le code et plus tard, si nous l'utilisons également
dans le client, nous devrons le reproduire Pour l'instant, ne le
répliquons pas. J'aime que les choses ne soient pas répliquées lorsqu'elles n'ont pas
besoin d'être répliquées Car n'oubliez pas que plus vous reproduisez d'
informations, plus votre jeu sera lent Parce que vous
envoyez
des informations du serveur au client. Plus vous
envoyez d'informations, moins les performances diminuent. Veillez simplement à ce que les choses ne soient pas répliquées
chaque fois que vous le pouvez. Nous avons maintenant cette arme larguée. Maintenant, lorsque vous pillez des objets ici, lorsque vous interagissez
avec eux dans la base d'armes, nous devons nous assurer que vous ne pillez pas l'arme larguée Ce que je dois faire, c'
est de la part du joueur, avant de faire tout ça,
je peux le faire disparaître. Avant de faire tout cela, je peux prendre ça et dire abandonné. Nous prenons ça ici. Si l'arme lâchée
est égale à moi, cette arme, j'essaie de
la récupérer en ce moment Si c'est égal,
ne faites rien. Si ce n'est pas égal, supprimons simplement
ceci et disons « pas égal ». Ce sera mieux
pour la lisibilité. Si l'arme larguée n'
est pas égale à l'arme avec laquelle j'
essaie d'interagir en ce moment, nous pouvons
alors la piller Cependant, si c'est pareil, ne
faites rien. À l'heure actuelle, nous n'avons pas
défini l'arme larguée. Faisons-le
réellement. Permettez-moi de dire ceci. Permettez-moi de revenir à la base de
joueurs ici. Chaque fois que nous lâchons l'arme, définissons l'
arme et définissons-la. Permettez-moi d'appeler cet
événement ici. Placez une arme larguée,
laissez-moi simplement l'appeler ici. Et l'arme larguée
est simplement celle-ci. Vous pouvez simplement appeler celui-ci ici. Et
rapprochons-nous les choses, comme avant. Compilons et
sauvegardons tout. Très bien, maintenant nous
pouvons l'essayer. Cliquons sur Jouer et
incarnons un terroriste. Maintenant, si je pille
quelque chose et que je le fais, vous pouvez voir que je n'
interagis pas avec lui Le problème lié au
largage de cette arme
est toujours le même. Je ne pourrai donc plus
jamais perdre cette arme. Nous devons le retirer à tout moment. Vous pouvez voir ici que chaque fois que
je le charge et que je le laisse tomber, je reviens ici, vous
pouvez voir que je ne peux pas le charger. Cependant, chaque fois que nous quittons
cette sphère de collision, je dois réinitialiser cette variable d'arme
larguée. Nous pouvons le faire à nouveau dans la base
d'armes. N'oubliez pas que nous utilisons l'option « on
component begin overlap ». Maintenant, ce que nous pouvons utiliser si vous cliquez nouveau
sur la sphère de collision et que vous descendez, vous pouvez utiliser celle-ci pour
le chevauchement des collisions. Vous pouvez maintenant l'utiliser pour supprimer la définition de
l'arme larguée. Maintenant, ce que nous pouvons faire,
c'est comme avant, copions. Cet acteur a un joueur
technique parce que
nous voulons nous assurer que c'est le joueur qui sort
de cette sphère de collision. Connectons-le à nouveau. Switch l'a fait parce que
nous voulons nous assurer que c'est le serveur qui gère tout cela
pour empêcher la triche. La seule chose que nous voulons
faire, c'est régler l'arme larguée de la même manière
que réinitialiser la variable. Prenez ceci et dites «
obtenir des informations sur le joueur ». Ou obtenez une référence de joueur. En fait, pas d'informations, obtenez référence
du joueur.
Connectons-le. Appelons le set «
arme larguée » et réduisons-le à zéro. Nous sommes juste en train de réinitialiser la
variable. C'est bon, c'est ici. Compilons et
sauvegardons tout. Et essayons-le
de se battre. Cliquez sur jouer et je
place le terroriste. Maintenant, je rencontre le. En quatre, je le laisse tomber, je n'en ai plus, je tombe dessus. Maintenant, vous pouvez voir qu'il
fonctionne parfaitement. Je ne le pille pas instantanément, je ne le pille que chaque fois que je
quitte cette sphère d'interaction Et je le saisis à nouveau. Je peux piller l'arme. Essayons maintenant de cliquer sur jouer. Et jouez à deux. Maintenant, si je minimise ce client, c'est
en fait le serveur. Jouons en tant que client et
en tant que client. Je peux les piller en quatre. Le serveur a une belle
apparence. Je peux le laisser tomber. Ça a l'air correct. Je
peux le piller à nouveau. Ça a l'air correct. OK. Je peux essayer de te donner
cette arme ici. Je vais le laisser tomber.
Ce type le pille maintenant Je peux le laisser tomber auprès de ce type. Maintenant, je ne peux pas vraiment le piller. Parfois, ça bogue, vous
pouvez voir parfois quand je le
laisse tomber. Je ne le perds pas instantanément. C'est la
sphère de collision, vous pouvez la voir ici. Je ne peux plus le piller. J'essaie d'y entrer. Je ne peux pas le piller
ici en tant que serveur. Cela est dû au fait que l'autre joueur se tient debout dessus et c'est l'autre joueur qui se tient
dessus qui subit la collision . Chaque fois que le nouveau joueur essaie de se connecter
ou d'interagir avec
lui, il ne
fait rien. À l'heure actuelle, le problème avec ce chevauchement initial,
c'est qu'il ne s'agit que
d'un joueur. Si plusieurs joueurs se chevauchent dans cette sphère de
collision, cela dérange un peu Nous devons également régler ce problème. Vous pouvez voir que nous avons
beaucoup de choses à corriger et c'est tout simplement
la nature des jeux. Vous avez toujours des problèmes
à régler, mais c'est vraiment bien
quand tout fonctionne et que tout
est écrit. Passons maintenant à
la leçon suivante et continuons à
améliorer le code.
110. 8.25 Amélioration de l'interaction avec les joueurs d'arme: Très bien, bon
retour. Améliorons maintenant ce code pour
nous
assurer que même si plusieurs joueurs interagissent avec la sphère de collision, il
en tienne compte lorsque nous nous assurons de pouvoir
interagir avec cette arme. Maintenant, au lieu de simplement
le faire ici, permettez-moi de faire glisser ce code. Permettez-moi de
le faire glisser vers le bas, puis laissez-moi le faire glisser de cette façon afin que nous ayons plus d'
espace de travail. La façon dont vous interagissez avec
plusieurs choses est d'écrire cliquer » et de dire « obtenir des acteurs
qui se chevauchent Vous avez maintenant tous les acteurs
qui se chevauchent. Je peux obtenir tous les joueurs
qui se chevauchent. Ici, qui se chevauche, c'est la base de joueurs C'est la
base de joueurs, ce qui signifie que tous les joueurs sont
là pour ce match. Maintenant, je peux demander si la longueur est supérieure à un ou si la
longueur est réellement d'un. Je peux en déduire que c'est long. Je peux demander si c'
est plus d'un. Parce que s'il n'est pas
supérieur à un, cela signifie qu'il n'y a qu'un seul
joueur qui interagit avec lui. Il s'agit d'une information cruciale. S'il est supérieur à
un, je peux faire quelque chose. Cependant, s'il
n'est pas supérieur à un, je peux le prendre et
obtenir le premier index, c'est-à-dire juste ce
joueur, celui-ci. Et je peux maintenant
le connecter à celui-ci. Au lieu de le prendre
à cet autre acteur, je peux maintenant le prendre à
ce joueur qui se chevauche Et je peux le connecter
ici s'il est inférieur ou inférieur à un, ce qui signifie qu'un seul joueur interagit avec
cette sphère de collision. Je peux placer ce joueur
ici à partir de l'indice zéro, et je peux connecter ce
joueur ici. OK, donc ça
fonctionne parfaitement. Mais que se passe-t-il si nous
avons plusieurs joueurs ? Pour le moment, je suis juste en train de vérifier
s'il s'agit d'un joueur. Donc, si plusieurs joueurs se chevauchent dans
cette sphère de collision, je dois les examiner Je peux dire que je peux prendre tous ces acteurs qui
se chevauchent. Ou chaque boucle avec pause. Je veux m'assurer que
celui qui a lâché
l'arme n'interagit pas avec l'arme que j'
ai au sol. Je peux le connecter Maintenant, je peux prendre à partir d'ici et dire «
obtenir la référence du joueur ». Maintenant, pour chacun de ces joueurs, je peux
prendre l'arme lâchée. Je peux me demander si cette arme
lâchée est destinée joueur que je suis en train de jouer en boucle au joueur que je suis en train de jouer en boucle en ce moment, n'
est-elle pas égale ? En fait, nous écrivons simplement
le même code qu'ici. Si elle n'est pas égale à l'arme que j'
essaie de piller en ce moment, alors je peux continuer
et piller l' Je passe en revue chaque joueur en boucle. J'essaie de trouver le joueur qui n'a pas encore
lâché son arme. Si c'est vrai,
permettez-moi de cliquer ici et de
les promouvoir en tant que variable Et appelez ce joueur
qui interagit. Laissez-moi le régler ici. Allez-y, configurez
une prise de notes de redirection pour
lui donner une bien meilleure apparence Maintenant que nous avons
défini cette variable, ce que nous pouvons faire est
maintenant complet.
Lorsque je trouverai mon joueur en interaction, je veux la prendre
et rompre la boucle. N'oubliez pas de toujours
rompre la boucle pour ne pas avoir de boîte ici. Votre code sera également beaucoup plus optimisé car vous
ne parcourez pas tout en boucle. Je casse le code, je
brise la boucle. Maintenant, j'ai le joueur
qui interagit. Ce que je peux faire maintenant. Nous devons maintenant parcourir
l'inventaire. Parce que nous n'avons pas besoin de tout
gérer ici. Nous l'avons déjà fait ici. Nous devons donc parcourir
directement l'inventaire du joueur qui
interagit. Au lieu de partir d'ici, il suffit que
le joueur qui interagit maintenant parcoure ça ici, un joueur et vous
parcourez ça ici. Ce que vous pouvez faire, c'est simplement
cliquer avec le bouton droit sur celui-ci
et en faire la promotion. Ou emportez-le simplement ici. Il s'agit du joueur qui interagit. Maintenant, s'il ne s'agit que d'un joueur
et qu'il passe par là et qu'il l'exécute
correctement, vous pouvez le faire. Au lieu de faire tout
cela, vous pouvez toujours le prendre d'
ici maintenant et le
brancher ici pour que je puisse déplacer
légèrement mon code afin qu'il ne soit
pas trop foiré Juste comme ça. Maintenant, j' utilise
juste ce
lecteur interactif. Tu peux le prendre et le
brancher ici. En fait,
pas comme ça. Je ne sais pas pourquoi je l'ai réglé, le fais
glisser, je le branche ici. Au lieu de partir
directement de là, maintenant nous utilisons simplement ceci, cette variable que nous avons définie. En fait, je vais supprimer celui-ci et le connecter
à chacun d'eux. Juste comme ça. Ou
ce que tu peux faire. En fait, je vais
l'utiliser plusieurs fois. Je vais utiliser le lecteur
interactif ici. Je vais également le copier
ici sur celui-ci. Et tu n'as pas besoin de celui-ci. Je peux juste le brancher
directement, juste comme ça. Je peux aussi le brancher ici. Je remplace juste
ces notes d'art arrière pour le rendre bien plus beau car celle-ci va
être remplacée par celle-ci ici. Je vais supprimer les notes artistiques de
l'arrière. Et le simple fait de le brancher ici donne une bien
meilleure apparence
qu'avant Maintenant, nous sommes en train de résoudre ce problème en boucle. Nous définissons le joueur
qui interagit, et maintenant nous parcourons l'inventaire en boucle Très bien, maintenant je l'
ai organisé. Maintenant, comme vous pouvez le voir, nous prenons la variable du joueur en interaction et nous l'exécutons
dans le code. Nous nous assurons que c'est le joueur qui interagit qui peut interagir avec tout cela. Essayons ce code.
Cliquons sur jouer. Et incarnons le
terroriste, par exemple. Laissez-moi jouer le rôle du client. Encore une fois, sélectionnez Terroriste. Laisse-moi juste perdre quelque chose. Laisse-moi juste piller ce pistolet. Je vais voir le joueur, je vais le déposer
au joueur. Le joueur
doit le piller Je vais le déposer. Vous pouvez maintenant voir que ce
joueur le pille. Je vais le déposer.
Ce joueur le pille, je vais le récupérer. Maintenant, vous pouvez voir que cela fonctionne et que tout
fonctionne bien. Si je le laisse tomber ici, je ne peux pas interagir avec
lui à moins de sortir de cette sphère et d'y retourner. Cependant, même s'
il est devant moi, ce type peut le piller
sans problème Maintenant, vous pouvez voir
que tout fonctionne correctement. Génial. Maintenant, cela
ressemble plus un jeu qu'à un
simple prototype. Nous nous rapprochons de notre objectif et vous pouvez voir
que tout va bien C'est vraiment amusant à
jouer et ce sera encore plus amusant maintenant si nous ajoutons le tournage, le
rechargement, etc. Comme vous pouvez le constater, tout
fonctionne bien. Si je remarque
des boites dans le futur, je ferai des
vidéos pour les éliminer. Ou vous pouvez toujours visiter Pixel Helmet.com ou
visiter mon serveur Discord Si vous trouvez une boîte
que je n'ai pas remarquée, je la répare toujours et je vous
montre comment la réparer,
mais pour l'instant, nous ne pouvons pas
vraiment en voir une. Tout
semble fonctionner parfaitement. Je vais améliorer
le jeu plus tard. Par exemple, nous pouvons améliorer
tout ce qui nous paraît mauvais. On dirait que c'est un débutant, on
peut toujours les réparer. Ici, je le teste en tant
que serveur et clients. Je peux aussi
le déposer au client. Ils peuvent le déposer d'avant en arrière. Je peux le déposer par terre. L'autre joueur peut y
entrer, le piller. Je peux le déposer ici
en tant que serveur. Le client peut également
le rencontrer et le piller. Vous pouvez voir que nous n'avons pas vraiment
de box pour le moment et que tout fonctionnera
parfaitement dans le futur. Encore une fois, vous pouvez visiter à nouveau mon site Web
ou mon serveur Discord, Pixel Helmet.com, et je
ferai en sorte que si cases apparaissent d'une manière ou d'une autre
pendant le développement du jeu, nous pouvons toujours Mais pour l'instant,
tout fonctionne. Tout est beau.
Passons à la leçon suivante.
111. 8.26 Arme de pillage avec clé du clavier: Allons-y maintenant et ajoutons quelques touches du clavier
pour récupérer les armes Avant cela, je souhaite augmenter
la taille de mon interface utilisateur. Quelqu'un m'a dit
qu'il est difficile de suivre quand mon UIIze est petit Si vous souhaitez également augmenter
le vôtre,
vous pouvez cliquer sur Outils, puis sur
Debug, puis sur Widgit Reflector Je vais l'augmenter à 1.2. C'est peut-être plus facile à suivre
pour vous. Vous pouvez voir que mon interface utilisateur est
plus grande maintenant, faites-moi savoir si cela aide ou si je
dois en revenir à une. fois cela fait,
passons à
la saisie et effectuons une
nouvelle action de saisie, n'est-ce pas ? Encore une fois, vous pouvez le faire
vous-même si vous le souhaitez. Nous en avons déjà fait beaucoup. Cliquons avec le bouton droit de la souris, passons à la
saisie et passons à l'action de saisie. Appelons cela une arme à lot unique. Ensuite, pour celui-ci,
passons
à l' action de
mappage des entrées. Je vais cliquer sur le signe plus en haut et descendre ici et ajouter ce lot d'action de saisie d'
armes. Je vais appuyer sur ma touche Ekey
pour récupérer l'arme. Ici, pour les déclencheurs, je vais le configurer pour appuyer, continuer, enregistrer,
fermer. Revenons-en au joueur. OK, à l'intérieur d'ici. D'ailleurs, nous allons
régler tout cela très bientôt dans le cadre de
quelques leçons. Comme vous pouvez le constater, nous
avons fait beaucoup de choses et nous devons
également nous organiser un
peu avant de continuer. Avant cela,
descendons ici,
cliquons avec le bouton droit de la souris et recherchons
l'arme A lot. Et choisissez cet événement. OK. Ce que je veux faire,
c'est que lorsque j'appuie sur mon EK, je veux perdre l'
arme qui se trouve en dessous de moi. Ce que nous devons faire, c'
est créer une nouvelle fonction car nous en avons déjà
une ici. Laissez-moi voir ici. Nous avons déjà cette arme appelée Lot
Weapon. Ce lot d'armes. N'oubliez pas que
nous ajoutons une arme superposée
à celle que nous appelons
arme à butin En gros, ce n'est pas une arme
à butin directe. C'est plutôt comme si nous
demandions de piller une arme si nous trouvons
une arme qui se chevauche Si je peux la retrouver ici, si je trouve une arme qui se chevauche, alors je pourrai la piller Créons un nouvel événement personnalisé. Et celle-ci, nous allons l'
appeler Request Lot Weapon. Et faisons-le passer par
le serveur de manière fiable. Et appelons-le ici
lorsque nous appuyons sur la touche Ekey. Appelons SRV
Request Lot Weapon. OK, donc nous
allons d'abord vérifier si nos armes
se chevauchent parce que nous ne voulons pas
jouer le code. Si nous sommes là et que nous n'
avons aucune arme sous nous, cela n'aurait aucun sens. Faisons un clic droit et disons-le. Des acteurs qui se chevauchent. Et passons
celui-ci à la base d'armes. Nous veillons à ce qu'il y ait
chevauchement avec une arme. Partons d'ici
et disons que ce n'est pas vide de sens. Cela vérifie simplement
qu'il s'agit bien une
arme
qui se chevauche. Au moins. Frappons ici
, créons une branche, et connectons-la. Lorsque nous avons une arme ici, si elle n'est pas vide, cela signifie que nous sommes en train de chevaucher
une arme Nous devons vérifier si nous
avons déjà cette arme
dans l'inventaire. Parce que si vous
tenez déjà cette arme votre dos
ou dans votre main, vous devez laisser tomber
votre arme actuelle. Vous ne pouvez pas avoir deux pistolets à la fois et vous ne pouvez pas avoir
deux fusils à Vous pouvez bien sûr le faire pour votre propre jeu,
mais pour le jeu
que nous sommes en train de créer, vous ne pouvez avoir qu'
un seul fusil, pistolet, grenade ou couteau ou
autre pour celui-ci Disons qu'ici, essayons de le
trouver dans notre inventaire. N'oubliez pas que nous sommes déjà
en train de faire tout cela. En fait, je
vais juste prendre ça et tout copier ici. Je vais le copier ici et le coller ici parce que nous faisons l'
inventaire, puis nous vérifions si
nous avons déjà cette ici parce que nous faisons l'
inventaire, puis vérifions si
nous avons déjà arme dans
ce type d'
arme.
Pour ce type d'arme ici, c'est simplement l'arme
que nous chevauchons Je vais donc faire glisser le texte à
partir d'ici et dire « oui ». Et ensuite, obtenons-en une copie. Et nous allons juste obtenir
l'index d'un. Si
plusieurs armes se chevauchent, nous obtenons simplement l'indice zéro et nous
allons le vérifier ici OK, donc ce que nous devons faire, comme avant, nous devons
tirer le nom de celui-ci. Nous ne pouvons pas vraiment dire le nom de l'
arme pour le moment et obtenir cette variable,
car celle-ci, si vous maintenez la souris
dessus, n'est qu'une référence générale à un objet
acteur. Tu te souviens de celui-ci ?
Il s'agit du BP, objet basé sur
une arme
ou de la référence à l'objet. Donc, si vous n'avez qu'
un général à référencer, vous devez d'abord en faire
cette base d'armes. Pour celui-ci, nous devons
obtenir la référence de l'arme. Je ne pense pas que nous l'
ayons fait ici. Dans les interfaces que nous n'avons pas encore
créées, obtenez la référence des armes. Encore une fois, essayez de le faire
vous-même, car nous l'avons déjà fait,
juste pour vous entraîner. Essayez de faire en sorte qu'une fonction
obtienne une référence à une arme et
essayez de l'utiliser ici. OK, si tu ne t'en souviens pas,
faisons-le ensemble. Cliquez avec le bouton droit de la souris, accédez à Blueprint et choisissez l'interface
Blueprint Appelons cela une
base d'armes. Ouvrons-le. Disons obtenir l'arme
F. Maintenant, compilons. Ici, vous devez sélectionner
l'
Eva à laquelle vous essayez
de faire référence. J'essaie de faire référence à la base d'armes, de la sélectionner
et de l'appeler arme. Compilons et
sauvegardons tout. Retournons ici. Laisse-moi réfléchir aux armes, ouvrons la base d'armes. Passons maintenant aux paramètres
de classe et ajoutons l'interface appelée
Weapon Base. Allez-y et sélectionnez Compiler. Et maintenant, vous pouvez l'
ouvrir ici dans les interfaces et vous pouvez
suivre à partir d'ici et vous exprimer vous-même. Il s'agit d'une autoréférence. Nous avons maintenant défini
cette variable. Maintenant, ce que nous pouvons faire, c'est
revenir à la base de joueurs et là, nous pouvons faire glisser et
dire, référence à l'arme. Nous avons maintenant une référence
à cette base d'armes. Nous avons maintenant transformé cette référence
générale à un acteur en une référence à une base d'armes
ou à un objet. Ce que nous pouvons faire, c'est le faire
glisser maintenant ici, le
connecter comme avant. Disons par glisser-déposer, vous
pouvez simplement
copier-coller tout cela. Copions-le simplement. Nous
n'avons pas besoin de l'écrire 100 fois.
Allez-y, connectez-le. En fait, je vais faire
glisser celui-ci en dessous et
le connecter ici. Faisons glisser le pointeur à partir d'ici, créons une branche et connectons celle-ci. OK, donc juste avant que
nous ne soyons trop confus, peut-être que ce que nous faisons ici, c'est que
nous obtenons l'arme avec laquelle
nous nous retrouvons Et maintenant, nous parcourons l'inventaire
en boucle. Nous essayons de voir si nous avons
déjà cette arme. Si je ne clique pas pour faire une note arrière afin que vous
puissiez voir ce qui se passe. Ce que nous faisons, c'est
parcourir
l'inventaire en boucle et vérifier si nous avons déjà ce type
d'arme dans notre inventaire Si nous avons ce type d'arme, nous devons d'abord la lâcher. Disons que je suis en train
de piller un AK 47 et que j'ai déjà un
M41 sur le dos Je dois abandonner ce 41. Nous devons donc lâcher notre arme. N'oubliez pas que nous avons déjà
fabriqué cette arme larguée. C'est ce que nous appelons ça. Maintenant, nous n'avons pas besoin d'appeler
cet événement d'ici. C'est parce que nous
sommes en train de
parcourir l'inventaire en boucle Nous n'avons pas besoin de le faire parce que nous le faisons déjà ici. Nous avons effectivement cette partie ici, mais ce dont nous avons besoin, c'est de
cette partie où nous faisons sorte que le joueur ne puisse pas
interagir avec l'arme. Et l'arme
sera lâchée et ainsi de suite, et elle sera
retirée de l'inventaire. En fait, nous avons également défini
ce type d'arme. Nous avons besoin de tout cela, vous pouvez
simplement le coller ici. Cependant, pour de bonnes pratiques de
codage, au lieu de simplement le copier-coller, il vaut mieux le transformer en
fonction afin que nous puissions l'utiliser à nouveau Allez-y, sur le serveur, lâchez votre arme sur celui-ci. Sélectionnez tout cela,
sélectionnez-le simplement ici
sans cette branche. Et cliquez avec le bouton droit sur Go pour réduire. Pour fonctionner, nous en faisons
une fonction, appelons cette fonction
drop weapon. Lâchez votre arme. Permettez-moi de double-cliquer
ici pour créer un nœud arrière. Il s'agit d'un redouble pour
cette broche d'entrée. En fait, si vous
double-cliquez sur cette fonction, je vais juste la rendre un peu meilleure
à regarder maintenant. Vous pouvez voir que c'est un
peu foiré ici. Ça s'arrête là. Je vais voir si nous devons vraiment faire quelque chose. Après la vérité, il
laisse tomber l'arme puis il revient en arrière
et rompt la boucle. Ça a l'air bien. Nous
n'avons pas vraiment besoin de faire quoi que ce soit ici. Très bien, maintenant ça
a l'air beaucoup mieux. Compilons et sauvegardons maintenant
pour cette épingle de saisie ici. Disons que c'est une arme à lâcher. OK, on fait tout ça comme avant et on arrête
juste la boucle. Nous faisons juste la
même chose qu'avant. Mais maintenant, nous
en avons fait une fonction. Et nous pouvons désormais utiliser
cette fonction. Si nous allons ici maintenant et que nous découvrons que nous l'avons
dans notre inventaire, nous pouvons maintenant prendre cette arme.
Maintenant, nous pouvons sélectionner. Quelle arme voulez-vous lâcher ? Je veux ajouter cette arme à mon inventaire
que je viens de trouver. Je peux donc le tirer de là, le
brancher ici. Je vais cliquer pour prendre des notes rock. Bon, passons maintenant à l'arme. La prochaine chose que nous devons faire est l'ajouter
aux chevauchements ici Parce que lorsque nous l'
ajoutons aux superpositions, souvenez-vous que nous l'ajoutons
au tableau des superpositions ,
puis que nous
commençons à piller l'arme C'est ce que nous devons appeler l'arme
du chevauchement des publicités. Descendons ici et disons «
ajouter une arme superposée ». Et maintenant, nous devons sélectionner de
quelle arme parlons-nous ? L'arme dont nous
parlons est celle-ci. N'oubliez pas que ce n'est pas celui-ci. Parce que tu ne peux pas le faire glisser d'
ici et le brancher ici. Cela ne fonctionnera pas
car n'oubliez il s'
agit simplement d'une référence d'objet
acteur normale. Et celui-ci a besoin d'une référence à un objet
de base d'arme. N'oubliez pas que vous l'avez déjà
fait ici. Vous pouvez donc le faire glisser depuis
celui-ci et le brancher ici. Encore une fois, double-cliquez pour
rediriger les notes. Vous l'avez ici.
N'oubliez pas que lorsque vous l'avez trouvé dans votre inventaire et que
vous en avez terminé avec tout cela, pensez à le faire glisser depuis
celui-ci et à interrompre la boucle pour ne pas continuer la boucle. Encore une fois, double-cliquez et
prenez des notes ici également. Bien, avant d'en finir
avec la boucle, souvenez-vous que lorsque vous lâchez
une arme également, si vous allez ici
pour larguer l'arme, vous avez ceci où vous la configurez pour qu'elle interagisse
à
nouveau et ainsi de suite Copions donc tout cela à nouveau, descendons ici
et collons-le ici. Juste comme ça, parce que n'
oubliez pas que vous utilisez cette arme larguée et qu'
à l'intérieur, vous la
fabriquez de telle sorte que vous ne puissiez pas
interagir avec une arme. Vous devez donc faire en sorte de
pouvoir interagir à nouveau. Et nous ajoutons cela pour
le compléter. le moment, si vous cliquez sur jouer, nous pouvons
sélectionner Terrorist. Allons courir partout, ramassons
ces armes. Maintenant, si nous cliquons sur le K, vous pouvez voir que rien ne se passe
vraiment en ce moment. Si je déménage et qu'il y a
encore quelque chose qui cloche. Et nous avons également une erreur ici. Si je clique dessus,
c'est juste que celui-ci est introuvable.
Ne t'inquiète pas pour celui-ci. Cela est lié à
autre chose que nous corrigerons plus tard. Mais pour l'instant, vous
pouvez voir que j'ai lâché l'arme et que j'ai ajouté un couvercle à l'arme, mais pour une raison ou une autre, elle
ne la ramasse pas. Au lieu de le supprimer de la vidéo et de vous
donner la solution, je vais essayer de vous montrer comment
je corrige habituellement les erreurs C'est un bon endroit pour le faire. Maintenant, nous lâchons l'arme. Nous savons donc que tout
ce code fonctionne. Parce qu'il atteint le point où il vous laisse tomber
l'arme. Mais quelque chose
ne va pas ici à cause de l'ajout d'une arme superposée
pour la première chose. Maintenant, lorsque vous
débugez, vous devez ajouter une chaîne d'impression C'est ce que nous appelons cet événement ici. Permettez-moi simplement d'ajouter une chaîne
d'impression ici. Recherchez une chaîne d'impression, sélectionnez-la et elle devrait
dire bonjour ici. Quand j'ai fait allusion, j'ai
choisi Terrace. Maintenant, je passe à l'AK. Laisse-moi, en fait, je
n'ai pas pris celui-ci. Permettez-moi de cliquer ici. Vous pouvez voir dans le coin en
haut qu'il est écrit « Bonjour ». Le code atteint correctement
cette partie. Maintenant, je dois vérifier
si c'est correct. Maintenant, je pense que celui-ci
est faux. Mais nous le pouvons. Tout d'abord, je vais
juste vérifier ici si celui-ci
fonctionne réellement ou non. Cliquons sur Play.
Sélectionnez Terroriste. Allez-y, sélectionnez-le
ou récupérez-le. Cliquez ici sur l'AK et
vous ne verrez rien d'imprimé. Maintenant, je sais que cette
partie du code fonctionne, mais cette partie ne fonctionne pas. Il n'atteint jamais le point où il perd
réellement son arme. Il y a quelque chose qui ne va pas
avec cette partie du code. Peut-être qu'il ne s'ouvre jamais. Encore une fois cette note. Ça dit que je peux à nouveau perdre une arme. N'oubliez pas que celui-ci
est un nœud et
qu'il ne fait ce code qu'une seule fois
jusqu'à ce que nous l'ouvrions ici, nous réinitialisions ce nœud. Il le fait encore une fois.
Il y a encore quelque chose
avec ce lot d'armes, peut encore une fois perdre une arme, c'est ce que
nous appelons ici. Il y a quelque chose
qui ne va pas avec cette partie. Peut-être que nous ne retirons pas correctement les objets de
ces armes ovales. Ce que nous pouvons faire, c'est que nous pouvons toujours cliquer ici
et imprimer la chaîne. Imprimons simplement une chaîne
ici et voyons ce qui se passe si je clique sur Jouer maintenant et
que je capture le terroriste. J'ai perdu tout ça. Maintenant,
vous le voyez supprimé. Au lieu de faire tout
cela, sortons
simplement de cet indice. Nous savons
vraiment ce que c'est. En supprimant le chevauchement qui apparaît, nous obtenons l'index
et nous le supprimons Laissez-moi simplement le brancher ici, je peux vraiment voir
ce que je suis en train de supprimer. Phyclicplaylutephld.
Supprimez le pH. C'est ce qu'il fait, comme
vous pouvez le voir ici. Si je pille le pistolet, il devrait le retirer, mais vous pouvez voir que
rien n' C'est parce qu'
il ne fait que retirer l'Inp, mais pas le pistolet Quelque chose ne va pas et ce que nous faisons
mal ici, c'est qu'en ce moment ,
nous ne retirons ces objets que lorsque nous sommes désarmés. Si je clique sur Jouer et jouer maintenant, chaque fois que je suis désarmé, il se
supprime correctement pour
le moment Cependant, si je ne suis plus
désarmé, il va
exécuter ce code ici Et il n'exécutera jamais
cette partie du code. Ce que nous devons faire ici, même si nous ne sommes pas désarmés, retirer tout ce que nous avons
pillé après la première Si nous pillons les informations, nous ne sommes plus désarmés Lorsque nous pillons le pistolet, il fait fonctionner cette pièce et
nous ne faisons rien En fait, ce que nous devons
faire, c'est directement à partir d'
ici et retirer le pistolet que
nous avons pillé après l'info Alors allez-y et
connectez-le à cette suppression. Et compilons maintenant. Cliquons sur Play pour
voir si notre code fonctionne. Maintenant, si je pille celui-ci, maintenant si on passe à l'AK
et si je clique sur E, tu peux voir qu'il
fonctionne correctement. Si je vais voir celui-ci,
j'ai en fait pillé le pistolet,
il a été mis sur écoute C'est un problème que nous
corrigerons dans la leçon suivante, mais pour
l'instant, vous pouvez voir que les informations fonctionnent et que
lorsque nous recouvrons le pistolet, nous devons résoudre ce problème
et nous allons le faire Mais vous pouvez voir qu'il pille correctement
les fusils, il
n'y a plus rien de mal. C'est ce que nous avons fait en
dessinant auparavant. Vous devez également ajouter quelques notes
réécrites ici. Très bien, compilons. Ensuite, vous voyez,
si nous appuyons sur E, je continue à spammer sur mon
clavier et j'aime m'échapper Vous pouvez voir que nous avons une
erreur ici et que le message «
Access n'essaie pas de lire
la propriété, arme pillée Il y a une erreur ici et nous allons corriger
cela dans la prochaine leçon. Ainsi que l'époque d'ici-bas
que cela donne parfois. Pour l'instant, tout fonctionne, sauvegardons tout et passons à la leçon suivante.
112. 8.27 Régler correctement le type d'article équipé: OK. Avant de corriger l'
accès, pas d'erreur. heure actuelle, ce que vous pouvez voir
ici, c'est lorsque nous cliquons sur jouer et que nous pillons les
informations et le pistolet Et lorsque je passe sur
un pistolet et que j'appuie sur E, il passe en mode d'affichage du
pistolet En effet, n'oubliez pas que
dans le largage d'arme, nous avons défini que vous
devez simplement
passer en mode non armé chaque fois que
vous lâchez l'arme Nous devons maintenant améliorer cela car lorsque vous
tenez un fusil, nous ne voulons pas
passer à un fusil non armé Ou lorsque vous changez d'arme
sur votre dos, vous ne voulez pas
passer à une arme non armée Ce que nous pouvons faire
ici,
c'est très simple, c'est prendre l'arme
équipée. À l'heure actuelle, type d'arme équipée. Essayons de nous demander si c'est la même chose que ce que
nous sommes en train de laisser tomber. Si le type d'arme équipé est le même que l'arme que
nous larguons, cela signifie que nous devons nous
adresser à une arme désarmée Cependant, si nous lâchons une arme que nous
ne détenons pas en ce moment, nous ne devrions pas nous adresser à des personnes désarmées parce qu'elle
était sur notre dos Et nous n'avons pas besoin de changer
de type d'arme ici. Faisons glisser le pointeur à partir d'
ici et disons égal. Prenons l'arme que nous
sommes en train de lâcher en ce moment. Faisons glisser le pointeur à partir d'ici. Disons,
par exemple, le nom de l'arme. Retrouvons le nom de l'arme. Dites « obtenir des informations sur les armes ». Celui-ci. Détruisons ça. le type ici et connectons-le. Et demandez si c'est pareil ici. Connectons cette branche et
laissez-moi l'organiser. Maintenant, ce que nous demandons, c'est si l'arme que nous
lâchons est du même type que
celle que nous détenons en ce moment. Si c'est le cas, nous allons
passer à des armes non armées. Si ce n'est pas le cas, nous n'allons rien faire. Nous n'allons pas changer. Compilons maintenant et
voyons si cela fonctionne. Donc, si je vais ici, que je
prends le fusil et que je
clique sur le pistolet, vous pouvez voir tomber l'autre pistolet que
je tenais en ce moment, il ne passe plus dans le
mauvais état de mouvement Si je fais retentir celui-ci aussi, vous pouvez voir la même
chose se produire, d'accord ? Maintenant, cela fonctionne et
la seule chose à faire pour le moment, c'est d'avoir un Axis Non Era. Et c'est ce que nous allons faire. Nous allons résoudre
ce problème dans la prochaine leçon.
113. 8.28 Correction de l'erreur "Accès à personne" de butin: OK, donc le problème en
ce moment avec le
non accès , c'est si nous
essayons de spammer la clé. Si je continue à spammer la touche
E pour piller une arme, cela me donne un accès intemporel. Si j'essaie juste ça ici. Si j'essaie de spammer la
clé comme ça et que je clique sur Escape,
parce que je vois que nous vivons cette
ère où l'on parle d'accès, d'essai de lecture de la
propriété, d'arme pillée Cet accès non signifie
que cette variable est vide. Et c'est probablement parce que
nous sommes en train de le réinitialiser ici. Et il n'a pas la possibilité de
traiter l'intégralité du code avant que
nous n'essayions à nouveau de le piller. Parce que si vous
spammez la clé du butin, vous ne faites que spammer
tout ce code ici Et il atteint ce
point, puis il atteint également
ce point en même temps et il indique «
aucun accès ». Cela devient confus. Ce que nous pouvons faire, c'est empêcher
le joueur de piller chaque fois qu'il est en train de
piller l'arme Si je vais ici et
que je crée une nouvelle variable, appelons-la arme de
pillage variable Compilez celui-ci lorsque nous
pillons l'arme. Prenons ça et
disons arme de pillage,
définissons-la sur vrai Chaque fois qu'il aura fini
de piller l'arme, nous pouvons la prendre et dire faux OK, cela empêche le joueur
de spammer le code. Nous devons le faire ici
lorsque nous appuyons sur la touche, nous devons dire au joueur
que vous ne pouvez pas le faire
chaque fois que vous pillez. Tirez d'ici et dites « pas de taureau ». Lorsque vous n'êtes pas en train de
piller une arme, nous pouvons
créer une branche et vous dire que vous pouvez
maintenant demander un
lot d'arme Lorsque celui-ci est réglé sur
true ici, lorsqu'il commence à
piller l'arme, vous ne pouvez rien faire Mais quand nous aurons fini
de piller l'arme ici, vous pourrez
demander à en piller une nouvelle Maintenant, celui-ci va
vous poser un problème, et peut-être pouvez-vous déjà
voir quel est le problème. Maintenant, si j'y vais en tant que client et que j'essaie de
piller l'arme ici, vous verrez que cela
me pose un problème En ce moment, si vous vous souvenez,
nous sommes en multijoueur. Et celui-ci en ce moment, vous le
configurez via le serveur et ici vous essayez d'
utiliser cette variable sur le client. N'oubliez pas que vous pouvez glisser-écrire une chaîne d'impression pour voir si vous êtes sur le serveur
ou sur le client. Si je joue ici en tant que
serveur et que j'appuie, vous pouvez voir que j'imprime
hello en tant que serveur. Mais si je joue ici
en tant que client, maintenant je joue et j'appuie. Vous pouvez voir que je le spamme
en tant que client. Je peux lire ce code via
le serveur et le client. Cela signifie que nous sommes
également concernés par le client. Lorsque nous sommes ici, vous
utilisez la variable
sur le client, mais vous la définissez sur
le serveur. N'oubliez pas qu'en tant que serveur, vous devez répliquer les
informations vers le client, sinon le client n'a aucune chance de savoir si c'
est vrai ou faux Lorsque vous définissez quelque chose sur le serveur et que vous
devez l'utiliser sur le client, vous devez répliquer ces informations sur
le client.
Compilons et sauvegardons. Alors maintenant, si je joue en tant que client et
que je clique sur jouer, essayons-le
ici en tant que terroriste. Reprenons les armes et passons
à K. Je continue, tout fonctionne maintenant. OK, ça marche. Et je peux aussi
changer mon pistolet à l'arrière et je peux aussi
changer celui-ci Vous devez le faire
si je
spamme maintenant, si j'envoie du spam sur ma clé de lot, si vous le souhaitez, souhaitez, si vous le souhaitez Si vous ne voulez pas que le joueur
change rapidement, vous pouvez définir un délai pour le pillage. Mais comme vous pouvez le voir ici, cela fonctionne correctement. Et si je clique sur Escape, vous pouvez voir que
nous n'avons aucune erreur. C'est parce qu'il
attend en fait que ce soit
faux pour que le joueur ait à nouveau la chance de piller. Mais le joueur ne le remarque pas car le code s'
exécute très vite. Mais maintenant, nous avons établi cette barrière et tout
fonctionne correctement. Parfois, s'il est indiqué
qu'il s'agit d'une erreur liée aux armes, vous essayez de les lâcher. Si tu essaies de jouer
ici et que tu essaies de spammer la touche, j'
appuie sur Escape. le moment, je
ne me trompe pas, mais si vous trouvez une
ère dans le futur, vous pouvez toujours la prendre. C'est l'époque que nous avons connue avant. Vous pouvez cliquer avec le bouton droit de la souris pour le convertir
en un get validé, vous
assurer qu'il est valide
avant de faire tout cela. Oui, c'est ainsi que l'on se débarrasse
de l'époque antérieure
où l'on avait lâché l'arme. Vous pouvez voir que j'
essaie de le spammer. Il ne se passe rien.
Je pense que c'est réglé. Mais si vous rencontrez ce problème, vous pouvez toujours le faire. Compilons et
sauvegardons tout. Pour l'instant Passons
à la leçon suivante.
114. 8.29 Nettoyer le code: OK, donc avant de continuer, je veux
que vous fassiez
le ménage tout
ce projet
parce qu'il prend de l' ampleur et que nous devons
corriger certaines choses. Si nous pouvons optimiser les choses et commenter certaines choses, il vaudrait
mieux le faire maintenant que plus tard avant que cela ne
devienne trop complexe. Donc, ce que je veux que vous
fassiez, par exemple, vous pouvez aller
jusqu'au point de départ. Jouez. Essayez de prendre des notes sur l'itinéraire arrière si ce n'est pas déjà fait. Et tu peux tout sélectionner. Cliquez sur C sur le clavier et vous pouvez, par exemple,
écrire Begin, Play. C'est mieux que de ne rien
avoir dans
le code. Et tu
peux cliquer dessus. Vous pouvez cliquer sur
la couleur du commentaire, vous pouvez changer la
couleur du commentaire en quelque chose. Par exemple, je peux choisir
cette couleur bleu-violet. Je peux indiquer la saturation 20,75 et l'
alpha 20,25 par exemple Essaie juste de le styliser du mieux
que tu peux. De plus, par exemple, je peux plutôt
porter le texte à 24, afin de pouvoir le lire beaucoup
mieux lorsque je fais un zoom arrière Mais tu peux le voir ici. Et
vous pouvez également enregistrer la couleur. Si vous cliquez ici et que vous pouvez cliquer et faire glisser ce bouton vers le haut, c'est sûr. Maintenant, lorsque vous commentez quelque chose ici, par exemple, laissez-moi simplement faire glisser tout cela et le déplacer vers le
diesel, comme celui-ci. Je ne fais donc pas
glisser tout cela vers
le bas, par exemple. Vous pouvez commenter cette partie car elle est
consacrée aux traces de pas. Ce que vous pouvez faire, c'est cliquer sur celui-ci, par exemple. Vous pouvez appeler Playing the
Footsteps des effets sonores. Encore une fois, comme avant, je vais agrandir le devant. Et tu peux cliquer ici
et cliquer sur cette couleur. Et cela s'appliquera
automatiquement à tous les paramètres que vous
avez définis ici. OK, donc je veux que tu
commentes tout. Essayez de tout
organiser autant que possible. Et à part cela, je vais faire les
commentaires pendant mon temps libre, afin que vous n'ayez pas à me
regarder faire
des commentaires sur tout. Mais n'oubliez pas que vous pouvez faire des commentaires avec des commentaires. Vous avez celui-ci
et disons que je voulais inclure le
mouvement dans celui-ci. Vous pouvez donc toujours
tout sélectionner avec le
commentaire ici. Et vous pouvez faire un nouveau
commentaire et, par exemple, appeler cela un mouvement. Vous avez donc un commentaire principal. Et vous pouvez même commenter petites choses à
l'intérieur d'ici. Mais pour l'instant, je vais
le faire pendant mon temps libre. Ce qui est plus important pour
le moment, c'est de voir si nous
pouvons améliorer le code d'
une manière ou d'une autre. Nous le pouvons vraiment. Si nous allons ici, vous verrez que nous avons déjà
utilisé celui-ci. plupart du temps, nous faisons
l'inventaire ,
nous faisons une boucle et nous essayons de trouver cet objet dans
l'inventaire. C'est ce que nous
faisons depuis longtemps ici. Quelques fois. Nous pouvons
également voir que nous le faisons ici. Nous parcourons donc l'inventaire en boucle et nous obtenons
ce type d'objet Je crois que nous le faisons un autre endroit que je ne
trouve pas pour le moment. Mais pour l'instant,
transformons-en une fonction et ce
sera bien mieux ce que nous pourrons faire.
Copions-le pour le moment. Copions cette partie
du code ici. Copions également celui-ci égal. Il suffit de le
copier-coller ici. Nous pouvons en fait en
faire une fonction. Ce que nous pouvons faire, c'est tout
sélectionner. Clic droit En fait, vous ne pouvez pas
en faire une fonction car
nous avons une macro. Si vous dites « réduire » pour que la fonction fonctionne, cela indique une erreur et vous
pouvez afficher le message. Et il dit qu'il ne peut
avoir qu'une seule épingle d'exécution. Et vous pouvez voir que celui-ci comporte
de nombreuses épingles d'exécution. Ce que vous pouvez faire, c'est cliquer avec
le bouton droit
de la souris et le réduire en macro. Pour cette macro, la différence entre une fonction et une macro réside simplement dans le fait qu'une macro peut
avoir plusieurs pins d'exécution. Et les fonctions ne peuvent avoir qu'
une seule entrée et une seule sortie, tandis que les macros peuvent avoir
plusieurs pins d'exécution. Et vous pouvez voir
ici que cette branche que nous utilisons est en fait une macro et elle possède plusieurs épingles d'exécution pour
cette macro que nous venons de créer. Permettez-moi de cliquer ici
et de cliquer sur deux. Appelons celui-ci M pour macro. Appelons-le « Trouver le type
d'arme dans l'inventaire ». C'est simplement ce qu'il est en train de faire. Il essaie de trouver
le type d'arme dans notre inventaire. Créons une nouvelle épingle
d'exécution ici. Si vous écrivez simplement
exécution, je pense exécuter. En fait, si vous
cliquez ici, le type, si vous écrivez
simplement exécuter, nous supprimerons
le texte ici. C'est un secret
pour l'écriture et l'
exécution de macros . Connectons-le ici. Nous avons également besoin d'une
épingle d'exécution pour le casser plus tard. Laissez-moi créer une nouvelle épingle d'exécution. Appelons cela une boucle de rupture. OK, maintenant nous l'avons. Laisse-moi connecter ça ici. Et nous avons également besoin
d'une contribution pour celui-ci. Mettons celui-ci ici. Laisse-moi juste le déplacer une fois. Si je clique dessus et que je le fais
glisser vers le haut, changeons le
nom de celui-ci. Et celui-ci est le type
d'arme à trouver, nous essayons de trouver
ce type d'arme dans notre inventaire. Allez-y,
double-cliquez dessus et prenez également quelques
notes de redirection Très bien, ici
dans la sortie, nous devons avoir tout
cela à l'intérieur. Maintenant, prenons d'abord ce
corps de boucle et plaçons-le ici. Et il est déjà écrit « loop
body ». C'est exact. Prenons maintenant celui-ci
et plaçons-le ici. Au lieu de la valeur de retour. Je dis qu'une arme
a été trouvée et que nous pouvons créer une branche pour voir si
c'est vrai ou faux. Maintenant, pour le reste, je vais brancher le fichier terminé. Oups, pas comme
ça. Prendre ça, le brancher ici. Et je vais juste terminer la boucle de
clarification Nous aurons également besoin de la référence à l'
arme plus tard pour pouvoir en faire
certaines choses. Et je vais le
déplacer ici, appelons-le simplement arme maintenant. Peu importe qu'il soit
déplacé ici, par exemple. Que je le déplace ici ou ici , cela
n'a pas vraiment d'importance. Il s'agit simplement de rester
propre avec le code. Mais j'aime bien qu'
il en soit ainsi. Encore une fois, je vais
double-cliquer dessus et prendre quelques
notes de route ainsi que pour cette épingle
d'exécution ici. OK, nous l'avons
donc ici et laissez-nous compiler. Revenons maintenant
au graphique du van. Et maintenant, vous pouvez voir que
c'est la macro que nous avons créée. Maintenant, nous pouvons utiliser
celui-ci à la place, des fouets. Si je zoome à nouveau
pour cette arme larguée. Au lieu de le faire, nous sommes déjà en train de faire une boucle à l'intérieur d'ici Ce que je peux faire, c'est
le supprimer et le brancher à la place. Permettez-moi de l'éloigner un
peu pour que je puisse voir ce que je fais. Maintenant. Au lieu de faire tout cela,
nous le faisons déjà. Supprimons également celui-ci. Ce type d'arme équipé. Nous pouvons le prendre et le
brancher ici. Au lieu de cela. C'est-à-dire,
n'oubliez pas que c'est ce que
nous essayons de comparer
avec notre inventaire. C'est la même
chose qu'avant. Et si je connecte cette boucle et que je connecte cette branche à ici. Voyons voir maintenant, cette arme. C'est ce que nous devons utiliser
pour l'arme larguée. Lorsque nous aurons trouvé l'arme, je supprimerai
ces trois nœuds de route. Je vais le déplacer
plus près d'ici. Et brisons la boucle
après avoir lâché l'arme. Ce code est exactement comme avant. Il est en fait simplement optimisé. Nous n'avons rien fait de nouveau ici. Nous créons simplement cette macro pour la rendre plus belle
et plus propre. Oui, quand la boucle sera terminée, connectons tout cela
à nouveau, comme avant. Maintenant, vous pouvez voir que c'est
beaucoup plus propre qu'avant. C'est ainsi que vous optimisez le code. Maintenant tu peux utiliser celui-ci. Permettez-moi de l'organiser
un peu plus maintenant. Nous pouvons prendre ce type
d'arme de recherche dans l'inventaire. Nous pouvons, voyons voir
ici où nous essayons de retrouver l'article dans l'inventaire.
Faisons-le traîner. Supprimons celui-ci. Et supprimez également celui-ci. Permettez-moi de le connecter
pour le moment dans le corps de la boucle. Tout comme avant,
nous sommes en train de connecter
tout cela, nous l'avons
déjà
dans la macro. Je vais tout supprimer. Et celui-ci aussi.
C'est dans ce cas que nous essayons de comparer ce type d'arme à partir des informations sur
l'arme. Ce que nous pouvons réellement faire,
même si cela semble un peu confus, nous pouvons le faire glisser et le
remettre ici dans le type d'arme
pour le retrouver, double-cliquer pour prendre des notes,
juste pour le rendre plus beau. Ce que nous faisons
est essentiellement la même chose qu'avant. Sans cette macro, nous cherchons simplement
le type et nous le
connectons pour le comparer au type
d'arme figurant dans
l'inventaire Il devrait faire la même chose. Laissez-moi jeter un coup d'œil ici. Ça passe par la succursale. N'oubliez pas que nous allons
gérer cette succursale ici. Double-cliquez également sur ceux-ci pour
prendre des notes d'itinéraire arrière pour celui-ci. Pour cette arme, l'arme pour la déposer provient de l'inventaire. Nous essayons donc de supprimer l'
arme de l'inventaire afin que vous puissiez la faire glisser
ici et la connecter. OK, maintenant tout
est connecté. Et n'oubliez pas de rompre
la boucle à partir d'ici. Encore une fois, faites glisser et rompez la boucle. Je veux juste voir si je me souviens
vraiment de le
faire aussi pour l'
autre, et je l'ai fait. Allons-y, et je vais m' éloigner un peu plus loin. Ils ne se chevauchent pas,
juste comme ça. OK, compilez et maintenant
que la boucle est terminée, reconnectons celle-ci ici L'arme, nous essayons de la
supprimer
de l'inventaire. Et c'est l'arme que nous
essayons de piller. Nous allons nous y superposer
comme avant, mais nous venons de le rendre
beaucoup plus propre qu'avant C'est donc toujours agréable
de jouer au jeu et simplement tester et de voir si tout
fonctionne comme prévu. Vous pouvez donc maintenant voir que cela
fonctionne comme avant. Ouais. Donc, tout fonctionne. Il y a une petite erreur dans le code en ce
moment, et c'est ici que nous
essayons de demander à récupérer l'arme, comparer
à l'inventaire, de trouver l'arme
dans notre inventaire Si nous n'avons pas l'
arme dans l'inventaire, nous nous retrouvons dans
cette partie du code. Parce que si nous avons l'
arme dans l'inventaire, l'arme que nous essayons de piller, nous essayons de faire tomber le fusil
existant, par exemple Cependant, si nous
n'avons pas de fusil, tout va s'arrêter là. Je vais plutôt le prendre
et l'
intégrer à la superposition, car nous voulons tout de même piller l'objet s'
il ne se trouve pas dans notre inventaire Juste une petite correction à
ce code, d'accord ? le reste,
je ne vois pas vraiment d'autres choses que nous pouvons essayer d'améliorer. Mais si vous voulez
transformer quelque chose en fonctions, par
exemple celle-ci. Vous pouvez créer une
ou plusieurs fonctions que vous voulez faire
fonctionner et essayer de les nettoyer. Allez-y et faites-le maintenant. Cependant, je pense que
c'est suffisant et je vais tout
commenter. Ce que vous pouvez également
faire, c'est classer toutes ces variables
dans des catégories. Par exemple, pour ce qui est de la vitesse, vous pouvez écrire quelque chose
dans la catégorie. Par exemple, les propriétés des couches, qui peuvent être une catégorie. Et vous pouvez voir
qu'il est ajouté ici. Et vous pouvez également cliquer sur
la vitesse de course. Cliquez sur Catégories et
ajoutez-le aux propriétés du joueur. Il en va de même pour le
accroupi. Maintenant, vous pouvez voir qu'ils
appartiennent à une seule catégorie. Vous pouvez nettoyer toutes les
variables comme ça. Vous pouvez également
le faire avec les fonctions. Cependant, vous ne pouvez pas le
faire avec les fonctions unrep, vous ne pouvez le faire qu'avec les autres fonctions
que vous avez créées OK ? Cela étant dit, je vais
tout commenter. Et n'oubliez pas que je vais vous
remettre ce projet. Et vous pouvez
le télécharger sur le site Web pour voir tout
ce que j'ai fait, tous les commentaires, etc. Mais vous le
verrez probablement aussi dans la prochaine leçon. Je vais commencer
par tout
commenter et je vous verrai
dans la prochaine leçon.
115. 8.30 Correction d'un petit problème de réplication: OK, donc avant de continuer, revenons à
la base de joueurs. Vous pouvez donc voir ici que j'ai
nettoyé mon projet, j'ai tout mis en ordre, et la seule chose que j'ai faite a
été de simplement créer
des commentaires et d'organiser
les choses un peu plus. Nous avons donc les mouvements de base du
personnage ici ,
avec tout ce que
nous avons fait avec le
accroupissement, la marche, le saut, etc. Et ici, j'ai le pillage
et le largage de l'arme, ou il y a les chevauchements, le pillage de l'
arme, etc. Et j'ai également ajouté un
commentaire pour celui-ci, assurez-vous que l'
arme est attachée. le délai dont nous avons
parlé plus tôt, il est toujours agréable d'
écrire pourquoi vous modifiez ce délai afin qu'il ne semble pas aléatoire et que vous le supprimiez
par erreur à l'avenir. OK, alors sauvegardons tout. Et pour le moment, avant de
passer à la section suivante, nous avons un petit bug
dont je me suis rendu compte. Si je clique sur « terroriste »
ici et si j' essaie de piller deux objets,
parfois ça marche Vous pouvez donc voir que j'ai
pillé des objets ici. En fait, je vais cliquer sur le bras à ressort et passer
à environ 500. Juste pour que je puisse voir ce qui se
passe et que je puisse rejouer. Je dois le faire plusieurs
fois et parfois vous vous rendrez compte que le joueur n'est
pas en train de piller l'arme Je vais donc continuer à essayer de
piller l'arme comme ça et voir si je peux en
avoir l'argent. Ici. OK. J'ai donc essayé cela plusieurs fois et après 1 minute à essayer
encore et encore, vous pouvez voir
que cela fonctionne Je n'ai pas de
pistolet en main. Si je le déplace rapidement pour que vous
puissiez voir que ma main
n'a pas de pistolet Le pistolet est au
sol et je ne peux pas vraiment piller comme ça,
il est en train de fonctionner. Cependant, il fonctionne
sur le serveur. Donc, si je faisais jouer le serveur, je pense que nous jouerons
en tant que deux clients. Vous pouvez donc voir qu'
il s'agit du deuxième client. Je m'inscris en tant que deuxième
et je regarde ce joueur. Je vois que ce joueur
n'a pas de pistolet. Comme vous pouvez le voir ici, il
n'a rien dans la main. Je ne vois pas le pistolet
toujours au sol. Et je ne peux pas piller
non plus sur celui-ci. Le bogue se produit parce qu'il s'agit simplement d'un problème de
réplication. Si je clique sur G pour
lâcher l'arme, vous pouvez voir qu'elle est
réellement au sol. Si je reviens à pied et que je marche
à nouveau vers l'avant, vous pouvez voir que je suis en train de
piller le pistolet et maintenant je
l'ai en main Il s'agit donc en fait
d'un simple problème de réplication et je me suis rendu compte qu' il m'a fallu peut-être 1 heure ou
30 minutes pour essayer déboguer et de voir ce qui se
passait parce que tout
semblait correct Cependant, ce qui ne va pas en ce
moment, c'est l'arme à butin Si tu marches sur les armes. Et ce que j'ai fait ici
pour corriger ce bogue, c'est juste
de passer rapidement sur deux armes.
Comme quelque chose comme ça. Et j'essaie juste quelques fois et l'une des fois,
vous aurez le virus, parfois l'une des
armes ne fonctionne pas. Cela est en fait dû au fait que lorsque ce code est en cours d'exécution et que
vous essayez de piller l'arme grâce à cette
notification de représentant, parfois, si vous franchissez assez rapidement
ou à un rythme correct, il supprimera
votre arme pillée ici Et quand le suivant l'atteindra alors
qu'il n'a rien, il ne sera plus valide. Et puis tout cela n'
arrivera pas et vous
serez évincé, puis vous pourrez voir que l'
arme est au sol Mais si vous jouez en tant que serveur, vous pouvez
voir que le client tient l'arme. Cependant, pour le client, il ne peut pas voir
l'arme dans sa main. Ils ne peuvent le voir
que sur le sol, même s'ils le
tiennent réellement dans la main. Je savais qu'il s'agissait d'un problème de
réplication parce que le serveur
l'avait examiné correctement, mais
le client a remarqué qu'il semblait être au sol alors qu'
il devait être entre les mains. C'est en fait
celui-ci. C'est ce qui rend tout cela étrange. Au lieu de supprimer la variable « arme
pillée », tu te souviens de ce que nous avons fait ici ? Juste un petit tour
d'horizon pour ne pas
trop nous embrouiller, car nous
avons beaucoup fait dans ce cours. Nous avons simplement pillé l'arme. Puis on passe par
là, on pille l'arme. Nous sommes en train de vérifier si ces armes
superposées ne sont pas vides. S'il n'est pas vide, nous
pillons l'arme. Et après tout cela, nous allons le retirer de
l'arme qui se chevauche Ensuite, nous
vérifierons s'il y a
d'autres armes
superposées à piller,
ce qui nous mènera jusqu'ici d'autres armes
superposées à piller, ce qui nous mènera jusqu' En fait, laissez-moi
voir où il se trouve. Il nous emmène ici, vérifie s'il y a
des armes qui se chevauchent, puis essaie à nouveau de
piller l'arme Encore une fois, il vérifie s'il est vide. Maintenant, il y a moins d'objets maintenant parce que nous avons retiré
l'ancien ici. Maintenant, il fonctionne à nouveau. Disons que c'
était juste le pistolet. Disons que c'était juste le
pistolet et que nous l'avons retiré ici. Celui-ci devrait être vide maintenant. Et il dit que s'il n'est pas vide, ce sera faux parce qu'
il est vide maintenant. Et puis il est dit : « Je peux à nouveau piller une arme ». Cela le retardera. Ici, il va le supprimer. N'oubliez pas que si nous avons supprimé une notification de représentant, c'est parce que vous récupérez la même
arme encore et encore N'oubliez pas qu'une notification ne s'
exécute pas si vous la mettez à jour
avec la même valeur Si je l'ai mise à jour avec
le même pistolet, ne fonctionnera pas en fait C'est l'inconvénient
d'une notification de représentant. Si vous appliquez exactement la même
valeur, elle ne sera pas exécutée. C'est pourquoi nous supprimons réellement la variable, puis
nous pouvons l'exécuter à nouveau. OK, au lieu de
le faire ici, juste une solution très simple, nous pouvons nous en occuper à partir d'ici. Laissez-nous simplement le coller
quelque part par ici. Au lieu de cela, nous ne pouvons pas le coller
ici, car nous l'utilisons
en fait pour régler l'état de mouvement ou pour bloquer l'arme
équipée. Nous pouvons l'ajouter ici avant
de le supprimer de celui-ci. Ou vous pouvez également l'ajouter
ici. Ça n'a pas d'importance. Je vais juste ajouter avant cela ici et vous pouvez le connecter. Ensuite, je vais
réorganiser les choses, non ? J'ai donc également déplacé les commentaires. Nous l'avons ici maintenant, il
est ici en bas à la place. Et nous pouvons en fait l'
avoir ici parce que nous
avons ce retard. Nous pouvons utiliser ce délai Nous ne remplaçons
donc pas
cette variable ici car
nous avons en fait un délai Et ce code peut être lu avant que nous
supprimions réellement la variable. Il est logique que
ce soit ici. Et puis nous n'avons pas vraiment
besoin de ce délai, de ce délai. Nous l'avons ajouté auparavant car nous voulions attendre que
ce code soit joué. Cependant, pour celui-ci,
supprimons-le simplement. Nous pouvons simplement
reconnecter celui-ci. Juste comme ça. Oui, je pense que ça
va tout régler. Alors, sauvegardons tout cela. Permettez-moi de cliquer,
laissez-moi passer à
jouer en tant que serveur d'écoute. Et je vais jouer
à trois joueurs. J'essaie de rejouer et voir si je peux faire réapparaître ce
livre. Bien, j'ai donc essayé environ 40 fois maintenant,
rien ne se passe. Et cela semble avoir
résolu le problème. Il s'agissait d'un problème de réplication. Tout fonctionne
comme prévu. Maintenant, je vais juste cliquer sur le
ressort et le mettre à zéro. Encore une fois, compilez tout. Passons à
la leçon suivante.
116. Actions d'entrée pour la commutation d'arme: Il est maintenant temps de créer
l'action de saisie pour changer d'arme et
d'essayer de le faire vous-même. Essayez de créer une action d'entrée appelée arme principale
et arme secondaire, et essayez de les ajouter vous-même. C'est ce que
nous faisons depuis longtemps. C'est juste un beau défi. Et tu peux essayer de te
lancer des défis. Et si vous ne vous en souvenez pas,
allons-y et faisons-le ensemble. Cliquez ici avec le bouton droit de la souris et passons
à la saisie et à l'action de saisie. Je vais le faire
un peu plus rapidement qu' avant parce que nous savons
ce que nous faisons actuellement. Arme principale. Essayons, cliquez à nouveau, passez à l'action Input Input et fabriquons l'arme secondaire. Passons au contexte de
mappage des entrées. Et pour sortir d'ici, je clique
deux fois parce que je
dois ajouter deux mappages ici. Et je ne sais pas pourquoi
cela ne me montre rien. En fait, je pense que je dois changer cela avant de
pouvoir ajouter la seconde,
une arme principale. Et je vais cliquer à nouveau
sur le signe plus. Je ne sais pas pourquoi ils
continuent de maximiser, c'est en fait un peu ennuyeux Je pense que vous pouvez appuyer ici. Oui, vous pouvez dire ici,
réduire ou agrandir. Tout ce que vous pouvez faire disparaître, c'est tout.
Je pense que ça marche peut-être. Une arme secondaire ? Oui, ils ont encore une fois maximisé
sans aucune raison. Arme principale. Je vais cliquer
sur ma touche pour obtenir mon arme principale
, mon fusil. Et cliquez sur les deux touches
pour récupérer mon pistolet. Comme déclencheur, je vais appuyer sur l'écriture parce que je
ne veux y jouer qu'une seule fois. Lorsque je clique sur le bouton, je ne veux pas effectuer de
mise à jour en permanence. Ces deux éléments sont donc ajoutés. Maintenant,
sauvegardons tout, fermons-les. Passons au joueur. Passons à la base de joueurs. Et à l'intérieur d'ici, cliquons avec le bouton droit de la souris ici
et disons IA arme principale. Et ici, disons une arme secondaire
IA. Bon, maintenant nous avons
ces deux événements. Et nous pouvons les utiliser pour obtenir notre fusil ou notre pistolet si nous en
avons dans l'inventaire
117. 9.02 Logique de commutation d'arme: OK, donc pour le changement
d'arme, allons-y d'abord. Je vais le retirer sur le côté car je
n'en ai pas besoin d'abord. Il suffit de travailler
avec l'arme principale. Alors allons-y à juste titre et
créons un nouvel événement personnalisé. Et je vais parcourir le serveur et je
vais l'appeler, appelons-le équiper une arme. Exécutons celui-ci sur
le serveur de manière fiable. Lorsque nous appuyons sur
une touche, par exemple la touche principale de l'arme, nous voulons équiper le fusil. Quand je fais quelque chose comme ça, j'essaie de réfléchir
étape par étape. Ne pensez pas à deux
ou trois pas d'avance, car vous serez confus. Et je vais
aussi m'y perdre, une étape à la fois. Que devons-nous faire lorsque
nous devons équiper l'arme ? Tout d'abord, si vous avez cette arme dans votre inventaire
, comment vous y prenez-vous ? N'oubliez pas que nous avons fait en sorte que ce type
d'arme soit trouvé dans l'inventaire. On peut le faire glisser ici. Ce que nous voulons trouver,
c'est simplement le fusil. Parce que lorsque vous cliquez sur
une touche, je peux
faire glisser le pointeur d'ici et dire arme équipée d'un
serveur. Lorsque nous cliquons dessus, nous
voulons trouver le fusil. Maintenant, nous
voulons d'abord nous assurer que nous n'avons pas déjà le fusil entre
nos mains, sinon cela n'a pas vraiment de
sens de le
rééquiper. Je vais prendre ce que nous avons
déjà équipé. Donc, le type d'arme équipée, je dois dire que s'il n'
est pas équivalent à un fusil, alors nous pouvons organiser cet événement. Parce que si nous
avons déjà équipé le fusil, cela n'aurait aucun
sens de tout
lancer, de le
connecter ici. OK, donc ici en bas, partons de cette branche
et créons une branche ici, ou créons une branche à partir de ce lingot Et chaque fois qu'il trouvera cette
arme dans l'inventaire, donc chaque fois qu'il trouvera le fusil, je fabriquerai un lingot Et ce lingot s'appelle une
arme trouvée dans l'inventaire. Et maintenant, nous pouvons prendre
ceci ici et
le définir comme vrai, juste comme ça. Et n'oubliez pas de briser la
boucle comme ça. D'accord, maintenant nous savons que l'arme a été trouvée dans l'inventaire,
ici, une fois terminée. Nous pouvons continuer le code ici. Nous cherchions juste l'article dans l'inventaire
et maintenant nous l'avons trouvé. Je vais donc prendre cette astuce
et m'assurer qu'elle n'est vraie
que si c'est vrai. Nous allons exécuter du code. Si nous ne l'avons
pas trouvé dans l'inventaire, nous n'avons pas vraiment besoin de
faire quoi que ce soit. Ce que je dois faire, c'est
équiper l'arme. Laissez-nous ici, nous pouvons simplement
cliquer avec le bouton droit de la souris sur celui-ci. C'est l'arme que nous avons
trouvée dans l'inventaire. Permettez-moi simplement de
le promouvoir au rang de variable et de l'appeler arme d'équipement. Maintenant, qu'est-ce que cela
signifie, doit-il être
répliqué ou répété, notifié Tu peux essayer de répondre toi-même à la
question. Et pourquoi devrait-il être reproduit,
notifié ou répliqué ? Maintenant, je vais vous donner la réponse. Celui-ci doit
être représenté, prévenu. Et n'oubliez pas, chaque fois que
vous avez des changements visuels. Donc, à l'heure actuelle, le joueur
va tenir le fusil dans la main,
ce qui représente un changement visuel. Vous devez
en faire une notification de représentant, afin de pouvoir informer tous
les clients du changement
visuel Alors allez-y et connectez-le ici. Et cliquez dessus et
configurez-le pour qu'il soit notifié par un représentant. Et puis n'oubliez pas
de changer de position. Parce qu'à l'heure actuelle,
si vous cliquez dessus, vous vous équiperez d'une arme. Donc, pour le moment, cela
n'est pas fait, et nous le ferons
dans la prochaine leçon. Vous devez donc également vous rappeler
de définir type
d'arme que
vous utilisez actuellement car souvenez-vous que
nous l'avons créé ici. Celui-ci contrôle ce qui est joué dans
votre plan d'animation Allons ici
et disons, et vous pouvez le trouver ici,
définissez le type d'arme équipée. Dans ce cas, le type
d'arme doit être un fusil. De plus, vous devez
définir ce paramètre sur Falls, car plus tard,
lorsque nous le ferons, encore une fois, il sera défini sur true. N'oubliez pas de
le définir sur « tombe ici », nous devons également réinitialiser cette
variable. Nous devons le régler sur falls chaque fois que nous avons
terminé le code, la prochaine fois qu'il sera entré, il exécutera le code correctement, sinon il sera automatiquement
vrai. Et il exécutera ce code
même s'il ne va pas bien. Et je voudrais également réinitialiser cette variable, car une fois que
nous aurons fait tout cela, oubliez pas que nous devons réinitialiser la notification du représentant pour qu'elle
ne s'éteigne pas Et nous pouvons prendre cette arme
équipée et la réinitialiser ici avant
de tout terminer. Et peut-être devons-nous
ajouter un délai ici afin de donner au représentant le
temps de jouer Mais
vérifions-le plus tard. Je ne suis pas fan de l'
ajout de délais aléatoires. Je n'ajoute des retards
que lorsque nous en avons réellement besoin, car les retards sont une bonne chose. Celui-ci ne sera pas remarqué. C'est 0,05 Aucun humain ne le
remarquera jamais, mais nous n'avons pas vraiment besoin d'en ajouter un si nous
n'en avons pas vraiment besoin OK, donc la deuxième
chose dont nous avons besoin ici, c'est si vous
tenez déjà une arme à la main. Ainsi, par exemple, si vous tenez
déjà un pistolet, vous devez le dééquiper En fait, nous devons également nous
dééquiper. Je dois donc demander si le
joueur est armé ou non. Parce que le joueur tient
peut-être un pistolet en ce moment
, nous pillons le fusil, nous appuyons sur la touche du fusil et nous
avons déjà un pistolet équipé Ensuite, nous devons d'abord dééquiper
le pistolet. À partir de là, je vais le
déconnecter,
et le faire glisser un peu vers le bas. Ensuite, nous pouvons prendre ce type
d'arme équipée
et nous demander si c'
est équivalent à une arme non armée Créons une branche ici
et connectons-la à nouveau ici. Si c'est égal à désarmé, nous allons simplement exécuter
le code que nous avons créé plus tôt Cependant, s'il n'est pas désarmé, nous voulons dééquiper l'
arme que nous détenons Encore une fois, trouvez l'arme dans l'inventaire dont nous
parlons. De quelle arme
parle-t-on ? Nous parlons de l' arme équipée dont nous disposons
actuellement. C'est peut-être le
pistolet en ce moment. Ensuite, lorsque vous l'avez trouvé, nous créons une branche
comme avant. Lorsque vous l'aurez trouvée,
transformons-la en variable et
appelons-la
arme non équipée . Et laissez-nous
le transmettre à un représentant, prévenir et le
connecter ici Prenez des notes sur l'itinéraire arrière. Et puis quand tout sera terminé,
parce qu'en ce moment vous exécutez ce code et vous êtes en train de
démonter l'arme Mais tu devras t'équiper de
cette arme par la suite. Donc, dans la version complète, vous devez
le relancer ici. Permettez-moi de le traîner ici pour faire de la place et le
rendre beaucoup plus beau. Et on peut le traîner ici. OK, donc quelque chose comme
ça a l'air bien mieux. Nous vérifions si nous ne
sommes pas armés ou non. Si nous ne sommes pas armés, nous allons équiper l'arme instantanément. Si nous sommes armés d'un pistolet, par
exemple, nous allons le
déséquiper N'oubliez pas de rompre la boucle. J'ai oublié de le brancher ici. Brisons également la boucle. Une fois que nous aurons rompu la boucle,
et qu'elle sera terminée, nous
équiperons l'arme, les personnes non équipées et l'équipement C'est ce que nous ferons dans
la prochaine leçon. Mais pensez également à réinitialiser l'
arme non équipée afin de ne pas avoir de boîte plus tard dans le jeu Oui, c'était tout pour
la logique en ce moment, nous ne pouvons pas vraiment le tester parce que le représentant
n'est pas vraiment prévenu Passons à la
leçon suivante et travaillons dessus.
118. 9.03 Équiper et unifier RepNotify: Très bien, alors avertira le
représentant de l'équipement non équipé. Ce sera très facile car
nous l'avons déjà fait. Si nous passons à l'arme à butin ou à l'
arme pillée, si vous allez voir le représentant,
signalez l'arme pillée Si vous entrez ici,
souvenez-vous que nous avons fait tout cela en désactivant la
collision, etc. Donc, lorsque vous avez déjà l'
arme dans l'inventaire, nous avons déjà supprimé la physique, nous avons déjà supprimé la collision,
et nous avons fait tout cela. Nous n'avons donc pas vraiment
besoin de tout recommencer. Tu l'as déjà fait quand
tu as pillé l'arme. La seule chose que
nous devons faire est donc de l'équiper de notre dos. Donc, celui-ci ici, attachez l'acteur à
l'une de ces prises. Donc, dupliquons simplement
ce code ici. Je vais copier et
passer à mon arme d'équipement et je
vais la coller ici. Bien, pour celui-ci, ce n'
est pas l'arme pillée Je vais les supprimer. C'est notre arme équipée, donc je vais la traîner
et la brancher ici. Et je vais brancher
celui-ci ici. OK encore une fois, je vais le
reprendre ici, cliquer avec le bouton droit de la souris et dire
convertir en un get validé. Je m'assure que ma variable est valide
avant de faire tout cela, avant de l'attacher. N'oubliez pas qu'en
ce moment
votre arme équipée, celle-ci ici en ce moment, est attachée à votre dos. Par exemple, votre AK 47 avant
que vous ne le teniez dans la main, il est attaché
au dos du personnage. Tout d'abord,
vous devez le
détacher de cette ancienne prise Tu dois le faire glisser d'ici
et dire « détacher de l'acteur ». Nous allons d'abord le détacher
par l'arrière. Et nous pouvons conserver notre position face
au monde sur chacun d'entre eux. Après l'avoir détaché de
l'arrière, nous pouvons continuer. Je vais en fait
supprimer ce nœud de route. Je vais le connecter
directement ici. Et nous pouvons
le décomposer pour le rendre
un peu plus beau ici. Et puis celui-ci, vous pouvez le supprimer et vous pouvez le
connecter ici si vous le souhaitez. C'est juste pour le rendre un peu plus beau,
quelque chose comme ça. Laisse-moi juste les
rapprocher. OK, nous l'avons ici. Il s'agit du
code équipé pour les personnes non équipées. Vous l'avez peut-être déjà deviné. Nous devons utiliser l'arme du
Let pour la lâcher. Nous avons déjà fait tout cela et nous ne sommes
pas tombés dans le drop. Passons à l'arme pillée. Nous avons besoin de ce code ici
où vous posez votre pistolet, par
exemple, sur
votre cuisse lorsque vous avez sorti le fusil Copions simplement tout cela ici où vous le mettrez sur le
dos ou sur la cuisse. Passons à l'
arme non équipée, comme avant. Collons celui-ci. Et laissez-moi
plutôt prendre l'arme
non équipée et la brancher ici Permettez-moi de supprimer celui-ci.
Permettez-moi de le reprendre, accord, convertissez en une connexion
validée. En fait, supprimons simplement celui-ci et
connectons-le ici à la place. Avant cela, détachons-nous
encore une fois de l'acteur. Et nous allons garder la position par rapport au monde et la détacher de
l'acteur. Ensuite, nous allons le
connecter ici. N'oubliez pas non plus que nous utilisons une arme non équipée,
juste comme ça OK, vas-y comme
avant. Déplacez-le vers le bas. Et rapprochez-le pour qu'il soit un peu plus beau. Quelque chose comme ça. Et allons-y,
compilons et sauvegardons tout. OK, maintenant nous en avons fini avec eux et nous pouvons continuer
et cliquer sur Play pour voir si cela
fonctionne réellement ou si nous avons
créé des livres. Et allons-y
et cliquons sur jouer. Laissez-moi jouer le rôle du contre-terroriste
en tant que serveur. En fait,
incarnons le terroriste. Parce que les armes
sont là en ce moment. Il n'y a qu'une seule
touche qui fonctionne. Je dois donc éluer le
fusil comme deuxième arme. Maintenant, si je clique sur l'un d'eux, vous pouvez voir que je suis en train de
sélectionner mon fusil. Et si je spamme une touche, souvenez-vous que nous ne pouvons pas envoyer de spam la touche unique si je la ferme pour que je puisse vous la montrer, car ici,
trouvons le graphique des événements. En fait, je vais
fermer tout ça. Je vais donc le déplacer ici, cliquer avec
le bouton droit de la souris, fermer
les onglets vers la droite. C'est donc un peu
mieux de regarder ici. N'oubliez pas que nous avons fabriqué ce
lingot pour ne pas envoyer spam à la clé du fusil, car si
nous avons déjà le fusil, nous n'exécuterons pas ce code C'est également une bonne chose pour
l'optimisation. Ainsi, vous n'exécutez pas de
code inutilement. Tout fonctionne très bien, et si nous trouvons une boîte, nous pouvons toujours la réparer. Cependant, tout fonctionne. La prochaine chose que nous devons faire
est l'arme secondaire, et c'est ce que nous allons faire
dans la leçon suivante.
119. 9.04 Équiper une arme auxiliaire: Passons maintenant à l'arme
secondaire. Vous pouvez continuer, copier tout cela et
créer un nouvel événement. Et il suffit de copier-coller tout cela et de le remplacer par un pistolet Cependant, ce ne serait pas vraiment
une bonne pratique de codage. Maintenant, souvenez-vous que j'
essaie de vous apprendre le meilleur code et que nous pourrions le
copier-coller ici, et cela fonctionnerait parfaitement. Cependant, lorsque je vois
quelque chose en train de copier-coller, lorsque je vois du code qui doit être copié et que la seule chose que je dois changer est une valeur, par
exemple, celle d'un fusil
à J'essaie toujours de chasser. J'ai juste cet
événement et je peux réutiliser au lieu
de le copier-coller à nouveau. Oui, nous pouvons essayer de
réfléchir par vous-même, comment pouvons-nous également utiliser cet
événement ici ? Cela fonctionne vraiment ici et ici. Sans avoir à
copier-coller tout cela, que devons-nous faire maintenant ? Nous pouvons publier cette vidéo
et vous pourrez revenir. Maintenant, je vais
vous donner la réponse. Au lieu de l'avoir
sous forme de variable statique, nous pouvons la rendre dynamique. Nous pouvons l'intégrer
ici, dans cet événement. C'est le type d'arme à trouver. Je crois vraiment que nous avons besoin,
oui, de celui-ci aussi. Lorsque nous changeons d'arme, d'animation, celle-ci
doit également être intégrée à celle-ci. Double-cliquez sur celui-ci
et redirigeons les notes. Très bien, maintenant nous l'avons
branché ici. Ce que nous pouvons faire, c'est ici
avec l'arme principale, nous pouvons simplement la remplacer
par un fusil ici au lieu d'en bas. Ce que nous pouvons faire ici, je vais
juste
copier-coller tout ça. Et collez-le ici. Je vais le connecter
maintenant à la place du fusil. Maintenant, l'
arme secondaire est un pistolet. Donc, si nous n'avons pas de
pistolet déjà équipé, nous pouvons
organiser cet événement Et celui-ci, je vais
le changer en pistolet maintenant. Il va avoir cette
valeur branchée ici et maintenant il va
rechercher un pistolet OK, alors maintenant, très facilement, nous avons terminé
cette leçon. Tu peux cliquer sur jouer, je peux cliquer sur un terroriste et je
peux piller ces deux armes Je peux cliquer sur l'un
d'eux pour avoir mon fusil. Je peux cliquer sur deux
pour avoir mon pistolet. Maintenant, vous pouvez voir que nous pouvons
passer d'une arme à l'autre
sans aucun problème. Et nous n'avons même pas
copié tout cela. Nous venons de réutiliser le même.
120. 9.05 Créer des montages d'animation: OK, donc ce que j'
aimerais faire maintenant que je
trouve que c'est un
peu bon marché en ce moment. Parce que nous pouvons changer
d'arme comme ça. Et ce serait cool si nous avions une animation lorsque nous
changeons d'arme. Si vous avez déjà joué à
Counter Strike, lorsque vous changez d'arme, cela recharge en quelque sorte l'arme
avant que vous ne puissiez l'utiliser Faisons quelque chose comme ça et pour cette leçon, c'est très simple. Nous allons simplement créer des animations ou
des montages
d'animation Cliquons sur les actifs. N'oubliez pas que ce n'est pas l'animation,
ce ne sont pas les anciennes. Ce sont les atouts.
C'est notre personnage. Assurez-vous simplement que c'est
notre personnage. Au lieu d'ici, je
vais simplement rechercher reload car nous avons des animations de rechargement que
nous utiliserons Maintenant, je n'ai pas
d'animations spécifiques pour sortir ton arme. Vous l'avez probablement fait si vous avez un projet sérieux et que
vous souhaitez réaliser
quelque chose comme celui-ci. Cependant, pour
celui-ci, utilisons
simplement l' animation de rechargement lorsque
nous sortons notre arme Et cela vaut également pour les bonnes
pratiques. Faisons d'abord un clic droit sur
le pistolet. Par exemple, allez à la rubrique Créer et créer un montage d'animation. Avec le montage d'animation, nous pouvons ajouter quelque chose
comme recharger des animations, des animations tir au pistolet,
etc.
sans perturber notre animation en cours d'
exécution Et cliquez sur le
montage d'animation, appelons-le anion pour montage d'animation
et appelons-le pistolet de rechargement Faisons de même pour le fusil, cliquez avec
le bouton droit de la souris, allez créer un montage d'animation. Et appelez-le fusil à recharge. Et si vous l'ouvrez maintenant, vous pouvez voir que nous avons
un montage d'animation. Et nous avons certaines
choses que nous pouvons faire ici. Et nous allons en fait
utiliser cette partie ici pour créer un mouvement du
haut du corps. Ainsi, lorsque nous courons, nous pouvons avoir cette
autre animation,
cette animation de rechargement, sans
arrêter notre animation en cours d'exécution Nous pouvons donc avoir deux
animations à la fois et c'est pourquoi nous avons créé
ce montage d'animation.
121. 9.06 Ajuster le plan d'animation: OK, avant que les montages d' puissent fonctionner sur votre animation, vous devez faire quelque chose dans le plan d'animation Passons au lecteur et ouvrons le plan
d'animation Et n'oubliez pas que c'est ce que
nous avons fait ici jusqu'à présent. Ce que vous devez faire,
c'est effectuer
un mouvement du haut du corps,
comme vous pouvez le voir ici. Si je reviens à mes
animations et que je cherche mon animation, je jette un coup d'
œil à mes montages d'animation Maintenant, si je clique sur l'un d'entre eux, je peux voir ici qu'il utilise un emplacement appelé slot par défaut. Et nous devons en fait utiliser
le haut du corps à la place. Ici, dans le gestionnaire de
machines à sous de l'animation. Cliquons sur un emplacement, appelons-le simplement haut du corps, parce que je ne veux
déplacer le haut du corps que lorsque je recharge tout en laissant mon
personnage courir partout Tu peux courir, recharger haut du corps et nous laisser le sauver Et maintenant, tu verras
si tu passes aussi au pistolet. Ici, dans le gestionnaire de machines à sous, vous avez le haut du corps. Vous avez cet emplacement chaque fois que
vous le créez sur
l'un d'entre eux, le fusil l'a et le
pistolet aussi OK, vous devez cliquer sur l'emplacement ici au lieu
de l'emplacement par défaut. Cliquons maintenant ici pour le nom du slot et
changez-le en haut du corps. Il en va de même pour le pistolet, donc tous
les deux cliquent ici, le nom de la
machine à sous et
remplacez-le par le haut du corps Maintenant, vous pouvez voir que l'
animation ne joue pas car nous sommes les seuls savoir
qu'il s'agit
du haut du corps. Nous n'avons pas vraiment
indiqué au moteur neuronal ce qu'est le haut du corps pour le
moment. C'est ce que nous devons faire. Passons au
plan d'animation qui se trouve ici. Nous devons utiliser une fonction
appelée Layered Blend her Bone. Cette couche permet de mélanger ses os par défaut.
Prenons d'abord le pistolet Copions ceci. Le
mouvement du pistolet est mis en cache, et placons-le ici Ce qu'il faut mélanger, c'est
essayer de le copier-coller à nouveau. Et nous devons faire glisser le pointeur ici et
rechercher l'emplacement par défaut. Vous pouvez voir ici que nous
avons cet emplacement par défaut. Cependant, ce n'est pas ce que
nous voulons utiliser pour le moment. Nous voulons utiliser, si
vous cliquez ici, que
vous souhaitez le remplacer par
le haut du corps. Maintenant, nous utilisons
celui-ci à la place. Et tu peux sortir
et le connecter ici. Chaque fois que nous jouerons notre montage d'
animation, il se mélange
entre les deux. Nous avons ce mélange ici. Cliquons dessus ici. Et cliquons sur
la configuration de la couche. Cliquez ici et
cliquez sur le signe plus. Cliquez sur la flèche ici. Maintenant,
nous sommes à l'intérieur. Ce que nous essayons de faire
maintenant, c'est de dire à Unreal Engine ce qu'
est le haut du corps, car à l'heure actuelle,
Unreal Engine ne connaît pas vraiment le haut du Tu dois lui donner un nom osseux. Si vous ouvrez le squelette
ou le personnage et que vous cliquez sur les
os du personnage et sur toute la hiérarchie, vous pouvez voir l'os
du personnage que
nous voulons indiquer au haut du corps. Où est-ce que ça commence ? Habituellement
, dans la plupart des cas, cela commence ici à la colonne vertébrale 01. Parfois, ça a l'air mieux
quand ça commence à partir de la colonne vertébrale 02. Dans ce cas, essayons d'
utiliser le Spine 01. Vous devez revenir en arrière et
l'écrire
exactement comme on l'
appelle ici, nous l'appellerons Spine 01. Et la profondeur du mélange en est une. Et aussi la rotation de l'espace maillé, le
mélange est dit vrai. Compilons et
supprimons-le d'ici. Et connectons plutôt ceci. Juste comme ça,
je vais
copier-coller tout ça et
supprimer le pistolet Et au lieu de cela, reprenez le fusil et
branchez-le ici également. Allons-y,
connectons également
le fusil et supprimons l'ancien. Je vais le déplacer vers le bas et organiser un peu plus les choses. Donc quelque chose comme ça ici. Alors je pourrai le déplacer
ici comme avant. Et maintenant, nous
en avons fini avec cela. Si je clique sur Peut
compiler, vous pouvez voir mon personnage est
en train de bouger maintenant. Maintenant, si nous jouons nos montages
d'animation, tout devrait
fonctionner parfaitement N'oubliez pas de le changer. Ici, dans votre montage d'animation, pensez à le
remplacer par le haut du corps. Et n'oubliez pas
qu'en ce qui concerne le haut du corps, pour le mélange en couches par os ,
pensez à indiquer de quel os vous souhaitez
effectuer le mélange. Très, très important.
Sauvegardez tout, et passons à autre chose.
122. 9.07 Equip Animation Multicast: Allons-y et faisons en sorte que cela fonctionne. Revenons au
joueur et
ouvrons la base de joueurs ici. Jouons notre montage
d'animation. Ce que vous devez faire, c'est prendre
ce maillage que nous avons et vous pouvez le faire glisser à partir d'ici et rechercher un montage d'animation. Et puis vous pouvez le voir ici. Jouez au montage d'animation. Bon, maintenant nous devons sélectionner quel montage il s'agit. Je vais le rendre
dynamique comme celui-ci. Ce que nous pouvons faire, c'est nous rappeler que
celui-ci est un effet temporaire. Au lieu d'utiliser un représentant, notifiez, souvenez-vous qu'un joueur qui ne s'est pas encore
connecté à votre serveur voit
une notification de représentant Et s'ils se connectent, par
exemple, 10 minutes plus tard, ils peuvent
voir votre arme équipée. Cependant, l'animation, comme celle de rechargement
lorsque vous prenez une arme et qu'ils
peuvent assister
à un rechargement, n'a pas vraiment besoin de s'afficher
pour les joueurs non connectés car il s'agit simplement d'une animation
qui disparaît au bout d'une qui disparaît au bout Les gens ne seront pas
vraiment désolés s'ils ne
peuvent pas voir cette animation
lorsqu'ils se connectent, car elle
disparaîtra au bout d'une seconde de toute façon. Je vais donc plutôt ajouter à
une multidiffusion. Une multidiffusion. N'oubliez pas que seuls les joueurs
connectés peuvent le voir. Et les joueurs non connectés, s'ils se connectent en même temps que
vous rechargez, ils ne peuvent pas le voir
tant que vous ne le rechargez Laissez-nous organiser un nouvel
événement client Appelez ça le multicast. Appelons-le Equip Weapon, car j'ai l'habitude l'
appeler du même nom
que celui du serveur. Laissez-nous l'exécuter en
multidiffusion de manière fiable, et connectons-le
ici pour la multidiffusion Selon que nous
tenons un pistolet ou un fusil, nous voulons jouer l'animation
correspondante Tout comme ce que nous avons fait ici. Je vais créer
une nouvelle variable correspond au type d'arme
, comme là-haut. Sélectionné. Faisons la
même chose ici. Je vais juste m'équiper. Je vais juste l'
appeler pour m'équiper. En fait, je vais
l'appeler de la même façon ici. Au lieu de trouver, de s' équiper comme ce type
d'arme à équiper. OK, tout a l'air bien. Nous pouvons maintenant faire glisser le pointeur
d'ici et dire « sélectionner » et « utiliser ce nœud de sélection ». Ensuite, nous pouvons connecter
celui-ci ici. Il va maintenant
sélectionner l'animation en fonction de cette valeur
d'énumération Si c'est le pistolet, je vais sélectionner et le jouer Montage d'animation.
Si c'est le fusil, je vais jouer au
fusil Animation Montage. Maintenant, il va jouer
en fonction de ce que nous avons sélectionné ici pour le fusil ou
ici pour le pistolet Permettez-moi de le déplacer
en dessous des deux. En fait, je vais
organiser ça un peu plus. Déplacer ceci, déplacer ceci au-dessus. Ils sont donc ensemble et
celui-ci est en dessous d'eux. Et nous pouvons également déplacer celui-ci vers
le haut, juste comme ça. OK, maintenant nous l'avons et maintenant nous devons l'ajouter au code. Je vais donc simplement
l'ajouter ici. Juste après avoir changé
notre état de mouvement, je veux jouer mon animation de
rechargement Et nous l'avons appelée arme
MC Equip. Et n'oubliez pas que les multidiffusions
ne peuvent être exécutées que lors d'événements liés au serveur. Il s'agit d'un événement de serveur. N'oubliez pas que c'est très important, la
multidiffusion ne peut pas fonctionner ici. Vous ne pouvez donc pas appeler un
multicast ici. C'est faux. Vous devez le
faire passer par le serveur. Discutons-les et
disons arme MC Equip. Connectons-le ici.
Et associons-y ce type d'arme pour qu'il
soit correct lorsqu'il est joué. Et compilons maintenant. Maintenant, nous pouvons continuer et
cliquer sur Play pour voir si tout fonctionne ou
si nous avons une boîte. Si je clique sur jouer, que je sélectionne des terroristes et
que je les sélectionne ici,
maintenant je clique sur l'un d'eux , vous pouvez voir que je joue
l'animation de rechargement Si je clique sur deux,
je recharge également. Voyons maintenant si cela
correspond à notre course à pied. Si je cours et que je clique ici, vous pouvez voir que je
cours réellement et que je recharge Si je clique sur la commande
et que je recharge, voyez, si
je clique simplement sur le bras à ressort et
que je le porte à 500 pour que nous puissions vraiment voir à quoi il
ressemble, je clique sur Play Et si nous les prenons maintenant, faisons-le maintenant. Si je change, vous pouvez voir que je suis accroupi et que je
recharge Cela fonctionne maintenant. Tout
fonctionne correctement. Génial. Maintenant, je
clique sur le bras à ressort, mets à nouveau la
longueur du bras cible à zéro, et tout fonctionne. Maintenant, nous devons également l'
ajouter ailleurs. Parce que lorsque nous récupérons l'
arme par terre, elle ne joue pas pour le
moment Chaque fois que vous pillez les objets
ou que vous vous trouvez dans le lot, des armes,
chaque fois que vous récupérez l'objet ici chaque fois que vous récupérez l'objet Lorsque nous définissons le type
d'arme équipée du lot, nous devons également
jouer à l'animation. C'est donc correct. Laisse-moi juste
déplacer ça un peu plus loin. Et appelons-le
à nouveau arme MC Equip. Et ajoutons le type d'arme
, quel qu'il soit. C'est celui-ci. Allez-y
et créez un nœud de route arrière, et maintenant nous l'avons correct ici. Nous allons donc organiser les choses un
peu plus comme ça. OK, donc maintenant il est également à l'intérieur d' ici dans l'arme à butin Et maintenant, cliquons sur jouer. Maintenant, chaque fois que je pille mon arme, elle joue cette animation avant
que je puisse tirer avec mon arme C'est ainsi que vous pouvez également ajouter des animations à vos
armes. Vous pouvez les ajouter par le biais montages
d'animation
et vous pouvez également effectuer un mouvement du haut du corps
pendant les montages d'animation, afin de ne pas perturber
votre animation de course pendant que vous faites tout cela OK, c'était donc tout pour le moment. Sauvegardons tout et
passons à la suivante.
123. 9.08 Paramétrer le widget d'affichage des armes: Il est maintenant temps de créer le widget d'affichage des armes.
Allons-y donc. Dans l'interface utilisateur,
comme avant de créer
la sélection de l'équipe,
cliquez maintenant avec le bouton droit de la souris comme avant de créer
la sélection de l'équipe, , accédez à l'interface utilisateur et créez
un autre widget, Blueprint Maintenant, pour celui-ci,
encore une fois,
c'est le widget utilisateur que nous
allons sélectionner. Et appelons-le B. Je
vais l'appeler principal. Ce sera l'
interface utilisateur principale que nous aurons. Nous n'avons pas créé de NuWi
principal pour le jeu. Dans le Nei principal, vous pouvez également
voir vos armes. Ouvrons celui-ci. N'oubliez pas que chaque fois que vous commencez sur le plan d'
un widget,
vous devez d'abord utiliser le
canevas, en y ajoutant
un canevas Et pour le moment, nous sommes
prêts à le concevoir ici. Cependant, nous
n'avons toujours pas importé les icônes. Alors laisse-moi tout enregistrer.
Fermons ça. Et je veux que vous examiniez le matériel pédagogique
que je vous ai donné, que vous passiez aux icônes de l'interface utilisateur, et je vous ai donné
ces icônes. Alors allez-y et sélectionnez à nouveau toutes les icônes
des armes à feu. Vous pouvez voir différents
éléments dans
ce matériel de cours en
fonction de la date à laquelle vous le téléchargez. Parce que pour le moment,
j'ajoute juste plus de choses au fur et
à mesure de ce cours. Il y a peut-être plus d'icônes que ce que vous pouvez
voir ici en ce moment. Ayez ces trois icônes. Pour l'instant, passons au dossier des icônes. Permettez-moi de cliquer et de les
faire glisser ici. Encore une fois, comme nous l'avons
fait avec les autres, souvenez-vous que nous avons changé le groupe de
textures en UI et les paramètres de compression interface
utilisateur deux D. Faisons-le également avec
ces trois éléments. Vous pouvez maintenant cliquer dessus
et les configurer individuellement. Cependant, vous pouvez simplement cliquer sur l'un d'eux ou maintenir la touche
Ctrl pour sélectionner les trois. Cliquez avec le bouton droit de la souris, puis accédez à Asset. Action, modification en bloc
via la matrice de propriétés. N'oubliez pas que c'est ainsi que vous les
modifiez tous en même temps. C'est quelque chose que
nous avons déjà fait. Nous allons de l'avant et cliquons dessus. En ce qui concerne la compression, je le
crois, étant donné qu'en dehors
des paramètres de compression, il s'agit deux interfaces utilisateur, deux D, et le niveau de détail, vous pouvez le définir d'un monde à l'autre. Maintenant, nous pouvons le fermer
et tout enregistrer. Très bien, alors maintenant, lorsque nous
entrons dans l'
interface utilisateur et dans l'interface utilisateur principale, et si, par exemple, nous ajoutons une image à l'écran, vous cliquez dessus ici pour que
l'image trouve l'image, trouvons les icônes que
nous avons ajoutées. Et ici, vous pouvez voir
les icônes que nous avons. Très bien, passons donc à la leçon suivante où nous
concevons ce plan de widget Pour l'instant,
supprimons simplement celui-ci. Gardons ce canevas
parce que nous en avons besoin. Et compilez, sauvegardez tout,
et passons à autre chose.
124. 9.09 Créer l'interface utilisateur de l'affichage des armes: Bien, ce
que nous voulons faire maintenant avec l'affichage des armes, c'est
comme dans Counterstrike, où vous pouvez voir ici le côté, que vous avez l'
arme, puis que vous avez la touche du
clavier sur laquelle vous devez appuyer
pour voir cette arme Donc, juste comme ça, nous
allons faire la même chose, et l'interface utilisateur sera plus visible chaque fois que vous aurez sélectionné
cette arme par rapport
aux autres, etc., donc juste un petit effet. OK, pour l'instant, permettez-moi
de terminer et nous
allons créer cette interface utilisateur d'affichage d'armes très
simple. Maintenant, lorsque vous concevez
quelque chose comme ça, vous devez penser
aux boîtes que vous souhaitez ajouter. Nous avons donc la boîte horizontale et la boîte verticale. abord, nous avons besoin d'une boîte
verticale car les armes sont superposées. Choisissons une boîte verticale. Placez-le ici. Redimensionnons-le d'une manière ou d'une autre pour
que je puisse le faire glisser Et je vais le traîner
quelque part ici. Encore une fois, n'oubliez pas de
changer le point d'ancrage, sinon ce sera faux
sur l'écran ici. En cliquant sur le point d'ancrage, le plaçant en bas à droite. Et aussi pour la
position, je vais
écrire 00 pour voir où
elle se trouve à l'écran. Et vous pouvez voir qu'il est
en dehors de l'écran. N'oubliez pas que vous pouvez ajuster
cela dans l'alignement. Si j'écris 0,5 ici, vous pouvez voir qu'il se trouve maintenant
au milieu Et si j'en écris un, il s'
enclenche de l'autre côté, et pour Y, si t 0,5, il s'enclenche
au milieu Et si j'en écris une, elle
passe à l'autre coin. Maintenant, même en position 00, il se trouve à l'intérieur de notre toile, et c'est ce que nous voulons
pour les positions x et y. Je peux lui donner quelque chose
comme -30 ici et -30 ici, juste pour l'
éloigner Il n'est pas en haut de l'écran. Voici le bord de l'écran. OK, compilons. Maintenant,
ce que nous devons faire, c'est avoir une arme et la touche du clavier. À côté, nous avons en fait
besoin d'une boîte horizontale. Maintenant, une boîte horizontale à l'intérieur
de la boîte verticale. Et maintenant, nous pouvons ajouter l'image de l'arme ainsi que le
texte de la touche du clavier. Ajoutez-les ici. Permettez-moi de cliquer sur le texte, et écrivons-en un pour le moment. Il s'agit de la touche du clavier. Ensuite, vous pouvez
cliquer sur l'image. Laissez-moi simplement sélectionner l'image. Si je recherche l'icône
AK 47 par exemple, et que je voulais une taille plus grande, au lieu de 32 x 32, peut-être que nous pouvons écrire
quelque chose comme 130 par 130. N'oubliez pas qu'avant de le
concevoir correctement, pensez à cliquer
sur la taille de l'écran. Accédez aux ordinateurs portables, par exemple, et sélectionnez le bloc-notes générique de
14 à 15 ans. C'est exactement
ce que je vous ai montré auparavant avec le widget de
sélection des équipes. Cela permet de dimensionner
correctement cette interface utilisateur sur tous les appareils. Chaque fois que je suis au
zoom un par un, voici à quoi ça
va ressembler sur l'ordinateur portable, voici à
quoi ça ressemble. Maintenant, vous pouvez voir si vous
cliquez sur ce bouton ici, je supprime les tirets. Je le fais habituellement pour voir à quoi cela ressemble sans
toutes ces lignes. Je pense que c'est
assez grand pour un ordinateur portable. Compilons. N'oubliez pas
que nous l'avons redimensionné à mon écran. Par exemple, j'ai
un moniteur 4K, et nous l'avons redimensionné en cliquant
sur cette petite icône Ensuite, nous avons sélectionné ici le
montant que nous voulions augmenter. Je crois qu'il y en avait huit auparavant. Il s'est donc développé très rapidement. Je l'ai mis à 2,5 Oui. Maintenant, cliquons sur ce numéro. Je vais l'aligner verticalement
au milieu. Je pense que c'est en train de cliquer
sur cette case horizontale. En fait, ce que je vais faire, c'est cliquer sur la case verticale. Et en cliquant sur Size To Content, la
taille de la case
verticale sera simplement calculée par rapport au
contenu qu'elle contient. Ce que nous pouvons faire, par exemple, c'est pour le cadre horizontal
, je peux contrôler D, et cela le copiera
au-delà de celui-ci ici. Si vous contrôlez simplement D pour le
copier ou le dupliquer, vous pouvez voir qu'il colle les armes ici et
cela semble correct J'ai juste besoin de deux d'entre eux.
Je n'en ai pas besoin d'autant. Je vais d'abord cliquer
sur le chiffre. En fait, je vais
supprimer celui-ci. Je vais juste styliser l' un d'entre eux et je
pourrai le copier-coller Je vais cliquer
sur ce numéro. Je vais remplacer
le fonds par quelque chose. Nous avons importé du rubis. Je pense que Simy Bold
sera parfait pour celui-ci. Nous pouvons toujours
le tester pour la taille. Je pense que 22, c'est
peut-être mieux. 22, il nous faut un espace
entre les deux. Montez ici, recherchez un espaceur et placez-le entre
l'image et le texte Ensuite, vous pouvez mettre
un peu d'espace entre eux. Par exemple, si j'en fais
20, quelque chose comme ça. Ou vous pouvez le faire encore
plus s'il est trop petit. Je pense que c'est bon pour le moment. Maintenant, vous pouvez cliquer sur cette case horizontale de
contrôle D pour la dupliquer. Et maintenant que vous
l'avez, par exemple, pour celui-ci, vous pouvez
le transformer en pistolet Maintenant, cela n'a pas vraiment d'
importance pour le moment, car nous allons le modifier de
manière dynamique dans le jeu. Cet AK sera une arme. Si je vais voir le
plan des armes, si je peux le trouver ici, l'arme ici, 44 Ce sera l'
icône, ou celle-ci. Si vous en avez obtenu
44 au lieu d'un AK, ces images changeront de
manière dynamique dans le jeu. Cela n'a pas vraiment d'importance,
mais pour ces chiffres, c'est un, c'est deux. Et c'est ce que j'appuie
sur le clavier pour ces armes soient
équipées pour moi. D'accord,
c'était donc tout pour le styliser. Vous pouvez voir que c'est
très, très simple. C'est une interface utilisateur très simple, mais elle sera
jolie dans le jeu. C'était donc tout pour le moment. Allez-y, compilez
et sauvegardez tout, et passons
à la suivante.
125. 9.10 Afficher l'interface utilisateur de l'affichage des armes: Nous allons maintenant afficher
cette interface utilisateur à l'écran. Maintenant, vous pouvez le faire vous-même
si vous voulez vous entraîner, car nous l'avons déjà
fait. Essayez de comprendre comment vous pouvez
l'afficher à l'écran. Après le widget de sélection des équipes. Chaque fois que nous sélectionnons l'équipe, je souhaite afficher cette interface utilisateur principale. Essaie de le découvrir toi-même. C'est un bon entraînement si vous ne vous en souvenez pas
ou si vous avez besoin d'aide. Faisons-le ensemble.
Laisse-moi fermer ça. d'abord, je dois consulter les plans.
Accédez
au contrôle du joueur. N'oubliez pas que dans le contrôle du joueur nous avons toute l'interface utilisateur dans laquelle nous avons créé cet événement « Afficher et
masquer le widget ». Ici, je veux
montrer mon widget principal. Maintenant que nous utilisons cette énumération, je dois l'ajouter à
l'énumération Si je vais sur Enums, je clique sur les widgets du jeu À l'intérieur, j'ajoute
un nouvel énumérateur et j'écris le nom ou non le nom Je vais le déplacer vers le haut
juste pour qu'il reste plus propre.
Ça n'a pas vraiment d'importance. Ensuite, je vais passer à la manette du joueur
ici, comme avant. Cliquez avec le bouton droit de la souris pour créer des widgets. Ensuite, nous pouvons créer
le widget principal. Nous pouvons le rechercher ici. Je vais cliquer avec le bouton
droit de la souris pour en faire une variable et l'appeler WB main Nous allons maintenant
faire glisser le pointeur à partir d'ici et ajouter à Viewport, comme ceci Maintenant, comme avant, je
vais faire glisser ce fichier principal vers l'extérieur, à droite, le convertir en
un get validé. Ensuite, lorsqu'il n'est pas valide, je souhaite créer le widget. Cependant, si nous l'avons déjà
créé, je vais l'
ajouter directement à la fenêtre d'affichage,
comme avant Essaie de l'organiser. Lorsque vous avez terminé
comme ça, vous pouvez continuer
et compiler. Et n'oubliez pas d'accéder au widget
de masquage à l'intérieur d'ici. Comme précédemment,
prenons W dans un get validé, faisons glisser le pointeur à partir d'
ici et disons supprimer de. N'oubliez pas non plus de le
faire quand vous
le souhaitez , peut-être un peu maintenant. Cela n'arrive pas vraiment
trop avec le menu. On ne l'enlève pas trop. Cependant, dans un
cas, par exemple, si vous avez une cinématique
ou quelque chose comme ça, vous ne voulez pas
afficher le menu C'est également ainsi que vous le supprimez. Revenons maintenant au graphique des
événements. Après la sélection de l'équipe, souvenez-vous qu'ici, dans la
manette du joueur en bas, nous avons fait apparaître ce joueur CL Nous faisons apparaître le joueur, nous
masquons la sélection de l'équipe. Voici maintenant un bon
endroit pour montrer le Maui. N'oubliez pas que l'interface utilisateur est côté client. Chaque fois que vous travaillez avec l'interface utilisateur, vous devez les exécuter
sur le client ici. Ce que je fais habituellement,
c'est que je recherche un événement client que nous avons déjà créé et
que nous pouvons utiliser. Ce joueur CL spawn
fonctionne sur le client, donc c'est vraiment un bon
endroit pour montrer le Maui Je vais conduire
ici et dire Afficher widget
Masquer, comme nous l'avons appelé. Et je vais
sélectionner le menu. Je vais cliquer sur
Afficher et le connecter. Maintenant, juste un rappel,
si vous avez oublié, il va sélectionner le
Maui et il va
sélectionner Afficher ici dans l'émission Masquer le widget. Il sait que
c'est le menu. Il sait que ce
bulletin est vrai. Donc ça va aller ici. Il sait que c'est vrai. Il
va donc afficher le widget. Maintenant, il sait de quel widget il s'agit, car nous avons sélectionné
le widget principal, allons entrer ici. Et il va exécuter ce
code depuis le widget principal. Et il va
ignorer celui-ci. Il ne fait que gérer
celui-ci ici. Et nous allons ajouter le widget
principal à la fenêtre d'affichage. Je ne pense donc pas qu'il nous manque
quoi que ce soit. Allons-y, jouons
et choisissons, par
exemple, la lutte contre le terrorisme. Et puis vous pouvez voir
que j'ai mon interface utilisateur principale. Si je maximise mon écran, j'ai l'interface utilisateur principale ici et
je peux la voir sur mon écran.
126. 9.11 Coder la fonctionnalité d'affichage de l'arme: Codons maintenant les fonctionnalités
de l'interface utilisateur d'affichage. Passons à l'interface utilisateur
et ouvrons-la. Essentiellement, avant
de commencer à coder l'interface utilisateur, il
vous suffit de vous demander
ce que vous essayez de faire. Ce que j'essaie de
faire, c'est de
changer cette image pour qu'elle corresponde à
ce que je tiens. Je veux l'exposer et le retirer, selon que j'ai
pillé l'arme ou non Commençons donc par
le premier. Dans le premier cas, je vais
juste changer le nom de l'image pour
éviter toute confusion. Je vais l'appeler fusil IMG. Le prochain, je vais
l'appeler pistolet IMG. Maintenant, pour les utiliser
ici dans le graphique, vous pouvez voir que nous n'
avons aucune variable. Il faut cliquer sur
les deux. Sélectionnez les deux. Deux est variable, vous devez donc
le prendre et le compiler. Et maintenant, nous pouvons voir que nous pouvons
les utiliser comme variables
à l'intérieur d'ici. Je vais
tous les supprimer et nous
laisser créer un événement personnalisé. Appelons cela simplement
mettre à jour l'inventaire. Je mets à jour l'inventaire
I à l'intérieur d'ici. En gros, ce que nous essayons de
faire, c'est de
prendre ce pistolet à images
par exemple et ce fusil à image et nous essayons de
définir le pinceau à partir de la texture Celui-ci définit le pinceau à partir de la texture, c'est simplement au moment où
vous modifiez cette image. Nous voulons changer cette image selon que
nous maintenons le K, les informations ou autre chose. Réglez le pinceau à partir de la texture et voici l'
image que nous pouvons modifier. L'autre point est que nous
essayons d'afficher
ou de masquer cette icône
selon que nous avons pillé
l'arme ou non Encore une fois, dragon à partir de cette visibilité définie
et sélectionnez celle-ci. Je vais copier-coller
celui-ci ici, le copier et connecter également
le fusil à image C'est ce que tu
essaies de faire. Je suis en train de le copier-coller aussi
comme ça. Ce sont les fonctions que
nous allons simplement utiliser. C'est toujours agréable de le faire chaque fois que
vous commencez quelque chose. Essayez de réfléchir à la principale
chose que vous essayez de faire. Vous essayez de
changer l'image en fonction de l'
arme que vous avez pillée et vous essayez de régler la visibilité sur
masquée ou non, selon que vous avez
pillé cette arme ou OK, avec celui-là. Maintenant, tout dépend de l'
arme que nous pillons. Est-ce un pistolet ou un fusil ? N'oubliez pas que nous
avons déjà une variable pour cela et qu'il s'agit du type
d'arme E. Nous
l'utilisons beaucoup et appelons-le
un type d'arme. OK, nous avons donc celui-ci et
nous pouvons le faire glisser à partir de là et dire que Switch a autorité. Activez en fait l'
énumération celle-ci. Maintenant, selon qu'il
s'agit d'un pistolet, nous allons exécuter ce code Selon qu'il s'agit d'un fusil, nous allons exécuter ce code. Et je vais juste connecter tout cela ici,
juste comme ça. Bon, maintenant pour les images,
pour les textures. Au lieu de
les placer ici, je vais simplement les cliquer et les
faire glisser dans cet événement. Et je vais
appeler ça un clou stupide. Nous pouvons également
l'intégrer ici. OK, compilons maintenant.
Laissez-nous tout sauver. Bien, la seule
chose qui nous manque pour le
moment , c'est la miniature de l'arme Car n'oubliez pas que
nous n'avons pas ajouté miniature
d'arme à l'infrastructure d'
armes Nous devons donc le faire
dans la prochaine leçon. Cependant, avant de terminer cela, nous devons également le
rendre visible ou non. Désormais, la visibilité
de l'arme sera visible chaque fois que vous l'aurez
chargée. Toutefois, si vous ne l'avez
pas encore chargé, il sera masqué. Pour ce faire, nous pouvons
simplement vérifier si cette miniature d'image ou cette miniature d'arme est
valide ou non Parce que, comme avant, si je reviens au
joueur et à la base de joueurs, souvenez-vous de la
façon dont nous pourrions supprimer variables comme celle-ci
en ne leur
attribuant aucune valeur et elles ne
seront pas valides. Nous pouvons faire la même chose ici
pour la miniature de l'image. Nous pouvons le mettre à zéro
et il ne sera pas valide, ce qui signifie que nous avons
lâché l'arme. Ce que nous pouvons faire, c'est faire
glisser le pointeur d'ici et dire que c'est valide et que nous pouvons
choisir que celui-ci est valide. Tout comme avant
ou après avoir travaillé avec les notes sélectionnées, nous pouvons faire glisser
le curseur à partir de celles-ci et dire « sélectionner et choisir celle-ci ». Maintenant, je peux connecter ce
lingot à celui-ci ici. D'accord ? Si la
miniature de l'arme n'est pas valide, valide
est fausse, cela signifie
que nous voulons qu'elle soit
masquée Maintenant, pour cet autre, s'il est vrai, il est valide. Nous voulons qu'il ne soit
pas testable. N'oubliez pas que l'option « non
testable » signifie que le curseur de
votre souris ne peut pas
interagir avec cette image Nous n'avons pas vraiment besoin de le faire. Ce que nous devons faire,
c'est cliquer
dessus ici et garder le contrôle. Cliquez sur le
second et réglez également la visibilité sur
Non testable Visible signifie que votre souris
peut réellement cliquer dessus et
qu'elle bloquera
tout ce qui se trouve derrière cela. Mais nous n'avons pas vraiment
besoin de cliquer dessus. Je dois les configurer
pour qu'ils ne soient pas testables. Et faites la même chose
ici pour le texte. Réglez-les sur Non testable. Ici, dans la visibilité par défaut, je vais
également
sélectionner ces deux options et la visibilité masquée Nous n'avons pas vraiment besoin de
les voir au début du jeu, nous n'avons aucune arme. Nous allons le régler pour qu'il ne soit pas
testable chaque fois que nous
pillons l'arme ici Fais la même chose ici. Nous
demandons si c'est valide. Nous pouvons en fait simplement
copier-coller celui-ci. Copiez-collez-le, branchez-le et branchez-le également ici. OK, j'ai donc créé quelques notes de route et
organisé un peu le code. Voici le
code, et c'est le code principal de
notre inventaire, UI. Passons maintenant à
la leçon suivante et créons cette miniature d'arme
à l'intérieur de notre structure
127. 9.12 Ajouter une vignette d'arme à la structure: Ajoutons maintenant la
miniature de l'arme à la structure. Revenons à nos structures et ouvrons les informations sur les armes. Et ajoutons une nouvelle
variable et
appelons-la une miniature ici Pour la miniature, le type
est juste une image,
donc c'est une texture deux D.
C' est ainsi qu'on les
appelle. Sortez et économisez. Fermons maintenant
cette structure. Ajoutons-le également
au tableau de données. Si vous ouvrez le tableau
de données à partir de Google Sheets que nous avons créé précédemment et que vous ouvrez le tableau de données à l'intérieur d'ici, laissez-nous ajouter la variable à l'intérieur de la structure.
Je vais juste mettre ici
après le type, peut-être ici juste
pour le rendre plus propre. Peu importe
où vous le déplacez,
mais maintenant je dois l'ajouter ici. Après le type, je
dois ajouter la miniature. Si je regarde le type ici, je dois ajouter la
miniature Je vais cliquer avec le bouton droit de la souris et
ajouter une colonne à droite. Alors je vais appeler
ça une miniature. N'oubliez pas de
l'appeler du même nom que celui que vous lui avez donné ici. Nous avons maintenant besoin de leurs
références. Si je le ferme,
je passe à l'interface utilisateur. J'ouvre les icônes, maintenant je peux écrire, cliquer sur
cet AK et copier la référence. Je peux retourner à mon tableau de données et le coller ici pour l'AK. Faites la même chose
ici pour les informations, cliquez avec le bouton
droit de la souris sur la référence pour copier la référence. Collez-le ici, cliquez avec le bouton droit de la souris pour
copier la référence du pistolet. Et collez-le également ici. Maintenant, vous pouvez
le
télécharger sous forme de fichier CSV ici
dans le dossier des téléchargements. Je vais renommer Weapon Info. Je vais copier
celui-ci, l'ancien. Je vais le supprimer. Je vais coller le
nom ici, DT Weapon info. N'oubliez pas que c'est
le même nom
que celui que nous lui avons
donné ici dans nos tables de données. Et maintenant, nous pouvons cliquer
et le faire glisser ici, et il est indiqué de le
réimporter avec succès Si vous l'ouvrez, vous
pouvez voir qu'il contient maintenant des
icônes. OK, maintenant on peut le fermer. Passons maintenant au joueur et
ouvrons la base de joueurs. sein de la base de joueurs, nous voulons mettre à jour l'interface utilisateur lorsque nous récupérons l'arme qui
se trouve
dans le lot d'armes Allons ici avec
l'arme Servalote. Nous devons appeler cet
événement de mise à jour de l'interface utilisateur dans un client. N'oubliez pas que l'interface utilisateur est située sur le site du
client et que nous
n'avons pas vraiment d'événements pour les
clients en ce moment Ce que je vais faire, c'est cliquer avec le bouton droit de la souris ici et créer un
nouvel événement personnalisé. Appelez-le CL pour le client, laissez-moi simplement l'appeler Update
Inventory, UI par exemple. Et exécutez-le sur le
client propriétaire et c'est fiable. Ce que nous voulons
faire ici, c'est appeler notre B main. N'oubliez pas que c'est à l'intérieur de
la manette du joueur, nous avons ce WB principal Et à l'intérieur du B main, nous pouvons trouver notre événement
que nous avons créé plus tôt. Nous devons accéder à ce WB principal, qui se trouve à l'intérieur du contrôleur du
joueur Essayez de voir si vous pouvez le faire vous-même et appelez
cet événement ici. Il s'agit d'une bonne pratique
pour communiquer entre les plans.
Faisons-le ensemble. Maintenant, permettez-moi de cliquer avec
le bouton droit de la souris et de dire « get controller » pour obtenir le
contrôleur correspondant à ce point spécifique. Ensuite, je peux faire glisser le pointeur
à partir d'ici et dire « get player controller reference », nous l'avons créé à partir de notre interface
Blueprint Ensuite, je peux appeler
ma variable principale WB. Ensuite, je peux faire glisser et
mettre à jour l'inventaire. Je mets parfois à jour l'inventaire. Je le connecte
au type d'arme. Je vais juste le faire
glisser ici, ainsi que la miniature de l'arme Je l'ajoute juste à
l'événement. Cela crée
automatiquement une variable et je vais
créer des nœuds de route. Maintenant que c'est fait,
compilons et sauvegardons
tout ici. Chaque fois que nous pillons une arme, je l'appelle. Une fois que
je l'aurai équipée, après avoir changé de type d'équipement, je la repousse. Je vais aussi repousser
ça. Je vais repousser ça. Ensuite, je vais appeler le CL,
mettre à jour l' arme ou l'interface utilisateur de l'inventaire. Maintenant, au lieu de définir
le type d'arme, sortons-la simplement de
cette arme pillée Je vais cliquer et le
faire glisser ici. Prenez également une note de redirection. Également pour la miniature de l'arme. Maintenant, nous l'avons dans notre tableau
de données. Lorsque vous obtenez les informations sur l'arme, vous obtenez également les informations
relatives à la miniature,
que vous pouvez voir ici Si vous ne le voyez pas,
pensez à le cocher ici. N'oubliez pas que nous cliquons sur Masquer épingles
non connectées, et
nous ne voyons que cela Maintenant, vous pouvez également cliquer
sur le Spin pour afficher la miniature et nous
pouvons la brancher Très bien, alors maintenant
nous l'avons ici. Nous l'avons branché maintenant. Cela devrait fonctionner chaque fois que
nous pillons une arme. Essayons-le simplement.
Avant de continuer , cliquez sur jouer. Et lorsque nous cliquons sur Jouer
en tant que terroriste. Je fais allusion à ce
pistolet par exemple. Et vous pouvez voir que le pistolet apparaît maintenant
ici, dans Mon interface utilisateur Quand je fais allusion au formulaire, il ne montre pas le P.
Nous devons corriger celui-ci Il ne montre pas le pour le moment. C'est bizarre parce que ça devrait
être le même code ici. Chaque fois que c'est le cas, infor, nous ne sommes plus désarmés Donc, ici, dans le butin d'armes en
ce moment ou dans le lot, nous
ne sommes pas désarmés Donc, en fait, il
passe en revue cette partie
du code ici et il
ignore tout cela Nous devons réellement le reconnecter
à un système correct. Je vais maintenir la touche Ctrl
et Alt enfoncée pour le déconnecter. Alt. Cliquez, désolé. Alt et cliquez pour le
déconnecter. Alors je vais le déplacer
du faux ici. Je pense
qu'il vaut mieux le connecter à ici. Connectons-le plutôt à ici, c'est plus correct et compilons maintenant
et essayons de le jouer. Donc, si je joue à Select Terrorists, maintenant je prends un formulaire,
puis je prends le pistolet et vous pouvez voir que les
deux fonctionnent maintenant Nous devons corriger le problème qui fait que nous lâchons une arme et qu'elle doit
maintenant être
supprimée de notre interface utilisateur. Copions-le ici, et trouvons l'arme larguée. Maintenant, pour le code de l'arme Drops
et l'arme Drop, je vais entrer ici. Maintenant, nous configurons
l'arme larguée et nous la retirons
de l'inventaire. Vous pouvez le faire ici ou
ici. Ça n'a pas vraiment d'importance. Je vais juste le faire à
l'intérieur d'ici. Je vais le coller. Et nous avons besoin de
la miniature de l'arme. C'est donc l'arme à lâcher. Ce que je peux faire, c'est le prendre d'ici, arme après arme, et je
peux le connecter ici, qu'il ait l'air plus propre. Je peux aussi le prendre. Je peux le répéter, nous sommes
en train de tout faire ici. Au lieu de le
copier-coller, utilisons simplement celui-ci.
Laissez-moi le déplacer en arrière. Ensuite, je peux utiliser
le type d'arme et la miniature Et
structurons-le mieux pour celui-ci.
Reconnectons-le Remontons-le en arrière. Comme avant, nous pouvons
toujours créer un arrière. En fait, nous n'avons pas besoin de
créer un nœud arrière. Nous pouvons simplement le placer comme ça ici pour la miniature de l'arme En fait, avant
de cliquer sur jouer, ce n'est pas vraiment comme ça. N'oubliez pas que lorsque vous
lâchez une arme, vous ne voulez pas
créer une miniature, nous voulons la désactiver Ici, dans l'interface utilisateur, il est indiqué que ce n'est pas valide, et quand ce n'est pas le cas, il
va masquer cette icône. Nous cliquons pour jouer et nous partons
piller le pistolet Pillez le fusil. Et si nous lâchons le fusil, par
exemple, vous pouvez voir
qu'il est retiré de l'interface utilisateur. Si je laisse tomber le pistolet, il est
maintenant retiré. Si je prends l'AK, vous pouvez voir qu'il affiche maintenant l'icône AK. Si je prends le pistolet, si je laisse tomber l'AK et que je
récupère les informations, vous pouvez voir qu'il
affiche maintenant l'icône d'informations Tout fonctionne donc
comme prévu. Et c'est tout pour le moment. Donc, dans le prochain,
nous pouvons essayer de le faire. Donc, chaque fois que vous avez sélectionné
une arme. Donc, pour le moment, si j'ai sélectionné
le pistolet, il devrait
être entièrement visible Cependant, l'icône d'information
devrait être à peine visible. Vous savez donc ce que vous avez
sélectionné dans votre inventaire.
128. Opacité de l'interface utilisateur d'arme non équipée: Très bien, alors
continuons le code ici. Ce que nous devons faire
maintenant, c'est
modifier l'opacité des
images dans le concepteur Si vous cliquez sur l'un d'entre eux, par
exemple l'AK, si
vous cliquez sur la teinte, si vous cliquez sur la
flèche et que vous voyez, vous pouvez modifier l'alpha rendre visible et non visible. C'est donc ce que nous voulons montrer chaque fois que nous avons
sélectionné le pistolet Par exemple, je
vais le refaire. Passons au graphique. On peut prendre le pistolet à images
et on peut dire opacité. Si vous ne
savez pas comment il s'appelle, recherchez
simplement
le mot et
vous pourrez voir
lequel est le mieux à utiliser. C'est
quelque chose que j'utilise parfois. Si je crée un nouveau mécanisme, je peux simplement écrire le mot et essayer de sélectionner
ce qui a du sens. Nous voulons définir l'opacité
pour cette opacité du jeu d'images. Maintenant, cela dépend
de l'arme équipée. arme équipée se trouve
à l'intérieur de notre joueur, ce type d'arme équipée. Parce que celui-ci, pour le
moment, nous ne pouvons pas l'utiliser. C'est juste l'arme que nous avons
ramassée au sol. Ce n'est pas nécessairement l'arme que nous sommes en
train d'équiper en ce moment Nous devons obtenir cette variable. Et pour y parvenir, encore une fois, nous devons communiquer
avec le joueur. Dans l'interface utilisateur, nous avons
quelque chose qui s'appelle Get Owning, Get Owning Player. Si
vous voulez une référence à la manette du joueur,
devenez propriétaire du joueur. Si vous voulez une référence au pan
du joueur pour le I, nous voulons une référence
au joueur Paw Je vais dire de
posséder un pion de joueur. Ensuite, nous pouvons faire glisser le pointeur à partir d'ici
et dire « obtenir la référence du joueur ». Parce que nous l'
avons déjà créé dans une interface de plan Laissez-nous simplement le connecter
après ceux qui sont ici. Peu importe lequel
d'entre eux, il exécute le code, puis
il
continue de s'exécuter à partir d'ici. Nous voulons obtenir le type d'
arme équipé, celui-ci. Encore une fois, comme avant. Je vais le déplacer et dire « activer la connexion à l'énumération Maintenant, prenons-le. S'il s'agit d'un pistolet, nous voulons régler l'opacité sur une opacité
entièrement visible Si c'est un fusil, copions-le
sans celui-ci. Disons régler l'opacité
s'il s'agit d'un fusil. Avec le pistolet. À l'heure actuelle,
nous avons équipé le pistolet, le fusil aurait une visibilité
de 0,25 Par exemple, l'opacité. Maintenant, nous pouvons le copier-coller ici et
le connecter au fusil. Le pistolet vaut maintenant 0,25
et le fusil en est un. Maintenant que c'est terminé, nous pouvons tout
compiler et
tout enregistrer . Maintenant, cela devrait fonctionner. Il faut appeler celui-ci. Vous vous souvenez de cette interface utilisateur
d'inventaire mise à jour En fait, nous ne l'appelons pas dans le cadre de notre événement où nous sélectionnons
des armes ici. Lorsque nous sélectionnons l'arme principale et l'arme
secondaire ici. Nous n'appelons pas l'événement où nous mettons à jour
l'interface utilisateur de l'inventaire, nous devons également appeler
celui-ci. Chaque fois que nous équipons des armes, celle-ci est mise à jour ici. que nous devons faire.
Passons à la base de joueurs. Et laisse-moi juste déplacer ça. N'oubliez pas que nous sommes équipés
d'une arme Serva. Chaque fois que nous passons
à l'intérieur principal et secondaire d'ici. Après celui-ci,
je vais appeler
CL, mettre à jour l'arme I, je vais vérifier ici que
le type d'arme que nous
équipons est cet type deux
que nous utilisons Je peux simplement le connecter ici et créer un
nœud de reroutage pour le suivant. La miniature de l'arme
est que nous pouvons l'
obtenir à partir de cette variable d'
arme, nous pouvons la faire glisser ici, obtenir le nom,
rechercher une variable de nom, collecter comme avant, obtenir des informations sur l'arme, puis nous pouvons la faire glisser
d'ici et la casser Ensuite, nous pouvons obtenir les
informations ici. Nous avons le type d'arme
et nous avons la miniature. Techniquement, vous pouvez également le
brancher ici. Ça n'a pas vraiment d'importance.
Je vais juste insérer la miniature.
C'est très bien. Et je vais
cliquer sur celui-ci et masquer les épingles non connectées Et maintenant c'est terminé. Je vais juste y aller plus près et
tout va bien. Compilons, sauvegardons tout
et testons-le. Flic se plaint maintenant de
sélectionner des terroristes et je peux prendre le pistolet et
les quatre Vous pouvez voir que le M quatre n'est pas aussi visible que le
pistolet en ce moment Si je sélectionne le M quatre, il devient plus visible. Maintenant, je peux voir que je peux
changer d'arme comme ça. Si je le laisse tomber et que je sélectionne
l'AK ou que je récupère l'AK, je peux lâcher le pistolet Et maintenant, l'AK n'est visible car je ne l'
ai pas équipé. Mais si je l'équipe,
ça se verra. Vous pouvez maintenant voir comment cela fonctionne. C'est bien mieux qu'avant. Maintenant, nous pouvons réellement voir
ce que nous avons équipé. C'est juste un design de jeu sympa, donc nous pouvons réellement apporter quelques modifications visuelles. OK, maintenant c'est terminé. Faisons quelques effets sonores. Les effets sonores lorsque nous changeons d'
arme et que nous la
rechargeons comme ça et chaque fois que nous lâchons l'
arme au sol
129. 9.14 Ajouter des effets sonores: Allons-y maintenant et ajoutons
les effets sonores équipés. Commençons par
importer les effets sonores. Si nous examinons le dossier audio et les effets
sonores qu'il contient, je vous en ai donné les
informations sur les coûts. Si vous passez à l'audio et
que vous allez ici et que vous trouvez le rechargement du fusil et le clip du
fusil, rechargement du
pistolet et le clip du pistolet,
ces cinq effets sonores, ces cinq effets sonores cliquez dessus
et faites-les glisser dans le navigateur
de contenu situé à l'intérieur OK, donc une fois que vous les
avez fait glisser,
sélectionnons-les tous en maintenant enfoncés, en cliquant sur l'un d'
entre eux, en maintenant la touche Maj enfoncée et en cliquant sur le
dernier clic droit, et créons plusieurs repères Il va créer tous
ces indices sonores pour vous. Maintenant, j'aimerais
les renommer comme nous l'avons fait auparavant ici avec
le S, le préfixe Allons-y et
cliquons sur le premier. Je vais supprimer à
partir de la fin. Je vais ajouter du sound
Q au lieu d'effets. Je vais le faire
avec les autres. Et je vais juste sauter un peu et les
renommer ici. Maintenant, je les ai tous renommés. Avant de continuer, je vais
simplement réduire le volume de chacune d'elles,
car elles sont très fortes. Et pour ce cours,
je ne veux pas qu'ils soient très bruyants car cela
vous embêterait. C'est le son ici, et
si je clique sur le suivant, réduis
peut-être à quelque chose
comme 0,30 0,3 Au fait, vous pouvez avoir des volumes Luda Cela sonnera bien
mieux dans le jeu, mais je le fais
juste pour mon cœur, que tu n'aies pas
à écouter ces bruits forts Voici donc les rechargements et
voici à quoi cela ressemble. OK, génial. Maintenant, laissez-moi le
fermer, tout enregistrer. Passons maintenant aux actifs et
aux animations
et trouvons ces animations. N'oubliez pas qu'il ne s'
agit pas de
ces anciennes animations, mais de nos propres animations. Si je cherche
des montages maintenant, nous pouvons les
ouvrir tous les deux Le montage d'animation de fusil et le
montage d'animation de pistolet que nous avons créés précédemment. OK, cool. Dans le
montage d'animation,
vous pouvez ajouter des effets
sonores ne pas avoir à le faire
dans le code. Ici, dans le nœud de F, nous
avons cette barre ici, celle-ci. Vous pouvez le renommer si vous le souhaitez en
cliquant dessus Cliquez sur deux sur le clavier. Ou cliquez simplement
dessus et
appelez-le effets sonores ou
quelque chose comme ça. Ça n'a pas vraiment
d'importance. Et ici, cliquez avec le bouton droit de la souris et ajoutons une
notification, puis
jouons Sound. Maintenant, cliquons dessus et nous
pouvons maintenant choisir le
son que nous voulons jouer. à quoi nous voulons jouer
pour le premier s'appelle pistolet clip Nous voulons choisir
ce
clip parce que vous pouvez le voir ici,
nous voulons placer le son
chaque fois qu'il recharge ici,
chaque fois qu'il sort le
clip du pistolet clip parce que vous pouvez le voir ici, nous voulons placer le son
chaque fois qu'il recharge ici, chaque fois qu'il sort le
clip du Maintenant, ce que j'ai
découvert, c'est qu'
il vaut mieux ajouter le son avant qu'il ne le fasse,
car cela semble retardé. Si vous placez le
son là où il sort le clip et que vous
pouvez essayer de l'écouter, le son est un peu retardé. Ce que j'aime faire,
c'est l'ajouter avant qu'il ne le fasse réellement. Peut-être quelque chose comme
par ici. OK. Ça a l'air bien. Maintenant,
la prochaine est que je n'ai pas besoin d'effets sonores
pour le clip du pistolet, nous devons en fait
ajouter le même Vous pouvez cliquer ici, contrôler C puis
contrôler V ici. Voyons quand nous
voulons y jouer. Peut-être quelque chose comme ici. Ensuite, le dernier est
le rechargement du pistolet. Et je pense que je vais l'
ajouter quelque part par ici. Cliquez avec le bouton droit sur Ajouter, notifier le jeu. Son Cliquez dessus et
trouvez le pistolet qui se recharge. Je pense que si vous recherchez rechargez, vous trouverez
celui que je vous ai donné Rechargez le pistolet. Et d'ailleurs, vous pouvez voir beaucoup d'effets
sonores ici. Et cela est dû au fait que vous avez déjà importé des effets sonores
depuis le marché. Lorsque vous avez importé toutes
ces armes, des effets sonores se
trouvent en fait dans ces dossiers d'armes. Vous pouvez essayer d'en utiliser certains
si vous le souhaitez. Tu n'es pas obligée d'utiliser
celui que je t'ai donné. Vous pouvez rechercher une recharge de
pistolet. C'est celui que je t'ai donné. C'est le son. Vous pouvez cliquer sur l'espace pour l'écouter. OK. Pour que cela
paraisse un peu plus intéressant, vous pouvez entendre le clip
entrer et sortir. Ou découpez-le et accrochez-le.
Ils ont le même son. OK ? Ce n'est pas
vraiment intéressant. Allons-y,
changeons-le et rendons-le plus intéressant. Si vous accédez à l'audio
et aux effets sonores et que vous cliquez dessus, cliquez dessus. Mais cliquons sur
le clip du pistolet et dupliquons-le Si je trouve le
bouton ici, dupliquez-le. Appelons-le Pistol Clip In. Renommons celui-ci
en Pistol Clip Out. Cliquons sur le clip du
pistolet
ici pour le faire sonner différemment Je pense que nous l'avons
déjà utilisé dans
le cadre du cours. Mais vous pouvez utiliser
celui-ci appelé modulateur. Et avec un modulateur, vous pouvez modifier la
hauteur du son Et de cette façon, vous pouvez
le faire sonner différemment. Connectons-le ici.
Mettons-les ensemble. Cliquez maintenant sur le modulateur. Je vais changer
celui-ci à 1,3 dans le pitch. Ça va sonner
plus haut que l'autre. Si vous essayez d'y jouer , voici à quoi cela ressemble. Si vous ouvrez l'autre, le clip sort maintenant, vous pouvez
entendre la différence. OK, on peut cliquer sur l'espace
ici pour l'écouter. En fait, je pense que oui, nous devons les remplacer
ici au lieu de les couper. Je vais le changer pour le
clipser et réessayer. OK, ça sonne beaucoup
mieux qu'avant, alors allons-y et sauvegardons-le. Et nous devons faire de
même pour l'autre. Si j'ouvre l'autre montage d'
animation, et que vous pouvez le faire, d'ailleurs, depuis
le navigateur de ressources, vous pouvez voir l'autre montage d'
animation. Allez-y,
ouvrez-le comme avant. Renommons celui-ci
en effets sonores. Faisons un clic droit sur un endroit
aléatoire ici et ajoutons une notification. Jouez. Son Cliquez sur le son. Allez-y et
recherchez le fusil Lip, je crois qu'il s'appelle
Rifle Clip out. Le premier est à nouveau découpé. Je vais le mettre en différé, peut-être que je le mets ici. Ensuite, le clip, je vais l'ajouter
quelque part par ici Peut-être qu'en cliquant dessus avec le bouton
droit de la souris, on passe au fusil. Pendant le rechargement, je vais
peut-être jouer le
rechargement quelque part Cliquez avec le bouton droit de la souris, Play. Son Cliquez dessus et
recherchez une recharge de fusil. Allez-y,
sélectionnez-le et essayons de
voir à quoi cela
ressemble. Cliquez ici Peut-être que celui-ci devrait arriver
plus tôt car il semble retardé. Ça a l'air bien. Je l'aime bien maintenant. Et
sauvegardons tout. Et c'était tout pour celui-ci. Cela devrait donc déjà fonctionner. Comme elles sont désormais
appliquées aux animations, nous n'avons pas besoin d'ajouter
quoi que ce soit au code. Donc, si nous allons ici
et sélectionnons des terroristes. Et si je prenais juste un
pistolet pour le moment. Ça a l'air sympa. Si je prends l'information
et que je la sélectionne, cela sonne bien. OK. Génial Maintenant,
ils sonnent bien. Bien sûr, nous allons le
rendre beaucoup plus beau avec le rechargement,
le clip, etc.,
mais pour l'instant, il ne s'agissait
que des effets sonores et tout
sonne bien, d'ailleurs Encore une fois, vous pouvez utiliser d'autres effets
sonores fournis avec les autres armes que vous avez
téléchargées sur le marché. Et c'est tout pour le moment. Alors
sauvegardons tout et passons à la suivante.
130. 10.01 Créer l'interface utilisateur Crosshair: OK, alors allons-y
et ajoutons la croix. Passons au dossier de l'interface utilisateur. Et ouvrons le dossier des icônes au lieu
d'ici, comme avant Accédez à vos documents de coûts
et j'ai
inclus cette croix pour vous, au lieu d'icônes. Cliquez dessus et faites-le glisser dans
le navigateur de contenu. Avant d'oublier,
ouvrons-le et passons ici dans
le groupe de textures. Changez-le en interface utilisateur, comme auparavant pour les paramètres de
compression, changeons-le en interface
utilisateur deux D, enregistrons-le,
fermons-le. Maintenant, ce que nous voulons faire,
passons à l'interface utilisateur. Cliquez ici avec le bouton droit de la souris
et accédons à l'interface utilisateur, sélectionnez Wigid, Blueprint.
Et choisissez l'utilisateur. Widgid. Tout cela, nous l'avons
déjà fait. Appelons-le WB. Rosa. Ouvrons-le
plutôt qu'ici. Quelle est la première
chose que nous devons ajouter ? N'oubliez pas que c'est le canevas. Cherchons le
canevas. Ajoutons-le. Et à l'intérieur, c'est très simple. Pour le Crossa, nous avons
juste besoin d'une image. Nous avons juste besoin de la Crossa. Allons-y et changeons
l'image en croix. Sélectionnez la croix, nous voulons
qu'elle soit au milieu. Essaie de le faire toi-même. Nous l'avons déjà fait. Essayez de faire cette croix au milieu
en position 00. Essaie de le faire. Continuons ensemble ce que tu
veux faire ici. Tout d'abord, vous devez remplacer le point
d'ancrage par le milieu. Ensuite, si vous écrivez
00 pour la position, vous pouvez la voir ancrée ici. En effet,
pour l'alignement, vous devez également le définir sur
0,5 pour le Y. 0,5 juste comme ça pour le dimensionner correctement. Au lieu de changer la taille ici ou la taille ici, je veux dire, vous pouvez adapter cette
taille au contenu, il sera ajusté à la taille de l'image que vous avez au lieu de la
modifier ici. Compilons maintenant. Voilà à quoi ça ressemble maintenant. N'oubliez pas que vous devez également
cliquer sur l'écran ici et pour les ordinateurs portables et le changer en générique, ce bloc-notes ici. Comme il ne s'agit que d'un croisement, nous n'avons pas vraiment besoin
de toute cette toile ici C'est juste quelque chose qui se trouve au milieu de l'écran. Pour cette raison, nous
pouvons cliquer sur Remplir l'écran et sélectionner Désiré. Cela va juste arriver
à cette petite chose ici parce que nous voulons simplement la
placer à l'écran. Nous ne voulons pas tout
l'espace qui l'entoure. La sélection souhaitée ici
serait correcte. Maintenant, si vous zoomez un par un, vous pouvez voir à quel point c'est petit. Nous devons augmenter l'
image et peut-être quelque chose comme 80 par 80,
juste beaucoup plus grande. Nous pourrons le tester dans le jeu plus tard pour voir s'il est grand ou petit. Maintenant, nous pouvons
tout garder pour celui-ci. Je vais cliquer à nouveau dessus. Accédez à Visibilité,
changez-le pour Non Testable. Et c'est parce que nous ne
voulons pas que la souris
interagisse avec elle. C'était tout pour tout. Sauvegardons ça.
Fermons-le et passons
au suivant.
131. 10.02 Afficher le Crosshair: Ajoutons maintenant la
croix à l'écran. Et vous pouvez également
essayer de le faire vous-même. Nous l'avons déjà fait. Si vous ne vous en souvenez pas, recommençons
ensemble. Passons aux plans. Passons maintenant à la manette du
joueur. C'est ici que se trouve l'ensemble de
notre interface utilisateur dans le graphique des événements. Vous pouvez accéder à vos
widgets à l'intérieur d'ici. Vous devez créer la valeur
d'énumération correspondante. Si vous ouvrez simplement
le dossier des plans, le dossier
en et les widgets
du jeu ils contiennent,
comme avant Ajoutons un nouvel énumérateur. Appelons cela une croix. Allez-y et économisez.
Revenons à la manette de jeu ici. Cliquez avec le bouton droit sur
Créer des widgets ici, sélectionnez Créer des widgets,
puis Cross. Cliquez dessus avec le bouton droit de
la souris, faites-en une variable et appelez-la croix B. Allez-y et ajoutez-le
à la fenêtre d'affichage. Ajoutez deux fenêtres d'affichage,
juste comme ça. OK, comme avant, retirons cette variable croisée
B. Faisons un clic droit et
convertissons-le en un get validé. Connectons-le ici. S'il est valide, nous pouvons
simplement l'ajouter directement à la fenêtre d'affichage.
S'il n'est pas valide. Allons-y et
créons-le d'abord avant de l'ajouter
à la fenêtre d'affichage N'oubliez pas également de l'ajouter, voyons voir ici, au widget Hyde. Si vous cliquez sur Hyde Widgets vous le trouverez également ici. Si vous ne l'avez pas
ouvert, vous pouvez prendre cette croix et la
convertir correctement en un get validé. S'il est affiché à l'écran
et que nous voulons le supprimer, nous pouvons le faire glisser et dire «
supprimer des parents ». Allez-y, organisez-le un
peu plus comme ça. OK, sauvegardons tout et
ajoutons-le maintenant à l'écran. Passons au graphique du van. Et je pense que le
meilleur endroit pour l'ajouter est peut-être une fois que
vous avez fait apparaître le joueur, vous avez masqué la sélection de l'équipe et que vous avez également affiché
le widget principal Allons-y et montrons également
la croix. Partons d'
ici et disons « afficher et masquer le widget » et appelons
cet événement que nous avons créé. Allez-y, sélectionnez la
croix, puis sélectionnez Afficher. Cela devrait fonctionner maintenant
compilez, jouons. Maintenant, jouons en tant que
client par exemple, et
sélectionnons Terroriste. Vous pouvez maintenant voir que j'ai la croix au milieu
de mon écran Vous pouvez choisir d'en ajuster la
taille si vous le souhaitez. Si vous allez simplement dans
l'interface utilisateur et le Crosier, vous pouvez cliquer
dessus et peut-être changer la
taille en 60 ou
60 si vous pensez que
c'est trop grand Et vous pouvez essayer de le
rejouer et voir à quoi
il ressemble. Peut-être que quelque chose comme ça
est bien mieux qu'avant. OK, voici comment ajouter
un crosier à l'écran, et passons
au suivant
132. 10.03 Ajouter des propriétés d'arme à la structure: Avant de continuer,
nous devons ajouter quelques propriétés
à la structure. Passons maintenant à la
structure ici, et ouvrons-la. La première chose que
nous voulons ajouter aux informations sur
les armes est
la vitesse de tir. Nous en avons besoin. La
prochaine chose que nous devons ajouter est le flash initial C'est l'effet visuel
que nous voulons obtenir chaque fois que
nous tirons avec l'arme. Le dernier est
l'effet sonore, accord avec la vitesse de prise de vue. Changeons-le en float. Il s'agit simplement d'une
valeur numérique pour le flash initial. Il s'agit d'un
système de particules. Système de particules , effet visuel. Et
allez-y, choisissez la référence de l'objet pour
l'effet de prise de vue. Utilisons simplement le signal sonore. Nous utilisons ici des indices sonores
pour la vitesse de prise de vue, mouche
initiale et l'effet sonore Tout semble bon.
Allons-y et sauvegardons-le. Ces variables que
nous avons créées ici, nous les ajouterons
ultérieurement à la table de données, mais pour l'instant nous avons terminé. Nous les avons ajoutés.
Maintenant fermons-le, enregistrons tout et passons au suivant.
133. 10.04 Action et structure d'entrée d'arme de tir: Allons-y maintenant et créons une action de saisie
appelée Shot Weapon. Et tu peux le
refaire toi-même. Essayez de le faire par entraînement. Allons dans le lecteur et
ouvrons le dossier de saisie. Faisons un clic droit, passons aux entrées
et ajoutons une action de saisie. Disons que c'est une arme de chasse. Nous n'avons pas vraiment besoin de faire
quoi que ce soit à l'intérieur. Ouvrons le contexte de mappage des
entrées. Ajoutons un autre mappage. Il devrait être là, en bas. Sélectionnons-le et
cherchons une arme de chasse. Allez-y,
sélectionnez-le. Et pour la clé, nous allons simplement utiliser
le bouton gauche de la souris. Nous n'avons vraiment besoin de
rien ici. Fermons-le maintenant. Ouvrons la
base de joueurs et l'intérieur d'ici. Je peux donc
regarder maintenant et
chercher une arme de chasse. Et allez-y, sélectionnez-le. Maintenant, avant de terminer, je vois ici l'arme d'équipement.
Réparons réellement à ce problème. Maintenant que je me rends compte que pour l'arme d'équipement, nous avons
cette animation de rechargement Ajoutons-le simplement
à l'intérieur de notre structure. Si vous allez simplement dans la structure, que vous l'ouvrez
et que vous recherchez ou que vous créez simplement une nouvelle variable et que
vous l'appelez equip, quelque chose comme ça
ou equipez une animation. Vous pouvez également écrire le tout
, quelque chose comme ça. Equiper l'animation Pour celui-ci, ouvrons-le et cherchons n'importe quel montage. Nous allons utiliser une référence d'objet de
montage d'animation pour l'animation de l'équipement. Je vais juste laisser les choses se ici. Sauvegardons tout. Passons maintenant
à l'intérieur du code. Au lieu de le faire comme ça,
ce que nous pouvons faire maintenant, c'est
supprimer ceci, nous pouvons réellement supprimer celui-ci. Et nous pouvons utiliser ce montage
pour le jouer directement ici. Et nous pouvons également supprimer
celui-ci. Nous pouvons changer celui-ci pour équiper quelque chose comme
ça ou équiper l'animation. Et faisons-le simplement glisser de plus près. Maintenant, ce que nous pouvons faire, c'est ici, partout où nous l'avons utilisé, si vous ne savez pas où
vous l'avez utilisé, d'ailleurs, nous l'avons utilisé ici, mais
si vous voulez toutes les références, vous pouvez écrire, cliquer
ici et vous pouvez
rechercher des références et vous pouvez réellement voir
où nous les avons utilisées. Cliquons sur le premier. C'est juste celui-ci.
Cliquons sur le suivant. C'est par ici. Nous pouvons continuer et cliquer sur Alt et cliquer
ici pour le déconnecter. Je vais également
supprimer ce nœud routier. Au lieu d'utiliser
le type d'arme, c'est celle-ci,
l'arme d'équipement. Et nous avons déjà la
structure en panne, nous pouvons
donc
simplement cliquer dessus. Cache tout ici.
Masquez les épingles non connectées Et je peux simplement cliquer sur
cette animation d'équipement. Et je peux le prendre et le
traîner ici. Maintenant, vous pouvez voir que nous avons une animation personnalisée pour
toutes les armes. Donc, en fonction de ce que nous avons
branché pour chaque arme, il faudra utiliser cette
animation et la jouer Alors compilons et
sauvegardons tout. Nous devons également
le changer ici. Donc, si je le déconnecte simplement, je supprime ce nœud routier. Et avec cette structure,
encore une fois, masquez les épingles non connectées Je vais montrer l'animation
de l'équipement. Et je vais également
l'ajouter ici. Très bien, maintenant nous
avons corrigé ce problème et réorganisé pour
l'animation de l'équipement Ce que nous pouvons faire,
c'est simplement ajouter ces informations dans notre tableau
de données. Allons-y et
ouvrons le tableau de données ici. Je vais
ouvrir le tableau de données. Je vais également
ouvrir la structure afin voir quelles variables
j'ai ajoutées ici. Pour les variables,
laissez-moi les agrandir un peu et aller à cet endroit
après le cours. Ici, nous avons ajouté la vitesse de
prise de vue, nous avons également ajouté le flash initial et nous avons également ajouté un effet sonore de
prise Et nous avons ajouté l'animation
de l'équipement. Encore une fois, n'oubliez pas de les écrire exactement comme le nom que
vous avez écrit ici. Passons maintenant à l'animation Quip,
sauvegardons tout. Passons au navigateur ici
et ouvrons les ressources. Animation. Recherchez
ici un montage d'animation pour le pistolet. Faisons un clic droit et
copions votre référence. Accédez au tableau de
données du pistolet, qui est le dernier ici Passons sur le côté
pour l'animation du quip. Je vais juste
coller cette référence. Je vais cliquer avec le bouton droit
pour la référence du fusil. Je vais le coller à la
fois pour l'AK et pour les quatre. Au fait, vous pouvez faire
la même chose ici. Et faisons-le simplement pour l'AK pour la vitesse de tir. Maintenant, nous devons tester cela dans
le jeu, je n'en ai aucune idée. Écrivons simplement 0,1
pour la prochaine version 10.1, pour la troisième version 10.1, je ne sais pas, nous devons
essayer cela dans le jeu. Nous n'en avons aucune idée pour le moment. En ce qui concerne le
flash de bouche, ce que tu peux faire. Je pense que nous avons quelques
flashs de bouche à l'intérieur de ce dossier où nous
importons toutes les armes
du marché Si vous recherchez simplement une muselière, vous pouvez voir cette
muselière clignoter Je vais utiliser l'un d'entre eux, par
exemple. Vous pouvez utiliser le. Éclair de bouche pour fusil d'assaut. Je vais cliquer dessus avec le bouton droit de la souris. Votre référence pour
le fusil de l'AK. Je peux en coller un pour le M quatre. Je peux coller le même. Maintenant que vous pouvez voir pour
chaque arme, vous pouvez en fait avoir un
flash initial pour chacune d'elles. Ils peuvent en fait être uniques. Ils peuvent tous avoir des effets sonores
uniques, ils peuvent tous avoir des animations
uniques, des vitesses de prise de vue uniques, etc. Vous pouvez donc voir à quel point
cette méthode est intéressante. C'est vraiment dynamique et
il est très facile de le modifier. Si vous souhaitez un jour
avoir un autre effet sonore, vous pouvez simplement venir ici
et ajouter une autre référence. OK, pour celui du pistolet, bouche du pistolet clignote ici et nous pouvons
cliquer avec le bouton droit sur Nous pouvons recopier la référence. Et nous pouvons le coller ici. ce qui concerne les effets
sonores de tournage, nous ne les avons pas encore importés, En ce qui concerne les effets
sonores de tournage,
nous ne les avons pas encore importés,
alors faisons-le
pendant que nous le faisons ici. Ouvrons le dossier des
matériaux de coûts. Revenons aux informations sur les
coûts ici. Ce que je veux que tu importes,
c'est le fusil AK 47. Je veux également que vous
importiez les 41 coups de feu ainsi que le coup de pistolet Ce coup de pistolet. Passons au
dossier audio sous forme d'effets. Permettez-moi de supprimer le mot
de recherche et vous pourrez le cliquer et le
faire glisser ici. Et comme avant, vous
pouvez cliquer sur chacune d'entre elles. Cliquez avec le bouton droit de la souris pour créer
plusieurs repères. Je vais
tous les ouvrir ici. Réduisez le son ici à
0,3. Je pense que je veux les
réduire encore davantage,
car ils sont très forts et je ne veux pas qu'ils soient autorisés
à participer à
ce cours. 0,1 pour chacun d'entre eux. Et essayons juste d'y
jouer. OK. Génial Tout sonne bien.
Fermons-les tous. Maintenant, avant de copier
les références, renommons-les. Je vais renommer celui-ci SC et supprimer le
Q ici à la fin Je vais également le remplacer
par le pistolet. Supprimons le Q et
écrivons C au début. Le dernier pour l'AK. Encore une fois, supprimez Q et
A.C jusqu'au début. maintenant aux références, Passons maintenant aux références, copions d'abord l'AK 47. Je vais copier la référence. Et puis ici, dans
le tableau de données l'AK 47, qui
est le premier, je peux le coller ici
pour le M quatre. Si on peut le trouver ici. Voici les quatre
ici. Faisons un clic droit sur Copier, référencer, coller. Et le dernier est
le coup de pistolet. Copiez la référence et
collez-la également ici. Maintenant allons-y,
il s'agit en fait d'une sauvegarde automatique, alors
téléchargeons-le ici avec le CSV. Maintenant, je
vais le renommer. Copier le même nom ici pour les informations sur l'arme,
supprimer l'ancien. Je renomme le nouveau
, puis je vais revenir aux tables de données de
mes plans Maintenant, je prends cette nouvelle
table de données et je la branche OK ? Maintenant, toutes ces
informations sont à l'intérieur d'ici. Vous pouvez continuer et
vérifier que tout semble correct
et que tout va bien. Nous pouvons aller de l'avant et tout
sauver. Maintenant, il devrait
y jouer automatiquement, car ici dans la base de joueurs. Maintenant, dans la
base de joueurs pour l'arme d'équipement, nous avons maintenant cette animation
d'équipement. Et il le joue
désormais automatiquement. Parce que nous avons défini dans la structure ce que c'est, si nous y jouons maintenant et
voyons ce qui se passe si nous sélectionnons un terroriste et que
je vais le chercher, vous devriez voir qu'
il joue réellement. Et pour le pistolet aussi. Désormais, au lieu de nous
baser sur le type d'arme, toutes les informations
que nous pouvons rendre uniques, nous pouvons les ajouter à cette structure
d'arme.
134. 10.05 Créer le minuteur de tir d'arme: OK, alors maintenant allons-y
et ouvrons la base de joueurs. Et à l'intérieur d'ici, revenons
à l'événement où nous avons fabriqué
l'arme à parachute. Pour commencer,
créons le serveur un clic droit et créons
un événement personnalisé. Et créons l'arme de
tir du serveur à l'intérieur d'ici. Nous allons d'abord créer
un chronomètre, placer sur des répliques sur le serveur
et le rendre fiable pour le tournage Nous allons créer un chronomètre comme l'autre
chronomètre que nous avons créé ici pour les pas où nous avons créé le chronomètre réglé par événement. C'est la même méthode que nous
allons utiliser pour le tournage. Si nous descendons ici et que nous faisons
glisser le pointeur à partir d'ici indiquons
chronomètre par événement, puis que nous le sélectionnons. Ensuite, à partir de là, nous pouvons faire glisser
et créer un nouvel événement personnalisé. Nous pouvons l'appeler Shot Weapon Loop. OK, la
logique de l'arme de tir sera ici. N'oubliez pas de régler le chronomètre pour qu'il boucle, puis nous
devons définir une heure. Maintenant, le temps que vous fixez ici dépend de la vitesse de tir de votre
arme. Pour l'AK 47, par exemple, disons que c'est
0,1 pour un pistolet Ce sera peut-être le cas pour les pistolets Si vous ne voulez pas
les faire tirer automatiquement, nous n'avons pas vraiment besoin de ce chronomètre Mais pour les armes automatiques, AK 47 et les informations dont
ils ont besoin pour tirer
avec un chronomètre. Parce que le code va boucler
à cette vitesse puisque celui-ci
correspond à la vitesse de l'arme. N'oubliez pas que dans la structure, si je reviens en arrière et que je l'
ouvre, nous avons ajouté cette variable de vitesse de
prise de vue. Nous pouvons vraiment l'utiliser
pour nous connecter ici. En fonction de la vitesse de tir de
votre arme, ce chronomètre changera l'heure. En fonction de cela, nous avons besoin d'une référence à l'
arme, alors allons-y. Cliquons ici et
créons une nouvelle variable. Et choisissez la base d'armes ici, parmi les différents types. Allez-y, sélectionnez-le.
Appelons ça une arme. Il faut appeler
celui-ci ici. Appelez ça une arme de tir sur serveur. Je peux l'épeler comme ça. Arme de chote du serveur. Nous devons maintenant
définir l'arme. Maintenant, si vous compilez, vous
pouvez voir que vous aurez une ère. Et il indique un nouveau paramètre. Même s'il est écrit
arme là-haut, cela arrive
parfois et il
suffit de la supprimer et de la refaire. Vous pouvez également cliquer sur le fichier
et actualiser toutes les notes. Et cela
résoudra également ce problème. OK, nous avons besoin d'une définition
de l'arme pour le moment. En fait, nous n'
avons pas de variable ni d' arme parce que
la
seule chose que nous avons est que nous avons l'arme équipée, mais nous supprimons également le
fait que nous avons une arme non équipée et que nous
avons également perdu une arme Ici, nous avons
l'arme pillée. Cependant, nous sommes également tête de cette
variable d'armes pillées ici Nous n'
avons vraiment aucune variable pour que l'arme
reste constante. Créons-en simplement un. Passons à l'arme
équipée ici. Lorsque nous équiperons cette arme, je vais simplement cliquer avec
le bouton droit sur la même
variable et la transformer en variable. Appelons cela une arme
équipée. Celui-ci est une arme équipée. Nous sommes en train d'équiper l'arme. Et celle-ci est l'arme
équipée. Et nous pouvons utiliser cette variable. Nous ne le supprimons pas. Cela changera à chaque
fois que cela sera configuré. N'oubliez pas de cliquer
sur cette variable et de la définir comme répliquée. Nous n'avons pas vraiment besoin de
notifier quoi que ce soit de répliquer. Cela signifie simplement que
nous envoyons simplement ces informations au client. Le client sait également
quelle est cette variable. Je vais simplement tout
sélectionner ici et le déplacer. Et en déplaçant cette
variable ici. Nous avons maintenant cette variable à partir de laquelle
nous pouvons travailler. OK, on peut descendre ici maintenant. Et nous pouvons prendre cette arme
équipée et la brancher ici.
Maintenant, c'est ce que nous avons. Compilons maintenant à partir de celui-ci. Nous pouvons faire glisser et dire que nous pouvons obtenir la variable name,
puis nous pouvons obtenir des informations sur l'arme, les obtenir ici. Ensuite, retirons-le
et arrêtons-le. Maintenant, nous pouvons utiliser la vitesse de prise de vue d'
ici et la brancher ici. D'accord ? Cliquez donc dessus et
masquez toutes les épingles non connectées OK, donc chaque fois que nous appuyons sur un bouton de
notre souris, elle va tirer
et tirer pendant ce chronomètre. Maintenant, nous devons également arrêter ce chronomètre
à un moment donné. Cliquez donc avec le bouton droit de la souris sur
ce manche promu au
rang de variable et appelons-le un manche d'arme Shot. Et nous pouvons utiliser cette
poignée pour arrêter le chronomètre Nous devons
donc savoir quand
nous tirons et quand
nous ne tirons pas. Lorsque nous relâchons un bouton de la
souris, ce
déclencheur complet est activé
et nous ne
tirons plus avec l'arme. Ajoutons en fait une puce
ici. Ajoutons-en un. Et appelons-le arme de chasse. Et je vais juste ajouter un B
devant pour rester constant
puisqu'il s'agit d'un lingot Et changez-le en
lingot comme celui-ci. OK. Maintenant, vous pouvez faire glisser le pointeur
d'ici et dire
branche et la connecter si
c'est vrai Si l'arme de tir est vraie, nous voulons aller de l'avant
et tirer avec l'arme. Cependant, si nous ne voulons plus
utiliser l'arme, prenons ce manche
et disons que c'est valide. Si ce pseudo est valide, assurez-vous
simplement que
nous ne recevons aucune boîte, assurez-vous qu'elle est valide. Et créons une autre branche. S'il est valide, allez-y
, prenez ce chronomètre dites « effacer »
et
invalidez le chronomètre par manche. Nous allons arrêter ce
chronomètre ici dans ce code. Nous pouvons maintenant le copier-coller. Et pour terminer, lorsque nous relâchons un bouton de la
souris, l'arme de
tir prend la valeur fausse. Lorsque nous tirons avec l'arme, cela doit être vrai,
lorsque c'est faux, lorsque nous arrêtons de tirer, on se demande si ce chronomètre
est valide. Si c'est le cas, allez-y
et arrêtez le chronomètre. Je vais juste réorganiser un peu
les choses ici. heure actuelle, c'est fait, allons-y, testons-le et voyons si tout
fonctionne. Allons-y et cliquons sur jouer ici pour le
client. Par exemple, je vais sélectionner des terroristes. Allons-y et
prenons quelque chose. Reprenons les
informations dès maintenant. Essayons de tirer. En ce moment, j'
essaie de tirer avec ma souris et
rien ne se passe. Rien n'est imprimé à
l'écran ici. Permettez-moi de l'annuler
ici, nous aurons une ère. Cette époque parle d'accès. Aucun accès signifie simplement qu' il essaie de lire quelque chose
dans cette variable d'arme, cette variable d'arme ici. Cependant, l'accès non signifie
que cette variable est vide, elle n'a
rien à lire. C'est en fait vrai,
car nous n'avons défini l'
arme équipée que dans le cadre de l' événement
d'équipement d'arme. Et celui-ci ne se déclenche que
lorsque nous changeons d'arme. Si je vais voir des terroristes
et que je récupère quelque chose, je dois passer à
une autre arme
puis revenir en arrière avant que cette
variable ne soit définie pour le moment Permettez-moi de tirer
maintenant et de voir ce qui se passe et rien ne
se passe. C'est en fait parce que nous l'exécutons
plusieurs fois. Si je déconnecte ce faux, vous pouvez voir ici si je
n'arrête pas le chronomètre, vous pouvez le voir plus clairement si je décroche simplement autre
chose. Maintenant, si je tire avec l'arme,
je tire en ce moment. Et si je lâche
ma souris une seule
fois, chaque fois que je lâche celle
de ma souris, elle est en train d'imprimer. C'est ce que nous voulons. Nous voulons le faire imprimer chaque fois que nous
appuyons sur le bouton de la souris, pas lorsque nous le lâchons. Cela est dû au fait que le chronomètre fonctionne ici très
rapidement dans le code. Chaque fois que je tiens un bouton de
la souris je
n'ai jamais l'
occasion de lire ce code. Cette partie, en fait, ne
doit être faite qu'une seule fois. Permettez-moi simplement de reconnecter
cela avec le vrai. Je vais faire un nœud. Chaque fois que je maintiens un bouton de
ma souris enfoncé, il exécute ce code une fois, puis nous pouvons le réinitialiser
quand nous le voulons. Je vais juste déplacer
tout ça. Et celui-ci, je vais
créer un nouvel événement personnalisé. Appelons
celui-ci et tirons à nouveau. Quand pourrons-nous tourner à nouveau ?
Nous pouvons tirer à nouveau. Chaque fois que nous arrêterons de
tirer ici, je vais appeler
ça, on peut tirer à nouveau. Et juste comme ça, c'est la seule
chose que nous devions faire. Maintenant, essayons-le à nouveau. Compilons et
testons-le. Laissez-moi sélectionner les terroristes. Laisse-moi juste récupérer les armes. Nous allons maintenant
résoudre ce problème. Encore une fois, c'est un problème lié
aux armes pillées ici. Je vais donc apporter
une solution difficile dans un instant. Je veux juste voir si cela fonctionne ici et si nous pouvons
aller de l'avant et régler ce problème. Donc, si je prends l'arme et que je maintiens
un bouton de la souris enfoncé, vous pouvez maintenant voir qu'elle s'imprime correctement
à l'écran. Et si je lâche
celle de la souris, elle arrête d'imprimer. Et faisons-le
également avec le fusil. Donc, si comme un terroriste, je
prends le fusil, le pistolet et si je fais allers-retours pour
régler la variable, je peux
maintenant maintenir un bouton de la souris enfoncé
et elle tire, et si je lâche prise, elle
ne tire plus. OK, donc ce code ici
fonctionne parfaitement. Maintenant, nous en avons terminé
avec celui-ci, et je vais également
supprimer cette chaîne d'impression. Allons ici et réglons ça. Avant de terminer,
permettez-moi de le retirer d'ici. Nous allons juste faire une
très bonne solution pour celui-ci. Il ne box plus jamais. Ici,
dans les armes qui se chevauchent, c'est
ce que vous
essayez d'obtenir. Prenons celui-ci et disons : est-ce que
cela correspond à la variable « arme
pillée Nous essayons de vérifier si celui que nous sommes en train de
piller est défini la même variable que celle que
nous avons indiquée plus tôt Si c'est le cas, si c'est vrai, nous voulons supprimer
l'ancienne variable. Laisse-moi juste déplacer ça ici. Nous voulons supprimer l'
ancienne variable pillée. Ensuite, nous voulons
exécuter la nouvelle variable. Cela étant verrouillé, nous
vérifions simplement si ce que nous sommes en piller en ce moment est le même
que ce que nous avons dit plus tôt Si c'est le cas, nous allons supprimer cette variable avant
de définir la nouvelle. Ceci, assurez-vous de ne pas
définir le même deux fois. Si ce n'est pas la même chose, si ce n'est pas le même
objet, nous pillons Allez-y et exécutez le
code sans le supprimer. D'accord, je vais
organiser cela plus tard, mais voyons si cela fonctionne. Avant de l'essayer, connectons-le
à nouveau. Nous y voilà. Supprimer l'article
de l'inventaire. Je vais juste cliquer
et le faire glisser pour revenir ici. Allez-y, compilez
maintenant, essayons de cliquer sur Play et de sélectionner
Terrorist pour voir si cela fonctionne. Si j'entre ici, vous verrez que cela fonctionne vraiment. OK, c'est comme ça je pense que c'est en fait une
meilleure méthode pour le faire. Comme vous le voyez, il
ne fonctionne plus. Ensuite, je remarque
que
les icônes sont fausses Déboguons simplement ceci. Revenons au widget principal, ouvrons-le et
passons au graphique Je suis juste en train de voir ce qu'il
y a là-haut, pourquoi ça fait ça. Pour le fusil, nous avons le fusil à
image, le fusil à image. C'est exact ici. Pour l'arme équipée. Pour le pistolet, nous
montrons le pistolet
et nous cachons le Et pour le fusil, nous montrons le fusil et nous cachons
le pistolet, l'opacité Cela semble correct. Il y a un problème le
réglage du type d'
arme équipée. Revenons-en au joueur. Il doit y avoir problème avec l'arme
équipée. Pour l'
arme équipée. Voyons voir ici, s'agit de l'interface utilisateur de mise à jour de l'inventaire. Nous définissons le type
d'arme sur le type d'arme pour équiper
le type d'arme à équiper. Nous l'avons défini ici lorsque
nous appuyons sur le bouton. Lorsque nous appuyons sur Primary, nous passons au fusil, ce qui est correct.
C'est notre fusil secondaire, nous le
réglons sur pistolet Cela est également correct. Rien ne va vraiment mal ici. Alors quelque chose ne va pas lorsque nous faisons allusion
à l'arme, lorsque nous faisons allusion à l'arme ici
, à une arme de pillage, nous la réglons également,
nous définissons également le type
d'arme À celui auquel nous venons de faire allusion, qui est également correct Il n'y a en fait
aucune erreur ici. Je pense qu'il y a peut-être une
erreur dans le tableau de données. Si vous ouvrez la table de données,
jetons un coup d'œil, le type de table de
données est ici. Nous devons donc rechercher
le type d'armes. Si nous avons écrit
quelque chose de mal, fusil, fusil et pistolet En fait, ils sont tous corrects. Elles sont réglées correctement. OK. Rien ne va vraiment mal. Je ne vois aucune erreur. Peut-être qu'à l'heure actuelle, le problème est que nous définissons correctement le type
d'arme équipée. Cependant, nous
exécutons également ce code. Et cette partie du code ne se rend pas encore compte qu'elle a été
définie à cette valeur. Si nous faisons juste un délai et que nous lui donnons la
possibilité de le régler, juste pour voir si cela fonctionne, parce que je n'
aime pas vraiment avoir un délai ici. Mais jetons
un coup d'œil et voyons si cela
résout réellement le problème. Si je pille les armes,
je clique sur l'une d'elles. Si je clique sur deux, maintenant ça
marche aussi. Vous pouvez donc voir que cela fonctionne réellement.
Maintenant, si je clique sur 1.2, les icônes fonctionnent. Le problème, c'est
que le type d'arme est
correctement réglé. Cependant, vous exécutez également
ce code très rapidement. Vous exécutez donc
ce code avant que cela n'ait eu l'occasion
de réellement changer. D'accord, pour résoudre ce problème, nous pouvons essayer d'ajouter un délai. Cependant, dans ce code, nous allons le faire
dans notre WB main À l'intérieur de la fonction
que nous avons créée plus tôt. C'est ici que nous avons défini l'
opacité du fusil. Avant de définir l'opacité, vous pouvez essayer d'ajouter un délai et le délai, commencez
par le rendre très petit,
0,01 et compilez . Et
cliquons sur jouer. Et si cela fonctionne,
c'est vraiment bien. Maintenant, je peux tout ramasser et voir que le pistolet est maintenant ramassé. Et je vais juste
maximiser mon point de vue. Le pistolet est maintenant ramassé. Je peux cliquer sur 14. Cliquez sur deux pour le pistolet, vous voyez que parfois nous gagnons de l'argent Je passe à mon fusil,
réglons-le sur 0,03.
Au lieu de cela, compilons Cliquez sur jouer. Essayons encore une fois. Allons tout chercher.
Cliquez sur le fusil, le pistolet Fusil, pistolet. Maintenant, tout
semble fonctionner également. OK, donc ça marche. La version 0.03 résout donc le
problème comme d'habitude. Et ce serait une solution
vraiment très sympa et facile. OK, donc je sais que cela a été
très confus ici, mais nous avons vraiment dû le faire
parce que c' était
tout le temps Donc, si
jamais l'arme équipée gagne de l'argent ici,
elle ne sera pas vraiment
en panne pour le moment Donc je vais juste laisser faire. Cependant, s'il n'y
a plus d'argent, comme ici, vous pouvez utiliser la même méthode en
vérifiant si l'arme
équipée se trouve ici. Vous pouvez toujours
vérifier s'il est le même que le
précédent que nous avons défini. Vous pouvez ensuite supprimer la variable ,
puis
définir la nouvelle. Donc, au lieu de
le faire selon l'ancienne méthode, je ne pense pas que cela va résoudre le problème car ici,
nous vérifions si nous
portons déjà un fusil, mais à l'avenir,
nous pourrions avoir un bogue. Je n'en ai aucune idée pour le moment. Nous devons nous développer et voir. Mais c'est comme ça
dans le développement de jeux vidéo. Vous rencontrez des bogues pendant la programmation et
vous devez les corriger. La bonne chose pour
un programmeur est simplement de savoir comment
résoudre ces problèmes. Et vous voyez, nous
venons d'ajouter un tyran et de vérifier si c'
était pareil ou non, et nous résolvons ce
problème de cette façon Vous verrez toujours
quand vous développerez des jeux, même dans les grands studios. Mais il suffit de savoir comment les
réparer et comment
surmonter le problème. Essayons-le maintenant. Cliquons sur jouer
juste avant terminer pour voir si
tout fonctionne. Et si je sélectionne le terroriste, je récupère tout ce qui se trouve ici et
je peux passer de l'un à l'autre. Si je laisse tomber les quatre, j'essaie juste de le
faire tomber en ce moment, vous pouvez voir
qu'il bogue également Nous devons donc ajouter
un petit délai ici car il ne se rend pas compte
que nous l'avons supprimé. Si je disais le délai à
0,05 et que je clique sur jouer. Et cliquez sur jouer ici. Et prenons une arme. Laissons-le tomber. Allons le chercher, le
déposer, le déposer, le déposer. Tu vois, maintenant ça marche
parfaitement et je peux
passer de l'un à l'autre. J'essaie juste de tester le jeu pour voir s'il ne fonctionne pas. Maintenant, cela semble bien fonctionner. Nous avons dû subir ce
petit retard imperceptible sinon le programme ne savait pas ce que nous
faisions ici C'est bon de savoir qu'
il en a aussi ici. Cela résout tous
les problèmes que nous avons rencontrés avec la
suppression de cette variable sans que nous voulions qu'elle la supprime
avant d'exécuter le code. Tout fonctionne donc maintenant. Je vais réorganiser ça. Je vais
le mettre ici et passer
au suivant.
135. 10.06 Trace linéaire par canal: Dans cette leçon, nous
allons créer une fonction ligne par canal. De cette façon, nous allons
tirer la balle
avec l'arme. Allons-y,
cliquons sur le joueur et ouvrons la
base de joueurs à l'intérieur d'ici. Passons au
code que nous avons écrit auparavant. Au niveau de l'arme, c'est
ici que nous voulons ajouter le
tracé linéaire par canal. Mais avant cela, nous
avons un peu d'argent avec l'arme équipée :
chaque fois que je pille une arme, si je clique sur un terroriste, je perds quelque chose. Si
je tire maintenant, ça ne me rapporte pas un dollar
parce que je change d'arme. Cependant, si je ne change pas
d'arme, donc si je
prends directement celle-ci et que je commence à tirer, cela va me donner une erreur, car nous ne réglons
l'arme équipée qu'à chaque fois,
nous changeons donc si je
prends directement celle-ci et que
je commence à tirer, cela
va me donner une erreur,
car nous ne réglons
l'arme équipée qu'à chaque fois,
nous changeons en fait
avec les touches de notre clavier. Copions cette arme équipée. Et montons là où nous chargeons l'arme
dans l'arme pillée Et nous allons configurer
l'arme équipée chaque fois que nous utiliserons
ce code ici, chaque fois que nous ne serons pas armés, nous allons configurer l'arme
équipée ici Après ce délai, voici. Allons-y et collons-le. Et connectons-le. Et je vais également déplacer tout cela pour
que je puisse voir ici. Et je vais le
connecter ici. Et puis passez de l'arme
pillée à celle-ci. Encore une fois, vous
pouvez lire des notes ici, prendre quelques-unes et les organiser. Cela devrait donc bien
fonctionner maintenant. Maintenant, nous installons également l'arme équipée chaque fois que
nous pillons ici OK. Je vais donc également le
déplacer. Augmentez la taille du
commentaire, quelque chose comme ceci. OK, donc c'est réglé maintenant. La prochaine chose que je veux
faire, c'est ici avec les armes. Passons donc aux armes
et ouvrons la base d'armes. Cachons maintenant ces sphères. Nous n'en avons plus vraiment
besoin. Je vais cliquer sur
la sphère de collision et la sélectionner à nouveau.
Ici, caché dans le jeu. Et je vais le faire
dans la base d'armes. C'est ce qu'il fait pour chacun d'entre eux. Si je sauvegarde maintenant, j'essaie de jouer
au jeu juste pour vérifier
si c'est corrigé. Et vous pouvez voir ici
que c'est corrigé maintenant. OK ? Nous n'avons donc plus vraiment besoin de
ces sphères, d'accord ? Allons-y et faisons
le tracé de la ligne par canal. Passons donc au code que
nous avons écrit auparavant ici. Commençons par le faire à partir d'ici. Chaque fois que nous bouclons le code, faisons-le glisser à partir d'ici et
écrivons une trace de ligne par canal. Nous allons sélectionner cette fonction. Maintenant, cela semble complexe, mais il est en fait vraiment très facile de comprendre le tracé de la ligne par canal. Il a besoin d'un point de départ et
d'un point d'arrivée. Le point de départ est l'endroit
où vous vous trouvez en ce moment, et le point final est
celui où je vise en ce moment. Avec les micros, voici
ce que nous devons lui dire. La façon dont nous obtenons ces
informations est si vous écrivez « cliquez » et que nous devons d'abord
accéder à la manette du joueur. Maintenant, essaie de le faire toi-même. Si vous vous souvenez comment accéder à la manette du joueur,
nous pouvons le faire ensemble. Maintenant, vous pouvez écrire
get controller, vous pouvez obtenir le
contrôleur de ce jeu comme avant, nous avons cette référence de
manette de joueur à partir du visage. Vous pouvez maintenant
faire glisser le pointeur à partir de là Si vous écrivez simplement caméra, nous voulons obtenir ce que l'
on appelle un gestionnaire de caméras. Si vous
parcourez tout cela,
essayez de lire ce que nous avons. Celui-ci, procurez-vous le gestionnaire de
caméra du joueur. Avec celui-ci, nous
sommes en mesure d'atteindre exactement ce que nous
visons avec nos ventes croisées. Pour obtenir ce gestionnaire de caméra, nous allons
faire glisser le pointeur à partir de celui-ci et dire « obtenir l'emplacement de la caméra ». C'est notre position de départ. À l'heure actuelle, la position de départ
est celle où je suis en ce moment, ici, debout
en tant que joueur au milieu de mon écran. Maintenant, nous devons dire
que l'emplacement final est celui que je
vise avec Microsa La première façon de procéder
est de faire glisser le curseur à partir de
celui-ci et de dire « get
at forward vector ». Nous sommes donc en train de définir la direction à
suivre pour ce gestionnaire de caméra. Ensuite, nous prenons cela
et nous le multiplions. La raison pour laquelle
nous multiplions, commençons par
changer cette épingle Nous n'avons pas besoin que ce soit un vecteur. Transformons-le en flotteur. Multiplions-le par
quelque chose de vraiment gros. Par exemple, 20 000,
quelque chose comme ça. La raison pour laquelle nous faisons cela est que
nous obtenons le vecteur
vers l'avant, donc la direction vers l'avant
de cette caméra. Ensuite, nous
multiplions ce chiffre par beaucoup parce que nous voulons qu'il
atteigne la distance qui se trouve
là, près du mur Nous sommes en train de le multiplier. Ensuite, nous devons dire « plus ». Nous ajoutons ici
le point de départ. Nous ajoutons le point de départ avec cette ligne
pour le point final. De cette façon, nous obtenons
l'emplacement final. Vous pouvez imaginer que
je suis debout en
tant que joueur et que nous sommes en train de déterminer
le point de départ. C'est là que je me
trouve en ce moment. Et nous
créons simplement une ligne et nous l'
ajoutons au début. Et cela permettra d' le but que je
vise en ce moment. Maintenant, c'est très difficile à comprendre en tant que débutant ou la première fois que
vous le faites. Mais essayez de réfléchir à la
façon dont cela a du sens. Maintenant, lorsque nous les
ajoutons, ajoutons-les ici jusqu'à la fin. Et cela devrait
suffire. Pensez donc également à connecter
cette broche d'exécution. Et allez-y,
redirigez vos notes. OK, maintenant ça devrait
fonctionner ici. Maintenant, nous avons quelque chose
appelé hits, et vous pouvez voir que c'est une épingle bleue. Et si vous l'avez déjà remarqué, nous avons déjà utilisé des
épingles bleues parce que informations sur
nos armes
sont également des épingles bleues. Une épingle bleue signifie qu'il s'agit d'une structure avec
des structures comme avant, nous pouvons faire glisser et dire casser, nous pouvons casser des structures, vous avez toutes ces
informations que vous pouvez utiliser. Vous pouvez effectuer ce
tracé linéaire par canal. Vous pouvez donc prendre la ligne
que vous avez tracée ici et vous pouvez obtenir l'endroit où
vous avez réellement atteint cette ligne. Vous pouvez trouver l'acteur que vous avez touché grâce à cette ligne de
traçage par chaîne. Vous pouvez obtenir le
temps, la distance, et beaucoup de choses ici, nous n'en avons pas vraiment besoin
pour le moment. La seule chose à
faire avant de le faire, c'est de sortir
de ce lingot
et d'en faire une branche Parce que nous ne
voulons pas continuer notre code s'il n'est pas valide. Chaque fois que nous
touchons quelque chose, nous voulons continuer le code. est toujours agréable d'avoir ça sinon vous aurez
parfois une époque. Ensuite, nous avons
ce problème de blocage. Chaque fois que nous touchons
quelque chose avec cette ligne, nous voulons également continuer
le code, créer une branche ici également. Nous voulons également nous
assurer que c'est le joueur que nous
touchons qui inflige des dégâts. Parce que nous ne
voulons pas frapper un acteur au hasard avec un hit act, comme avant.
Nous l'avons déjà fait. Supposons que l'acteur ait un tag, alors
vous pouvez écrire joueur. N'oubliez pas que nous avons ajouté
le tag player. Si vous ne vous en souvenez pas,
vous pouvez cliquer sur, je crois que ce sont les paramètres par défaut de la
classe Et si vous recherchez un tag, souvenez-vous que nous avons ajouté le
tag player à l'acteur. L'acteur a un tag player. Nous l'avons pour tous
les joueurs car nous l'avons
ajouté à la base de joueurs. Maintenant, nous pouvons faire glisser le pointeur
à partir de là et dire « tirer » si nous
touchons quelque chose. Nous avons donc un hit bloquant, l'acteur que nous avons touché est un joueur. Ensuite, nous voulons aller de l'avant et infliger des dégâts.
OK, avec celui-ci. Tout d'abord, nous pouvons simplement écrire
une chaîne d'impression pour voir si cela
fonctionne réellement ici. Pour le débogage, vous pouvez en fait passer
ce paramètre à persistant, car vous pourrez alors voir
la ligne que vous êtes en train de filmer Et vous pouvez voir
s'il
fait réellement quelque chose de mal
ou de bien. C'est aussi à ignorer par les acteurs. Tu ne veux pas te
tuer ici. Ignorer le moi, c'est déjà possible, mais j' en ai parfois, quand je me
développe à mon rythme, j'aime m'
en éloigner et dire make. Vous pouvez maintenant créer un tableau ,
puis vous pouvez le faire glisser
à partir d'ici et dire « self ». Maintenant, il va en fait
ignorer ce joueur ici, les acteurs s'ignorer eux-mêmes. Et c'est déjà
ce qu'il fait ici. Ce n'est peut-être pas nécessaire, mais j'aime bien l'avoir ici. Sûreté. Si vous souhaitez
bloquer d'autres acteurs. Vous n'ignorez donc pas les
autres acteurs. Donc tu ne peux pas les toucher.
Vous pouvez toujours cliquer sur le signe plus et ajouter
un autre acteur ici. Mais pour l'instant, permettez-moi de cliquer ici avec
le bouton droit et de supprimer cet élément du tableau. OK, c'était tout pour le
tracé des lignes. Et compilons. Et laissez-moi simplement cliquer sur
jouer et voir ce qui se passe si je joue en tant que serveur
et que je sélectionne des terroristes. Et je sélectionne, par exemple, une arme ici et je tire. Et il ne se
passe rien en ce moment. Laissez-moi arrêter ici et
laissez-moi voir pourquoi
cela ne fonctionne pas. C'est en train de jouer,
mais c'est en train de jouer. Un peu en retard. Si je réessaie et que je tiens juste ma souris,
c'est en train de jouer. Vous pouvez voir qu'il est en train
de créer les lignes. Où que je photographie, c'est en fait à cette
distance que je
photographie là-bas. Peu importe ce que je vise, mais il s'agit
d'une réponse tardive. Et la raison pour laquelle c'est le cas, c' est que nous avons besoin d'une première dose ici. Parce que chaque fois que
nous tournons, souvenez-vous de l'heure que vous avez
définie ici pour le chronomètre, il faudra en fait
ce temps avant qu'il ne soit joué. Par exemple, si
j'en ai écrit trois ici pour
mon chronomètre, que je compile
et que je clique sur play, il s'écoule 3 secondes
avant que le jeu ne démarre réellement. Maintenant, je tiens ma
souris et vous pouvez voir bout de 3 secondes qu'elle va
prendre la photo ici, à
l'heure que vous avez
fixée ici. Il va en fait attendre ce moment avant de commencer à
tourner en boucle Pour résoudre ce problème, nous avons besoin d'un événement initial, comme le tournage,
qui exécutera ce code une fois avant
de l'exécuter ici. Et c'est ainsi que nous
résolvons ce problème. Faisons ce qu'on appelle
un premier coup d'arme. Permettez-moi de m'en tenir à cela
et de créer un événement personnalisé. Je dois probablement déplacer tout
cela afin que nous ayons un peu d'espace pour
travailler sur cet événement ici. Je vais juste appeler
ça les premiers coups d'arme. Celui-ci ne fonctionne qu'une seule fois pour s'assurer
qu'il fonctionne avant que ce chronomètre par événement ne s' exécute ici après une fois. Cela ne sera exécuté
qu'une seule fois. On peut donc parler du
premier coup d'arme. Il ne
tournera donc qu'une seule fois avant que nous ne
commencions réellement le tournage. Nous n'avons donc aucun
retard dans le tournage. Cliquons sur jouer maintenant. Et si je
prends quelque chose et que je tire, vous pouvez le voir tirer. Il tire immédiatement. Nous n'avons plus besoin d'
attendre quoi que ce soit maintenant. Cela fonctionne. Et
fermons-le. Je crois que nous avons une
erreur en ce moment. Si je n'ai rien
et que j'essaie de tirer, vous pouvez voir que je peux prendre quelque chose et je reçois
également une erreur. Si je clique dessus, cela indique qu'
il y a une flèche avec celui-ci. Pour cela, nous pouvons
faire quelque chose ici. Chaque fois que nous tirons avec l'arme, nous pouvons nous assurer que nous
en avons réellement une. Pour ce faire, nous pouvons soit cliquer avec le bouton droit de la souris
ici et le convertir en un get validé continuer
et faire
quelque chose comme ça. Nous pouvons également faire autre chose. Continuons cela et prenons ce
type d'arme équipée et, à partir de
là , disons que si cela n'est pas
équivalent à une arme non armée,
nous pouvons continuer à tirer parce que cela n'a pas vraiment de sens tirer chaque fois que nous ne sommes armés parce que nous
n'avons pas d' Laissez-nous connecter cela. Plus tard, nous le ferons probablement
si nous n'avons pas de MO. Lorsque nous ajoutons du MO, si
nous n'avons pas de MO, nous ne voulons pas tirer non plus. Nous l'ajouterons plus tard chaque fois que nous ajouterons le
MO au jeu. Très bien, en ce moment,
nous tirons avec l'arme. Cependant, nous ne
touchons pas le joueur. Si vous voyez ici, si
je clique sur jouer, je prends le terroriste ici, je prends mon autre client et je sélectionne des terroristes, par exemple
prenez une arme ici, laissez-moi simplement la prendre
comme serveur. Si je tire en tant que
serveur sur le joueur, cela touche le joueur. Cependant, rien ne se passe. Vous pouvez voir que chaque
fois que je touche quelque chose, la ligne derrière
devient verte. Cela signifie qu'il sait
qu'il touche quelque chose. Cependant, nous lui avons dit que nous
voulions réagir uniquement lorsque c'est
le joueur que nous touchons. Chaque fois que ce n'est pas
le joueur, il
ne va pas vraiment faire quoi que ce soit, mais il sait qu'
il touche quelque chose. Cependant, pour le joueur, il ne s'agit
pas vraiment de toucher quoi que ce soit. Allons-y et ajustons les paramètres de collision pour le
joueur lors de la prochaine leçon.
136. 10.07 Ajuster les paramètres de collision des joueurs: Très bien, bon retour.
Allons-y et ajustons les paramètres du lecteur
ici. Réglages de collision. Permettez-moi donc de cliquer sur le maillage. Et laissez-moi m'occuper
des paramètres de collision. Chaque fois que nous
touchons quelque chose, nous devons générer un événement de succès. Je vais activer l'
événement Generate hit parce que nous en avons besoin également lorsque nous infligeons dégâts, de la santé
et d'autres choses de ce genre, nous devons générer un événement hit. Et pour ce qui est de la collision ici, si vous
regardez le tracé de la ligne, nous utilisons le canal de
visibilité. Maintenant, pour les tracés linéaires, vous pouvez modifier cela. Si vous accédez aux
paramètres du projet dès maintenant, nous n'allons pas les modifier
car cela ne nous pose
aucun problème. Mais à l'avenir, si nous avons un problème et que nous
devons le changer, nous allons le changer. Mais pour l'instant,
restons-en à la visibilité. Mais je vais juste
vous montrer où vous pouvez
le modifier au cas où dans les paramètres
du projet. Si vous trouvez une collision, si je fais simplement
défiler la page et que nous avons
ce qu'on appelle une collision, nous avons ce que l'
on appelle des canaux de traçage. Il s'agit d'un tracé linéaire. Vous pouvez en fait ajouter un
nouveau canal au tracé de ligne ,
puis sélectionner le
canal que vous avez créé. Vous pouvez également utiliser un
canal personnalisé pour cela, mais pour l'instant, utilisons
le canal de visibilité. Et si vous cliquez sur le maillage ici pour les préréglages de collision, je vais le changer
en mode personnalisé Ensuite,
pour la visibilité, nous allons
dire bloquer parce nous utilisons le canal de
visibilité. Maintenant, restons comme ça. Si nous avons un problème ultérieurement
, nous pouvons le corriger. Laissez-nous tout compiler. heure actuelle, nous
utilisons une collision précise parce que
nous n'utilisons pas ce composant de
capsule de
collision, nous utilisons en fait ce
maillage pour créer les événements frappants. Cliquons maintenant
sur jouer et voyons s' il indique bonjour lorsque
je tire sur le joueur. Si je prends cette arme
ici comme l'autre, je vais sélectionner des terroristes. Je vais aller
chercher celui-ci. Maintenant, c'est le client. Je vais tirer
sur le joueur. À l'heure actuelle, rien ne se passe. Laissez-moi essayer de le
faire sur le serveur. Si je clique sur le serveur, vous pouvez voir qu'il dit bonjour. Cependant, en ce qui
concerne le client à l'heure actuelle, il ne dit
rien pour résoudre ce problème. Comme il s'agit d'un mode multijoueur, le client ne sait pas vraiment quels sont les lieux de départ
et d'arrivée. Comme vous pouvez le voir ici,
le serveur sait ce que c'est. Cependant, pour le
client d'ici, si j'essaie simplement de
rejouer et de vous le montrer
avant que nous ne réparions le problème, si je prends quelque chose et pour le client terroriste en
tant que client, si c'est juste, disons que je
tire ici sur ce mur. La course en ligne se fait automatiquement. Cela ne s'affichera pas vraiment sur le client, car n'oubliez pas que la course en ligne que vous faites
se joue sur le serveur. La ligne persiste ici, la ligne de débogage ne s'
affichera jamais sur le client qui est normal car Ce qui est normal car
vous l'exécutez
sur le serveur. Lorsque nous
examinons également le serveur, vous pouvez
voir que j'ai
tiré sur ce mur. Cependant, pour le client, il semblerait que
vous ayez tiré là-bas. Cela n'a
cependant aucun
sens de la part du serveur. Et je tire ici,
je devrais bien le faire. Vous pouvez le voir ici, j'ai cliqué ici. Cependant, pour le client, ce n'est même
pas là-bas.
Le moyen de résoudre ce problème. Maintenant, c'est multijoueur, donc il ne le sait pas vraiment. Nous devons en fait intégrer
cela plus loin dans l'événement. Commençons par ce point de départ. Finissons-en également ici. Nous devons déplacer ce code. Je vais déconnecter
ce code ici. Et éloignons-nous de cela. Nous devons revenir
au début. La raison pour laquelle nous
le faisons est lorsque nous exécutons également ce code sur
le client. Parce que nous ne sommes pas vraiment en train de
régler quoi que ce soit. C'est très bien Si nous ne définissons rien
, vous pouvez
le jouer sur le client. Nous l'exécutons sur le fait que le
client connaît également les emplacements de début et de fin et c'
est ainsi que
vous corrigez ce code. Allons-y et
branchons-les ici. Maintenant, laisse-moi juste déplacer ça. Laisse-moi m'occuper de tout ça. Permettez-moi de
rapprocher tout cela de celui-ci. Maintenant, il n'y a plus que ce code ici. Permettez-moi de créer des
nœuds de redirection pour ces vecteurs. D'accord ? Quelque chose comme ça. Maintenant que c'est
réglé, laissez-moi partir, laissez-moi prendre ce
code et le déplacer vers le bas. Nous avons de la place là-haut. Maintenant, pour ce code, fois qu'il est valide, nous avons découvert que cette arme
équipée est valide. Nous pouvons ensuite
insérer ce code. Allons-y et branchons-le. Et retirons-le encore une fois. Branchons le début à celui-ci
et la fin à celui-ci. Vous pouvez également simplement le déplacer vers le bas pour voir
ce qui se passe. Et tu peux continuer et
connecter ça si tu veux. Tu peux juste prendre tout ça. Vous pouvez cliquer avec le bouton droit de la souris et le
réduire à une fonction. Et vous pouvez appeler cette fonction ou simplement la
rendre plus descriptive. Obtenez une liste à puces pour
tracer les emplacements,
quelque chose comme ça. Puisque vous obtenez des informations sans rien définir, vous pouvez continuer
et cliquer sur Pure car vous n'avez pas vraiment
besoin de les parcourir. Et tu peux double-cliquer dessus. Allez-y et organisez également
cette fonction. Assurez-vous que tout
est connecté. Et ça devrait être bien de
faire quelque chose comme ça. Vous l'avez déjà fait. Revenons maintenant
au graphique et permettez-moi de
tout rapprocher un peu plus. Vous pouvez voir qu'il est
beaucoup plus simple d'en
faire une fonction. Et renommons l'emplacement de départ de ces
deux
puces et l'
emplacement de celui-ci. Maintenant que c'est fait, nous pouvons compiler pour celui-ci. Nous n'avons pas vraiment besoin
de faire quoi que ce soit parce que nous allons arrêter ce tournage.
Nous n'en avons pas vraiment besoin. C'est ce qui
compte ici. OK, nous l'avons branché, et je pense que cela fonctionnera Maintenant, permettez-moi de le
déplacer ici. Et cliquons sur Play. Essayons-le.
Essayons-le maintenant en tant que client. Et laisse-moi prendre quelque chose. Permettez-moi également de
l'essayer en tant que serveur. Je prends le, en tant que serveur. Maintenant, je peux tirer sur ce joueur. Et il dit bonjour
ainsi qu'au client. Il devrait dire bonjour si
je tire sur le joueur et si je tire sur le joueur, c'est
en fait dire bonjour. Vous pouvez également voir sur le serveur que la ligne est correctement
dessinée. En fait, ça m'a énervée aussi. Disons que sur le serveur, je photographie également ici
en tant que client. Je suis en train de filmer ici. Vous voyez qu'il
tire en fait avec précision. Maintenant, c'est réglé. Il sait maintenant où je suis
en train de photographier. Maintenant, si je touche le lecteur,
vous pouvez voir qu'il dit bonjour. Comme vous pouvez le voir à quel point c'est
précis, si je touche le joueur ici, cela ne dit rien parce que je
ne touche pas le maillage du joueur. Si je touche le joueur, par exemple,
laissez-moi tirer sur le joueur. Vous pouvez voir qu'il dit bonjour. Laisse-moi tirer sur le
joueur. Par exemple, ici
, il est écrit « bonjour ». Si je tire sur le joueur
ici, il dit bonjour. Je tire sur le joueur ici. Cela ne dit rien. C'est aussi très bon. Celui-ci touche le
joueur ici parce que le maillage lui-même n'est
en fait pas vraiment bon. Il s'incline, mais vous
pouvez voir par exemple que
si je joue le rôle d'un
antiterroriste, c'est comme ça
que
se passent les mailles actuellement Si je joue juste en tant
que contre-terroriste
et que je maximise ce résultat, il devrait dire bonjour
en tant que serveur. Si je photographie ici,
tu peux voir bonjour. Le tracé de la ligne ne s'
affiche pas car nous
sommes sur le client. N'oubliez pas que si je
photographie ici, par
exemple, vous pouvez me
voir dire bonjour. Si je photographie
ici, ça dit bonjour. Vous pouvez voir que celui-ci
est plus précis, ce maillage ici, par rapport
à l'autre. C'est aussi la façon dont vous créez le maillage, sa précision
, etc. Vous pouvez donc voir la différence. Je peux photographier ici et on dit bonjour, parce que c'est
moi qui le tue. Cependant, si je photographie ici,
ce n'est pas pour dire bonjour. C'est également très précis dans le cas de
cette collision.
137. 10.08 Créer les prises flash de muselière: Avant de pouvoir ajouter
l'effet visuel et les effets sonores
pour le tournage, nous devons ajouter un support pour l'effet visuel du museau.
Allons-y et faisons-le. Passons à l'
arme que nous utilisons. Je dois trouver le
squelette de l'arme. Le moyen le plus simple de le trouver, au lieu de simplement consulter
les dossiers du marché. Tu peux ouvrir les armes, ouvrir le K pour l'AK. Cliquez sur l'arme
puis sur cette petite icône. Cela
vous redirigera automatiquement vers cette arme dans le
navigateur de contenu. Maintenant, allez-y et ouvrez le
squelette de l'arme. Et à l'intérieur d'ici,
comme avant, nous devons ajouter un socket. Vous voyez déjà qu'il
y a un socket ici. Permettez-moi de le renommer. Je vais le renommer
et l'appeler comme préfixe. Et une muselière, on peut simplement l'appeler
museau. C'est très bien. Ou nous pouvons l'appeler simplement muselière Passons aux autres et
faisons-le également. Permettez-moi de revenir à l'arme
, ouvrez les quatre, ouvrez le pistolet, cliquez
sur le clic sur l'arme, cliquez sur cette petite icône,
elle vous y mènera Puis ouvrez le squelette. Et pour le squelette ici, pour le flash de bouche,
nous pouvons maintenant cliquer avec le bouton droit de la souris et dire «
ajoutez une chaussette »
à nouveau, appelez-le museau nous pouvons maintenant cliquer avec le bouton droit de la souris et dire « ajoutez une chaussette »
à nouveau, appelez-le Il suffit de l'appeler de la
même façon sur chacun d'entre eux. Une muselière pour celui-ci également. Je ne sais pas si nous
devons le faire pivoter. Vous pouvez voir que celui-ci X est l'axe
avant de celui-ci. Je pense qu'il
faut le faire pivoter de cette façon. Essayons simplement de le faire. Permettez-moi de cliquer à nouveau dessus. Et je vais prendre une
photo pour la rotation. Et je vais faire une
rotation de 90 degrés. De cette façon, le X
pointe réellement vers l'avant. OK,
gardons ça et passons au pistolet. Ouvrons maintenant l'éditeur de plan
complet. Accédez à l'arme et cliquez sur cette
petite icône représentant le pistolet. Passons maintenant au pistolet, ouvrez le squelette ici pour que
la bouche clignote. Il y en a
un ici aussi. Pas d'éjection,
la bouche clignote. Ce pack est plus
avancé qu'avant, mais pour celui-ci,
permettez-moi de le renommer à nouveau. Permettez-moi de l'appeler museau. Maintenant, nous avons un support
pour chacun d'entre eux, et nous allons l'
utiliser à l'intérieur de notre personnage pour ajouter des effets
visuels à l'arme.
138. 10.09 Photographie VFX et SFX: Bien,
revenons au joueur et ouvrons à nouveau la
base de joueurs. Et maintenant, nous sommes prêts à ajouter les effets visuels et les effets
sonores à l'intérieur d'ici. À l'intérieur d'ici,
ce que nous devons faire, passer par une multidiffusion Encore une fois, parce que nous devons montrer les effets visuels à tout le monde ainsi que les effets sonores, nous devons
passer par une multidiffusion Tout d'abord,
créons simplement le multicast. Faisons un clic droit et
disons « Événement personnalisé ». Pour cet événement personnalisé,
appelons-le arme multicast. Maintenant, pour celui-ci,
allons-y. Ne fonctionne pas sur serveur, mais fonctionne en
multidiffusion et est fiable. Pour cela, la
chose simple que nous voulons faire est de générer l'émetteur sur place Ou en fait,
faisons apparaître l'émetteur attaché parce que nous allons
l'attacher au socket Allez-y, vous avez vu l'émetteur
attaché, puis nous
devons sélectionner de quel émetteur
parlons-nous ? Celui-là. Si nous examinons la structure
et ouvrons la structure de l'
arme, nous avons ce système de particules par
flash initial que nous avons ajouté plus tôt
à notre tableau de données Nous pouvons continuer et simplement
le brancher . Nous
allons nous en servir. Je vais le renommer en Shooting Visual
Effects ou simplement en VFX Je vais juste l'appeler VFX. Et pour ce qui est de l'attachement au composant, je vais simplement le
brancher ici aussi. Je vais déplacer
celui-ci vers le haut. Et nous devons l'
attacher à l'arme. Je vais l'appeler arme maintenant,
celle-ci est l'os auquel nous
devons l'attacher. L'os que nous avons appelé museau. Il suffit d'écrire le
nom ici, Muzzle. Le nom du
socket que vous avez créé. Ensuite, l'emplacement de cet effet que nous devons
jouer maintenant pour cet émetteur. Si nous avons utilisé l'
émetteur de spawn sur place, nous avions en fait besoin de
l'emplacement pour
cela Cependant, il ne s'agit que de l'
emplacement dans le socket, et cela ne devrait être que 000. C'est très bien. Maintenant, nous
devons également jouer un effet sonore Faites glisser le pointeur à partir d'ici et dites «
jouer le son à l'emplacement ». Maintenant, pour cet effet sonore, souvenez-vous également dans la structure que nous avons créé cet effet
sonore de prise de vue. Il suffit de le brancher ici et nous l'ajouterons plus tard. Appelons cet
effet sonore, l'emplacement de l'
effet sonore, celui dont nous avons besoin. Mettons-le ici. Nous pouvons simplement dire
l'emplacement. C'est très bien. Compilons et
sauvegardons tout. Essayons de jouer ça ici. Avant de commencer la course en ligne, essayons de créer l'effet. Si je le retire, j'appellerai cette arme à
parachute multicast ici Arme Mc Chute. Celui-ci doit être
branché dessus aussi bien que celui-ci. Donc, ces deux événements. Nous devons maintenant intégrer
toutes ces informations. L'arme que nous utilisons
est cette arme ici. Si je fais glisser le pointeur à partir de là
et que j'ai vraiment besoin trouver la variable arme, si je recherche simplement
une variable d'arme et
que j'obtiens le maillage statique
ou le maillage squelettique lieu de celui que
nous utilisons ici, nous pouvons cliquer et
faire glisser cette variable ici. Et maintenant c'est branché. Maintenant, l'effet visuel
dépend de ce que nous avons à l'intérieur
de cette structure. Vous pouvez simplement l'utiliser ici, nous avons
déjà appelé la structure. Vous pouvez cliquer dessus et
cliquer sur l'épingle pour faire clignoter
le museau Et vous pouvez le brancher
et cliquer sur l'épingle pour obtenir l'effet sonore de
prise de vue. Et vous pouvez également le brancher
. Maintenant, pour ce qui est de l'emplacement, il suffit de
trouver l' emplacement
du support pour le flash initial, c'est là
que nous voulons
jouer l'effet sonore Vous pouvez également simplement obtenir l'emplacement du personnage
ou agir comme un lieu. Personne ne remarquera que
vous pouvez simplement dire « obtenir localisation de l'
acteur » et
l'utiliser. Et il jouera quel que soit
votre acteur ou votre personnage et personne ne
remarquera vraiment que cela ne
vient pas du pistolet. Cependant, si vous voulez que cela
provienne précisément du pistolet, vous pouvez simplement le prendre et
dire « get socket location ». Vous pouvez le faire
et vous pouvez écrire le museau de la prise vous pouvez le prendre et le
brancher ici C'est également plus
précis pour celui-ci. Très bien, j'ai donc créé des nœuds
Smyroute, donc c'est un peu
plus organisé maintenant Si je compile et enregistre tout, cela
devrait fonctionner. Maintenant, ce début et cette fin, nous pouvons également en changer le nom. Donc, au lieu de le faire dans la leçon précédente, «
Bullet Location », je vais simplement l'appeler «
Bullet start location ». Et si l'on considère l'emplacement, c'est plutôt comme s'il était plus
beau et nous pouvons le
comprendre plus facilement. Cliquons maintenant
sur jouer et voyons si cela va fonctionner. N'oubliez pas que si vous n'avez pas encore défini les informations de
votre tableau de données, nous l'avons fait dans les leçons
précédentes. Si vous ne l'avez
pas configuré, vous devez placer le museau ici, en dehors du tableau de données Il sait quel
effet sonore jouer et aussi quel fa il faut jouer. OK, sauvegardons tout
et fermons-le. Allons-y et cliquons
sur jouer ici en tant que serveur, je vais sélectionner Terrorist. Sélectionnez l'arme. Maintenant tu
peux continuer et tirer. Vous devriez entendre
l'effet sonore. Vous pouvez également voir que le
flash de la bouche fonctionne également. OK. Génial en tant que client. Essayons ça aussi. Laisse-moi juste
aller chercher quelque chose. Passons au K. Si
je prends des photos, cela fonctionne également. Les deux fonctionnent.
Le client et le serveur. Si je passe juste
devant lui, tu y joues. Je peux voir le museau
clignoter sur les deux. Si je le fais en tant que client, juste pour m'assurer que
cela fonctionne également, je passe devant
ici et je le photographie,
et cela fonctionne également. OK, génial. Donc,
les deux fonctionnent, et maintenant nous en avons fini
avec le code. Donc, si vous revenez
à la base de joueurs, nous avons simplement créé cette multidiffusion et nous l'avons ajoutée au serveur N'oubliez pas qu'une multidiffusion
ne peut être exécutée que par le biais d'un événement serveur Nous l'exécutons via
l'événement du serveur. Nous avons intégré toutes
ces informations et
maintenant elles fonctionnent Alors allez-y, sauvegardez
tout, et passons à autre chose.
139. 10.10 Empêcher la prise de vue pendant Equip Anim: Le problème que nous avons
actuellement, c'est que le joueur peut tirer tout en étant
équipé de l'arme Si j'équipe cette arme, vous pouvez voir que je peux tirer pendant que
je l'équipe Au fait, pour ce
cours, je vais juste désactiver le son de
l'arme pour que vous
puissiez m'entendre lorsque je tire et que cela ne vous
dérange pas. Je vais juste le
désactiver de mon côté. Lorsque vous équipez l'arme, nous voulons désactiver le tir. Allons-y et faisons-le. Ajoutons d'abord un lingot. Disons que celui-ci
est une arme d'équipement. Laissez-nous compiler maintenant. Nous devons régler cela
par le biais d'un événement. Créons simplement un nouvel événement
personnalisé. Événement personnalisé. Et disons que cet
ensemble est une arme d'équipement. Allons-y et
copions ce nom car je vais créer
un autre événement personnalisé. Nous devons le faire
passer par le serveur. Je vais l'appeler
serveur au début. Et lancez celui-ci sur le serveur tout en étant
fiable. OK, vous pouvez exécuter
le serveur sur le serveur d'événements normal. Cet ensemble est une arme d'
équipement, comme ici Ce que nous voulons simplement
définir comme étant, vrai ou faux,
selon la valeur que nous lui avons attribuée. Faisons simplement glisser ça ici. Et ajoutons-le
également ici. OK, celui-ci. N'oubliez pas de la configurer
pour qu'elle soit répliquée afin le client sache également
quelle est cette variable Pour celui-ci, nous devons l'
appeler par le code quelque part pour qu'il
soit vrai ou faux. Commençons par ici. Nous avons ce montage de jeu
chaque fois que nous équipons l'arme. Laisse-moi juste faire glisser
celui-ci ici. Chaque fois que nous installons l'arme, chaque fois que c'est vrai, je fabrique une branche
chaque fois que c'est vrai. Appelons cette
arme d'équipement MC Equip. Ensuite, nous pouvons également définir cette
animation d'équipement. Donc, ce que nous avons fait ici,
nous avons le multicast et nous l'avons
appelé sur le serveur Donc, ce que nous pouvons faire, c'est copier-coller ceci. Je me demande juste si
nous devrions le faire
glisser ici, puis le
faire glisser ici, pour pouvoir simplement l'appeler ici. Et je crois que nous n'avons pas
vraiment besoin de le faire, copions-le ici. Et laissez-moi simplement le déplacer vers le bas. Collons celui-ci ici. Et collons l'
animation de l'équipement comme avant. Et cachons les épingles
non connectées. Maintenant, chaque fois que nous
équiperons l'arme, nous allons jouer à
cette multidiffusion OK, maintenant que nous l'avons,
compilons . Maintenant, ce que nous pouvons faire c'est utiliser cette arme équipée
au lieu de celle-ci. Chaque fois que nous équipons une arme, cela devient réalité. Permettez-moi de le supprimer pour le moment
et de masquer les épingles non connectées. Laissez-moi appeler le set qui équipe l'arme et
connectons-la Et il va passer par
le serveur, puis appeler le multicast chaque fois que
celui-ci est vrai Ici, nous voulons
équiper l'arme. Vous devez le mettre sur
faux à un moment donné, sinon ce sera toujours vrai et vous ne pourrez pas
tirer avec votre arme. Chaque fois que nous aurons fini de jouer
ce montage d'animation, disons que le set est une arme à
fouetter est faux Nous l'enlevons ici. D'accord ? Et puis, lorsque nous tirons avec l'
arme ici, tirez avec l'arme. Nous voulons photographier chaque fois que
nous ne sommes pas équipés. Allons prendre ça ici.
C'est une arme d'équipement. Et c'est vrai, pas des lingots, puis faites glisser le pointeur d'ici
et écrivez lingot Connectons-le ici. OK, donc nous ne pouvons pas tirer
quand nous ne sommes pas armés et nous ne
pouvons pas tirer tant que nous sommes encore en train d'équiper l'arme ici Très bien, laissez-nous compiler. Et je vais aussi y
aller. Lorsque nous pillons l'arme, nous sommes également l'arme d'équipement Supprimons la
multidiffusion à partir d'ici. Je vais faire la même chose. Tu peux juste aller ici.
Si vous souhaitez le copier, collez-le ici,
juste comme ça. Et cela devrait également jouer
l'animation. Cela devrait régler le problème. Et je peux le supprimer ici. Je peux cacher les
épingles non connectées au lieu d' utiliser l'arme équipée de
celle-ci Parce que cette
arme d'équipement n'est
appelée qu' ici dans
l'arme d'équipement. Cependant, nous n'avons pas vraiment l'arme équipée ici
lorsque nous avons perdu l'arme. Il vaut peut-être mieux utiliser
cette arme équipée. Il vaut mieux utiliser celui-ci. Alors laisse-moi voir ici.
Armes équipées. Oui, nous l'avons déjà
défini. C'est ce que nous appelons, peut-être que vous
pouvez simplement le supprimer et me montrer une arme équipée, en utilisant celle-ci à la place. Cela devrait beaucoup mieux fonctionner. Compilons et sauvegardons. Essayons de
jouer et de voir si nous
avons une boîte ici. Laisse-moi jouer ici, le Terrist. Et essaie de tirer chaque fois que je
pille l'arme, je ne peux pas. Et vous pouvez voir que je
ne peux tirer que lorsque j'ai fini d'équiper l'arme Si je le laisse tomber à nouveau, que j'essaie de le
piller et de tirer, je ne peux pas. Maintenant je peux, chaque fois que
ça s'arrête ici. OK, essayons de le
jouer en tant que client. Parce qu'il est également très important de voir si cela
fonctionne en tant que client. Je vais juste écrire pour un
joueur et jouer en tant que client. Je vais jouer
ici et le tester. Prendre ceci, c'
est pareil. Je ne peux pas vraiment tirer chaque fois que
j'équipe mon arme. C'est ainsi que cela fonctionne et
l'animation ne sera jouée que lorsque l'arme
d'équipement sera réglée sur true. Et il le mettra
en panne chaque fois que
le
montage de l'animation sera terminé.
140. 10.11 Créer l'interface utilisateur de la munition: Il est maintenant temps de concevoir l'interface utilisateur des MO afin d'
ajouter des MO au jeu. Et pour ce faire,
passons à l'interface utilisateur. Et concevons-le
dans notre interface utilisateur principale. Parce que cela fait partie de l'interface utilisateur
principale à l'intérieur d'ici. Je veux le concevoir juste
sous l'arme ici. Par exemple, prenons
cette boîte verticale, poussons-la simplement vers le haut dans le Y. J'ai
donc un peu d'espace ici pour
le faire Je veux concevoir
quelque chose comme ça. J'aime vous montrer ce que je veux concevoir et vous
devez le décomposer. Vous devez y jeter un
œil, puis essayer décomposer et de voir ce que
vous devez ajouter en tant qu'interface utilisateur. Par exemple, devez-vous
ajouter une boîte horizontale ? Une boîte verticale ? Et que
devez-vous ajouter ici ? abord, nous avons besoin d'une superposition, car je peux voir que
nous avons
du texte au-dessus d'une image
en arrière-plan Et par conséquent, nous avons
besoin de ce que l'on appelle une superposition. Commençons par là. Cherchons une superposition et collons-la ici dans le panneau du canevas, dans
la zone verticale. Nous en avons terminé avec celui-ci. C'est une superposition en soi. Et je vais placer l'
ancre sur le bouton, non ? Et puis si nous écrivons
00 comme position, nous pouvons voir qu'elle s'aligne
ici pour l'alignement Nous devons écrire 11. Maintenant en position 00, il se trouve à l'intérieur de la toile. D'accord, nous avons d'abord besoin d'une image. Cherchons une image et
collons-la dans la superposition. Cliquez sur l'image
et remplissons la totalité de la superposition jusqu'à l'alignement
horizontal Et l'alignement vertical
remplit également. OK, en cliquant sur l'image, sélectionnons-la. Je crois que je l'
ai appelé panel. Ouais. Si vous recherchez un panneau et que vous
prenez ce membre du panneau d'images, s'il est étiré de cette façon, vous pouvez le rendre non étiré Si vous entendez dans les portes, vous la remplacez par une case et
vous modifiez la marge à 0,5.
OK, pensez également à
effectuer un zoom arrière un par un. Vous pouvez réellement voir la taille
réelle de cette boîte. Vous pouvez simplement le redimensionner. Pour le moment, ce n'est
pas vraiment important. Ce que je veux faire, c'est cliquer sur la superposition et
cliquer sur Size To Content Il sera en fait dimensionné en fonction du contenu contenu
dans cette superposition Lorsque je clique sur l'image
et que j'augmente la taille, vous pouvez
maintenant voir que je peux
augmenter la taille dans les deux sens. Vous pouvez simplement
l'augmenter pour le moment. Nous devons d'
abord concevoir l'intérieur avant de
connaître réellement sa taille. Nous avons d'abord besoin d'une boîte horizontale
parce que nous avons du texte, et à côté, nous avons une image. Cherchons
une boîte horizontale et plaçons-la
dans la superposition Prenons le cadre horizontal et
alignons-le au milieu de l'image figurant
ici sur la superposition Cherchons maintenant un texte. Prenez le texte, placez-le
dans le cadre horizontal. Et prenez également une image et placez-la à l'intérieur de
la boîte horizontale. OK, maintenant on peut cliquer sur le texte. Écrivons quelque chose. Par exemple, 30 sur 90. Vous avez 30 balles dans le chargeur en ce
moment, puis
90 balles supplémentaires Maintenant, cela va changer
dynamiquement dans le jeu, donc cela n'a pas vraiment d'
importance pour le moment. En fait, je vais
écrire quelque chose comme 100 ou 200, donc je sais que c'est un faux texte, et nous pourrons le configurer
correctement plus tard. OK, pour celui-ci, c'est l'image à puces et
nous ne l'avons pas encore importée. Passons aux
actifs d'Assets. Passons à l'interface utilisateur et aux
icônes à l'intérieur d'ici. Je vous ai donné
l'intérieur du dossier dossier
dans les icônes de l'interface utilisateur, cette puce ici, cliquez
et faites-la glisser ici. Et n'oubliez pas de l'ouvrir d'abord et de changer le groupe de
textures en UI. Et modifiez les paramètres
de compression en fonction de l'interface utilisateur. Allons-y et économisons.
Revenons à notre Nui Cherchons la puce
, puis sélectionnons-la. OK. Je peux maintenant
cliquer sur mon texte. Et laissez-moi simplement zoomer pour
voir ce que je fais. Je vais changer
celui-ci en rubic, semi-gras. En ce qui concerne le texte, je vais
maintenant effectuer un zoom arrière de un à un pour voir réellement
la taille de ce texte. Et je vais juste faire en sorte que ce
soit 24 comme taille. OK, je vais cliquer
sur l'icône en haut pour supprimer les tirets
de cette puce. Je vais
l'aligner au milieu, et je vais le
réduire, peut-être 30 x 30. Au lieu de cela, voici à
quoi cela ressemble. OK, j'ai besoin d'un peu d'espace
entre les deux. Et cela peut être fait
en recherchant un espaceur et en le plaçant entre
le texte et l'image Faisons en sorte que le texte, ou l'espace ici, dix pixels dans le x. OK, nous l'avons ici. Vous pouvez maintenant compiler. Et ce que vous pouvez faire maintenant, c'est
cliquer sur l'image et essayer de mieux la
redimensionner Maintenant, vous avez le
contenu à l'intérieur et essayez de le redimensionner
comme vous le souhaitez OK, quand vous serez satisfait, je vais éloigner légèrement cette superposition de l'écran, depuis les bords
de l'écran Peut-être -30 par -30 et
maintenant c'est parfait. Alors compilons
et sauvegardons le tout. Et je vais également
sélectionner le texte, l'image et l'image
en arrière-plan. Et réglez la
visibilité sur une valeur
testable pour que le
curseur des miles ne puisse pas non testable pour que le
curseur des miles plus interagir
avec eux. OK, compilons
et sauvegardons tout. Maintenant que c'est terminé, cliquons sur la case
verticale en haut. Maintenant, nous pouvons le déplacer vers le bas. Tu peux le déplacer vers le bas, peut-être quelque chose comme ça. Et j'en suis satisfait. Nous avons les munitions et nous avons
aussi les armes ici. OK, vous
pouvez continuer à compiler, tout
enregistrer et
passer à la suivante.
141. 10.12 Réglage du montant initial de la munition pour arme: Laissez-nous maintenant définir la quantité de MO que vous avez
dans chaque arme. Encore une fois, il faut
revenir à la structure. Passons à la structure, informations sur les
armes que nous avons créées. Créons deux nouvelles variables. Tout d'abord, nous devons savoir combien de MO vous
avez dans un mag, maximum de MO de
cette arme. Nous avons besoin de savoir combien de MO vous
avez sous forme de balles supplémentaires. Vous pouvez donc voir ici dans
l'interface utilisateur si je l'ouvre. Combien de MO
avez-vous dans le magazine ? Et combien de MO avez-vous ? Des restes que vous pouvez
recharger à partir de celui-ci. Je vais juste appeler Max Extra MO. Quel est le maximum que vous pouvez
avoir à l'intérieur de cette arme ? Comme il ne s'agit que d'un nombre, c'est un nombre entier, ce n'est pas un nombre décimal Nous devons sélectionner un entier, juste un nombre ordinaire. Sans décimales, nous avons le
maximum en ma et le maximum en MO supplémentaire. Je vais les déplacer
ici et je pense que je vais
les déplacer au-dessus de la
vitesse de prise de vue, quelque chose comme ça. Maintenant,
peu importe où vous les déplacez. J'aimerais juste rester
propre comme ça. Une fois ceux-ci terminés,
nous pouvons maintenant le fermer et nous n'oublions pas de mettre
à jour dans le tableau
de données. Si j'ouvre le tableau de données et à l'intérieur de mon tableau de
données ici, nous devons l'écrire de la même manière que nous l'avons fait ici dans la structure. Si je retourne à la structure, je l'ouvre ici
à l'intérieur de la structure. Maintenant, si je le compare
simplement à ma table de données, j'ai maintenant besoin de ce MO en moi et du maximum MO
supplémentaires après la
variable de classe. Après celui-ci. Après le cours,
je vais écrire cliquer » et dire « Insérer
une colonne » à droite. Et je vais le
faire encore une fois. Permettez-moi de maximiser cela pour que je puisse réellement voir ce que je fais. Nous pouvons simplement
le réduire
et écrire Max MO dans Mag. Vous pouvez même le copier
, le coller ici. Et copiez-le. Et
collez-le ici. OK, donc nous l'avons maintenant. Ensuite, vous devez définir la
quantité de MO dont vous disposez. Donc, pour l'AK 47 par exemple, je peux en avoir 30 dans mon Meg et je peux avoir un
maximum de 90 balles supplémentaires Mes informations peuvent avoir par
exemple
2060 et mon pistolet par exemple,
12 balles et un maximum de
24 balles en tant que MO supplémentaire,
quelque chose comme ça 2060 et mon pistolet par exemple, 12 balles et un maximum de
24 balles en tant que MO supplémentaire,
quelque chose comme Allez-y et
cliquez sur le fichier pour le télécharger et le télécharger sous
forme de fichier CS afin que nous puissions le
télécharger sur le moteur. Et encore une fois, comme
avant, je vais
supprimer l'ancien que nous avons créé. Et je vais le coller ici, le renommer à nouveau en
DT Weapon Info Ensuite, à l'intérieur du moteur, passons aux tables de données. Et permettez-moi de cliquer et faire glisser ceci ici
pour qu'il soit mis à jour. Et si vous l'
ouvrez à nouveau, vous pouvez voir que
toutes les valeurs ici sont mises à jour. OK, génial. Nous avons donc maintenant défini
la quantité de MO. Cependant, lorsque
nous jouons au jeu, le moteur ne connaît pas le montant initial car nous n'avons pas vraiment
utilisé ces chiffres. C'est bon. Nous les avons écrits dans la structure
et le tableau de données. Cependant, nous ne leur avons pas vraiment fixé quoi que ce soit pour le moment. Passons aux armes et
faisons-le à l'intérieur
de la base d'armes. La raison pour laquelle je le fais dans la base d'armes en ce
moment et non dans le joueur, est parce que chaque fois
que l'arme apparaît, c'
est parce que chaque fois
que l'arme apparaît, elle définit
le nombre de MO qu'elle contient dans
le chargeur et le nombre de MO supplémentaires, cela se fait automatiquement À l'intérieur d'ici, à l'intérieur d'ici. Faisons un clic droit et
créons un nouvel événement personnalisé. Appelons cela un serveur. Nous allons donc le
faire passer par le serveur. Et appelons-le arme
initialisée. Il s'agit simplement d'un événement pour débutants qui se déroulera
ici dès le début de la partie. Si vous appelez simplement l'arme
initialisée par le serveur et que vous l'exécutez sur le serveur, de manière
fiable, juste comme ça, compilez. Maintenant ce que nous voulons faire,
c'est définir le MO supplémentaire actuel et également le MO dans le
chargeur de l'arme Créons deux nouvelles
variables et nous en aurons également
besoin plus tard.
Appelons celui-ci. Je dois changer le
nom ici, MO in mag. Appelons l'autre
M supplémentaire ici dans la structure. Si je reviens en arrière et que j'ouvre la structure, à l'intérieur
de la structure, c'est le maximum de M in, c'est le maximum
que nous pouvons avoir. C'est la version actuelle. Nous aurions pu éteindre
notre arme et utiliser notre mode opératoire lorsque nous la
lâchons au sol. Il n'y aura pas le maximum MO comme le MO du mag. Il aura
ce MO actuel parce que le joueur en a
utilisé une partie. Transformons-le également en
intérieur. Permettez-moi de les faire glisser
ici pour que nous puissions les configurer. Et n'oubliez pas que vous
pouvez maintenir la touche Alts enfoncée sur votre clavier pour
les régler directement de cette manière Connectons-les
ici, connectons celui-ci. Et nous devons maintenant les
définir en premier. Nous devons obtenir la variable
ici, la structure. vous savez probablement
déjà ce que nous devons faire, car nous l'avons
fait 1 000 fois. Donc, vous obtenez le nom de l'arme, vous obtenez des informations sur l'arme, puis vous cassez
cette structure. Et maintenant, vous avez le Max MO, le Meg
et le Max Extra MO. Les Max M et Mag, je vais les
régler sur les M
et Meg actuels et le M supplémentaire, en les réglant sur le MO supplémentaire
actuel. Et je vais cliquer
sur Masquer les épingles non sélectionnées. Et juste comme ça, ce
qui se passe, c'est que chaque fois que cette arme apparaît, cela
commence, le jeu recommence Chaque fois que nous
le lançons dans le monde, chaque fois que nous l'avons placé
dans le monde, nous cliquons sur jouer Et ce jeu de départ
va commencer tout de suite. Et chaque fois que cet endroit se
trouve, il
définira automatiquement le MO actuel et le Mac un Mo supplémentaire par rapport à ce que nous avons
défini dans le tableau de données Indeed. C'est bon, alors c'est tout. C'était très, très simple. Et avec ces variables,
vous devez cliquer
dessus et cliquer sur répliqué. Et aussi pour celui-ci,
cliquez sur répliqué. Parce que n'oubliez pas que nous
fonctionnons sur le serveur. Et si nous ne les reproduisons pas, le client n'a aucune idée
de la quantité de MO dont vous disposez Le client verra 00 MO si vous ne les avez pas
répliqués. N'oubliez donc pas de les
reproduire également. Les deux. Et
passons à la suivante.
142. 10.13 Créer la logique de l'interface utilisateur des munitions: Passons maintenant à
l' interface utilisateur et appliquons la
logique qui s'y trouve. À l'intérieur de notre B main, nous avons créé cette interface utilisateur
pour les puces Maintenant, cliquons sur ce texte. Et je vais le renommer
en T Bullets ou MO. Appelons-le MO.
Et compilons. Définissons-le également sur une variable. Parce que nous
devons définir ce texte, en fonction de la
quantité de MO dont
nous disposons, nous devons
en faire une variable. Nous pouvons donc le modifier avec
du code à l'intérieur du graphique. À l'intérieur d'ici. Créons un nouvel événement personnalisé.
Cliquez avec le bouton droit sur Événements
personnalisés. Appelons cela
une mise à jour MOI avec ceci. Au départ, ce que nous
voulons simplement, c'est définir ce texte en fonction de la
quantité de MO dont nous disposons. Faisons grève ici
et disons « texte fixe ». C'est toujours agréable de se demander qu'est-ce que tu veux vraiment ? Qu'est-ce que tu essaies de faire ? C'est ce que je
me demande habituellement lorsque j'
essaie de coder quelque chose. Par exemple, celui-ci, qu'essayez-vous de faire ? Vous essayez de
définir ce texte en fonction de la quantité de MO que vous avez
actuellement dans le Meg, vous allez sur le graphique et
vous prenez ceci par exemple. Vous pouvez écrire Set
text parce que nous voulons définir le texte en fin de compte. Comment définissons-nous le texte ? Nous avons besoin de deux variables différentes. C'est quelque chose
que nous avons déjà fait. Nous avons besoin du MO actuel sur Mac. Nous devons le savoir,
car nous devons le
définir ici et nous avons également besoin du
MO supplémentaire actuel. Appelons-le. Cliquez ici et
appelez-le Current extra MO. Remplaçons-les tous
les deux en un entier. Ce sont les deux
variables que nous devons connaître et avec lesquelles nous devons
définir ce texte. Maintenant, vous pouvez voir que nous avons
deux choses à régler. Nous n'avons pas qu'un seul
chiffre, nous avons deux choses. Chaque fois que vous avez plusieurs
éléments à l'intérieur d'
une ligne de texte que vous
devez modifier séparément, vous allez utiliser ce que l'
on appelle un format de texte. Si vous faites glisser le pointeur d'ici
et dites « formater le texte », vous devez immédiatement y
penser lorsque vous avez deux choses
à modifier à l'intérieur d'une ligne de texte,
deux choses distinctes. Nous voulons modifier ce numéro et nous voulons
modifier ce numéro. Chaque fois que nous rechargeons l'arme, nous devons formater le texte Parce que nous devons maintenant intégrer ces deux variables
au format texte. Si vous écrivez un crochet pour commencer, appelons-le celui-ci Tu peux l'appeler
comme tu veux. Je vais juste l'appeler du même nom qu'
ici. MO actuel en mag. Ensuite, vous devez
fermer les crochets. N'oubliez pas que c'est un support bouclé. Vous devez le
formater de la même manière qu'ici. Parce que je veux l'espace
ici et l'espace. Je vais cliquer ici
et écrire space space. Parce que je
voulais juste ressembler à ça. Vous pouvez
choisir ce que
vous voulez pour que cela ressemble à ça. Ensuite, vous devez ouvrir à nouveau
les crochets, car je dois maintenant définir
ma deuxième variable ici Celui-ci est, par exemple, le MO supplémentaire
actuel,
comme celui-ci. OK ? Nous avons maintenant
ces deux variables et enregistrons maintenant ces deux variables. Il
les connectera automatiquement ici et ici, ce qui signifie qu'il les mettra à jour séparément
les
uns des autres. Voici comment utiliser un
format de texte. Si je le refais, par
exemple, un autre exemple, vous pouvez l'utiliser par exemple, dans un jeu RPG, vous pourriez dire,
par exemple, bonjour Ensuite, vous pouvez
dire le nom du joueur. Parce que ça dit peut-être bonjour
John, ou quelque chose comme ça. Je ne sais pas Quel que soit le nom
de
votre joueur , il indique bonjour. Et votre
nom de joueur, comment
allez-vous à cette heure de la journée, par
exemple, par exemple, Bonjour, par exemple, John, comment allez-vous
pour ce soir ? Peut-être que vous avez un système de
jour et de nuit. Et dans le jeu, vous savez
automatiquement si c'est le soir, le matin
ou quelque chose comme ça, et vous pouvez l'
intégrer à des variables. C'est ainsi que vous
utilisez un texte formaté. Vous pouvez créer plusieurs variables, et il n'est pas nécessaire
qu'il s'agisse d'entiers Il peut s'agir d'une ligne de texte, d'autre chose, d' une énumération, etc. Il est très, très utile
d'utiliser ce format. OK, maintenant c'est terminé, et nous pouvons réellement l'utiliser
pour intégrer ces variables. Compilons et
sauvegardons tout, et passons
au suivant.
143. Mettre à jour l'interface utilisateur des munitions: Il est maintenant temps de
mettre à jour l'interface utilisateur en la quantité réelle que nous
avons à l'intérieur des armes. Passons à la base de joueurs. Maintenant, à l'intérieur d'ici, créons un nouvel événement. Et regardons ici
et créons un nouvel événement personnalisé. Appelez-le CL parce que nous
travaillons avec UI et
UI, du côté client. Appelons cela une mise à jour, MOU. Ce que nous devons faire,
tout comme celui-ci, nous devons nous procurer le
contrôleur et ainsi de suite. Maintenant, vous pouvez voir que
nous essayons d'obtenir cette manette encore et encore. C'est plutôt agréable de le créer
dans une variable, au lieu de le copier-coller
tout le temps Passons au
gameplay du joueur,
où nous avons
obtenu la manette. Faisons un clic droit et
transformons ce contrôleur en variable et
appelons-le contrôleur joueur. Je vais le déplacer un peu plus loin d'ici, puis je
vais le placer ici. Chaque fois que ce
contrôleur de joueur est valide, nous allons
le définir comme variable. Oui, c'est bon. Et vous pouvez même
double-cliquer ici pour rediriger les notes
de cette manière OK, allez-y, compilez. Maintenant, ce que nous pouvons faire ici, c'est le supprimer,
obtenir une manette, jouer à la manette, parce que nous l'
avons déjà en tant que variable maintenant. Maintenant, c'est beaucoup plus facile à faire. Nous pouvons même nous en
rapprocher, quelque chose comme ça. Maintenant tu peux vraiment
faire la même chose ici. Nous pouvons prendre la manette. Exécutons ceci sur le client avant d'oublier de
lancer le client propriétaire,
Take Display Controller,
get WB main Ensuite, vous pouvez appeler celle
que nous avons appelée update MO Ui. OK, nous avons besoin de deux
variables ici. Nous pouvons simplement les connecter à ce client. Dans le premier client. Permettez-moi de le déplacer
un peu vers le bas, juste comme ça. OK, et maintenant nous
avons celui-ci ici. Alors compilons et
sauvegardons tout. Et celui-ci, nous devons l'appeler
chaque fois que nous pillons l'arme. Alors laisse-moi monter ici. Chaque fois que nous pillons l'arme qui se trouve ici, récupérez une arme. Et si nous passons sur le côté, nous ne devons mettre à jour les balles
que si nous ne sommes pas armés Parce que si j'ai un AK, il va parcourir
ce code ici. Je veux la mettre à jour uniquement
chaque fois que je pille l'arme pour la première fois. Parce que nous n'avons pas besoin de modifier la quantité de MO de
l'autre arme. Cela va
me retomber sur le dos parce que je ne l'ai pas équipé
lorsque je ne suis pas armé Je veux mettre à jour
mon MO ici. Nous devons à nouveau étendre
le code. En fait, je vais m'
éloigner
un peu de ce code car nous continuons à
étendre ce code. J'ai de l'espace pour travailler. Je peux
emporter tout ça ici avec moi. Juste comme ça. Nous pouvons appeler update MY ce
client celui que nous venons de créer. Ensuite, vous devez définir ici quel est votre MO actuel et supplémentaire. Nous avons déjà fabriqué cette arme à équipement
variable. celui-ci, je
vais juste cliquer dessus et masquer les épingles non connectées Cliquez dessus. Vous avez donc
cette arme équipée, nous pouvons l'utiliser. L'arme
équipée. N'oubliez pas que ce n'est pas
une arme équipée, c'est l'arme équipée. Vous pouvez peut-être en changer le nom
pour ne pas
trop vous tromper en matière d'arme équipée. Et nous pouvons obtenir le MO
actuel en mag. Nous pouvons également obtenir le MO supplémentaire
actuel. Et on peut les brancher ici. Je peux en fait copier tout
cela parce que nous pouvons copier-coller partout. Nous pouvons le copier-coller. Compilons, collons-le. Chaque fois que nous changeons d'arme. Chaque fois que je change d' arme
dans la logique d'équipement des armes, encore une fois, nous mettons à jour l'interface utilisateur. Ensuite, je vais le
déplacer, et je vais juste
le coller ici. Collez-le selon cette logique. Et allons-y et
connectons-le. Juste comme ça. OK, compilons
tout maintenant. Essayons de voir ce qui se passe
si nous cliquons sur jouer maintenant. Et maintenant, c'est le client qui joue. Je sélectionne
Terroriste et je vais choisir quelque chose. Ensuite, vous pouvez voir que mon mode opératoire est
en train de se mettre à jour. Maintenant, il indique 20.60. Si je prends le pistolet, il ne dit rien à moins que
je ne passe au Ensuite, il met également à jour le MO. Si je laisse tomber ça
maintenant, nous devons cacher
la section MO parce que je n'
ai aucune arme. Mais c'est ce
que nous allons faire dans les prochaines leçons. Maintenant, nous pouvons voir ici que
lorsque je récupère l'AK, il se mettra à jour correctement. Quand je changerai d'arme, elle sera également mise à jour
correctement. OK, donc tout est correctement
mis à jour. Et c'était tout pour cette leçon. C'est très simple. Et sauvegardons tout
et passons à autre chose.
144. 10.15 Masquer l'interface utilisateur de la munition: OK, bon retour.
Nous devons donc maintenant masquer le M UI chaque fois que
nous n'en avons pas besoin. Permettez-moi d'
ouvrir à nouveau l'interface utilisateur. Ouvrez le WB main
et entrez dans
le graphique ci-dessous, le mémorandum d' accord de
mise à jour Je vais créer
un autre événement personnalisé, et je vais appeler
celui-ci un affichage comme ça. Pour celui-ci, ce que
nous essayons de faire, encore une fois, demandez-vous ce que
vous essayez de faire. J'essaie de cacher toute
cette section. Chaque fois que je n'ai pas d'arme, je clique sur cette superposition Cela recouvre le
tout ici. C'est le parent
de tous ceux qui sont ici présents. Je vais renommer
celui-ci en V M ou overlay. Permettez-moi de le définir en tant que variable afin que je puisse modifier cet encodage Permettez-moi de passer au graphique, prendre et de
dire définir la visibilité. Je souhaite contrôler la
visibilité de cette interface utilisateur. Nous pouvons faire glisser le pointeur et dire « sélectionner » selon
que nous voulons afficher ou masquer l'interface utilisateur. J'ai besoin d'un taureau ici. J'ai besoin d'un lingot appelé display. Si nous voulons afficher
ou masquer l'interface utilisateur, nous pouvons continuer et la
connecter à ici. Ce harcèlement est faux, ce qui signifie que nous ne voulons pas afficher l'interface utilisateur. Je veux le cacher. Chaque fois que cela est vrai ici, je souhaite afficher l'interface utilisateur. Je vais le configurer pour qu'il ne
soit pas testable. Encore une fois, cela
signifie qu'il est visible, mais que le curseur de votre souris ne peut pas
interagir avec cette interface utilisateur ici. Et nous n'avons pas vraiment
besoin d'interagir avec elle de toute façon. Compilons. Et maintenant c'est terminé. Maintenant, ce que nous pouvons faire, c'est
revenir au joueur. Et au lieu de la base de
joueurs,
comme avant, cliquez
avec le bouton droit de pour créer un nouvel affichage personnalisé, tout
cela à nouveau. Prenons ce
copier-coller et
cherchons Display MI.
Connectons-le. N'oubliez pas de l'exécuter sur le client propriétaire et de l'exécuter de manière
fiable également. Permettez-moi de cliquer et de
faire glisser cette variable ici. OK, c'était ça. Compilons maintenant. Laissez-nous choisir quand nous voulons
afficher et masquer l'interface utilisateur. Je veux afficher mon interface utilisateur chaque fois que j'équipe l'arme
ou que je la pille ici Afficher le mémorandum d'accord. Si je passe
à mon arme préférée et que je vais juste ici et que je veux l'
afficher juste
après avoir mis à jour mon mode opératoire. Je ne veux pas l'afficher avant mettre à jour mon MO, sinon
il aura l'air bogué Je souhaite mettre à jour le MO
avant d'afficher l'interface utilisateur. Encore une fois, permettez-moi de faire disparaître
tout cela. Encore une fois, comme ça, nous n'arrêtons
pas de faire traîner les choses. Nous avons beaucoup de choses à
faire ici, nous pouvons écrire un affichage CL
ici et le connecter. Encore une fois, je vais l'éloigner un peu comme ça. Quelque chose comme ça.
C'est toujours agréable de le dire, organisé. OK, alors
affichons l'interface utilisateur ici. Encore une fois, chaque fois que
nous ne sommes pas armés, parce que maintenant nous avons une arme Je souhaite afficher mon interface utilisateur. N'oubliez pas de cocher cette case ici. Compilons à nouveau. Nous en avons également besoin chaque fois que
nous équipons l'arme. Si je vais chercher mon arme d'équipement, si je peux la trouver ici,
équipez mon arme ici. Encore une fois, chaque fois que je mets à jour mon MO, je veux afficher mon interface utilisateur
ou mon MO comme ça. OK, n'oubliez pas également de
l'avoir coché ici également. Maintenant, nous devons masquer l'
interface utilisateur chaque fois que nous déposons l'arme ici dans
mon arme Drop Logic. Rappelons-nous que nous avons créé cette fonction
précédemment, lâcher une arme. Allons-y. Masquons l'interface utilisateur
juste avant celle-ci. Si je le fais glisser,
je peux le coller. L'affichage MO UI
va être,
tombe ici, tombe sous le charme
de l'affichage. Et nous pouvons masquer l'interface utilisateur
chaque fois que nous lâchons l'arme. OK, compilons
et sauvegardons tout. Testons-le et voyons
s'il fonctionne réellement. Sélectionnons les terroristes. En fait, nous devons le
masquer par défaut. Vous pouvez voir que c'est pour le moment
et ce n'est pas ce que nous voulons. C'est donc le premier bogue. Passons à l'essentiel ici. Cliquons sur la superposition
ici dans la visibilité. Réglons-le sur masqué
par défaut et compilons. Et cliquons à nouveau sur jouer ici, dans le client,
sélectionnez Terrace. le moment, nous ne pouvons pas le voir,
mais lorsque nous prenons une arme, elle s'affiche avec le
bon nombre de balles Si je le laisse tomber maintenant, il
ne s'affichera plus. Je prends le pistolet,
il va s'
afficher , je prends l'AK Les puces ne seront pas
mises à jour à
moins que nous ne passions à l'AK Si je laisse tomber l'AK, il
n'affichera rien. Vous pouvez voir maintenant que cela
fonctionne correctement. Chaque fois que
nous tiendrons une arme, nous la verrons
chaque fois que nous changerons d'arme. Chaque fois que nous lâchons l'arme, nous cachons l'interface utilisateur, etc. Et
essayons-le également sur le serveur, donc je ne sais pas si je joue également
en tant que serveur. Donc, en cliquant ici, en
jouant en tant que serveur, je jouerai en
tant que deux numéros ou deux joueurs et
sélectionnerons des terroristes. Nous allons également le tester
ici sur le serveur. N'oubliez pas que vous devez
le tester sur le client et sur le serveur pour savoir s' il fonctionne réellement
sur les deux. Ici, j'ai
aussi le client et vous pouvez
sélectionner des terroristes. Et nous l'avons déjà
testé sur le client. Tout fonctionne parfaitement. Ouais. Tout fonctionne, tout est beau,
génial. Tout fonctionne. Nous n'avons ni argent, ni erreur, et c'est ainsi que nous procédons. Passons à la suivante.
145. 10.16 Comptabiliser des munitions: Alors maintenant, allons-y
et calculons le MO, car pour le moment, chaque fois que
nous tirons avec l'arme, donc si je la prends
et que j'essaie de tirer, nous ne
calculons pas vraiment le MO. Il en est toujours 20. Alors
allons-y et faisons-le. Revenons à la base de joueurs pour calculer les balles N'oubliez pas que nous avons créé
ce chronomètre ici. Si nous pouvons le trouver ici avec le
tracé des lignes par canal et en
diffusant l'effet visuel
et l'effet sonore ici, nous voulons soustraire une balle à
chaque fois que vous tirez Permettez-moi de déplacer ce tracé
linéaire, car nous l'utiliserons plus tard lorsque nous appliquerons les dégâts aux joueurs. Mais pour l'instant, travaillons ici. Ce que je
veux simplement faire, c'est
prendre l'arme équipée
que j'ai
actuellement et mettre mon MO
actuel dans mon chargeur. Ensuite, je veux juste en soustraire
un, moins un. Ensuite, vous pouvez continuer et
définir ce MO actuel en mag. MO actuel en mag. Et nous devons le configurer. Réglez
le MO actuel en mag. Et si on en retire juste une,
on soustrait une balle à
chaque fois que l'on tire Maintenant, au lieu de simplement l'
avoir comme ça, nous devons faire glisser le pointeur à partir de
là et dire « clamper ». Ce que fait la pince, c'est qu'elle
empêche notre valeur de descendre en dessous de zéro parce que nous ne voulons pas
avoir
moins une balle, moins deux balles, moins
trois balles, etc. Nous fixons notre valeur
minimale à zéro lorsque nous soustrayons ici. Nous empêchons
d'atteindre moins une, moins deux balles, etc. Cela n'aurait aucun sens. Maintenant, le maximum pour celui-ci, nous pouvons simplement le prendre
et dire que nous pouvons obtenir les puces actuelles
, puis nous pouvons le définir ici Maintenant, celui-ci n'a plus d'importance. Nous pouvons même le régler sur 999. Ça n'a pas vraiment d'importance pour le moment. Mais je vais juste passer aux bonnes pratiques, aux bonnes pratiques de codage. Prenez les balles supplémentaires actuelles
et fixez-les au maximum. OK, nous avons ce set maintenant. Permettez-moi également de créer des
notes réécrites autour de celui-ci. Allons-y et connectons
cette épingle d'exécution ici. Et connectons également la broche
d'exécution ici. Ce que vous pouvez faire dans celui-ci, vous pouvez même cliquer avec le bouton droit de la souris
et fonction ou
le réduire en fonction. Appelons cette fonction
tract MO de mag comme ceci. D'accord ? Maintenant, nous soustrayons et nous pouvons simplement le laisser là Désormais, au lieu d'
avoir une seule puce, vous pouvez même le rendre
dynamique à l'avenir. Si vous voulez tirer
une balle et que vous voulez en soustraire
deux au lieu d'une Vous pouvez même simplement le
brancher ici et écrire MO pour le soustraire comme ça Laissez-moi simplement déplacer
tout cela,
ceci, et allez-y
et compilez maintenant. Si nous revenons en arrière, vous
pouvez voir que vous pouvez écrire nombre de balles que vous voulez soustraire pour mon jeu en ce moment, je veux juste en soustraire
une. C'est très bien. Alors allons-y et prenons une note de séquence car nous
allons recharger plus tard En fait, je vais déconnecter ce tracé linéaire
et l'
éloigner un peu ici. À partir de là, suivons
et faisons la séquence. Et choisissez le nœud de séquence. Maintenant, avec la note de séquence, connectons les deux ici, à partir de la broche ici,
à partir du zéro. Connectons-le ici. Ce qu'est une note de séquence, elle sert simplement à
organiser votre code. Il ne fait rien
d'autre que cela, il s'agit simplement d'organiser votre code. Nous allons d'abord faire l'effet ici et soustraire la puce Ensuite, nous allons
tracer cette ligne. Je peux déplacer ce
tracé linéaire ici. Je vais juste déplacer tout
ça ici aussi,
parce que ça a l'air un
peu désordonné en ce moment Vous pouvez même les supprimer
et les connecter directement ici. Et je vais le déplacer comme
ça. D'accord ? Maintenant, ça a l'air beaucoup mieux. Et maintenant, nous pouvons le relier à
ceci ici. Un nœud de séquence sert simplement
à organiser votre code. Il va produire l'
effet sonore et tout ça, soustraire la puce, puis nous
allons créer le tracé de la ligne Ensuite, nous allons procéder
au rechargement
parce que nous devons vérifier si nous n'avons plus de balles Si c'est le cas, nous devons
continuer et recharger. Allons-y et
faisons-le dans la prochaine leçon. Ce ne sera pas très difficile, mais vous devez
être éveillé pour cela. Pour l'instant, nous avons terminé, nous sommes en train de calculer les balles Nous pouvons même cliquer sur la plaque
juste pour la tester pour bonnes raisons et
voir si elle est sortie de la boîte. heure actuelle, nous devons
mettre à jour l'interface utilisateur et
faisons-le dans la fonction soustraire
amo de mag Allons à l'intérieur d'ici
et à l'intérieur d'ici. Partons de là et
appelons la mise à jour CL MO I. C'est ce que nous avons créé plus tôt. Ensuite, nous pouvons prendre
ce MO en mag, il y a juste celui-ci ici et l'
autre, le MO supplémentaire. En fait, nous pouvons simplement
prendre celui-ci et créer un nœud de reroutage ou simplement baisser ici et nous
pouvons l'amener ici. OK, maintenant c'est fait. Compilons.
Cliquons sur jouer. Testons en tant que
client. Jouons maintenant. Je vais tirer avec mon arme. Cela fonctionne maintenant. Je vais aussi jouer en tant
que serveur, en prenant l'arme et
en tirant. Et ça marche. Le client et le
serveur fonctionnent parfaitement. OK. Maintenant, c'est un calcul. Et passons à autre chose
dans les prochaines leçons. Et tu peux voir, on
peut tirer avec l'arme. Vous pouvez voir si je continue à
tirer avec l'arme, je peux continuer à tirer chaque fois que
je n'ai aucune balle Et
cela s'explique par le fait que nous
n'avons pas vraiment
dit au moteur d' arrêter de tirer dès que
nous sommes à zéro balle Et c'est ce que nous ferons
dans les prochaines leçons. Mais nous devons d'abord calculer le MO et effectuer le rechargement Ensuite, nous pouvons ajouter
toutes ces conditions. Mais pour l'instant,
gardons-le tout. Tout fonctionne. Et
passons à la suivante.
146. Animation d'arme de rechargement: Bonjour et bon retour. Nous sommes maintenant prêts à utiliser la fonctionnalité de
rechargement. Maintenant, vous devez
être très éveillé pour cette leçon, car
elle sera peut-être longue également. Nous avons beaucoup de calculs à faire, vous devez
donc vraiment
faire attention ici. OK, faisons d'abord le
rechargement. Allons-y et
créons un événement personnalisé. Permettez-moi donc de cliquer avec le bouton droit de ici et de créer un
nouvel événement personnalisé. Appelons ça une arme à
rechargement de sets. Nous allons donc installer
un taureau pour qu'il se
recharge ou qu'il ne l'exécute pas réellement
pour qu'il fonctionne sur le serveur. Fais-le, c'est tout. Ne pas exécuter sur le serveur, c'était une erreur, il suffit de
configurer le rechargement de l'arme Événement normal,
créons un serveur
ici appelé set is
reloading weapon Exécutons celui-ci sur
le serveur, de manière fiable. Créons un nouveau bulling appelé rechargement, et
allons-y, cliquez dessus Prenons ça et envoyons le taureau en
train de recharger ici. N'oubliez pas de le configurer pour le répliquer
car nous l'exécutons sur le serveur et le client doit savoir si nous le
rechargeons ou non Ici, nous devons exécuter l' ensemble des événements
du serveur pour
recharger l'arme Allons-y et connectons
cela ici également. OK, donc chaque fois que nous
rechargeons, nous voulons jouer le montage
pour le rechargement Permettez-moi de partir d'
ici et de créer une branche. Et créons une branche ici. Et disons que si nous
rechargeons , nous voulons
jouer un montage Et n'oubliez pas le montage N dont
nous avons besoin pour jouer en multidiffusion, car
tous les clients besoin de voir ce changement visuel Le kit de multidiffusion permet de
recharger l'arme. Maintenant, j'aimerais simplement l'appeler du même nom que
les fonctions principales. Vous pouvez le nommer comme
vous voulez et le faire passer par un multicast fiable ici Nous devons prendre
le maillage, donc ce
n'est pas les deux mais
juste ce maillage ici. Et vous pouvez écrire
un montage et vous pouvez le jouer
comme avant. Ce montage à jouer, vous pouvez simplement le connecter ici. Appelons-le reload M. Jouons à cette
multidiffusion ici. L'ensemble est en train de recharger l'arme.
C'est la bonne. Ensuite, nous devons lui dire quel
montage nous devons jouer. Maintenant, je ne pense pas que nous
ayons d'animations. Parce que si nous allons juste ici, prenons l'un d'entre eux.
Cette structure ici. Je le colle
juste pour ne pas avoir à tout réécrire. Je peux prendre mon arme équipée
et la brancher ici. OK, donc ici, dans la structure nous n'avons que l'animation
de l'équipement. Nous n'avons pas d'animation de rechargement
pour chaque arme, car
chaque arme possède en réalité
sa propre animation de rechargement Alors allons-y et ajoutons
cela à la structure. Dans la structure,
ouvrez-la
et ajoutez l'animation de rechargement Laissez-nous le configurer,
allez-y, recherchez-le et
sélectionnez-le, comme ci-dessus Allons-y et
sauvegardons tout. Je veux que vous
ouvriez votre table de données. Parce qu'ici, dans le
tableau de données, vous pouvez désormais écrire animation
de rechargement Je peux copier toutes mes
animations d'équipement ici. Parce que, comme je l'ai déjà dit, je n'ai pas d'animation
d'équipement séparée. Mais comme vous pouvez le constater pour
votre propre jeu maintenant, vous pouvez avoir une animation d'équipement, une animation séparée, et vous pouvez avoir une animation de rechargement séparée Tout cela peut être très bien
personnalisé. Vous pouvez maintenant sortir et
cliquer sur Fichier et télécharger,
Télécharger au format CSV, puis
vous pouvez le minimiser ici, accéder au dossier des tables de données. Et ici, comme avant, je vais supprimer mon ancien
et renommer le nouveau, puis le faire glisser
ici pour le mettre à jour Maintenant, je peux
retourner dans ma base de joueurs à l'intérieur de ce montage pour jouer. Maintenant, il dit zéro sans aucune raison. Il vous suffit de
cliquer sur Fichier et actualiser tous les nœuds
comme ceci. Maintenant, je peux avoir mon animation de rechargement ici
et vous pouvez la brancher OK, maintenant nous avons
réglé le problème et nous devons
également définir que le
rechargement est faux à un moment donné Définissons que ce
rechargement est faux. Et pour
ce faire, nous pouvons simplement appeler à nouveau sur le serveur. N'oubliez pas que lorsque vous
êtes en multidiffusion, vous pouvez revenir
au serveur ici Une fois le rechargement terminé, nous pouvons dire que le serveur
est en train de recharger Nous retournons sur
le serveur et nous
définissons le rechargement
sur faux Nous pouvons réellement aller de l'avant, l'
essayer et passer à la compilation. Et c'est tout
pour celui-ci maintenant, nous ne pouvons pas vraiment le tester pour
le moment car nous n'
avons aucune
fonctionnalité de rechargement Mais c'est
ce que nous allons faire et nous allons
calculer le rechargement
et ainsi de suite ici Mais pour l'instant, l'animation
de rechargement terminée.
Passons à la compilation, sauvegardons le tout, et
passons à la suivante
147. Fonctionnalité de rechargement de l'arme: Très bien,
nous sommes maintenant prêts à calculer le nombre de balles
lors du rechargement Et avant
cela, ajoutons simplement que cet ensemble est en train de
se recharger ici dans le code Avant de continuer, souvenez-vous que
nous avons créé cette séquence. Donc, comme vous pouvez le voir ici, et nous tirons des balles, nous soustrayons une balle à
chaque fois Cependant, à la fin,
nous devons vérifier si nous avons d'autres balles Si ce n'est pas le cas, nous devons
continuer et recharger. Ce que nous devons faire, c'est
prendre cette arme équipée, et nous souvenir que j'ai
ce mode opératoire actuel en moi. Nous pouvons nous demander si cela
est égal à zéro. Si c'est égal à zéro, permettez-moi de créer une branche ici. Si c'est égal à zéro, prenons-le
et connectons-le ici. Si ce chiffre est égal à zéro, disons que set est reload C'est vrai, Set is reloading, nous voulons le recharger chaque fois que nous
n'avons plus Compilons.
Cliquons sur jouer. Et voyons si
cela fonctionne réellement. Je vais y aller et je vais tirer avec
toutes mes armes. Je dois faire attention car
je ne veux pas photographier en dessous parce que je n'ai pas
créé les conditions pour cela. Si je tire à zéro, vous pouvez voir qu'il avance et se recharge, et c'est correct OK, donc l'animation est en train
de jouer. Nous devons calculer le nombre de balles chaque fois que nous rechargeons Alors allons-y et
faisons-le. Permettez-moi de supprimer cette multidiffusion car
nous avons besoin du code ici Maintenant, vous devez être
vraiment éveillé, car il y a beaucoup de calculs
à faire lorsque nous calculons
les balles OK, d'abord, ce que
nous devons faire, c'est prendre l'arme
équipée, nous devons découvrir les balles
supplémentaires dont nous disposons Parce que si nous n'
avons pas de balles supplémentaires, cela n'a pas vraiment de
sens de les recharger Maintenant, la première chose
que je voudrais demander est suivante : est-ce que le MO supplémentaire que
nous avons dans cette arme est supérieur ou
égal à ? Maintenant, laissez-moi le
coller ici.
Est-il supérieur ou égal au MO maximum du mag ? Maintenant, si nous posons des questions à
ce sujet , c'est parce
que disons que c'est l'AK, et que l'AK en a 30
ici dans
le maximum M du mag si nous en avons
plus que cela comme MO supplémentaire. Maintenant, allons-y
et créons une branche. Et permettez-moi de relier
cela ici. Si c'est vrai, nous pouvons simplement prendre
cette arme équipée et obtenir le MO et le mag actuels. Et définissez ce MO actuel, et nous pouvons simplement le régler sur
ce qui se trouve ici,
sous forme de M dans le, si cela a du sens. Parce qu' ici, nous avons découvert
que notre MO supplémentaire est supérieur ou égal à ce que nous
pouvons avoir à l'intérieur du chargeur. Cela signifie que le magazine peut être plein. Nous sommes juste en train de remplir le
magazine en entier, juste comme ça. Mais avant cela, je dois également calculer
ce qu'il nous reste dans notre mode opératoire actuel, car nous
devons le soustraire d'ici Prenons ce MO supplémentaire
et disons moins. Que devons-nous
soustraire d'ici ? Nous devons soustraire le montant que nous avons
actuellement dans notre magazine Si je recherche simplement le
MO actuel en mag cette année, nous devons soustraire le MO maximum en mag
du M max actuel Donnons-nous simplement un exemple pour que cela
ne soit pas trop confus. Cela peut sembler très déroutant. Par exemple, disons que mon maximum de MO en ce moment
dans l'AK est de 30. Pour l'instant, je soustrais. Disons qu'il me reste 27 Mo. Dans mon magazine actuel, je n'ai
tiré que trois balles. Maintenant, j'en ai 27 ici. 30, soit le
maximum de -27, soit 33. Je vais en
soustraire trois à mon MO supplémentaire si j'en avais
90, maintenant j'en ai 87 parce que je
n'ai tiré que trois balles Maintenant, les calculs ont
du sens pour celui-ci. Maintenant cette valeur, je dois
définir mon M supplémentaire actuel ici. Au lieu de copier-coller ceci. En fait, je vais juste dessiner
à partir d'ici et dire « M »
supplémentaire. Nous pouvons lui attribuer
cette valeur. Allons-y et faisons-le. Et allons-y et
connectons cela également. Je vais prendre quelques notes de
redirection et vous
expliquer cela à nouveau, juste pour assurer que nous
sommes sur la même longueur d'onde C'est bon. Maintenant, j'ai créé des notes
rétrospectives et je les ai
organisées. En fait, nous
devons l'étendre un peu parce que je peux
voir que nous
gagnerons de l'argent plus tard,
car nous nous demandons si le MO supplémentaire actuel est
supérieur ou égal au MO. Et si c'est le
cas, nous le réglons, nous réglons le MO actuel au maximum parce que nous en
avons les moyens, parce que nous avons assez de balles Cependant, lorsqu'il nous reste cinq balles, disons qu'il nous reste
cinq balles Donc, si j'ouvre simplement l'interface utilisateur pour que nous puissions mieux
comprendre. Disons qu'il me reste cinq
balles. Il me reste
environ dix balles. Il ne va pas le régler sur 15, ce sera
en fait une erreur ici. Ce que nous devons faire,
c'est demander est le
MO supplémentaire dont nous disposons actuellement, nous devons l'ajouter
ici en plus du courant. Nous devons les ajouter tous les deux. Nous obtenons le M actuel
plus ceux-ci ensemble. Si ceux-ci sont supérieurs ou
égaux au maximum M en max, maintenant c'est correct et nous ne
gagnons pas d'argent avec celui-ci. Je sais que vous devrez peut-être
comprendre cela, comme
vous pourriez avoir besoin de simplement publier cette vidéo et d'
essayer de comprendre la
logique qui sous-tend cela. Ce ne sont que de purs calculs. Vous
pouvez même l'écrire sur du papier. C'est beaucoup mieux.
Parfois, lorsque je crée une telle logique, je l'écris sur du papier, c'est devant moi, c'est
beaucoup plus facile à comprendre. En gros,
nous nous demandons simplement le MO supplémentaire que vous avez actuellement et le MO actuel sont en mag, sont-ils supérieurs ou
égaux au nombre maximum de MO ? Si tel est le cas,
ce serait faux car
le total ne serait que 15 et le maximum sur Mac
serait de 30. Ce serait donc faux. Et nous ferions quelque chose
comme ça ici. Très bien, alors maintenant
c'est correct. Souvenons-nous également que lorsque nous
soustrayons ici et que nous réglons à nouveau le MO supplémentaire
actuel, prenons une pince et veillons à ce qu'il
ne descende pas en dessous de zéro Et
connectons-le ici. Le maximum est juste
ce MO supplémentaire. En fait, nous pouvons
simplement prendre celui-ci ou vous pouvez simplement le
copier-coller juste pour qu'il soit
beaucoup plus beau et plus
lisible comme celui-ci ici. Maintenant, quand c'est faux, et je vais juste
déplacer ce passage, pour que ça ait l'air beaucoup mieux. Maintenant, quand c'est faux,
ce que
nous devons faire, c'est prendre cette arme obtenir le MO
actuel dans Meg, et définir cette valeur. Ce que nous devons régler, c' est dire que c'était le
cas comme cette année. Il nous reste cinq balles ici, il
nous en reste dix ici. Il faut dire cinq
plus dix, soit 15. Et nous devons régler cela sur le nombre
actuel de balles. Nous devons
simplement en parler ici. Nous devons indiquer les MO
supplémentaires dont nous disposons actuellement, qui est de dix par exemple, plus les cinq qui sont de 15. Et nous devons le déposer ici. Et c'est fait chaque fois qu'il
ne nous reste
plus de balles Le M supplémentaire plus le MO
actuel dans le mag, ils ne sont même pas
supérieurs au MO maximum dans le mag. Ensuite, il suffit de
prendre toutes les balles, les
assembler
et de les placer dans notre chargeur actuel. Quelque chose comme ça ici. OK, maintenant c'est réglé. Nous devons également nous assurer que le nombre supplémentaire
de balles doit être réglé à zéro Maintenant que nous avons mis
toutes les balles dans le chargeur, nous devons prendre ceci,
nous devons en dire plus. Nous devons dire de régler le MO supplémentaire
actuel à zéro. Maintenant, nous devons également
penser à mettre à jour l'interface utilisateur. Permettez-moi de tout enregistrer
et disons la mise à jour CL I. Connectons celle-ci ici, et connectons celle-ci ici. Nous devons mettre à jour l'
interface utilisateur après ces événements. Permettez-moi de
double-cliquer sur celui-ci. Fais en sorte que ça ressemble beaucoup
plus à ça ici. Nous pouvons maintenant prendre, non, je vais juste le recopier
ici. Maintenant que nous pouvons les brancher, branchons-les
différemment ici. Tout d'abord, le MO actuel,
en MO et en MO supplémentaire. Faites juste attention à ce que
vous branchez ici. Compilons maintenant et sauvegardons, et maintenant essayons-le. Si j'ai écrit la logique ici à The Falls,
c'est parce que j'
attends la
fin de cette animation avant permettre au joueur de
régler correctement le nombre de
balles Parce qu'en fait,
je ne veux pas donner de balles au joueur
pendant l'animation Je veux attendre la fin de l'
animation. Quand il tombera, il jouera
ce code ici. OK, vous pouvez donc voir que vous devez être un peu éveillé pour comprendre
ce code ici. Encore une fois, n'hésitez pas à faire une
pause, à y jeter un coup d'œil, prendre un papier et un stylo et
à noter les valeurs. Essayez de faire le calcul et voyez
si cela vous convient. Allons-y et
cliquons sur Play. Incarnez un terroriste. Et laissez-moi prendre le
M quatre par exemple. Permettez-moi de maximiser
la fenêtre d'affichage. Maintenant, si je
tire toutes mes balles, je peux toujours tirer Vous pouvez voir que ça bouge toujours. Je peux tirer chaque fois que je
tiens ma souris. Nous n'avons pas
encore réglé cette condition . Nous allons le faire plus tard. Mais si je lâche ma souris maintenant, vais la recharger et elle calculera correctement
le nombre de balles si
je continue comme ça Et il va se recharger à nouveau. Je vais faire
le dernier ici. Je vais recharger à nouveau, et voici à quoi ça ressemble Vous pouvez voir
les bugs ici à la fin. C'est parce que nous n'avons pas vraiment posé de conditions ici. Si je reviens ici et que je me permets prendre le code que nous avons écrit
avec la séquence. Si je trouve juste la
séquence ici, c'est la séquence
que nous tournons. Ensuite, nous demandons ici si le Mo actuel en mag
est égal à zéro. C'est la seule condition que
nous demandons. Nous devons ajouter quelques conditions que cela ne se
produise pas comme ça. Mais pour l'instant, sauvegardez tout, maintenant c'est correct, voici à quoi ressemble le
code. Encore une fois, n'hésitez pas à y
jeter un œil à nouveau, je sais que c'est confus. C'est le calcul le plus difficile que nous ayons
fait jusqu'à présent pour le jeu, mais il ne l'est pas vraiment une fois écrit. Alors,
sauvegardons tout et passons à la suivante.
148. 10.19 Situation de prise de vue: Très bien, bon retour. Maintenant, réglons les conditions de prise afin de ne pas tirer au hasard lorsque nous rechargeons
et autres choses de ce genre Commençons donc par
l'arme de tir. Je ne veux pas tirer avec mon
arme chaque fois que je la recharge. heure actuelle, nous ne pouvons pas tirer avec
l'arme lorsque nous ne sommes armés ou lorsque nous sommes
encore en train de l'équiper De plus, je ne veux pas tirer mon arme chaque fois que
je la recharge Chaque fois que le rechargement
ici est faux. Donc, sans recharger, nous pouvons ajouter une épingle
et l'ajouter ici Allez-y, compilez, d'accord, pour que cela soit réglé. Passons maintenant à cette partie de
la séquence ici. Je ne veux pas tirer
quand je n'ai aucune balle. Je dois l'écrire ici avant jouer l'effet et ainsi de suite. Je dois dire que si je
n'ai aucune balle, ne
m'intéresse pas de
jouer à tout ça En fait, c'est exactement
le même que celui-ci. En fait, je vais en
faire une fonction puisque
nous la réutilisons, réduire à une
fonction et je vais appeler celle-ci is out of MO, la
rendre pure parce que nous
ne faisons que recevoir des informations Nous ne réglons rien lorsque le M Mac actuel est nul, cela signifie
que nous n'avons plus de balles Si c'est pour le rechargement, si vous n'avez plus de MO, vous pouvez continuer
et recharger C'est logique. Maintenant, pour celui-ci ici,
collons-le. Écrivons n lingot
et sélectionnons-le. Quand nous ne sommes pas à court de MO, nous voulons aller de l'avant et tirer. Si nous n'avons plus de MO,
nous ne voulons pas également
tirer pour le rechargement Prenons le rechargement et disons que si ce pas le cas, nous voulons
aller de l'avant et tirer Si nous sommes en train de recharger, nous ne
voulons pas aller de l'avant et tirer. C'est ce qui est
dit en ce moment. Laisse-moi juste aller de l'avant et
déplacer tout ça. Je pense que nous allons bientôt nettoyer l'ensemble du projet,
car il redevient compliqué parce que nous
écrivons beaucoup de code en ce moment Mais comme vous pouvez le voir
ici, si nous
ne sommes pas à court de MO et si
nous ne rechargeons pas, nous pouvons
alors
tirer sur les armes ici Lorsque nous rechargeons
l'arme, je ne veux pas la recharger
deux fois en fait, puisqu'il s'agit d'une séquence, elle en tient simplement compte Et quand il arrive ici, il n'en tient
pas compte. En fait, vous devez également l'ajouter
ici. Lorsque vous ne rechargez pas, vous devez le recharger ici Nous ne voulons pas
recharger encore et
encore alors que nous sommes
déjà en train de le recharger Et il y a aussi
une autre condition maintenant lorsque je tire avec mon arme. Je veux également m'
assurer que j'
ai réellement des MO supplémentaires lorsque je recharge Parce que vous pouvez imaginer
ici, par exemple, disons que j'ai 15 balles et que je n'en ai aucune
comme balle supplémentaire En fait, si
je recharge, si je les armes ou
si je
tire sur le MO et
qu'il revient à zéro, il va vraiment se recharger Je dois ici demander
si j'ai un MO supplémentaire. Pour recommencer, prenons l'arme rapide et disons « obtenez le MO supplémentaire
actuel ». Si ce n'est pas égal à zéro, ce n'est pas égal à zéro, alors nous voulons aller de l'avant
et faire tout cela. Permettez-moi de le connecter
ici et de le connecter. Nous nous assurons simplement d'avoir réellement des MO supplémentaires. Avant de recharger,
permettez-moi ce collapsus en
fonction et de l'appeler
à nouveau en tant que MO
supplémentaire, pour le rendre pur Allez-y, mettons-le ici. Et emmenez-le ici aussi. Très bien, allons-y
et compilons. Je crois que c'était ça. Il suffit de cliquer sur jouer. Et peut-être qu'il nous
manque quelque chose. Nous devons essayer le
jeu en cliquant sur jouer. Maintenant, je vais piller mes quatre et
tirer avec mon arme Comme vous pouvez le voir ici, si
je tiens juste ma souris, elle ne tirera
plus, elle arrêtera de tirer. Alors je tiens ma souris. Il va arrêter de
filmer automatiquement. Je continue juste à tirer
ici, sans aucune balle. C'est également ce qu'il fait en ce moment. Pour une raison ou une autre, il
ne calcule pas correctement. Quand je tire avec mon arme avec
moins de 20 balles, elle est en train de s'éteindre. Je pense qu'il l'a fait également dans la leçon
précédente. Permettez-moi de jeter un œil à
ce qui ne va pas ici. Il doit y avoir quelque chose
là-haut quand on soustrait la balle Parce que chaque fois que nous
tournons, c'est ce qu'il fait. Il n'est pas là parce que nous
sommes en train de le traverser et de
tirer avec l'arme. Je pense que c'est quelque chose qui
se trouve à l'intérieur d'ici. Nous prenons le MO
dans le moins un, parce que nous en avons écrit un ici qui est défini ici. Et réglez sur le
MO actuel dans son réglage sur la bonne
variable ici. Celui-ci n'est pas le bon. Nous fixons le maximum
au nombre de MO supplémentaires actuel. Si votre MO supplémentaire actuel est un, celui-ci sera en fait défini automatiquement sur un. Il y a là une erreur. Ce que nous devons faire, c'est
ça, oui, prenons ça ici, disons name variable. Mettons-le ici.
Trouvons des informations sur les armes. Obtenez les informations sur les armes
comme avant. Décomposez-le et
voici le mode opératoire actuel. Et prenons le Max MO et le
mag et plaçons-les ici à la place. N'utilisons pas celui-ci, utilisons simplement celui-ci
là-bas à la place. Permettez-moi de cliquer ici et de
masquer les épingles non connectées. Et cela devrait parfaitement fonctionner. Maintenant, le bogue devrait être corrigé. Je crois que cela s'est également produit dans la leçon
précédente. Donc, en cliquant sur Play,
faisons-le maintenant. Je vais juste tirer sur
toutes les balles. Et je vous montre que je suis en train de tirer les dernières balles, de les
recharger et je Vous pouvez voir que c'est maintenant correct. Je ne peux
plus tirer quand je suis à zéro balle et que tout
fonctionne parfaitement Maintenant, je dois également vérifier cela
pour le client. N'oubliez pas que vous
devez vérifier le client, même s'il fonctionne sur le
serveur, il se peut qu'il soit erroné. Quand je laisse tomber cette arme
maintenant et que je la récupère, vous pouvez voir qu'elle contient le bon
nombre de balles Quand il me restera dix balles,
neuf, je pourrai les lâcher Je peux aller le chercher. Il contient le
bon nombre de balles Si quelqu'un d'
autre veut le piller maintenant, je dois également le tester
avec le serveur Si je fais simplement apparaître
le serveur ici, et que je les réduis tous
les deux ici en tant que serveur, je peux lâcher l'arme au
fur et à mesure que le client s'en va. Ici, en tant que serveur, je
vais le récupérer. Et si je le maximise,
c' est en fait le bon
nombre de balles Si je tire en tant que serveur, il ne
reste plus que quatre balles Ici, en tant que client, je peux aller le chercher
et il ne me reste que quatre balles.
OK. C'est exact. Tout
semble fonctionner parfaitement. Et il le fait
également pour l'AK. Essayons également de
tirer quelques balles ici. Tout fonctionne bien. OK, nous avons réparé toute la boîte. À l'heure actuelle, tout
fonctionne correctement. Faisons le rechargement avec la touche du clavier dans
la leçon suivante
149. 10.20 Recharger l'arme avec la touche du clavier: Très bien, alors allons-y
et rechargeons avec le clavier Allons-y
comme avant, passons au
lecteur et à la saisie. Et cliquez
ici avec le bouton droit de la souris, passez à la saisie, effectuez une nouvelle action de saisie. Appelons ça
une arme à rechargement. Et ouvrons celui-ci, en fait juste le contexte de
mappage. Ajoutons un nouveau mappage. Allez en bas, sélectionnez celle qui permet de recharger l'arme, puis appuyez sur la touche R. Je vais le recharger
avec la touche R du clavier,
puis appuyer ici, on ne joue à ce jeu qu'une seule fois et il sera
beaucoup plus optimisé OK, ici, avec le
set, vous rechargez votre arme. Je vais juste le
faire ci-dessus. Je recharge l'arme et
je vais avoir cette action de saisie simplement
lorsque nous appuyons sur la touche R, nous voulons juste dire que set
is reloading est vrai Nous voulons juste recharger
chaque fois que nous appuyons sur le bouton. Cependant, n'oubliez pas que vous
avez besoin de certaines conditions car vous ne
voulez pas simplement recharger Parce que pour le moment,
si
je joue, je peux simplement appuyer sur
le R.
Pour l'instant, par exemple, prenons ceci. Je peux juste appuyer sur R, même
si j'ai des balles pleines. Je peux appuyer sur un R.
Cela n'a aucun sens. Je peux réellement appuyer sur une touche rouge. Chaque fois que nous n'avons
aucune arme équipée, je peux également appuyer sur R
et cela nous donnera Bucky. Nous ne voulons pas le faire. abord, nous devons prendre
ce type d'arme équipée et nous assurer qu'
il n'est pas équivalent à une arme. Faisons glisser le pointeur d'ici
et disons « pas égal à M nous assurer que
ce n'est pas égal à D. D'accord, donc c'est la première chose à faire. Partons
d'ici et disons lingot, car nous
devons en ajouter deux. Ensuite, si nous
sommes déjà en train de recharger, nous ne voulons pas appuyer sur Recharger, alors trouvons notre lingot en cours de rechargement
et disons N bully Si nous ne rechargeons pas, nous
pouvons procéder au rechargement ici. OK, alors ajoutons à nouveau
une nouvelle épingle. La dernière chose que je veux
demander , c'est si j'ai les balles pleines Par exemple, disons que j'
en ai 30 sur 90, par
exemple ici, comme l'AK, je ne veux pas le recharger parce que mon Mac est plein de puces Disons simplement : prenons cette arme équipée et
obtenons le
M actuel . Il suffit de
copier-coller la structure. Je ne veux pas le réécrire. Collons cette structure
ici pour l'arme. Laissez-moi simplement y connecter l'arme
équipée. Nous allons maintenant nous demander si
ce MO actuel est en mag, est-il égal au MO en Ma ? Parce que s'ils sont
égaux, cela signifie que nous avons plein de MO dans notre Mac et que nous
n'avons pas vraiment besoin de le recharger Je dis que c'est égal. Si le MO actuel n'
est pas égal au MO
maximum et à moi, alors nous
pouvons procéder au rechargement Sinon, nous ne rechargerons pas. OK, laissez-moi juste le
placer derrière tout ça comme ça et
laissez-nous le connecter à une succursale et
connectons-les ensemble. Maintenant, nous demandons, nous
disons que si ce n'est pas le
cas, si nous ne rechargeons pas et si nous n'avons pas déjà le nombre total de balles dans
le mode opératoire actuel et moi, nous pouvons
procéder au Essayons de le
faire. Compilons, enregistrons tout
et cliquons sur Plate. Si je clique sur R sur mon clavier, nous pouvons voir que
je reçois une erreur. Permettez-moi de jeter un coup d'œil
à ce qui se passe ici moment. C'est juste dire
que c'est cette époque. Si j'écris du spam
R ici et que je démissionne, cela me
montrera à quelle époque l'arme équipée n'
est plus valide. En fait, je dois
d'abord l'avoir valide, laissez-moi simplement faire glisser le tout. Permettez-moi de prendre l'arme équipée, cliquer avec
le bouton droit de la souris,
de la convertir en arme validée. Laisse-moi connecter ça. Nous nous assurons que l'arme
est valide avant de faire tout cela, car si nous
n'avons rien pillé auparavant, si nous appuyons sur R, elle ne
sera pas valide Maintenant, nous n'avons plus
ce bogue. Passons maintenant à
l'une des armes. Si j'appuie sur R, je
vais maintenant recharger car
j'ai un MO complet Mais si j'en tire un et que je le
recharge, je peux continuer et le
recharger comme ça Et il va calculer correctement
le MO. Maintenant, vous pouvez voir qu'il devrait
indiquer 39, c'est exact. Et si j'en tire quatre
et que je les recharge, devrais dire 35 comme MO
supplémentaire, correct Maintenant, chaque fois que je tire
toutes mes balles, disons si le
calcul est correct. Maintenant, je vais juste en photographier
trois et les recharger. Il faudrait dire 12,
c'est exact. Maintenant, disons que je recharge ici chaque fois que j'en ai
cinq, disons simplement 170 C'est également exact.
Maintenant, si je les photographie tous, ils ne se rechargeront pas Et si je clique sur R, maintenant il va se recharger Il y a cette dernière condition
que nous devons vérifier. Nous devons vérifier
s'il nous reste encore du temps. Cela a également un espace supplémentaire
avant de pouvoir le recharger. Maintenant, toutes les boîtes sont réparées. Maintenant, nous ne pouvons pas
non plus recharger lorsqu' il n'y a aucune balle dans
les chargeurs supplémentaires. Je vais déplacer cette partie vers le bas. Je réorganiserai cela un peu plus tard lorsque nous aurons
terminé avec la section Alors, sauvegardons tout et passons
à la suivante.
150. 10.21 Recharger une arme sur le changement d'arme: OK, donc pour le moment nous voulons également recharger, chaque fois que nous changeons
d'arme Maintenant, vous pouvez voir
ici si je n'ai aucune balle et que je
change d'arme, laissez-moi
prendre rapidement un pistolet et le changer Maintenant, vous pouvez voir
si je reviens en arrière, c'est l'animation du micro. Ce n'est pas le rechargement pour le moment. J'essaie de tirer mais
je ne peux pas tirer. J'essaie de recharger mais
je n'arrive pas à recharger. Cela est dû au fait qu'ici, lorsque
nous rechargeons l'arme, nous
configurons le rechargement
pour qu' il soit vrai chaque fois que nous la rechargeons Cependant, si nous annulons
l'animation, nous diffusons le montage d'animation. Cependant, nous ne sommes
pas en train de le terminer. Ce paramètre ne sera jamais défini sur false. C'est pourquoi il est en train de se bloquer d'
une manière ou d'une autre. Lorsque nous changeons d'arme, nous devons la régler sur false
et la recharger automatiquement Nous pouvons réellement le faire avec
l'arme équipée. Chaque fois que nous pillons une arme, nous définissons cet ensemble comme véritable arme d'
équipement Nous le faisons également chaque fois que
nous l'avons équipé manuellement. ne nous contentons
pas de le ramasser, nous
configurons également que cet ensemble est
une arme équipée. N'oubliez pas que nous avons fait
celui-ci ici. Permettez-moi de cliquer ici, Masquer les épingles
non connectées.
C'est ce que nous faisons ici. Chaque fois que nous installons l'arme
équipée et que nous finissons de l'
équiper Allons-y et
faisons ce
rechargement automatique chaque fois que nous en avons plus Supposons simplement que le rechargement
soit faux, car nous
devons le définir sur false chaque fois que le joueur
change réellement arme pendant
l'animation de
rechargement Chaque fois que nous
aurons fini d'équiper l'arme, nous réglerons automatiquement le rechargement Nous allons également
recharger l'arme. Le set est en train de se recharger. Chaque fois que nous n'
avons plus de MO, nous devons vérifier si le joueur n'a plus de MO et s'il a
des MO supplémentaires ? Parce que si vous n'
avez pas de MO supplémentaire, cela n'a aucun sens de le recharger Nous avons besoin de ces deux-là et nous
devons également créer une succursale. Après cela, nous pouvons
continuer et recharger. Avant cela, nous ne pouvons pas recharger, nous devons définir le
rechargement pour qu'il soit vrai Si ce n'est pas le cas, nous n'
allons pas
recharger ou faire quoi que ce soit, assurerons
simplement que le
rechargement est réglé sur une baisse Parce que lorsque vous l'interrompez
ici pendant le rechargement, lorsque vous interrompez le montage, vous ne le réglez jamais Falls et votre code
va s'éteindre Maintenant que c'est réglé,
essayons-le. Essayons de jouer ici
en tant que terroristes. Je vais prendre les quatre
et je vais tirer si je change d'
arme maintenant. Maintenant, souvenez-vous que la
première animation qu' il va jouer est
l'animation d'équipement. Ce n'est pas le rechargement, alors il
faut le recharger comme ça. Maintenant, il
se recharge automatiquement chaque fois qu' il ne
me
reste plus de balle lorsque je l'échange. OK, comme vous pouvez
le voir, maintenant je recharge. Je change d'arme
et je la change à nouveau. Maintenant, je peux appuyer sur R et
il se recharge réellement. Ça ne dérange pas,
comme avant. Essayons-le.
Essayons encore une fois. Si c'est le cas, nous n'avons aucune
balle et je change d'arme, elle ne devrait pas se recharger
et elle ne se recharge pas Maintenant, tout
fonctionne parfaitement.
151. 10.22 Ajouter des tirs au pistolet: Jusqu'à présent, nous avons travaillé
avec le fusil et maintenant allons-y et tirons
au pistolet C'est très simple car nous avons déjà effectué la configuration. Passons à la
base de joueurs à l'intérieur d'ici. Ce que nous faisons en ce moment
, dans le domaine de l'arme de tir, lorsque nous tirons avec l'arme, nous jouons simplement, le chronomètre fait tourner
le code en boucle
et nous tirons avec le fusil Maintenant, lorsque nous voulons tirer avec un pistolet
,
nous ne voulons pas utiliser ce chronomètre parce que nous ne voulons pas tout
faire tourner en boucle Nous voulons juste tirer un
coup de feu parce que c'est un pistolet. Bien entendu, si vous avez
un pistolet automatique, vous pouvez simplement
réutiliser ce système car il s'agit
d'un pistolet automatique Cependant, ce n'est qu' un pistolet et je veux juste
tirer une balle Je ne veux pas lancer ce chronomètre. Ce que nous pouvons faire ici,
c'est que nous pouvons réellement, à partir de celui-ci, vous pouvez
prendre le type d'arme ici. Nous avons déjà le type d'arme. Ce que vous pouvez faire, c'est faire glisser le pointeur à partir d'ici et dire « activer l'énumération Nous pouvons voir avec quel type d'arme nous tirons actuellement. Tu peux sortir et te
connecter. Lorsque nous tirons avec un fusil, nous voulons jouer à ce chronomètre. Lorsque nous tirons
avec un pistolet, nous ne voulons
rien faire, car
souvenez-vous que nous tirons déjà une
balle Nous exécutons déjà
tout ce code ici. Nous sommes déjà
en train de gérer tout cela ici avec ce
premier tir d'arme, parce que nous l'avons appelé ici. En fait, tu as terminé, je crois. Cliquons sur jouer. C'était donc très simple, il
suffit de cliquer, essayons-le pour le client ici. Maintenant, je peux voir ici que je ne peux plus tirer. Je ne tire qu'une seule
balle. Je crois que c'est le cas. Parce que nous sommes en train de régler
cela, nous pouvons tirer à nouveau. Nous sommes en train de fermer celui-ci. Nous exécutons ce code une fois et chaque fois que
nous tirons une balle, nous n'en faisons pas plus. C'est parce qu'ici,
lorsque c'est faux, souvenez-vous que nous avons déjà réglé
l'arme de tir sur False. Pourquoi recommence-t-il cette photo ? Essayez d'y répondre
vous-même si vous le pouvez. Sans mon aide. Maintenant, je
peux te donner la réponse. Le problème pour le moment, c'est
que nous n'entrons jamais dans ce chronomètre. Celui-ci ne sera jamais valide. Ici. Nous demandons si c'
est valide ? Ce sera faux car nous n'
avons jamais utilisé ce chronomètre. Maintenant, en faisant tourner le pistolet
jusqu'ici depuis les chutes, vous devez le connecter pour pouvoir tirer
à nouveau. Et je vais prendre quelques notes de Mirarte et
maintenant ça devrait fonctionner. Si je
compile maintenant, que je clique sur Play, que je sélectionne à nouveau Terrorist
et que je prends mon pistolet Maintenant, vous pouvez voir que je peux
tirer avec mon pistolet sans aucun problème et
que tout fonctionne comme prévu
152. 10.23 Arrêter de photographier des effets visuels sur le changement d'arme: Mais maintenant, nous avons un problème. Si je joue en tant que serveur, par
exemple,
jouons réellement en tant que client. Si je joue en tant que client, vous pouvez le voir, essayez me regarder ici
sur le serveur. Vous pouvez voir ici, vous pouvez voir quand je tire
et que je change d'arme. Si je tire
et que je change d'arme, je peux tirer avec l'
arme encore au sol. Et le flash de bouche
se trouve à côté de ma jambe. Et tu vois, ça a l'air très bizarre. Cat tire sur mon arme et change-la. Ça ressemble à
ça et c'est
comme si j'étais sur écoute. En fait, nous devons
arrêter de tirer chaque fois que nous changeons d'arme parce que
nous ne voulons pas le faire. Allons-y et
fermons-le. La première chose
que je veux faire dans
l' arme chaude en ce moment, c'est annuler l'arme chaude chaque fois que nous relâchons le bouton
de la souris Cependant, je souhaite également l'annuler chaque fois que
ce n'est pas vrai. Chaque fois que nous rechargeons
ou équipons une nouvelle arme, ou que nous passons à l'état désarmé, j'ai vraiment envie d'arrêter de
tirer Copions celui-ci. Collez-le. Connectons-le à celui-ci. Ici, permettez-moi de m'éloigner
un peu de ce point. Et voilà. Nous annulons l'arme de tir chaque fois que l'une d'
entre elles n'est pas vraie Nous pouvons même cliquer sur jouer pour voir à
quoi elle ressemble Encore une fois, je vais
jouer en tant que client, et je vais
regarder ici sur mon grand écran pour voir à
quoi cela ressemble. Donc, si je me contente de tirer et de changer, maintenant ça s'arrête. Cependant, vous pouvez voir qu'il y a toujours un flash muzzle qui joue Quand je change, tu peux le
voir au sol. Il ne s'enregistre pas trop vite. Si je tire et que je change, vous
pouvez voir que le jeu est toujours en train de jouer, qu'une bouche
clignote sur le sol qui semble toujours
boguée dans le Nous devons donc régler ce problème. OK, faisons-le ici. Si nous trouvons que la bouche clignote, je vais tout nettoyer après
cette section Nous devons le
nettoyer avant de
continuer pour qu'il soit plus facile de
travailler avec le flash initial, c'
est ici que je joue également
l'effet sonore Pour le flash initial,
je vais
écrire click et
promouvoir cet émetteur
que nous créons en variable et
appelons-le émetteur muzzle je vais
écrire click et promouvoir cet émetteur
que nous créons emitter Laissez-nous le connecter ici Encore une fois, je vais juste jouer
le son juste pour
voir à quoi ressemble
le son également. Laissez-nous compiler, d'accord, maintenant nous avons ce flash initial Nous devons maintenant arrêter ce flash
initial à un moment donné. Nous devons en trouver un
au début du code. Quand pouvons-nous annuler ce flash initial
à l' intérieur du code
pour le rendre fou ? Peut-être lorsque nous
équiperons l'arme. Si je vais juste ici et que nous essayons de trouver
une arme d'équipement ici, lorsque nous
changeons d'arme ici, nous ne le faisons pas vraiment. Parce qu'ici, pour l'arme
équipée, vous essayez de rechercher
l'arme dans l'inventaire. Si vous ne l'avez pas
dans l'inventaire, si c'est faux, vous ne faites
en fait rien. Cela n'a pas vraiment de
sens d'arrêter le flash initial si vous
n'avez rien dans l'inventaire et que
vous ne changez
pas arme ici dans
l'arme Quip Je pense que je le ferai
ici chaque fois que
je trouverai l'
arme dans mon inventaire car maintenant mon
personnage passe à une autre arme ici. Je veux prendre mon émetteur de
flash initial cliquer avec le bouton droit
de la souris et dire
convertir en un get validé Alors je vais le
connecter ici. S'il est valide, laissez-moi simplement éloigner un peu tout ce code
pour que je puisse travailler ici. Chaque fois que c'est valide, je vais faire glisser et
dire détruire des composants, détruire un composant,
puis continuer. Cependant, s'il n'est pas valide, je veux simplement continuer. Je ne veux rien
détruire. S'il n'est pas valide,
allez-y et continuez ce que
vous avez fait auparavant. Allons-y et jetons un coup d'œil
à la chair du museau. Ce que je vais faire, c'est l'emporter ici. Avant cela, nous pouvons également dire
ici que vous ne pouvez pas le
faire chaque fois que vous
équipez l'arme Chaque fois que vous
l'équipez ici. Lorsque nous disons qu'équiper
une arme c'est équiper une arme, nous devons également arrêter de
tirer Si je prends juste cette arme, si je peux la trouver ici, celle-ci. Et je peux le prendre
et le placer ici. Et encore une fois, c'est vrai, ne
vous connectez pas et je peux le connecter. Si vous n'
équipez pas
également l'arme , vous pouvez tirer Je vais copier tout
cela et le coller juste avant
l'emplacement de l'émetteur En fait,
avant de faire tout ça, je vais vérifier si vous pouvez
toujours le faire. C'est bon. Ce que nous devons également
faire ici, je crois. Montons ici avec l'
arme trouvée dans l'inventaire. Parce que lorsque vous trouvez une
arme dans l'inventaire, n'avez plus envie de jouer à The
Muzzle Flash ici. Nous pouvons également vérifier avant de jouer sur l'émetteur et nous pouvons l'éviter Nous pouvons prendre cette arme trouvée dans l'inventaire et la mettre
ici, l'obtenir ici. De plus, je l'ai configuré pour le répliquer. Il n'a pas été reproduit. Je l'ai configuré pour le répliquer parce que
souvenez-vous que nous
sommes maintenant sur le client, que
nous sommes en multidiffusion, et que cela est également
utilisé par le Vous devez répliquer
la variable pour que le client
sache de quoi nous parlons Permettez-moi d'écrire un lingot Chaque fois qu'il n'est pas
trouvé dans l'inventaire, nous pouvons tirer sur cet émetteur
ou le jouer, il se trouve
dans l' Je pense que c'est une bouée de sauvetage
pour nous, car il s'
agit de jouer très tôt chaque fois que
nous changeons Il s'agit de la première variable
qui est modifiée. Il détecte cela très tôt et il ne veut pas émettre
le flash initial J'espère que nous devons
constamment tester, car nous ne savons pas
vraiment avant de tester Jouons
en tant que
serveur dès maintenant, jouons en tant que client. En tant que client
, laisse-moi jouer. Maintenant, je vais jeter à nouveau un œil
ici sur mon serveur. Si je photographie en tant que
client et que
je change, j'ai essayé
de le faire plusieurs fois, c'est tout. Nous effectuons
de nombreuses vérifications. Cela est nécessaire pour ne pas
jouer cet effet de bogue. Maintenant, cela n'
affecte pas vraiment le jeu, mais cela l'
affecte toujours visuellement. n'affecte pas les
dégâts ou quoi que ce soit d'autre, car ce n'est
pas joué. Cela est arrêté très tôt. En fait, nous n'
endommageons pas le joueur. N'oubliez pas que nous
infligeons des dégâts aux joueurs après la course en ligne. C'est juste un bug visuel
dont nous nous sommes débarrassés. Très bien, allons-y
et compilons tout. Sauvegardons tout et passons au suivant.
153. Animation de prise de vue 10.24: Nous avons maintenant besoin d'une animation de tournage car pour le moment, le
joueur est statique. Chaque fois que nous tournons
, ajoutons une animation. Passons aux actifs
et aux animations. Et voici toutes les
animations que nous avons créées auparavant. Si vous recherchez simplement des pousses je pense qu'en fait
cela s'appelle le feu. Si vous recherchez simplement le feu, vous pouvez voir un
pistolet à incendie et un fusil à feu Ce sont les animations
que nous pouvons utiliser pour ajouter chaque fois que le joueur
tire avec l'arme. Pour ces deux-là, je vais les
prendre tous les deux. Je ne pense pas que nous ayons besoin du C, peut-être que nous en aurons besoin plus tard. Je ne suis pas sûr pour le
moment. Mais utilisons-les pour le moment. Et revenons-y si
nous en avons besoin. Cliquez ici avec le bouton droit de la souris, Créer et créez un
montage d'animation comme avant. Pour les deux,
nous avons maintenant créé deux montages
d'animation Je vais les renommer,
supprimer le montage depuis la fin Au début, je
vais l'appeler comme préfixe juste pour rester cohérent avec notre code
actuel pour le moment Laisse-le et appelle-le 11
autre également. Si je cherche juste pour que je puisse
voir les montages d'animation. Je peux d'abord appuyer sur le pistolet. Il s'agit d'un rechargement.
Je clique sur le coup de pistolet,
c'est celui-ci ici Et ce que nous pouvons faire ici encore, changer la
fente située sur le haut du corps, comme nous l'avons fait auparavant. Nom de la machine à sous, haut du corps comme ça. Et fermons-le. Et ouvrons également
le fusil. Remplacez-le sur
le haut du corps, comme ceci. OK, et sauvegardez tout maintenant. Fermons-le. OK, ce que nous devons
faire maintenant, jouer à cette animation. Chaque fois que nous tirons avec l'arme, nous devons à nouveau
l'ajouter à notre structure. Revenons aux plans. Je vais supprimer ce mot
de recherche pour que nous puissions voir. Je vais aller dans les structures et ouvrir les informations sur les armes. Ce que nous pouvons faire ici, c'est ajouter une variable appelée shoot animation pour celui-ci. Vous pouvez désormais avoir une animation de
tir différente pour chaque arme.
C'est vraiment cool. Tout est personnalisé dans
cette animation de tournage de jeu. Et je vais l'avoir juste
après le rechargement ou
juste avant le rechargement Équipez, tirez, rechargez. OK, allons-y et
compilons ou sauvegardons simplement ici. Ouvrons notre tableau de données. Encore une fois, ici à l'intérieur
de notre tableau de données. Encore une fois, passons
à l'animation de l'équipement. Permettez-moi d'en ajouter une nouvelle à droite et de
l'appeler «
one shoot animation ». Nous pouvons maintenant minimiser
cela ici dans le jeu. Et retrouvons notre
montage. Si j'en cherche un et que je prends ce fusil à feu,
recopiez la référence. Et permettez-moi de revenir
au tableau de données. Collez-le pour les
quatre AK et M, ce sont les deux premiers. Ensuite, je reviens en arrière et je
copie
la référence du premier montage d'animation. Copiez la référence, je
reviens ici et je la colle pour
le tir au pistolet.
OK, c'était ça. Allons-y, cliquons sur le
fichier, téléchargeons le fichier CSV. Ouvrons-le ici. Je vais encore une fois le renommer
comme avant. Renommez-le en T Weapon Info Et j'en ai déjà un ici, donc je
vais le copier. Supprimez-le ici, et
renommez celui-ci. Revenons maintenant à notre jeu. Passons aux plans, aux tableaux de
données à l'intérieur d'ici Encore une fois, je vais
fermer ceci ici. Vous pouvez faire glisser ce tableau de
données ici. Et maintenant, il est mis à jour. OK, passons au code
maintenant et encodons-le dans la base de joueurs à l'intérieur
d'ici chaque fois que nous tirons. En fait, c'est aussi là si nous
éliminons tout cela. Nous allons donc jouer
l'animation en même flash initial et l'effet sonore car il ne s'agit toujours
que d'une animation Et nous devons
y jouer en multidiffusion car tous les joueurs
doivent voir cette animation Reprenons le maillage. Encore une fois, disons montage. Et nous pouvons jouer ce montage, et allons-y et
connectons le tout. Et maintenant, ce que nous pouvons
également faire ici pour que le
montage fonctionne. Nous l'avons maintenant
dans le tableau de données. Laisse-moi juste copier tout ça. Collez-le ici,
et laissez-moi juste cacher épingles
non connectées à l'arme Maintenant, nous n'avons pas vraiment de
référence pour l'arme. Ce n'est pas la classe d'arme, c'est en fait juste
le maillage de l'arme. Vous pouvez le voir ici.
Si vous vous souvenez, si nous revenons à l'arme chaude, nous examinons ici le parachute
du serveur, l'arme. Voici le maillage des armes. C'est le maillage squelettique. N'oubliez pas qu'il ne s'agit pas de la classe
Blueprint elle-même. Il s'agit de la classe Blueprint. C'est le maillage squelettique. Et le maillage squelettique est celui que
nous branchons sur
l'arme ici Il s'agit en fait
du maillage squelettique. Ce n'est pas la
classe Blueprint elle-même. Nous avons besoin de la clause du plan directeur
parce que ce n'est pas vraiment le maillage squelettique que nous avons mis en
place ici. C'est celui-ci. Vous pouvez donc voir si je fais glisser le pointeur de haut en haut
et que je le branche ici,
vous pouvez voir que
tout va bien. Ce que nous devons faire ici
pour mieux l'optimiser. En fait, je vais
le changer si nous cliquons sur la multidiffusion et
si nous cliquons sur le Plus
pour rechercher la base d'armes Et nous choisissons la base d'armes, nous allons juste la
qualifier d'ancienne, afin que je puisse la renommer
en arme Nous nous souvenons de compiler d'abord
avant de pouvoir le faire. Maintenant ça s'appelle Weapon, et maintenant on peut continuer
et le connecter ici. Maintenant, nous pouvons voir que cela fonctionne, d'accord. Maintenant, tout cela doit
vraiment être là parce que j'ai déjà
cette référence à l'arme. Vous pouvez maintenant obtenir
toutes ces informations ici pour cet effet V que
vous avez connecté ici. N'oubliez pas qu'il s'agit de la prise de vue, que
vous avez l'effet
sonore de la prise et que vous avez le flash initial Et vous pouvez connecter le
flash initial à celui-ci ici. Et vous pouvez connecter l'effet
sonore de prise de vue à celui-ci ici. Vous pouvez également connecter l'animation de tournage
que nous venons de réaliser à ici. Vous n'avez pas vraiment besoin de l'arme, nous pouvons l'
obtenir d'ici. Si vous faites simplement glisser le pointeur d'ici et recherchez une variable d'arme, il
s'agit du maillage squelettique. Vous pouvez également le connecter ici. Alors je peux voir que tout
cela ne sert à rien. Nous pouvons donc supprimer celui-ci, celui-ci
et celui-ci,
puis sortir et compiler. Nous avons eu beaucoup d'erreurs parce que
maintenant nous ne les utilisons plus. Allons-y et
supprimons tout cela. Nous allons en fait le
supprimer en
cliquant sur le
bouton Alt du clavier. Et en cliquant ici, en cliquant
ici, en cliquant ici. Et je vais supprimer
ce nœud de redirection,
les supprimer, cliquer ici,
masquer les épingles non connectées Nous avons maintenant besoin d'une référence
à l'arme. C'est cette arme là-haut. Je peux juste cliquer
et faire glisser pour le moment. Je vais le rendre
beaucoup plus propre plus tard. Donc compilons pour le moment. Maintenant, cette
arme de tir est correcte. D'accord, nous n'avons pas vraiment
plus de références maintenant pour savoir si j'ai plus de
références à ce sujet ou non. Juste pour m'assurer que
je ne suis pas en train de m'embêter, je peux écrire, cliquer
et trouver des références Et vous pouvez voir que c'est ici
ou ici. Je n'ai pas plus de
références que celles-ci. OK, donc tout va bien maintenant. Et maintenant, nous avons également connecté
l'animation du tournage. Et je ne veux pas
y jouer une fois qu'il sera terminé, comme nous le faisions auparavant. Souvenez-vous des autres montages que nous avons créés précédemment.
Par exemple, celui-ci. Nous jouons cet événement ici chaque fois que nous terminons
le montage de l'animation. Maintenant, pour ce qui est de l'arme de tir, je veux juste y
jouer et continuer mon code. Je ne veux pas attendre
qu'il soit terminé pour
jouer mon effet
ici. C'est très bien. Laissez-nous tout compiler et
enregistrer maintenant. Il devrait jouer l'animation. Si nous cliquons sur jouer, laissez-moi jouer sur
le serveur tout de suite, et je sélectionne Terroriste. Je vais ici et je
tire juste une balle. Vous pouvez voir qu'il
joue réellement l'animation. Maintenant, nous avons un bug. Maintenant, si je regarde vers le bas,
vous pouvez voir l'animation ici
au centre de l'écran. Vous pouvez
le voir se placer au centre de l'écran
chaque fois que je photographie, ce qui est très étrange
et nous devons également
changer le fait que l'
animation soit très lente. Je vais aller dans les actifs
et rechercher à nouveau Anim One. Je vais ouvrir le pistolet
ici pour le tournage de l'animation
pour l'échelle des taux Alors, à quelle vitesse cette animation va-t-elle
s'exécuter ? Je vais le remplacer par trois. Je pense que je veux
tirer beaucoup plus vite. De plus, pour le fusil, je vais le remplacer par une échelle
à trois taux. Il tire beaucoup plus vite. OK, maintenant réparons-le. En fait, cela affecte également le rechargement et je ne sais pas pourquoi je ne l'ai pas remarqué plus tôt Je pense que j'étais juste occupé parler, à enregistrer
et à vous montrer. Mais si vous vous contentez de recharger, vous verrez qu'il s'agit de l'
animation de rechargement que nous avons jusqu'à présent Cependant, il ne se recharge pas correctement parce que si je
regarde vers le bas et que je le recharge, il regarde
à nouveau au milieu et se
recharge, comme dans le cas du problème de
prise de vue que
nous avons actuellement recharge, comme dans le cas du problème de
prise de vue que
nous avons OK, il faut régler ça maintenant. Permettez-moi de
déconnecter à nouveau le son, juste pour que ce ne soit pas gênant
dans ce cours. Permettez-moi de déconnecter le son de prise de vue
et de compiler maintenant. Allons-y et ouvrons le plan
d'animation. Parce que le problème est là
en ce moment. Le problème, c'est que le plan
d'animation est cette animation
du haut du corps superposée par os. En fait, nous devons y jouer avant
que le but ne soit décalé. Le décalage de visée, souvenez-vous, est le décalage
où, en tant que joueur, je regarde de haut en bas avec mon arme et le
mouvement comme celui-ci. Nous devons jouer cette animation du haut du corps avant que le but ne soit décalé pour qu'elle
puisse se fondre. C'est le problème en ce moment, ce que je peux faire ici,
allons-y. Commençons par un
pistolet pour cette
machine
d'état mise en cache Permettez-moi de supprimer ce mouvement de
pistolet pour le moment. Permettez-moi de prendre cette couche par
os et de la coller ici. N'oubliez pas maintenant d'utiliser le cache de la machine à état du
pistolet. Nous avons la
machine d'État mise en cache. Si je peux le trouver, nous
avons cette machine étatique en cache et nous avons également
le mouvement lui-même. La
machine d'État est mise en cache et les mouvements sont en cache ici. Nous utilisons la
machine d'État en ce moment. Permettez-moi de le
copier-coller ici également. C'est juste pour le pistolet et faisons-le aussi pour
le fusil Permettez-moi de le supprimer, de le découper et de le coller ici. Permettez-moi de prendre cette
machine d'État pour un fusil, souvenez-vous que c'est la machine d'État. Et
copiez-le également ici. Et allez-y,
connectez-le ici. OK, c'était ça en fait, copions-collons ça.
Copions tout cela. Je vais le supprimer
ici. Je vais le coller. Et je vais également
le connecter ici. Faisons-le ici aussi. Copions la machine d'État Pistol One
Pistol. Permettez-moi de le supprimer ici. Permettez-moi de le copier ou simplement de le
connecter ici. Collez également connecté ici. Nous jouons maintenant le mélange
en couches par os. Avant de jouer au décalage de visée, ce sera la
bonne solution. Nous enregistrons maintenant
tout cela dans
le cache du mouvement du pistolet et dans le cache du mouvement
du fusil Nous pouvons continuer ici
comme avant, le bouton droit de la souris et en
recherchant le cache. Vous pouvez connecter le
mouvement du pistolet, cliquer avec le bouton
droit de la souris, rechercher le cache Prenez le mouvement du fusil en cache
et connectez-le maintenant C'est aussi beaucoup plus
propre qu'avant et on peut les combiner comme ça. Et compilons et
vérifions si cela fonctionne ou si nous avons une boîte
dont nous devons nous occuper. Cliquez ici pour incarner
le terroriste. Maintenant, quand je montre, si je regarde en bas, vous
pouvez voir que cela fonctionne. Je tire aussi. Je
tire au milieu. Cela fonctionne également
pour le rechargement. Maintenant, nous pouvons réellement recharger
pendant que nous regardons vers le bas. Il n'est pas nécessaire que cela
aille jusqu'au milieu. Si je tire, je
recharge, je peux le faire. Si je prends juste un, si j'
ouvre cet autre gars,
je jette un coup d'œil à ce type ici. Je peux donc voir l'animation. Je décroche le K, comme
vous pouvez le voir ici, tirer. Je peux
même recharger mes batteries en regardant ici. Ou si je regarde en bas, je peux
aussi recharger. Je peux tirer. Et vous pouvez voir mon animation
de tournage. Si je m'approche d'ici, vous pourrez voir mon animation
de tournage. Et pareil ici, si
je joue en tant que serveur. Vous jetez un œil
ici en tant que client. Si je maximisais ça. Vous pouvez donc voir que je
minimise un peu cela. Ici, je
regarde le serveur et le
serveur est en train de tourner. C'est aussi le cas, vous pouvez voir
l'animation du tournage. Je peux aussi
recharger d'ici. Je peux aussi recharger en
regardant vers le bas. Maintenant, cela fonctionne bien et
ils se mélangent.
154. 10.25 Out of Ammo SFX: Pour cette leçon, je veux vous
montrer comment jouer un effet sonore lorsque
vous n'avez plus de MO. Chaque fois que vous êtes hors de MO, vous entendez ce
cliquetis provenant du fusil. Vous pouvez essayer de le
mettre en œuvre vous-même, je crois que c'est possible, si vous
y réfléchissez bien. Cependant, si vous n'êtes pas sûr, allons-y et
faisons-le ensemble. Allons-y et ouvrons le lecteur chaque fois
qu'il enregistre ici. Ouvrons la
base de joueurs à l'intérieur d'ici. Encore une fois, nous devons
utiliser cette multidiffusion. Cependant, je vais ajouter un tyran
ici qui dit « n'en a pas ». Chaque fois que nous avons MO, nous pouvons jouer à tout cela. Si je fais simplement glisser et écrire
une branche comme celle-ci ici, chaque fois que
nous aurons MO, nous jouerons à tout cela comme
nous le faisions auparavant. Cependant, si nous n'avons pas Mo, je veux jouer
un autre effet sonore. Je veux prendre cette canette sonore juste d'
ici et indiquer le lieu. Quel son
souhaitez-vous jouer maintenant ? Nous devons l'ajouter à nouveau à la
structure. Pour ce qui est de l'emplacement, nous l'avons
déjà. Nous pouvons simplement le brancher ici et compiler maintenant pour la structure. Allons-y,
ouvrons la structure et créons une nouvelle variable. Nous pouvons simplement appeler cela un effet sonore «
out of M ». Remplaçons-le en son,
sélectionnons-le. Et allez-y et économisez. Je pense que je vais juste le déplacer
là où il se trouve sous l'effet sonore de
prise de vue. Tous les
effets sonores sont réunis. Sauvegardons tout
une fois de plus, ouvrons le tableau de données. Passons à droite ici, à la fin, après l'effet sonore du
tournage. Je vais cliquer avec le bouton droit de
la souris et en ajouter un à droite. Ensuite, nous pouvons dire : à partir de
MSX et à l'intérieur d'ici, copions simplement la référence Pour le moment, nous n'
avons aucune référence car nous n'avons encore rien
importé. Passons au dossier
audio ici. Ouvrez les effets sonores. Si vous vous rendez à la documentation pour la
cause, j'ai inclus du son pour
vous. Si vous ouvrez cet audio et que je l'
ai inclus hors MO, si je l'
agrandisse simplement avec M K 47, MO pour un et
avec un pistolet MO Et sélectionnez les trois.
Cliquez dessus et faites-les glisser dans le navigateur de contenu. À l'intérieur d'ici, sélectionnez
les trois avec le
bouton droit de la souris et créez plusieurs repères. Encore une fois, je vais tous les renommer juste
pour rester cohérent, nous les renommons S C comme
préfixe Je vais aussi le faire
pour le pistolet ici. Faisons-le pour le dernier. Le dernier est le K 47. Appelons ça Sound at the beginning, juste
comme ça. OK. Je vais
ouvrir l'AK 4071. Je vais aussi
ouvrir le pistolet et je vais
ouvrir les quatre Je veux réduire le son
car il est probablement très fort pour moi. Je vais également le mettre
à 0,2 pour ne pas vous embêter sur ce cours. Alors
maintenant je peux l'entendre. Voici les effets sonores de Out of
MO. Fermons-le maintenant et
copions les références. Cliquez avec le bouton droit sur la référence de copie
AK. Je vais revenir à ma table de données pour le K,
c'est la première. Pour le coller pour les quatre, cliquez avec le bouton
droit sur la référence
après le pistolet, cliquez avec
le bouton droit sur la référence p
et collez-la également ici Téléchargement de fichiers, téléchargement,
CSV, comme avant. Ouvrez le dossier des téléchargements. Et à l'intérieur d'ici, je vais encore
une fois
supprimer l'ancien, le
coller sur le nouveau, le
renommer, accéder aux tables
de données et faire glisser
là où il est mis à jour, et nous laisser tout enregistrer Bien, revenons
au joueur et
ouvrons la base de joueurs. Maintenant, pour celui-ci, nous l'avons ici. Ce que nous pouvons faire,
c'est utiliser ces effets sonores hors de portée de M. Je vais juste le ramener
ici parce que nous
n'avons pas vraiment besoin
de le copier-coller. Encore une fois, je vais
prendre des notes réécrites
pour tout cela. En fait, il vaut mieux
envisager une ou
deux leçons ici. Ce que nous pouvons faire, c'est supprimer
l'effet sonore MO, nous pouvons le faire glisser ici. Maintenant, l'effet sonore sera
joué chaque fois que nous n'aurons pas de MO. Maintenant, nous n'avons pas complètement terminé
car nous devons
également définir
quand nous avons MO ou non. Ici, dans l'arme de tir MC. Nous devons prendre cela,
n'oubliez pas de le rendre vrai. C'est le
code normal que nous avons. Et nous avons déjà MO ici
chaque fois que nous tournons. Parce que nous cherchons essentiellement à savoir si nous sommes hors du MO ou non et à tout ça ici. Et ce
sera correct. Maintenant, chaque fois que nous n'avons pas de MO, chaque fois que c'est réellement faux, essayons de créer du code ici. Permettez-moi de le déplacer
légèrement vers le haut. Laissez-moi simplement copier-coller ceci. Permettez-moi également de le déplacer
légèrement vers le bas, juste pour que nous ayons de
l'espace de travail. Maintenant, pour celui-ci,
connectons-nous ici. Nous devons trouver le code
de l'arme Encore une fois, je vais casser la même arme d'
ici, la faire glisser ici. Et pour le lieu,
c'est le même endroit. Et pour le Mo, nous devons maintenant nous
assurer d'avoir Mo, car nous ne
voulons pas simplement y jouer chaque fois que nous allons ici. En gros, ce
que vous voulez vérifier, nous voulons jouer ce son. Chaque fois que vous n'avez aucune balle, aucune balle dans le Mac et aucune balle dans
les balles supplémentaires, nous pouvons réellement utiliser les puces
supplémentaires Ici, je pense que nous avons déjà
une fonction. Celui-ci contient des Mo supplémentaires, nous pouvons réellement utiliser celui-ci. Nous pouvons aller de l'avant et dire que
si
vous avez X Ramo, vous allez y jouer normalement Si vous n'avez pas Ramo, vous pouvez jouer un effet
sonore chaque fois qu'
un MO supplémentaire est faux, puis nous
pouvons jouer cet effet sonore de
prise D'où nous en sommes, tout
devrait être réglé. Compilons et cliquons sur jouer. Ici, je veux jouer pendant que les terroristes continuent de
tirer avec mes armes. Je vais continuer à filmer
et sauter la vidéo. OK, maintenant j'en suis
aux dernières balles. Et si je continue à
tirer et que j'atteins zéro balle, je vais le jouer
sans effet sonore Et vous pouvez entendre que je
n'ai pas de balles. Si je passe simplement ici et que je joue les autres effets sonores, je
vois que c'est normal. Parce que souvenez-vous, j'ai déconnecté
l'effet sonore pour le tournage en ce moment. Si j'atteins zéro balle, vous pouvez entendre que je
n'en ai aucune Voici donc comment nous pouvons procéder. Compilons et sauvegardons tout
comme avant de continuer. Maintenant, je vais
nettoyer tout ça avant de continuer parce que
ça a l'air d'être un gâchis. Et c'est aussi comment
suivre ce cours. Laisse-moi juste compiler
pendant mon temps libre. Je vais juste
organiser tout cela, donc c'est beaucoup mieux de le regarder. Allez-y, créez, redirigez des notes, créez des
commentaires, etc. Je te verrai dans le prochain.
155. 10.26 Bullet Impact VFX et SFX: Très bien, donc tout
va bien pour l'instant. Je pense qu'il nous manque
des effets visuels et sonores lorsque la
balle touche quelque chose. heure actuelle, lorsque nous
jouons et que je prends, par
exemple, les quatre
et que j'essaie de filmer ici, maintenant je joue sur cette partie, mais nous ne voyons
pas vraiment d'effet visuel sur
la partie que nous jouons, et je pense qu'elle sera
bien meilleure. Allons-y et ajoutons-le. Vous pouvez essayer de vous modifier vous-même
parce que je pense que vous pouvez .
Si vous essayez de
réfléchir sérieusement , faisons-le ensemble. Allons ici, dans
la base de joueurs. Tout comme avant, nous devons
créer une multidiffusion. Nous pouvons maintenant l'intégrer
ici et ajouter plus de variables, mais je pense que cela va
devenir un peu compliqué. Nous devons donc en créer un nouveau. Comme vous pouvez le constater, je l'ai
organisé ici, comme vous pouvez le voir, et je vais vous l'
apprendre un peu. Nous avons ici le graphique des événements. Nous avons le mouvement de base du
personnage que nous avons fait et terminé. Et
cela fait longtemps que nous n'y avons pas vraiment touché . D'ailleurs, j'ai ajouté les fonctions à
différents graphes. En effet, si vous créez une grande quantité de code dans un graphique, cela commence réellement
à le faire, peut-être que vous pouvez déjà le sentir sur votre
ordinateur. Ça commence à. Quand vous regardez autour
de vous, ce que vous pouvez faire, par
exemple, disons que je voulais
m' accroupir spécifiquement
sur un autre graphique Je contrôle simplement x pour
le retourner ici, puis je contrôle x. Ensuite, je crée un nouveau graphe
appelé, par exemple, accroupi C'est parce qu'un événement s'
appelle accroupi.
Donc je ne peux pas faire ça. Appelons-le simplement Crouch Events Graph ou quelque chose comme ça Alors à l'intérieur d'ici, maintenant je suis là. À l'intérieur du
graphe accroupi, je peux contrôler V, et voilà, je
suis accroupi Maintenant, pour certaines raisons, vous pouvez avoir des fonctions
qui ne sont pas collées. Permettez-moi de cliquer
sur le contrôle Z ici, contrôle Z, le contrôle
Z jusqu'à ce qu'il soit là. Parfois, si vous copiez quelque chose, disons que je voulais copier
cette partie, contrôler X, créer un nouveau graphique, appeler quelque chose de aléatoire, puis copier-coller. Maintenant, je peux voir que lorsque vous le collez,
cela apparaît et indique que certaines références de fonctions n'ont
pas pu être résolues dans
le nouveau contexte. Aimeriez-vous les réparer ici ? Ensuite, tu peux choisir quelque chose. Cependant, vous ne
voulez rien faire ici, cliquez simplement sur Confirmer. Lorsque vous cliquez sur Confirmer, vous pouvez voir que vous avez de nombreuses erreurs à corriger. Cependant, n'
appuyez sur rien. Vous pouvez simplement cliquer
sur Fichier, puis sur Actualiser tous les nœuds. Et cela arrangera
tout pour toi. C'est ainsi que vous pouvez
copier-coller le code d'un
graphique à un autre. Je vais cliquer sur les
commandes juste pour
revenir à ce que j'avais
avant, comme ça. C'est ce que j'ai
fait. J'ai juste copié à partir d'ici et j'ai créé un nouveau graphique. J'en ai créé un appelé Lot
Equip and Drop Weapon. Voici ma logique du lot et du
largage d'armes. Et mon arme Equip Logic. J'ai également ajouté quelques
commentaires pour vous. Lorsque je vous présente
le projet final, vous pouvez essayer d'y jeter un
coup d'œil et c'est bien mieux de le regarder
que d'être désordonné. Comme vous pouvez le voir ici, c'est
l'arme du lot et ainsi de suite. Oui, c'est
tout. Le dernier graphique que j'ai fait est celui de l'arme à tirer
et à recharger Dans celui-ci, nous avons
la logique des armes de tir. Et j'essaie de
l'organiser du mieux que je peux. Voici la multidiffusion de l'
arme de tir, puis j'ai aussi l'
arme à recharger Et voici la logique qui sous-tend cela. Il y a beaucoup d'obstacles à
l'organisation, car il y a plusieurs graphiques d'événements. Nous avons le
graphique normal des événements avec juste le mouvement. Vous ne pouvez pas renommer celui-ci, c'est celui par défaut,
vous ne pouvez pas le renommer Cependant, j'ai créé les autres et je les ai renommés en Loot, Equip, and drop up in and shoot
weapon here. Rechargez également. Il vaut mieux rester
organisé et nous pourrons les
retrouver beaucoup mieux plus tard. Je vais également créer des
catégories pour toutes ces catégories, comme je vous l'ai montré
dans la leçon précédente. Vous pouvez créer des catégories
et les ajouter ici. C'est probablement une bonne chose de
le faire pour toutes ces fonctions, ainsi que pour toutes vos
fonctions. C'est fait,
passons au tournage et rechargeons. Pendant le tournage et le rechargement,
nous avons cette multidiffusion où nous faisons jouer l'émetteur
avec le flash Cependant, créons-en un
nouveau pour l'impact. Faisons
un clic droit et créons de nouveaux événements personnalisés
comme avant. Appelons celui-ci
MC Bullet Impact. Faisons-le passer par le biais d'une
multidiffusion et de manière fiable également. Maintenant, ce que nous devons
savoir, c'est que
nous avons bien sûr besoin de l'arme avec laquelle
nous tirons. Nous avons également besoin du lieu de l'attaque. Où voulons-nous
faire apparaître notre émetteur ? C'est ici que nous touchons
le point de frappe de l'arme. C'est la base de l'arme. Allez-y,
sélectionnez-le et compilez-le. OK, où
veux-tu jouer à ça ? Nous voulons y jouer
chaque fois que nous tournons. C'est la logique du tournage. Nous tirons d'abord avec l'arme, nous jouons l'effet, puis nous jouons
le tracé de la ligne. Souvenez-vous du tracé linéaire Si je sélectionne le type de débogage pour qu'il soit persistant afin
que vous puissiez voir la ligne, c'est la ligne lorsque nous
tournons , c'est
le tracé linéaire Il filme cette ligne. Nous savons maintenant où
nous nous trouvons avec ce tracé linéaire après
avoir réellement touché quelque chose. Voilà ce que cela signifie, bloquer coup une fois que nous avons réellement
touché quelque chose. Nous voulons créer cet effet. Je vais donc simplement
supprimer ce bonjour pour le moment. Jouons à ce MC Bullet
Impact que nous venons de créer. heure actuelle, nous avons
un petit problème car il s'agit d'un hit bloquant. Et ici, il est également dit que l'acteur à succès a
le joueur technologique. heure actuelle, c'est
uniquement en jouant à ce jeu pour les joueurs que nous
devons résoudre ce problème. Au lieu de
les combiner, je vais le supprimer. Prenons le point de blocage
ici et connectons-le. Créons une branche et
allons-y. Si c'est le joueur,
tu peux faire quelque chose. Si ce n'est pas le joueur,
vous pouvez faire autre chose. Donc, au lieu de simplement ajouter ici, nous devons jouer cet effet. Peu importe si c'est le joueur qui a
été touché ou non, nous jouons simplement cet effet de toute façon. Parce que si vous heurtez un mur, vous allez
produire cet effet. Si vous touchez le joueur, vous
allez jouer cet effet. Mais nous n'avons pas vraiment besoin de le
connecter après
le joueur ici. Nous pouvons donc le connecter
avant le joueur. Je vais juste lui donner un
peu d'espace ici. Nous pouvons l'ajouter avant le joueur. Je pense que nous devons également
savoir qui nous avons touché. Parce que si nous touchons le joueur, nous voulons jouer au sang au lieu de simplement jouer à un autocollant ou à une
pierre que nous frappons ici Pour celui-ci, je vais en
ajouter un nouveau. Disons que c'est le hit Actor. Pour l'acteur à succès,
vous pouvez le voir ici. Maintenant, si vous ne savez pas quel type de variable vous devez ajouter, vous
pouvez simplement vous rendre ici. Et cet acteur à succès. Si vous
maintenez la souris dessus, il est écrit Actor Object Reference. Descendons ici, cliquons
dessus et changez-la en référence à un objet acteur ici. Celui-ci, nous pouvons simplement le mettre
au-dessus de celui-ci ici et le compiler. OK, maintenant nous avons également cette
information. Maintenant, pour ce qui est de l'arme, tu
dois la connecter. L'arme est
là-haut, vous pouvez donc simplement cliquer dessus et la faire glisser ici. Et permettez-moi de créer
quelques
notes de route arrière pour rester organisé.
OK, allons-y. Nous l'avons maintenant créé.
C'est réglé. La prochaine étape est le hit. L'acteur à succès est juste
cet endroit si vous cliquez sur la flèche, pour que vous puissiez voir toutes les
valeurs, c'est l'endroit que
nous avons atteint. Après un blocage,
nous prenons cette localisation, nous l'appliquons
à cette multidiffusion Minimisons encore une fois
cela un peu, et nous y voilà. Je vais le connecter
une fois de plus. Et une fois que nous avons touché le joueur, nous pouvons lui infliger des dégâts. Maintenant, ce que nous pouvons faire, oui,
nous pouvons aller ici. Maintenant. Nous n'avons vraiment
rien à faire là-bas. Faisons apparaître l'émetteur
sur place. Nous allons faire apparaître un
émetteur à un endroit. Nous allons également diffuser
du son sur place. Maintenant, si vous voulez avoir des autocollants, si vous avez déjà joué à
Counter Strike, vous savez que les autocollants apparaissent sur le mur. Si
tu tires sur le mur. Je n'ai pas vraiment de
décalcomanies dans ce cours. Cependant, si vous le
souhaitez, vous pouvez à nouveau faire glisser
à partir d'ici et dire «
spawn decal at location Cela va générer des décalcomanies. Les décalcomanies ne sont en fait
que des images. Vous pouvez les faire apparaître sur le mur. Par exemple, si une
balle touche une image, vous pouvez la faire apparaître à l'aide
d'un autocollant situé sur place. Nous avons déjà l'emplacement
ici pour l'emplacement, la taille de
l'autocollant, vous pouvez en faire 111 par exemple, ou quoi que ce soit Ici, vous pouvez à nouveau
sélectionner l'autocollant en fonction de son
contenu dans la structure Vous pouvez ajouter les autocollants
à la structure pour une arme spécifique, etc., mais je n'en ai pas vraiment,
alors supprimons-les Ce sera facile
pour vous une fois que nous aurons fait tout cela 100
fois. Supprimons-le. Maintenant, pour cet émetteur d'origine, nous avons besoin de l'émetteur, nous avons également besoin de l' Allons-y et faisons-le. Sauvegardons tout,
minimisons cela. Passons maintenant à la structure. Ouvrez-le et
ajoutons deux variables. Ajoutons-en un appelé
Bullet Impact VFX. Je vais faire
de la place ici, nous n'avons pas vraiment besoin de
les assembler ,
Bullet Impact VFX Et je vais également en ajouter
une autre, Bullet Impact. X, un pour l'effet sonore et un pour l'effet visuel. Pour l'effet visuel,
il s'agit d'un système de particules. Et allez-y, sélectionnez-le. Pour le suivant, l'
effet sonore est un signal sonore. Et Dieu, et choisissez-le
également pour l'effet sonore. Je vais juste dire oui, juste après l'effet sonore du
tournage. Donc, juste pour rester organisée
et pour l'effet visuel, je vais simplement le déplacer
juste après le clignotement initial Allez-y, sauvegardez tout. Et n'oubliez pas
que nous devons maintenant l'ajouter à ce qu'
on appelle le tableau de données. Allez-y et
ouvrez votre tableau de données. Très bien, je suis là,
dans ma table de données. Et maintenant, pour ce qui est de l'effet d'impact de la
balle, c'est
après le flash initial. Je vais ajouter une
colonne à droite. Je vais l'appeler
du même nom ici. Je peux simplement copier-coller ceci. Passons sur le côté
et collons-le ici. Le suivant concerne également les effets d'impact de
balle après les effets de tir ici. Ajoutez une colonne à
droite et ajoutez-la ici. Nous avons maintenant besoin de références à. Maintenant, pour ceux-ci, j'
utilise simplement ceux
du marché. Au lieu de le
rechercher dans le dossier, parce que je ne sais pas où il se trouve, il
suffit de cliquer sur le dossier
Marketplace et de rechercher Impact. Et puis vous pouvez les voir ici. Ce que je vais utiliser, c'est
peut-être celui-ci appelé Stone Medium pour l'effet des particules d'
impact. Cliquez avec le bouton droit de la souris et
copiez la référence. Si je peux le trouver ici,
copiez la référence et je
pourrai la coller pour
les effets de puce. Je vais juste le
coller pour chacun d'entre eux. Je veux juste avoir le même effet visuel d'
impact
de balle que l'effet sonore. Maintenant, je crois que nous avons ici
ce qu'on appelle l'impact du fusil. Je vais juste
double-cliquer dessus et réduire le volume à 0,2 car
je pense que c'est trop fort. C'est en fait celui du corps, c'est à
ce moment que nous frappons le joueur. Ajoutons également
cela pendant que nous sommes ajoutés. Ajoutons-en un pour le joueur. Ouvrons
à
nouveau la structure et ajoutons une nouvelle variable. Appelons cela impact de balle, impact de
balle,
effets de joueur pour l'autre. Ajoutons celui-ci
pour l'effet sonore. Ajoutons-en un nouveau. C'est ce que l'on appelle Bullet Impact Player
Sound Effect. Je pense que ce sera beaucoup plus intéressant de les
avoir tous les deux. Cherchons à nouveau le système de
particules. Allez-y et
sélectionnez-le pour l'autre. Son Et il suffit de les déplacer à
nouveau vers le haut pour obtenir un impact de balle , un effet
visuel et
un effet sonore. OK, maintenant ils y sont. Allons-y et ajoutons-les à
nouveau au tableau de données. Ouvrez-le et créez
une colonne ici à droite. Créez également une colonne ici à
droite. Celui-ci copie-colle le nom, l'autre aussi, copaame Nous y voilà. Nous pouvons maintenant ajouter un nouvel effet visuel
et un nouvel effet sonore. Revenons au dossier
Marketplace , recherchez heat. Copions ce Body, nous réduisons simplement le
bruit du clic droit. Copiez la référence et
nous pouvons la coller pour l'effet sonore
du Bullet Impact Player ici. Maintenant, nous avons besoin de celui où
nous ne touchons pas le joueur. Je pense que cette
carabine a une surface d'impact. Allez-y, réduisez le bruit à 0,2. Jouons-le et voyons de quoi
il s'agit. OK, ça a l'air bien. Cliquons avec le bouton droit de la souris, copions la
référence et collez-la ici. Maintenant, nous avons besoin d'un impact de balle. L'effet visuel
du joueur en fait besoin d'un peu de sang. Lorsque nous touchons le joueur, je ne suis pas sûr
qu'il en ait un ici. Peut-être que tu peux rechercher du sang. Nous n'en avons pas vraiment ici. Vous pouvez voir que nous n'en
avons que des métalliques. Nous n'avons d'impact que sur
la pierre et le bois. Cependant, copions simplement
la version métallique pour le moment. Il faut un peu de
temps pour entrer dans le système de particules ici et cela ne fait pas vraiment
partie du cours. Ce sera un peu trop avancé, cela prendra du temps. Copions simplement l'étincelle
ici. Spark Medium. Cliquons avec le bouton droit de la souris et
copions la référence. Et vous pouvez également les coller ici dans l'
effet visuel de celui-ci. Maintenant, si tu
veux vraiment entrer ici et changer quelque chose,
tu peux l'ouvrir. Vous pouvez peut-être cliquer sur
Color over Live. Vous pouvez cliquer ici,
ici, sur cette flèche
et sur cette constante. Et tu peux essayer de
jouer avec les couleurs. Vous pouvez toujours essayer de
jouer avec. Rendez-le plus rouge
pour que la couleur ici, au fil de la vie, vous puissiez
jouer avec la couleur. Et avec les flèches
ici, rends-le plus rouge, pour qu'il ressemble à du sang. Vous pouvez toujours le faire
, ou vous pouvez également
vous rendre sur le marché d'Epic
Games et télécharger des systèmes d'articles sur
le sang. Il y en a beaucoup
sur le marché. Très bien, maintenant nous
les avons ajoutés. Et revenons
au tableau de données. Et maintenant, nous pouvons cliquer sur Fichier et télécharger et télécharger
le fichier CSV, encore
une fois ici dans
mon dossier de téléchargement. Permettez-moi de renommer à nouveau cette table de
données. Et laissez-moi accéder au dossier
des tables de données. Permettez-moi de clore ceci pour le moment. Permettez-moi de faire glisser le tableau
de données ici et de tout mettre à jour. OK, alors maintenant
c'est verrouillé. Passons au
joueur, à la base de joueurs. Et maintenant, nous allons simplement
copier tout cela. Collez-le pour ne pas
avoir à le réécrire. C'est exactement ce que nous
avons fait par le passé. Faisons glisser l'arme,
trouvons le nom de l'arme, informations sur
l'arme à partir d'ici. Je vais juste cacher
les épingles non connectées. Ce dont j'ai besoin dans celui-ci,
c'est de l'impact de balle, l'effet impact de balle, du joueur d'effets, des effets d'impact de
balle
et du lecteur d'effets. J'en ai besoin ici.
Ensuite, je pourrai procéder à l'effet
des particules
au lieu de me contenter du roi, par
exemple, l'
impact de la balle, les effets ici. Nous pouvons toujours demander si c'est le
joueur que nous avons touché ou non. Parce que si c'est le
joueur que nous avons touché, nous voulons jouer à celui-ci. Ce que nous pouvons faire, c'est nous
inspirer de cet acteur à succès et dire ou non, mais juste l'
acteur a un tag juste avant. Tout comme ce que nous avons fait ici quand nous avons touché
le joueur ici. Nous demandons si l'acteur
possède le tag player, afin de savoir si c'est le joueur. Nous pouvons faire la même
chose ici, selon que l'acteur
a le tag player ou non, alors nous savons que c'est le
joueur que nous avons touché ou non. Ensuite, ce que nous pouvons faire, c'est
prendre ceci et dire « sélectionner ». Et nous pouvons prendre le nœud sélectionné et le brancher ici. Faux, ce n'est pas le joueur
alors nous voulons juste jouer cet effet si
c'est le joueur, si c'est vrai, l'acteur
a le tag player. Nous voulons jouer à
cet effet de joueur. Maintenant, cela va produire
un effet visuel selon que nous touchons
le joueur ou non. OK, cool. Pour le lieu, c'est le lieu de frappe, pour l'échelle de rotation,
tout est pareil. Rien n'a vraiment
besoin d'être changé. Pour ce qui est de l'effet sonore, je vais
faire de même à partir d'ici. Et dites « select » selon qu'il
s'agit du joueur ou non. Voilà, celui-ci. Allez-y
, connectez-le à nouveau. Si ce n'est pas l'effet sonore
normal du lecteur, si c'est le lecteur, l'
effet sonore du lecteur est identique à
celui de l'endroit où
il s'agit de l'endroit touché. Je vais juste ajouter
quelques notes de redirection et organiser ce code ici J'ai ajouté quelques notes
de redirection et je vais
tout enregistrer maintenant Permettez-moi de monter ici et vérifier que je n'ai rien
oublié Maintenant, nous avons ajouté
cela, nous avons
également ajouté l'effet visuel et
l'effet sonore l'effet visuel et
l'effet sonore ici dans le code chaque fois que nous tournons
et que
nous touchons quelque chose, nous allons jouer
l'effet sonore et nous allons également
jouer l'effet visuel. Et l'acteur à succès est bloqué. L'arme est également
bloquée, et le lieu de frappe
est également bloqué. Sauvegardons tout
ici et essayons-le. Allons sélectionner des terroristes. Je vais sélectionner les quatre. Allez-y et tirez. Je peux entendre le son, si tu
peux entendre le son. Génial. OK, permettez-moi de déconnecter cette
partie du code pour l'arme de chasse. Je vais juste déconnecter la
partie du code consacrée à l'arme chote n'entends que les impacts de la balle Je n'entends que les impacts de la balle
juste pour voir si
cela fonctionne correctement. Je vais juste faire
le shooting d'AK ici. Maintenant, vous pouvez voir que je suis
en train de tirer. J'en vois l'impact. J'
entends le son aussi. Si c'est loin, je n'
entends pas le son. Si c'est proche, vous pouvez
voir qu'il se rapproche. Ça a l'air beaucoup mieux. Si vous voulez augmenter
l'impact, vous pouvez toujours aller ici
et augmenter l'échelle. Quelque chose d'un peu dingue. Vous pouvez vraiment
voir la différence. L'échelle est désormais de dix. Je peux
jouer, je peux filmer quelque chose. Et maintenant tu peux voir à quel point ça devient
dingue. Maintenant, vous pouvez voir que
l' effet semble mauvais
parce qu'il est tellement amplifié. Cependant, je pense que le
tête-à-tête, c'est bien. Si vous le souhaitez, vous
pouvez toujours le faire 1,5 pour qu'il soit un peu
plus grand si vous le souhaitez. Mais je pense que c'est bon pour le moment. Voilà à quoi ça ressemble. Supprimons maintenant cette ligne. Nous n'avons pas vraiment besoin de voir cette ligne de débogage,
je peux donc appuyer sur aucune Je veux aussi l'essayer sur le client juste
pour m'assurer qu'il fonctionne
également sur le client , pour ensuite l'
essayer sur le client. OK, sympa. Encore une fois, si vous souhaitez modifier la
couleur de l'impact, vous pouvez toujours accéder
au système de particules et cliquer sur la couleur. Et vous pouvez également changer la couleur pour cela. Mais maintenant, vous pouvez voir
que cela fonctionne très
bien, et cela
fonctionne également là-bas. Cependant, nous ne pouvons pas vraiment
le voir là-bas car
il est très petit. C'est ici. Vous pouvez essayer, vous pouvez le voir ici. Génial. Ça a vraiment l'air bien. Sympa. OK, c'est terminé et
je vais juste reconnecter cette partie , tout compiler
et enregistrer. Nous avons maintenant l'effet de prise , l'effet
visuel et l'effet
sonore. Encore une fois, si vous souhaitez ajouter un
autocollant comme Counterstrike, vous pouvez également frapper
d'ici et dire Et vous pouvez faire apparaître un autocollant sur
place, comme avant. Vous pouvez toujours sélectionner ici
, sélectionner un nœud et
connecter le lecteur. Si c'est le joueur que vous avez touché, vous ne voulez rien faire
apparaître, vous pouvez le faire si c'est le joueur ou si ce n'est pas
le joueur que vous avez touché Vous pouvez toujours lancer une
balle sur le mur. Tu peux toujours le
faire. Compilons et sauvegardons tout et
passons au suivant.
156. 10.27 Propagation de balles: Maintenant, au lieu d'avoir
toutes les balles touchées au milieu du curseur, maintenant vous pouvez voir si
je tire quelque chose, il touche toujours au
même endroit Au lieu de cela, vous pouvez en fait ajouter un bullet spread. Nous pouvons le faire comme
dans Quinzaine par exemple. Si vous appuyez sur le curseur, il n'atteint pas vraiment
le même endroit, 2047 Si tu continues à tirer. Pour ce faire, c'est vraiment très simple du
point de vue des puces. Vous pouvez voir ici que nous
créons ce tracé linéaire. Avant de le faire, prenons
tout cela, copions-le et
collons-le ici. Je pense que je le prouverai plus tard, car ici je
ne veux pas tracer
une ligne si je
n'ai plus de MO, etc. Peut-être que je veux améliorer cela en
supprimant réellement la séquence, car nous n'avons alors pas besoin
de copier-coller ce code. Nous pouvons simplement ajouter cette
partie juste après. Mais gardons-le pour le moment, comme ça et voyons
où nous allons avec. L'emplacement final, ce que
je veux en faire, je veux le rendre un peu aléatoire Emplacement de départ et d'arrivée. L'emplacement de départ
convient au tracé de la ligne. Cependant, pour ce qui est de l'emplacement final,
nous allons le rendre aléatoire. La course en ligne ne se déroule pas toujours
au même endroit. La façon de le faire
est très, très simple. Nous pouvons prendre cet emplacement
final dès maintenant et nous pouvons le prendre
et dire break vector. Maintenant, à partir de celui-ci,
ce que nous pouvons faire, c'est simplement le déconnecter
d'ici. Pour l'instant, supprimez celui-ci, car nous n'avons
que celui-ci ici. Et vous pouvez simplement cliquer,
glisser-coller ici. En fait, à cet endroit final,
nous cassons le vecteur. Je peux donc voir les x, y et z, et je peux
randomiser la valeur ici Ce que je veux faire,
c'est utiliser celui-ci appelé random float in range. Maintenant, nous n'avons pas vraiment
de vecteur aléatoire à portée, sinon je l'aurais utilisé. Mais nous avons une fonction appelée
random float in range. Il va donc choisir un flottant aléatoire en
fonction d'un nombre aléatoire, en fonction de ce que vous lui donnez
comme valeur minimale et
comme valeur maximale. D'ailleurs, c'est aussi
ainsi que vous lancez un dé. Vous lancez un dé en écrivant ici, la valeur minimale des
dés doit être un, la valeur maximale
des dés doit être six. Ensuite, il lance une
valeur aléatoire de 1 à 6 pour lancer les dés. Et on a l'impression d'avoir un chiffre ici. Nous allons le faire ici
pour la valeur minimale. Nous voulons juste prendre
ce x et dire, écrivons d'
abord moins, disons 200. Essayons 200. Ensuite, le flottement
maximum ici, disons plus 200. Il va prendre
la position X, il va trouver
un nombre aléatoire. Nous donnons ceci x -200
Prenez ceci x plus 200. Entre cette plage,
vous allez trouver un nombre aléatoire avec
ce nombre aléatoire
que nous voulons transformer en vecteur. Prenons cette extrémité et disons vecteur pour pouvoir le
reconstituer et
sélectionner ce vecteur de création. Ensuite, nous pouvons le
rebrancher sur le x ici. En gros, nous modifions simplement la valeur x et nous rebranchons dans
le vecteur comme ceci Faisons de même
pour l'autre. Je vais le copier-coller. Peut-être que vous pouvez également
créer une fonction à partir de celle-ci, mais je pense que ce ne
sera pas nécessaire. Ajoutons-le ici. Et ajoutez également le x ou le
y et le Z. Branchons le Y. Branchons le
Z comme ceci OK, maintenant
c'est terminé et maintenant il va trouver une charge et une plage
aléatoires. Et il va randomiser
notre vecteur en
fonction de la valeur aléatoire qu'il trouve
ici Et permettez-moi d'ajouter quelques notes de redirection pour le
rendre plus beau OK, alors c'est ici. C'était en fait ça. Nous avons donc terminé. C'était très, très facile. Refaisons le débogage et jouons juste
pour voir à quoi cela ressemble Maintenant, en tant que terroriste, je peux tirer ma
balle et vous pouvez voir quand j'ai tiré plusieurs fois. Il ne tirera pas
au milieu du curseur, il trouvera
un emplacement aléatoire, parfois au milieu,
parfois à l'extérieur du curseur. Ce que vous pouvez voir, c'est qu'il ne filmer au même
endroit encore et encore, c'est ainsi que vous pouvez
randomiser le spread des puces Vous ne filmez pas
au même endroit. Ce que vous pouvez faire si vous
voulez un spread plus important, vous pouvez toujours augmenter
ces chiffres à nouveau, si vous voulez l'améliorer, vous pouvez toujours à juste titre le
promouvoir au rang
de variable et connecter cette variable à chacune d'entre elles. Et vous pouvez simplement
modifier une variable et elle les modifiera
toutes en même temps. Cela vous fera gagner
beaucoup de temps, mais je pense que je vais
le maintenir à 200 si vous le souhaitez. Vous pouvez augmenter la
portée des balles et
elles toucheront au milieu. Mais comme vous pouvez le voir,
si je touche de près, ce sera
beaucoup plus facile à toucher. Cependant, si je frappe loin, il sera plus difficile
d'atteindre la cible. Je ne suis pas toujours
au milieu. Une méthode très simple pour le faire. Et sauvegardons tout, passons à la suivante.
157. 10.28 Placer correctement les armes: heure actuelle, je pense que nous en sommes
au moment où nous pouvons simplement
placer les armes, les armes
que nous avons ici. Je vais juste tous les
supprimer. Tu peux le faire rapidement. Vous pouvez cliquer
ici, ancien shift, cliquer sur le dernier, supprimer, et je vais également
supprimer celui-ci. Ce que vous pouvez faire maintenant, c'est que nous pouvons
passer à des plans d'armes. Il vous suffit maintenant de les
faire glisser et les
placer autour du
niveau, par exemple. Tu peux placer un AK
ici si tu veux. Vous pouvez activer
le snapping ici. Je pense que ce sera
beaucoup de pouvoir placer l'AK et de le faire glisser un peu vers le
haut pour qu'il ne soit pas
au sol comme ça. Ce que tu peux faire, c'est que je
voulais juste l'avoir à l'arrière. Je regarde juste
à quelle distance nous
sommes de ce mur. Peut-être que
nous pouvons l'ajouter ici. En fait, permettez-moi de le
faire glisser ici derrière couverture, de maintenir la touche Alt enfoncée
et de faire glisser le pointeur pour le copier. Je pense que je vais augmenter
celui-ci à 500 au lieu de maintenir la touche Alt enfoncée
et de faire glisser le pointeur comme ça. Je pense que je vais le copier comme
ça plusieurs fois. Ici, ici et ici. Faites-le simplement comme vous le
souhaitez en fonction de votre niveau. Vous n'êtes pas vraiment
obligé de suivre ici. Je le fais juste
au hasard. Maintenant, nous l'avons. Peut-être que nous pouvons également
en ajouter un ici. Maintenant, nous l'avons. Et ce que vous pouvez
faire, c'est ajouter un quatre au milieu ici. Peut-être que je dois juste
réduire à nouveau mon snapping à 100 ici, je pense que je vais
l'ajouter au milieu Je dois plutôt le réduire
à 50 ici. Et puis augmentons,
remontons-le ici, augmentons-le encore à 100, augmentons-le jusqu'à l'autre. Mets-le à nouveau à 500,
comme avant. Continuez à le faire glisser comme ça. Maintenant c'est entre le K
ici, ici et ici. Et vas-y et
continue comme ça. OK, maintenant nous l'avons et si vous regardez, ce que vous pouvez faire semble
intéressant. Vous pouvez également placer le pistolet manière à le faire glisser
dans le niveau Laissez-moi simplement le réduire
à 100 à nouveau. Et placez le pistolet, poussez-le vers le haut comme avant, comme ça si vous le souhaitez, vous pouvez ajouter le pistolet pour qu'il
ressemble à tout l'espace ici Si je l'augmente simplement à 50, vous pouvez ajouter le pistolet comme
celui-ci dans toutes les cases Laisse-moi juste aller de
l'avant et le faire. OK. Maintenant, j'ai
placé les pistolets Maintenant, vous pouvez voir des pistolets
jusqu'ici, le K et le quatre
jusqu'ici, si vous le souhaitez En fait, je ne veux pas
placer d'armes devant ici parce que c'est là que
le joueur apparaît. Je peux même les déplacer un
peu plus vers l'avant. Ils n'apparaissent donc pas
au-dessus des armes. Je vais juste déplacer
quelque chose ici. Nous devons également nous souvenir des
points d'apparition de celui-ci. Allez-y et
sélectionnez-les tous. Déplacez-les d'un pas vers
l'avant comme ceci. De plus, pour ces armes, je veux toutes les sélectionner. Cliquez sur le premier, faites défiler Hold Shift vers le
haut et
cliquez sur le dernier. De plus, je dois sélectionner
le boîtier Hold Control. Et je vais simplement les
sélectionner toutes ici. Et cliquons sur l'outil
de déplacement,
maintenons la touche Alt enfoncée et faisons glisser le pointeur pour les
copier toutes. Cliquez sur pour effectuer une rotation de 180 degrés. Permettez-moi de les
maintenir ici et d'essayer de les mettre
au même niveau. Il est donc normal que les deux parties vérifient si elles sont au même niveau et qu'elles
le sont maintenant.
Ce que je veux faire maintenant, c'est simplement les faire glisser l'autre côté et
les placer quelque part, comme ici. Je pense que c'est également là que
les choses se situent de l'autre côté. Ils sont tout près du mur. Ils sont également très proches
du mur. Peut-être un autre comme celui-ci, nous devons les faire
glisser de l'autre côté. C'est quelque chose ici.
C'en est un de plus, je crois que c'est à couvert comme ça. Maintenant, les deux côtés sont identiques. Si vous cliquez sur Jouer maintenant, nous
pourrons vendre Counter Terrorist. Maintenant, par exemple, vous pouvez
voir qu'ils sont au sol. Nous pouvons prendre un
pistolet et nous pouvons également choisir l'une
des autres armes Et oui, maintenant
tout fonctionne. Ce que vous pouvez faire
au lieu de
prendre d'abord un pistolet
parce que c'est ennuyeux, peut-être que pour passer au fusil, vous pouvez le changer. Vous avez donc d'abord le fusil
, puis les pistolets derrière. OK, donc maintenant que vous
avez placé les armes, vous pouvez également les
placer ici si vous le souhaitez. Vous pouvez placer, si vous
fabriquez une autre arme, comme une arme spéciale,
vous pouvez la placer ici. Vous devez donc monter cette
rampe pour prendre cette arme. Ça va être cool aussi. OK, donc chaque fois que vous
aurez placé vos armes, passons à
la leçon suivante.
158. 11.01 Créer l'interface utilisateur Health & Armor: Très bien, nous en sommes maintenant à
l'armure de santé et aux dégâts, et nous sommes prêts à créer
l'interface utilisateur de santé et d'armure. Alors allons-y
et passons à l'interface utilisateur. Et nous avons déjà notre interface utilisateur principale, alors ouvrons-la
ici à gauche Je veux créer une interface utilisateur d'
armure et de santé. OK, donc ce que je veux concevoir, je veux d'abord vous le montrer afin que vous puissiez le voir réellement. Je veux concevoir une interface utilisateur comme celle-ci. J'aime bien te le
montrer. Donc c'est possible, nous sommes sur la même longueur d'onde ici et vous
savez ce que vous faites. Nous sommes en train de faire celui-ci. Et c'est à ça
que je voulais ressembler. Encore une fois, comme je vous l'ai déjà dit, essayez d'y jeter un coup d'œil, essayez de le décomposer. Donc, vous savez, si
vous voulez créer des boîtes
horizontales, des boîtes
verticales, superpositions, comme
nous l'avons fait auparavant, c'est
ce que nous
allons créer D'accord, nous avons d'abord besoin
d'une superposition parce que nous
avons un arrière-plan et quelque chose dessus Faisons-le glisser dans le panneau
du canevas ici.
Et maintenant, il est ajouté. Maintenant, cliquez dessus. Et
pour le point d'ancrage, je vais le changer en
bas à gauche et écrire 00 dans la position pour
le placer ici dans le canevas pour l'
aligner sur le y, écrire un, maintenant il est
là-haut à la position 00. OK, pour celui-ci, nous
voulons avoir une image, nous voulons avoir un arrière-plan
, l'image ici. Je veux qu'il en soit
de même qu'ici. Au lieu de simplement faire
la même chose. Ce que je peux faire ici,
c'est simplement maintenir la touche Maj enfoncée et cliquer avec le bouton droit de la souris pour le copier. Ou vous pouvez simplement
cliquer avec le bouton droit de la souris et copier. Vous pouvez accéder à cette
image touche Maj enfoncée et
cliquer avec le bouton gauche de la souris pour la coller. Juste comme ça pour
l'alignement, il suffit de remplir le
tout pour la superposition Maintenant, je veux qu'il soit dimensionné en
fonction d'un contenu comme celui-ci. Quelle que soit la taille de l'image que
nous avons ici elle sera automatiquement
redimensionnée avec celle-ci. Pour l'espace sur l'écran. Je voudrais l'éloigner un peu, 30 dans le X et -30 dans le Y. Nous avons un peu d'espace ici Ce n'est pas sur le bord du gouffre. OK, compilons maintenant. Voilà à quoi ça ressemble.
Ajoutons maintenant la barre de santé. Ajoutons une
boîte horizontale car nous voulons une icône et une
barre de progression à côté. Ajoutons donc une
boîte horizontale à cette superposition. Pour cette boîte horizontale. Ajoutons d'abord une
image car nous voulons une icône. Ensuite, ajoutons
la barre de progression. Cependant, n'oubliez pas que la
barre de progression est surmontée de texte. Nous avons en fait besoin d'une superposition. Tout d'abord, cherchons une superposition et plaçons-la
ici pour cette superposition Trouvons la barre de progression. Pour la barre de santé, nous
utilisons une barre de progression, puis nous avons du texte
dessus pour afficher le niveau de
santé du joueur. OK, maintenant cela semble un peu
confus pour cette superposition. Voyons ici que nous avons
cette boîte horizontale pour cette barre de progression. En gros, je veux
tout remplir dans cette superposition. Mettons-le juste au milieu. En cliquant sur le cadre horizontal, je vais l'aligner
au milieu de l'image. Sélectionnons l'icône. Maintenant, nous n'avons pas d'icône pour le
moment. Passons aux icônes. Je veux que vous consultiez
les supports de cours. Si vous vous contentez de consulter le matériel
pédagogique ici, je vais dans l'interface utilisateur pour accéder aux icônes et importe la santé sur l'icône en forme de cœur et sur
l'icône en forme de bouclier. Cliquez et faites-les glisser
ici. Ils sont maintenant importés. N'oubliez pas de cliquer dessus, de changer le groupe de textures en
UI comme avant. Et les paramètres de compression l'interface
utilisateur vont dans le
même sens. Changez-le en UI et changez-le. Voyons ici l'interface
utilisateur de
T. Maintenant, nous pouvons passer à l'interface utilisateur. Nous pouvons cliquer sur l'image, rechercher CO ou icône. Cherchons simplement
le cœur un sur le cœur. Sélectionnez-le. Vous
pouvez maintenant voir des expositions. Et cela est dû
à l'alignement. Je voulais juste l'avoir
au centre comme ça. Et je vais en changer la
taille à 45, 45 peut-être. En fait,
changeons-le simplement à 40 par 40. Maintenant, pour cette
barre de progression, cliquons dessus. Pour la barre de progression,
vous pouvez voir ici que je peux augmenter ou
diminuer le pourcentage. Et cela augmentera et
diminuera la barre de progression. Maintenant, pour le style, nous avons besoin d'une
image d'arrière-plan et d' une image de fond et d'une image de marque. Maintenant, pour le contexte, je veux juste cliquer ici. Et je pense que nous pouvons
rechercher une zone de saisie. J'ai ici des boîtes de saisie que
nous pouvons utiliser comme arrière-plan. Et nous pouvons simplement utiliser cette
seule image, la barre de saisie étant foncée. Allez-y, sélectionnez-le.
Tu te souviens de ce que j'ai déjà dit ? Remplacez-le en case et
sélectionnez également 0,5 comme marge. Il s'étire donc correctement
pour l'image Phil. Si vous recherchez simplement Phil, j'ai la
barre de progression, Phil, pour vous. Permettez-moi simplement d'importer l'autre car je ne l'ai pas encore
importé. Vous l'avez probablement déjà
importé ici. Permettez-moi simplement de passer à mes anciens documents de
coûts, à savoir les images. Et permettez-moi d'importer celui-ci
rouge, rouge, Phil. Permettez-moi de l'importer ici.
Cliquez dessus, modifiez I et modifiez cette interface
utilisateur pour enregistrer. Et laisse-moi y retourner. Sélectionnons le remplissage rouge. Allez-y et sélectionnez celui-ci, également pour l'image de la marque. Vous pouvez simplement le copier. Collez-le ici. Rappelez-vous pour la marge ce que j'ai dit tout à l'
heure, 0,5 pour la marge. Celui-ci passe à nouveau à la
case et à 0,5 pour la marge. Maintenant, c'est corrigé et vous pouvez voir que la couleur n'
est pas correcte. Il montre cette étrange couleur
bleutée, bleu sarcelle. Ce n'est pas ce que nous voulons. Cela est dû au fait que le
remplissage et l'opacité des couleurs sont de cette couleur bleu clair Vous êtes passé au blanc.
Vous pouvez voir la bonne réponse sur ce que vous avez
sélectionné ici. Laissez-nous compiler maintenant. Agrandissons-le un peu pour qu'il soit mieux adapté à
l'image de marque. C'est ici que vous pouvez
contrôler la taille. Si vous essayez de modifier la taille de l'image sur ceux-ci,
cela ne fonctionnera pas. Permettez-moi de passer à
la taille de l'image de marque
et vous pouvez la modifier ici la taille de l'image de marque
et vous pouvez la modifier Élargissons-le simplement. Par exemple, 350
Lee par exemple, 60 ici en hauteur. Voici à quoi cela ressemble maintenant, 350,60. Vous pouvez à nouveau copier la taille de l'image et la coller
par-dessus les autres Vous pouvez cliquer sur le
texte ici et l'aligner au milieu de
cette barre de progression. Changeons le texte
en rubic semi-gras, ce que nous avons utilisé jusqu'à présent Nous allons également changer
cette taille à 20. Je le réduis, écrivons juste un
nombre aléatoire pour le moment. Écrivons 76. Je veux juste écrire un chiffre que nous puissions voir ce que nous faisons. Nous allons changer cela plus tard de
manière dynamique dans le jeu, mais voici à quoi cela
ressemble en ce moment. Ajoutons un plan. Je vais en ajouter deux à la taille du contour
, puis changer
la couleur du contour. Par exemple, vous choisissez
ce sélecteur de couleurs. Vous pouvez choisir une couleur ici. Je pense que je vais simplement choisir la couleur de
fond de cette barre de
progression. OK.
Cliquez à nouveau dessus, et je vais également
ajouter une ombre si vous écrivez 66 ici pour
l'ombre par exemple. Vous pouvez donc le voir clairement
et vous pouvez cliquer sur cette couleur d'ombre pour changer l'alpha en un. Il s'agit de l'ombre du texte. Pour ce qui est de l'ombre, je vais utiliser le décalage
de trois par trois. Et je vais changer l'
opacité à 0,5. Ce
n'est pas trop visible quand on le
regarde d'ici, il est beaucoup plus beau OK, ça a l'air sympa. Nous pouvons maintenant désactiver
le contour en pointillés afin de voir à quoi il
ressemble en ce moment Je pense que ce que nous pouvons faire maintenant, cliquer sur, voyons voir ici, sur la case
horizontale. Et nous pouvons lui donner un peu d'espace. Ce que nous pouvons faire ici
pour le rembourrage gauche et à droite, je vais le donner, par exemple,
30h30 . Voilà à quoi
ça ressemble. Maintenant, on l'
éloigne des côtés. En fait, je veux en donner plus. Cliquez à nouveau sur l'
horizontale, 35 par 35, puis en haut et en bas. Je pense que je vais le
donner d'ici 30 par 30. Voilà à quoi ça ressemble maintenant. OK, laissons un peu d'
espace entre les icônes. Et cela se fait si nous
recherchons un espaceur et le plaçons entre
l'icône et
la case horizontale. En fait, pas ici. Faisons-le glisser jusqu'ici. Entre l'image
du cœur et la
barre de progression. L'entretoise est là. Mettons le x, donnez-lui peut-être un espace de 15. Donnons-lui en
fait plus d'espace. Je pense que nous pouvons
lui donner plus d'espace pour l'entretoise, peut-être 20 à la place Je pense également que je vais lui donner plus d'espace ici pour la boîte
horizontale ci-dessus. Au lieu de 35, je vais en
donner à 40. gauche et la droite seront 40, et le haut et le bas seront 30. Voilà à quoi ça ressemble maintenant, a l'air sympa, on peut compiler maintenant. Copiez-collez ceci et
modifions-le en tant qu'armure pour la boîte
horizontale. Il suffit de cliquer ici
et de cliquer sur Contrôle. Vous pouvez voir maintenant qu'ils sont les uns
au-dessus des autres parce que nous avons en fait besoin d'une boîte verticale pour les placer les uns
au-dessus des autres. Nous avons oublié de le faire.
Cherchons une boîte verticale. Voyons juste
ci-dessous l'image d'arrière-plan. N'oubliez pas qu'il s'agit de la superposition, l'image d'arrière-plan Ensuite, nous pouvons avoir
la boîte verticale où nous avons la
santé et l'armure. Mettons-les dans
cette case verticale. Maintenant, en ce qui concerne la boîte horizontale, au lieu d'avoir le
rembourrage à l'intérieur, vous pouvez voir qu'elle est ajoutée en
double, car elle ajoute un rembourrage pour les deux.
Copions simplement ceci. Je vais cliquer sur cette
flèche pour la supprimer. Cliquez également sur la
case horizontale ici. Supprimez-le, ajoutez-le plutôt pour la boîte
verticale, le parent de ces deux. En cliquant ici, collez le rembourrage que vous aviez auparavant, et
maintenant vous l'avez ici Ajoutons simplement à
nouveau une entretoise entre les deux car ils sont trop
rapprochés ici pour l'espacement C'est le Y. J'en
ajouterai 15 pour l'icône. Modifions-le en bouclier d'icônes. Remplaçons-le par celui-ci
pour la couleur du remplissage. Remplaçons-le en violet. Permettez-moi également de le copier-coller
ici. Je pense que oui, tout
devrait bien se passer pour le moment. Maintenant, si vous le souhaitez, vous
pouvez également cliquer dessus. Par exemple, cette
image. Cette image. Modifions-le en fonction de la
visibilité de Hit Testable. Nous ne pouvons pas interagir avec
elle, avec la souris, je crois celle-ci et celle-ci. Et nous pouvons également modifier la
visibilité pour atteindre Testable. Oui, ça devrait être tout, juste pour que la souris n'
interagisse pas avec eux. Si vous devez interagir
à l'avenir, nous en changerons le nom ultérieurement lorsque
nous en aurons besoin en tant que variables. Nous pouvons donc changer
les noms ici, mais pour le moment c'est terminé. Voici à quoi ressemble notre
volet santé. Si vous cliquez sur Plate pour voir à quoi
cela ressemble, agrandissez l'écran. Voilà à quoi ça
ressemble. Ça a l'air sympa. Nous avons donc maintenant la santé et l'armure et nous pouvons y ajouter des
fonctionnalités.
159. 11.02 Appliquer des dommages: Maintenant que nous sommes en bonne santé, allons-y et
infligeons quelques dégâts. Si nous allons dans la base de joueurs, nous avons
maintenant ce projectile, ce tracé linéaire que
nous sommes en train de tirer ici Ce que nous voulons dire, c'est que si l'
acteur possède le joueur technique, nous voulons lui infliger des dégâts. Pour infliger des dégâts, il
suffit faire glisser le pointeur d'ici et de
dire « appliquer des dégâts ». Vous avez cette fonction
et vous êtes très facile à utiliser, elle va l'éliminer. Nous avons encore de l'espace pour travailler. Ici, nous sommes en train d'infliger
des dégâts. Vous devez maintenant préciser montant des dégâts que
vous souhaitez infliger ? Supposons maintenant,
par exemple, que nous ayons un nombre statique. Disons 20. Maintenant, nous
devons également préciser qui est l'acteur endommagé.
C'est le joueur. Nous sommes en train de trouver l'acteur à
succès. Depuis l'acteur à succès, vous pouvez cliquer, faire glisser et le brancher. OK, maintenant nous avons
l'acteur endommagé. Essayons-le
et voyons si cela fonctionne pour tester et voir si cela
fonctionne réellement. Allons-y et, en bas,
provoquons n'importe quel événement dommageable. Maintenant, avant de
parler des dégâts, je voudrais
créer un nouveau graphique, afin de ne pas y mettre
trop de choses . Tout
cela va bien. Mais lorsque nous appliquons des dégâts, je veux passer à un autre
événement ici ou à un autre graphique. Appelons celui-ci des points de vie, des armures de santé
et des dégâts. Appelons ça comme ça. À l'intérieur d' ici, si vous cliquez avec le bouton droit de
la souris et dites « Tout dommage ». Désormais, cet événement est joué chaque fois qu'un joueur
subit des dégâts. Nous pouvons simplement essayer d'imprimer une chaîne à l'écran
pour voir si cela fonctionne. Et faites glisser ces dégâts
dans cette chaîne, cela affiche les dégâts que
nous infligeons au joueur. Maintenant, si nous cliquons sur Jouer
et sélectionnons Terrorist ici, puis Terris ici Si je prends simplement une arme
et que j'essaie de tirer sur le joueur, vous pouvez voir qu'elle en affiche
20 à l'écran, car maintenant j'inflige
20 dégâts à ce joueur. OK, ce code fonctionne. Maintenant, si je reviens en arrière, au lieu d'
infliger 20 dégâts comme un chiffre statique, repartons à l'intérieur d'
une structure, ouvrons la
structure qui se trouve à l'intérieur d'ici. Ajoutons deux variables. Ils sont à la fois un
flotteur et un flotteur. maintenant à la première, comme
nous voulons l'appeler, appelons-la blessure à la tête. Maintenant, ce que vous pouvez faire, vous
pouvez le rendre très précis, par
exemple, combien de dégâts
devriez-vous faire lorsque vous vous cognez les jambes ? Combien de dégâts devriez-vous faire lorsque vous vous cognez les bras, etc. ? Mais pour que
ce cours soit plus court, complexe ou plus court
et simple,
il devient plutôt très
long pour ce cours, il
suffit de le simplifier un peu. Je vais faire un dommage à la tête et un autre
au corps. Dommages corporels, deux
types de dommages. Cependant, je vais vous
montrer comment vous pouvez faire le reste. Cela prend un peu plus de
temps, mais le processus est le même. OK, maintenant nous l'avons
à l'intérieur de notre structure. Maintenant, nous devons également l'
ajouter à la table de données. Alors allez-y et ouvrez le tableau de
données à l'intérieur d'ici. Maintenant, avant de le faire, je
vais déplacer les dégâts ici, juste pour
rester un peu plus organisée. Après le MO, je vais m'occuper des dommages à la tête et au
corps ici. Maximisons-le après le maximum de MO. Permettez-moi d'ajouter
deux colonnes à droite. La première est
appelée lésion de la tête, la suivante est
appelée lésion corporelle. Ensuite, vous devez spécifier l'
ampleur des dégâts que vous infligez. Maintenant, disons
par exemple que pour les dégâts à la tête, j'inflige 20 dégâts, je soustrais 20 Pour les dégâts corporels, je
n'en fais que dix. Je vais faire de même. En fait,
modifions-le simplement pour voir s' il y a une différence entre
les quatre. Supposons que nous
infligeons 15 dégâts et cinq
dégâts, soit huit dégâts pour le pistolet,
c'est beaucoup moins Dix dégâts par exemple. Et disons cinq dégâts ici. OK, vous pouvez donc ajuster cela comme vous le souhaitez. Téléchargez-le maintenant sous
forme de fichier CSV et laissez-moi accéder à mon
dossier de téléchargement à l'intérieur d'ici. Je vais le renommer à
nouveau en T Weapon Info. Maintenant, à l'intérieur d'ici,
passons encore une fois aux tables de données. Et permettez-moi de fermer ceci et d'importer le tableau de données ici. OK, maintenant que nous avons
ces informations, sauvegardons tout. Maintenant, il se bloque parfois
chaque fois que vous essayez de sauvegarder et que vous modifiez quelque chose
à l'intérieur d'une structure. C'est normal, comme c'est
souvent le cas . Lorsque vous
modifiez cette structure et que vous ajoutez de nouvelles valeurs
et des éléments de ce genre, elle se bloque généralement N'oubliez pas de sauvegarder votre travail. Assurez-vous, laissez-moi simplement
ouvrir le tableau de données
pour m'assurer que toutes mes valeurs sont connectées, comme avant et ce n'est pas Vous pouvez voir que c'est
ici. Il se bloque parfois et vous
devez le refaire ici Mais heureusement, nous n'
avons pas grand-chose à faire, il suffit de le faire glisser vers le
haut, puis je pourrai simplement faire glisser à nouveau le
tableau de données ici. OK,
sauvegardons maintenant tout et espérons-le, ne nous écrasons pas.
Maintenant ça a marché. Ouvrons maintenant
la base de joueurs. Dans le lecteur,
ouvrez la base de joueurs. Essayons maintenant d'
endommager la tête et le corps. Maintenant, ce que vous
recherchez habituellement c'est si vous accédez aux actifs
que vous avez importés pour le joueur. Ici, nous avons le squelette
du joueur, le maillage squelettique du joueur. Mais nous avons également ce que l'
on appelle un atout physique. C'est en fait
là que vous frappez. Cet atout physique est l'endroit où
vous frappez le joueur. Vous pouvez essayer d'ajuster
cet actif physique. Vous pouvez
agrandir ou réduire ces formes. Il s'agit en fait de votre boîte à succès. Vous pouvez développer le joueur
comme vous pouvez créer des formes, en
gros, il suffit de
le tuer, de le réduire, etc. Mais pour le moment, pour ce des dégâts à
la tête, nous
allons nous attaquer à celui-ci. Permettez-moi de minimiser
la vitesse de la caméra. Vous touchez cette forme ici et celle-ci s'
appelle un coup. On les appelle essentiellement la forme du
corps. Si je reviens ici, dans
la base de joueurs. Maintenant, voici
les résultats, si vous cliquez à nouveau sur la flèche. Revenons ici après
les dégâts infligés. Je veux juste l'imprimer pour
que tu puisses le voir. Je veux imprimer
le nom du hit bone, le nom du
hit bone, et le
faire glisser ici. Et je vais juste
minimiser cela une fois de plus. Nous imprimons maintenant le nom
de Hit Bone. Nous pouvons voir ce qui se passe
si vous cliquez sur Play Terrorist et si je clique sur Play Terrorist en tant que
terroriste pour le ciel également. Tirons simplement sur Displayer. Si je tire sur la
tête, ça le dit. Si je tire sur la
jambe, c'est écrit cuisse. C'est, c'est le pied, non ? C'est la cuisse. Et voici la main, main droite, la main
gauche, et ainsi de suite. Vous pouvez voir que nous photographions
différentes parties du corps. Maintenant, juste pour rendre les choses un peu
plus intéressantes pour nous, prenons simplement
ce nom à succès. Ce que nous pouvons faire, c'est
comme pour les énumérations, où vous pouvez
activer l'énumération, vous pouvez activer le nom ici, activer
le nom,
car n' oubliez pas qu'il
s'agit d'une variable de nom Activez le nom et vous pouvez
simplement le brancher avant appliquer les dégâts et cliquer
sur le signe plus pour le faire tourner. Vous devez maintenant
spécifier le nom. Je m'appelle Head. Si vous revenez ici, vous verrez que ça s'appelle Head. Vous pouvez écrire Head
puis le connecter à
ici par défaut Je vais appliquer les
dommages corporels par défaut, mais si c'est la tête, nous allons appliquer les dommages
à la tête. Je vais juste le
copier-coller. Et par défaut, je vais
appliquer les dégâts corporels. Laissez-nous maintenant obtenir les
informations ici. Si je copie simplement tout cela, informations sur
notre arme ici
et notre variable d'arme, je crois que c'est sur
ce long document. En fait, c'est l'
acteur à succès. C'est l'arme. Je le branche juste ici. Masquez les épingles non connectées. Je veux juste voir les
dommages corporels, les dommages à la tête, et relier les dommages à la tête, les dommages corporels, et aussi pour l'acteur endommagé. N'oubliez pas de le
reconnecter comme ça, d'accord ? Chaque fois que nous nous
cognons la tête, nous lui faisons des dégâts. Chaque fois que nous
heurtons le corps, nous lui faisons des dégâts. Il suffit de cliquer sur jouer
et de voir ce qui se passe. Maintenant, si je joue à nouveau
le rôle du terroriste et que
je tire dans la tête, vous pouvez voir que cela fait 20 dégâts. Si je tire sur le corps,
il fait dix dégâts. OK, donc maintenant nous avons un
peu de dégâts par balle dans la tête. OK, génial.
Cela fonctionne donc. Je vais juste minimiser cela. Et je vais également
supprimer le débogage ici pour le plateau de ligne afin de
ne pas voir les lignes rouges Et c'était tout pour ça. Encore une fois, vous pouvez créer un système
plus complexe, mais pour que ce cours ne
soit pas trop complexe, voici
comment nous pouvons le faire. Nous endommageons la tête et le corps également. N'oubliez pas de définir les valeurs
hors du tableau de données. Vous pouvez ajuster ces chiffres. Oui, allons-y et
passons à la suivante.
160. 11.03 Structure d'information pour les joueurs: Très bien, nous
allons maintenant ajouter les points de vie du joueur, l'armure
, le montant et ainsi de suite. Mais avant cela, créons
une structure de joueurs. Passons maintenant aux plans
et aux structures. Et maintenant, au lieu
des informations sur l'arme, cliquez avec le bouton droit sur Blueprint, puis
ajoutons une nouvelle structure Et laissez-moi appeler cela
une information sur une couche. Ouvrons-le. Maintenant,
pour ce qui est des informations sur le joueur, ce que je veux ajouter, c'est quelle est la santé maximale que
le joueur peut avoir ? Il s'agit d'un nombre flottant, pas d'un entier, car il est parfois
calculé comme une décimale Et puis tu augmentes le nombre de points de santé. Ensuite, vous avez le Max Armor. N'oubliez pas que nous avons également
l'armure dans le jeu. Je peux ajouter quelque chose à cela. N'oubliez pas que si vous accédez au
joueur et à la base de joueurs, nous avons également des propriétés de
fonctionnement. Nous avons la vitesse de marche, la vitesse de
course, la vitesse d'accroupissement. Vous pouvez également l'
avoir à l'intérieur d'ici. Nous n'avons pas besoin de variables
distinctes ici. Ajoutez simplement la vitesse de course. J'ajoute la vitesse de marche, je peux aussi ajouter la vitesse d'accroupissement Comme ça. OK,
maintenant nous l'avons. Ce que nous pouvons faire, nous pouvons
les supprimer plus tard. Nous devons donc d'abord terminer cela avant de le supprimer. Tout ce que vous avez, c'est une valeur
statique qui ne
changera pas. Par exemple, quelle
est la vitesse de course, de
marche, de vitesse , de vitesse d'accroupissement Et ils ne changeront pas
pendant le jeu. Si vous avez des nombres statiques, il est très agréable de
les ajouter à l'intérieur d'une structure. Je pense que
c'était ça à l'intérieur. Ce que nous pouvons faire, c'est d'
aller de l'avant et de le sauvegarder. Sauvegardez tout. Passons à la suivante et
créons le tableau de données.
161. Table de données d'information des joueurs: Très bien, je suis donc de
retour aux tables de données. Maintenant, pour ce qui est de celui-ci, l'
ancien, je vais
appeler ici DT Weapon Info. Créons-en un nouveau. En fait, je vais
juste le dupliquer pour ne pas avoir à
tout réorganiser. Et je vais juste l'
appeler DT Player Info. Il suffit de cliquer sur le contrôle A ,
puis de tout supprimer. OK, tout va bien ici. Revenons simplement à la structure
et voyons ce que nous avons. Pas les informations sur l'arme,
mais les informations sur le joueur à l'intérieur.
Ce que nous avons d'abord. Maintenant, avant d'ajouter quoi que ce soit, vous devez avoir une colonne ID. C'est indiqué dans les informations sur les armes. N'oubliez pas que nous avons
celui-ci appelé ID. Nous avons besoin d'un identifiant pour celui-ci, nous n'en avons pas vraiment besoin. Vous pouvez simplement appeler le nom, par
exemple, vous
pouvez l'appeler un. Disons-le simplement,
car nous n'aurons qu'
une seule ligne pour le joueur contenant
toutes les informations. Nous n'avons pas besoin
de plusieurs lignes ici. OK, pour le premier,
nous avons le maximum de santé. Ensuite, nous avons l'armure, puis la vitesse de course. Ensuite, nous avons la vitesse de marche, puis
la vitesse d'accroupissement OK, nous avons ces valeurs. Et permettez-moi de
le réduire légèrement. Ce que vous pouvez faire maintenant,
c'est pour l'identifiant, nous l'avons réglé sur un
pour la santé maximale. Je vais le régler à 100 pour
l' armure maximale de 100
ainsi que pour la vitesse de course. Maintenant, nous avons déjà défini
ces deux valeurs par défaut. Si je vais voir le joueur, je clique sur la vitesse de course, elle est réglée sur 750. Pour l'instant, je vais le
mettre à 750. Pour la vitesse de marche,
je l'ai réglée sur 400, et pour la vitesse d'accroupissement, je l'ai réglée sur 200 Alors écrivons cela.
Maintenant, nous sommes prêts. Cliquons sur le téléchargement du fichier
TSV comme avant. Ouvrons-le
ici et appelons-le « info pour un joueur ». Fermons ça. Passons maintenant aux tableaux de données. Maintenant, avant de l'importer, je vais en créer un nouveau. Accédez à Divers
et sélectionnez Table de données. Maintenant, sélectionnons
les informations sur le joueur. Cliquez. OK.
Appelons-le T Layer Info. C'est ici. Nous pouvons maintenant l'importer si vous cliquez dessus en faisant glisser
le pointeur dès maintenant. Il a maintenant téléchargé
toutes les valeurs. De plus, cela fonctionne maintenant et
nous pouvons tout enregistrer. Maintenant, n'oubliez pas que lorsque nous
devons utiliser cette table de données, nous devons créer une fonction dans la bibliothèque,
comme avant. Créons une nouvelle
fonction dans la bibliothèque. Nouvelle fonction,
appelons celle-ci, pour obtenir des informations sur les joueurs, car c'est ce que
nous devons faire. Copiez-collez simplement
le truc ici. Copier-coller tout cela. Collez-le à l'intérieur d'ici. Connectez ceci comme ici. Et connectons-le ici. Au lieu des informations sur l'arme DT, nous avons besoin des
informations sur le joueur DT et revenons. Faites-le glisser ici
et appelez-le info. Laissez-nous tout compiler et
enregistrer. N'oubliez pas non plus de le transformer en une fonction pure
comme celle-ci. Parce que nous ne
recevons que des informations, nous ne définissons pas d'informations. Essayons de l'utiliser juste pour
voir si quelque chose ne va pas. Passons, par exemple, au joueur, à sa base. Disons que je voulais m'en servir. Ici, je peux dire à juste titre obtenir des informations sur les
joueurs, et les voici. Vous pouvez maintenant obtenir les
informations du joueur à partir de celui-ci. OK, pour le moment, nous n'avons pas
vraiment de carte d'identité. Tout comme lorsque nous l'avons utilisé
avec les armes. Comme si nous avions un nom d'arme. À partir du nom de l'arme,
nous extrayons des valeurs pour la base de joueurs Nous n'avons en fait qu'une seule
ligne de code ou une seule ligne
dans le tableau de données, nous n'avons que cette ligne ici. Cela n'a pas vraiment de sens
d'en écrire un à chaque fois pour extraire de
cette ligne cet identifiant, car il restera
le même tout le temps. Pour améliorer les choses,
ce que nous pouvons faire,
c' est simplement revenir ici dans les informations sur le joueur, puis nous pouvons
simplement le déconnecter. Nous pouvons également
simplement supprimer tout cela ici et supprimer cette
variable d'ici. Maintenant, ce que vous pouvez faire c'est juste le nom de la ligne,
il y en a toujours un. Définissez simplement le nom de la ligne sur un. Voilà, si je compile
maintenant dans la base de joueurs, quand je dis informations sur le joueur, maintenant il obtient
toujours ces informations sur le joueur. Nous n'avons donc pas vraiment besoin d'
écrire quoi que ce soit ici et cela n'a pas vraiment de sens lorsque nous n'avons qu'une seule ligne. Quoi qu'il en soit, nous obtenons simplement les informations
de la table de
données à partir de cette première ligne. OK ? Nous avons maintenant ces
informations et nous pouvons les utiliser. Sauvegardons tout
et passons à la suivante.
162. 11.05 Régler la santé et l'armure de base: Très bien, nous sommes maintenant prêts
à définir la santé de base. heure actuelle, lorsque
nous arrivons dans le niveau, notre santé est essentiellement de
76 , car c'est ce que nous
avons défini dans l'interface utilisateur Il s'agit simplement d'un nombre statique que nous avons défini ici par le biais de
ce pourcentage. Cela n'a pas vraiment
de sens. Allons-y et
définissons la santé
et l'armure de base chaque fois que nous apparaissons. Pour cela,
ouvrons la
base de joueurs, c'est parti. Passons au graphique des points de vie, de l'
armure et des dégâts. Je souhaite organiser deux événements. Je veux créer le premier
appelé Set Layer Health. Je veux créer l'
autre qui s'appellera Set Layer Armor. Nous avons ces deux-là. Nous voulons également le faire passer par
le serveur. Faisons-le passer par le serveur. Set Layer exécute également
celui-ci sur le serveur. Définissez une armure de couche. Laissez-nous les exécuter à la fois sur
le serveur et de manière fiable. Laissons exécuter le
serveur ici, en faisant glisser et en disant « définir la
couche » pour celui de l'armure Partons d'ici
et disons couche serveur, définissons l'armure du joueur comme ceci. OK, maintenant je vais juste le
déplacer vers le bas pour que nous
ayons plus d'espace pour travailler. Ce que nous voulons faire, c'est
simplement définir la variable de santé. Nous avons maintenant besoin de deux variables ici. Nous en avons besoin d'un appelé santé
actuelle, car dans la structure, nous
en avons créé un appelé santé maximale. Il s'agit de la santé maximale
que le joueur peut avoir. Mais nous en avons également besoin
pour notre état de santé actuel. À l'heure actuelle, nous avons la
santé et l'armure actuelles, toutes deux pour la santé d'ici.
Allons-y ici. Définissons l'état de santé
de celui du serveur. Faites glisser cette épingle dans l'
événement où elle en créera une. Et faites également glisser cette épingle plus loin
dans cet événement. Celui-ci. N'oubliez pas que vous définissez
la variable sur le serveur. Vous devez le
faire répliquer. Le client peut également voir
l'état de santé des autres joueurs. Vous devez également le faire pour ici. Allons chercher l'armure. Branchez-le et branchez-le
ici. Branchez-le ici. Configurons celui-ci pour qu'il le
reproduise également. Maintenant, nous l'avons. Ce que nous pouvons faire avec ça maintenant, c'est
me laisser les réunir. Maintenant, je peux revenir
au début de la pièce. C'est ici que je veux définir
la santé de base des joueurs. Chaque fois que
le joueur apparaît instantanément, c'est
vous qui définissez
sa santé ici À partir d'
ici, je veux dire Set Health. Notre Set Player health est ce que nous appelons « Set Player Health ». Nous voulons également
utiliser l'autre outil appelé Set Player Armor. Ensuite, nous devons spécifier quels sont la santé
et l'armure actuelles. Il est plein lorsque vous apparaissez. Lorsque vous apparaissez, je veux vous demander
d'obtenir des informations sur le joueur. On peut le casser ici. Ensuite, nous pouvons définir ici le maximum
de santé de l'armure. Nous pouvons le faire comme ça.
Mais je pense en fait que je vais créer deux fonctions
différentes. Mais sur celui-ci, je vais cliquer avec le bouton
droit de la souris et dire « promouvoir une fonction »
ou « réduire » en fonction. Appelons celui-ci, obtenons le maximum de santé du joueur et
faisons-en une pure fonction. Au lieu de ce nom
complètement fou, je
vais juste dire Max Health. Allons à l'intérieur d'ici.
Organisons-le un peu. Faisons-le aussi pour l'
autre. Laissez-moi simplement copier-coller ceci. Excellente. Copiez-collez ceci. Permettez-moi de dupliquer
celui-ci ici. Dupliquer. Appelons
celui-ci Get Armor au lieu de. Je vais supprimer celui-ci. Appelez-le Max Armor. Pour un maximum de santé,
déconnectons-le, passons en armure maximale
et branchons-le ici. Maintenant, nous pouvons prendre ça, obtenir le joueur Max Armor et le
brancher ici également. OK, c'est juste que ça
a l'air un peu plus propre. Et maintenant, nous
fixons le
maximum de santé et
d'armure des joueurs . Maintenant, si nous cliquons sur jouer, rien ne s'
affichera pour le moment. Et vous l'avez peut-être
déjà deviné,
c' est parce que nous ne mettons
pas vraiment à jour l'interface utilisateur pour le moment Nous ne faisons que définir
ces variables et elles sont maintenant correctes. Cependant, nous n'
allons jamais accéder à l'interface utilisateur pour le
moment et mettre à jour
ces valeurs ici. C'est ce que nous allons
faire dans le prochain.
163. 11.06 Fonctionnalité de l'interface utilisateur Health & Armor: Me voici donc à l'intérieur
du plan principal d'Uji. Et maintenant, allons-y et mettons à jour la santé et l'armure. Donc, la première
chose à faire, est de les utiliser à l'intérieur
du graphe d'événements. Pour ce faire, n'oubliez pas que
nous en avons besoin en tant que variables. Cliquez sur le premier. C'est la partie du progrès
en matière de santé. Je vais l'appeler santé
juste pour la barre de progression. La prochaine fois, je vais
l'appeler Armor. N'oubliez pas non plus de prendre
cela comme variable. Nous pouvons donc les voir comme des variables
ici à l'intérieur du graphique. Je peux les utiliser et
nous pouvons les modifier. Cliquons également sur le texte. Le texte que nous
devons également modifier. Le premier s'appelle
Text Health, également variable. La suivante est appelée armure fixe à
bras et est
également variable. Maintenant, nous n'avons pas vraiment besoin de
quoi que ce soit d'autre pour être une variable, est la seule chose que
nous devons modifier. Compilons et
passons au graphique. Je vais créer
deux nouvelles fonctions, la première appelée
update, update,
health I. Je vais aussi
créer l'autre
appelée update, ou elles le sont presque, ou elles vont en fait
suivre la même logique. Mais celui-ci est pour la santé,
celui-ci est pour l'Ama. OK. Que devons-nous
vraiment faire ? C'est toujours ce que vous devez vous demander lors de votre codage. Qu'est-ce que nous essayons
de faire en ce moment ? Ce pourcentage est défini
ici pour la barre de progression. OK, passons au graphique. Faisons ce progrès,
faisons-le ici. Passons maintenant à la grève et disons le
pourcentage, car c'est
ce que
nous voulons modifier ici. C'est un pourcentage défini, allons-y. C'est facile. Connectons-le.
Il y a une chose que vous devez savoir à propos du
pourcentage d'une barre de progression. Vous pouvez voir ici, ça
va de 0 à 1 Il ne va pas de 0 il va de
0 à
11 c'est 100 % Ce que nous devons faire maintenant, obtenir l'état de santé
actuel en utilisant un état de santé à courant flottant. Faisons de cette variable,
cet état de santé actuel. Disons par exemple que j'ai
100 points de vie et que j'ai été
endommagé au moins dix, et maintenant j'en ai 90. Si vous le branchez maintenant, la valeur sera de 90. Cela n'a aucun sens car
la valeur maximale est de un. Même s'
il vous reste environ
un point de vie sur 100, la
barre complète s'affichera car une seule est en fait
la barre complète ici. Nous devons le diviser d'une manière ou d'une autre. En fait, nous avons
également besoin
de la santé maximale , de la santé actuelle, de la santé. Lorsque nous les divisons, si vous faites glisser le pointeur à partir de la santé
actuelle pour
diviser la santé maximale , par exemple, disons que
vous avez 90 points de vie. Nous pouvons dire 90/100 car
c'est votre santé maximale. Ce sera 0,9 Alors le
0,9
que nous branchons ici, ce sera correct car
maintenant la barre de pourcentage
sera quelque chose comme ça
chaque fois que vous en perdez dix, d'accord ? Par exemple, supposons qu'il
me reste 40 points de vie, 40/100, c'est 0,4 et cela
se connectera ici Et la barre de progression
sera à 0,4. Comme
ça, elle sera correcte maintenant. OK, c'est réglé. Faisons la même
chose ici. Nous avons l'armure actuelle
et nous avons l'armure maximale. Ensuite, nous
les divisons ici. Prenons la barre de progression l'armure et
disons « set percent ». Allez-y,
connectez-les ensemble. Maintenant connectons-le ici. Maintenant, nous sommes également en train
de régler correctement l'armure. La prochaine chose que nous devons faire
est également de définir le texte ici. Cliquons sur le texte. Voici ce texte Santé. Allons-y
et disons Set Text. Voyons voir ici. Réglez
le texte, c'est celui-ci. Et
connectons-le maintenant. Définissez le texte. Faisons de même
pour l'ensemble d'armures. Nous devons les mettre à jour tous les deux. Que doit contenir le texte ? Que devez-vous afficher
ici ? C'est très simple. Juste cette variable,
l'état de santé actuel. Si mon état de santé actuel est de 40, je souhaite afficher le
chiffre 40 ici. Très facile. Partons de l'état
de santé actuel, connectons-le ici. Et comme Unreal Engine
convertira automatiquement la variable
flottante en variable de texte et il la
connectera simplement ici OK, très bien, très facile. Faisons la même
chose ici. Brisons cette
armure actuelle. Branchez-le. Et juste comme ça,
c'est maintenant terminé. OK, c'était donc ça. Ceci met à jour maintenant l'armure et celui-ci
met à jour la santé. Continuons dans le suivant.
164. 11.07 Mettre à jour l'interface utilisateur Health & Armor: OK, maintenant ce que nous
devons faire, c'est mettre à jour l'état de santé du
joueur. Passons maintenant à la
santé. N'oubliez pas que dans la base de joueurs,
dans le graphique des fourgonnettes, nous avons défini la santé et l'armure du joueur lorsqu'il apparaît,
cela devrait être mis à jour Nous pouvons maintenant le mettre à jour
lors d'un autre événement. Mais je pense qu'il vaut mieux
le faire comme continuer
le code ici. Et la santé, lorsque
nous définissons la santé, nous définissons la variable
et la répliquons Continuons simplement
le code ici. Laisse-moi juste faire glisser celui-ci vers le bas. J'ai plus d'espace.
Permettez-moi de créer un nouvel événement. N'oubliez pas que lorsque vous mettez à jour l'interface utilisateur, celle-ci
passe par le client. L'interface utilisateur
passe par le client. Tu le catals, fais-le ici. Nous devons créer un événement client appelé Set Player Health. Ensuite, vous devez l'exécuter
en possédant un client fiable. Maintenant, ce que tu dois
faire avec celui-ci, c'est de me
laisser emporter tout ça ici. Nous avons déjà la référence principale
de la Banque mondiale. N'oubliez pas que nous avons la manette du
joueur ici. Et on peut intervenir comme ça. Ensuite, nous pouvons faire glisser le pointeur d'
ici et dire update, je crois que nous l'avons appelé
update health, celui-ci. Nous pouvons maintenant le
connecter à l'événement comme ceci. Nous pouvons maintenant connecter l'
état de santé ici, appelons l'
événement client CL update ou CL set player health. Celui-ci pour l'état de santé actuel. Nous allons juste
brancher celui-ci
ici pour un maximum de santé. Nous avons déjà créé une
fonction qui permet définir la santé maximale du joueur. Comme ça ici. OK,
c'est entièrement fonctionnel. Faisons de même
pour l'armure. Nous avons l'armure de joueur définie. Permettez-moi de le déplacer un peu vers le
bas. Et créons un nouvel
événement appelé L, Set armor. Exécutez-le via le
client, de manière fiable. Ensuite, lancez le client
ici, définissez l'armure du joueur. Celui-ci pour celui-ci, juste avant d'avoir besoin de la référence de la manette du
joueur, vous avez besoin de B main. Ensuite, nous devons appeler l'armure de
mise à jour y
connect, connecter les variables à
l'événement comme avant. Laissez-nous connecter l'armure
actuelle ici. Pour obtenir le maximum d'armure, je vais activer la fonction, pour
obtenir le maximum d'armure du joueur. N'oubliez pas que la
fonction consiste simplement à obtenir les informations du joueur et à
les prendre d'ici. Bien, revenons
au graphique des événements, ici
Santé et armure. Et maintenant, cela devrait fonctionner. Nous appelons cet événement,
il va mettre à jour l'interface utilisateur,
quel que soit le nom que nous appelons
Set Player Armor ou Set Player Health.
Cliquez sur Play. Maintenant, si je sélectionne Terris, vous pouvez voir qu'il est
correctement réglé sur
100,100 . Ce qui se passe, c'
est au début du jeu, nous réglons la N'oubliez pas la
santé du joueur que vous avez définie dans votre tableau de données,
cette santé maximale. Cela définit la santé du joueur. Il va se rendre ici pour cet événement en
passant par le serveur. Le serveur va définir cette variable sur celle que
vous avez branchée ici Ensuite, il va mettre
à jour l'interface utilisateur, ces valeurs, car
cela passe par le client pour mettre à jour l'interface utilisateur. Il passe par
ici pour mettre à jour l'interface utilisateur de santé. Il faut les numéros auxquels
vous vous êtes connecté. Il vous donne le pourcentage parce que vous les avez divisés. Et puis vous affichez également le texte correctement à l'
écran grâce à celui-ci. C'était pour mettre à jour
la santé et l'interface utilisateur, en fait, notre santé et notre armure. Et maintenant, nous pouvons également utiliser cet ensemble de points de vie et d'armure
du joueur lorsque nous infligons des dégâts
au joueur.
165. 11.08 Faire face à des dommages à la santé: Maintenant que nous en avons fini avec les points de vie et l'armure définis, infligeons les dégâts au joueur. Nous avons ici l'événement « any
damage » que nous avons utilisé auparavant et nous l'avons simplement utilisé pour voir si nous
infligeons réellement des dégâts au joueur. Nous avons vérifié que dans
les leçons précédentes lorsque vous vous cognez la tête,
vous faites des dégâts. Si vous heurtez le corps,
vous lui infligez d'autres dégâts. Et nous pouvons voir qu'il est en train d'imprimer,
donc il fonctionne réellement. Tous les dégâts fonctionnent
ici. OK, très bien. Nous voulons donc maintenant infliger les dégâts réels ici
chaque fois que vous infligez des dégâts, et cela provient
des dégâts infligés. Donc, si vous revenez à
la logique de tir utilisée
ici pour la ligne de
traçage, lorsque vous touchez le joueur, vous infligez ces dégâts. Si vous infligez des dégâts à un acteur, celui-ci se
lancera automatiquement et déclenchera cet événement, si vous
subissez des dégâts. Maintenant, quels que soient les dommages que vous
subissez, il s'agit des dommages que vous avez appliqués ici, à l'intérieur des
dommages infligés. Et nous avons indiqué que dans notre tableau
de données, nous infligeons des dégâts
au joueur, quel
que soit le dommage. Ce que nous pouvons faire maintenant, prendre la
santé actuelle du joueur. Nous pouvons dire, par exemple, qu'en
ce moment, j'ai 100 ans de santé. Alors on peut dire 100 moins. Nous soustrayons 100 de moins, disons que les dégâts étaient de
dix, ce sera 90 Nous devons à nouveau régler l'état de santé. Avant cela, j'aime
avoir ce nœud de serrage. Je m'assure juste que nous ne descendons
pas en dessous de zéro. Nous ne voulons pas avoir une santé
de moins dix, par exemple. Nous fixons cette valeur à zéro pour qu'elle ne
puisse plus descendre en dessous de zéro. Et au maximum, je vais
juste faire glisser celui-ci, obtenir le maximum de santé du joueur
et le brancher ici. Maintenant, il est serré. Ensuite,
nous pouvons à nouveau régler l'état de santé. Réglons l'état de santé à
cette valeur que nous avons. OK ? Ce qui se passe , c'est que vous infligez dix
dégâts. Par exemple, il indiquera que l'état de santé actuel est de
100 moins dix, soit 90. Nous allons passer
par là pour nous
assurer de ne pas descendre en dessous de zéro. Et la valeur de 90
sera insérée ici. Maintenant, le nouveau point de santé que
nous avons est en fait de 90. Maintenant, au lieu de définir
cet état de santé comme
ceci, cela fonctionnerait car
si vous avez cette icône, cela signifie qu'elle
s'exécute sur le serveur. Si vous maintenez la souris dessus, et en bas, il est
écrit « autorité uniquement ». Cet événement
se déclenche uniquement sur le serveur. Encore une fois, vous pouvez définir
une variable ou il est correct définir des variables sur le serveur,
puis de les répliquer. Cela fonctionnera parfaitement. Cependant, n'oubliez pas que nous
avons déjà défini cet événement de
santé
des joueurs, qui met également à jour
l'interface utilisateur pour nous, au lieu de simplement l'
appeler à nouveau, et nous devons mettre à jour l'interface utilisateur. Si nous devions le faire de cette façon, nous devions le copier, coller ici et
le faire comme ça. Au lieu de
cela, nous
avons déjà créé une fonction ou un événement ici. Disons définir la santé du joueur. Et nous pouvons simplement appeler
cela comme nous venons de le créer. Et on peut le brancher ici. Il passera automatiquement
par là et mettra également à jour l'interface utilisateur, parce que nous l'avons appelée ici, très bien. C'est bon, génial. Maintenant, il en va de
même pour le décès,
si l'état de santé actuel est égal à zéro et que nous
pouvons créer une branche, si c'est vrai, nous
voulons appeler événement de décès. C'est à ce moment que le joueur meurt, lorsque sa santé actuelle est nulle. Nous le ferons
plus tard. Mais pour l'instant, nous avons tout cela connecté. OK, cliquons
sur Play et voyons si cela fonctionne réellement ici. Si je prends juste une arme
et que je tire sur le joueur, maintenant vous voyez que le joueur en
a 90 points géniaux. Si je lui tire une balle dans la tête,
il tire -20. Maintenant, j'ai 70 points de vie qui fonctionnent correctement.
Essayons-le sur le serveur. Si le serveur tue le client, permettez-moi de le minimiser ici. Si le serveur tue le client, cela fonctionne
également, génial. Si je pille comme
une autre arme ici, elle fonctionne également. Très bien, cette
logique fonctionne. Maintenant, allons-y et façonnons l'
armure dans la leçon suivante.
166. 11.09 Infliger des dégâts à l'armure: OK, pour distribuer l'armure, nous allons essentiellement
suivre la même méthode. Cependant, pour ce qui est de l'armure, je veux vraiment
faire moins de points de vie au joueur si vous en avez
déjà une. Je ne vais donc pas
faire autant
de dégâts à la santé, juste déplacer tout
cela, comme ça. Et je veux d'
abord fabriquer l'armure, en la retirant simplement. Bon, prenons l'armure
actuelle pour le moment, elle est de 100 pour commencer. Ce que je veux dire,
c'est qu' faut prendre cette armure et il faut prendre cette armure et
la soustraire
des dégâts Je ne veux pas le soustraire
un par un. En fait, je veux le soustraire, cette valeur, les dégâts, si je le multiplie simplement par, disons 1,5,
puis je veux appliquer les
dégâts à l'armure L'armure sera endommagée bien plus rapidement que
les points de vie actuels. Il ne sera pas endommagé
comme son état de santé actuel. Il va être endommagé beaucoup plus rapidement parce que nous l'
avons multiplié par 1,5. Je peux aussi simplement le
faire glisser depuis celui-ci, il reste organisé
comme ça ici. Génial Maintenant, avec
cette soustraction, nous pouvons, encore une fois, comme avant,
fixer le flotteur Nous veillons à ce qu'il
ne descende pas en dessous de zéro. Le maximum est d'obtenir le maximum d'armure pour ce joueur
et de le brancher. Et maintenant, définissons
l'armure actuelle. Encore une fois, nous avons la fonction
appelée set, set player armor. Et nous allons régler
l'armure comme ceci. Et maintenant, c'est mis en œuvre, d'accord. Si vous jouez ici,
nous pourrons simplement l'essayer. Vous pouvez voir ici que je suis le
client qui tire sur le serveur. Nous sommes en train de perdre notre armure. Maintenant, il ne sert à rien d'
avoir une armure si vous voulez perdre les points de vie
qui vous font des
dégâts de toute façon. Donc, pour le moment, cela
n'a pas vraiment de
sens , car vous êtes toujours en train de
perdre la santé et de mourir. Ce que je veux dire, c'est que
si vous avez
une armure, vous allez
perdre des points de vie plus lentement, vous allez
perdre des points de vie plus lentement, moins de points de vie. Ce que je peux faire ici, au lieu de soustraire les dégâts
de la santé,
celui-ci ici, au lieu de
soustraire les dégâts, je
veux faire glisser le pointeur d'ici et
dire « select float » ici Nous voulons maintenant nous demander si
l'armure est égale à zéro ? Prenons l'armure et disons si elle est égale à zéro ? Quand il est dit de choisir un, si cette intimidation est vraie,
choisissez-en un. Si l'armure est nulle, cela signifie
que nous voulons
simplement infliger dégâts que nous subissions
auparavant, comme ça. Cependant, l'armure n'est pas nulle pour le
moment. Cela signifie qu'il s'agit de
la valeur B ici. En fait, cela
signifie que nous avons une armure et que je veux infliger des
dégâts plus lentement au joueur. Si je le fais simplement glisser ici, je veux le diriger à partir d'ici,
puis dire de diviser ces dégâts par, disons par exemple, 2,2 0,5 Infligeons ensuite les dégâts. En fait, nous
réduisons les dégâts avant de les infliger au joueur. OK, maintenant, il est logique
que nous ayons une armure, car lorsque nous en avons une, nous allons en fait
subir moins de dégâts. Et cliquons sur jouer. Et essayons
cette mécanique ici. Si je me dirige vers le serveur, si je tire sur le joueur ici, vous verrez que nous subissons
des dégâts maintenant. La valeur ici, nous devons
supprimer les décimales. C'est très bien pour le moment. Mais vous pouvez voir que l'armure fonctionne. Chaque fois que nous perdons l'armure, nous subissons
de gros dégâts. Nous allons subir les dégâts qui s'y trouvent sans l'armure. OK, cette fonctionnalité fonctionne. Vous pouvez toujours
contrôler ces valeurs, quantité d'armure que vous perdez ici, ainsi que le nombre de joueurs que vous perdez. Mais maintenant, cela
fonctionne pour l'interface utilisateur. Nous devons en fait supprimer
les décimales. Revenons ici
dans le B principal. Ce que je veux faire, c'est essentiellement
arrondir la valeur. Si je prends ce flottant, je peux utiliser celui-ci appelé round et nous
arrondissons la valeur S'il y a des dégâts en ce
moment , nous ne sommes pas vraiment
dans le négatif, mais disons dans le positif. Si nous avons 1,6 point de vie,
cela devient deux. Nous pouvons utiliser celui-ci et
arrondir la valeur. Maintenant, nous pouvons le faire glisser dans
le texte et le brancher. Supprimons simplement
l'ancien ici. Configurons cela à la place, et faisons la même chose ici. Utilisons round et
supprimons l'ancien. Branchez-le ici.
Laissez-nous organiser cela. Nous allons maintenant tester cela
et voir si cela fonctionne. Il suffit de créer des
nœuds de route pour le rendre plus beau. Maintenant compilons,
cliquez sur Play et voyons si
cela fonctionne réellement. Si je montre au joueur, vous
pouvez voir qu'il arrondit la valeur maintenant tout
fonctionne comme prévu
167. 11.10 Empêcher de piller des fusils multiples: Le problème auquel nous sommes
confrontés en ce moment, c'est si je clique
simplement sur jouer ici
et que je maximise ma fenêtre. Vous pouvez voir ici que j'en
ai pillé un quatre. Cependant, si je clique
ici pour piller une arme, je peux réellement récupérer cet AK Et je peux même les piller quatre. Je peux même piller celui-ci, et ils sont tous sur mon dos. Cela n'est pas censé se produire. Et il y a une rondelle à l'intérieur
du code, dans
la base de joueurs Je crois que c'est une solution simple. Passons au lot. Équipez et déposez Logic ici. Ici, dans le lot d'armes, quelque chose ne va pas
parce que nous lui avons dit de ne pas piller l'arme s'il s'
agit de la même arme que celle
que nous avions équipée Il s'agit d'une arme
à butin sur demande, car ici nous essayons de trouver
l'arme dans l'inventaire Nous essayons de comparer l'
arme avec l'inventaire,
avec celle que nous
sommes en train de piller en ce moment. Nous sommes en train de passer par là. Nous retirons l'arme
de l'inventaire. Nous essayons de vérifier si nous avons
déjà cette arme. Si nous l'avons déjà, nous
lâcherons l'arme. Ils sont faux. Si nous ne l'avons pas,
nous chargeons l'arme. Pour une raison ou une autre, je
crois que cela
passe par ici plutôt que là-haut. Il ne s'agit pas de lâcher l'arme. C'est comme s'il ne
trouvait pas l'arme. Si j'imprime simplement une chaîne
ici et que je dis deux ici, j'imprime une autre
chaîne et j'en écris une. Au fait, c'
est ainsi que vous débugez. Je vais maintenant voir où s'exécute
le code. Est-ce qu'il court
ici ou ici en bas ? Compilons et cliquons sur Play. Il ne reste plus qu'à
charger cette arme. Maintenant, si je clique sur, ça dit, si je fais allusion à
celui-ci, ça dit deux, le code
va en fait ici Ça se passe
ici sur le faux. C'est comme s'il disait « non, je n'ai pas cet article dans mon
inventaire » et c'est faux. J'ai effectivement cet
article dans mon inventaire. Voyons le code ici.
Allons par ici. Il essaie de trouver, il essaie de
comparer l'article de
l' inventaire avec
celui que nous essayons de mettre en lot. Ce qui se passe ici,
c'est qu'il recherche d'abord ici
dans l'index zéro. Il effectue une recherche dans le premier
index de l'arme. Si je reviens ici,
ferme-le. Si je reviens
à la logique, lorsqu'il ne trouve pas la
première arme, par exemple, si la première arme est un pistolet, alors celle-ci
sera fausse,
car vous
comparez le pistolet à
celui que nous voulons
piller en car vous
comparez le pistolet à
celui que nous voulons
piller celui que nous voulons
piller Et ce n'est pas un fusil, ce qui signifie
qu'il devient faux. Et puis il ajoute cette
arme ici. Nous devons ajuster
le code ici. Ce que nous devons faire,
c'est nous
assurer qu'il a parcouru l' ensemble de
l'inventaire avant de continuer
le code S'il ne reçoit que le
premier objet de l'inventaire, savoir le pistolet, cela n'a aucun
sens, car cela nous
rapportera de l'argent, comme c'est le cas actuellement Ce que je veux faire, c'est m' assurer
que
cet index est visible ici. Si je clique avec le bouton droit de la souris et que j'imprime une chaîne, je peux
simplement vous montrer. Et vous pouvez insérer l'index pour voir ce qu'
il affiche. Et je peux compiler com
play en pillant celui-ci. Maintenant, il est écrit zéro. Il n'arrête pas de dire zéro parce qu'
il ne prend en
compte que le premier indice. Maintenant, le fusil est, si je clique juste plus ici, le premier pourrait
être le pistolet, l'index pourrait
être le fusil Et il continue de vérifier uniquement
l'indice zéro. Maintenant, permettez-moi
de supprimer tout cela et de le supprimer. Permettez-moi de brancher l'
indice des rayons ici. Laisse-moi juste le déplacer vers le haut. Déplaçons-le
ici et appelons-le ray index. Compilons, revenons en arrière. Maintenant, je veux vérifier s'il s'agit du dernier index
avant de continuer. Si je prends juste l'
inventaire et que
nous trouvions la variable
ici, l'inventaire des armes. Allons-y. Supposons que dernier indice de cet inventaire d'armes dont nous disposons actuellement, ce nombre
est-il égal
à cet indice de zone ? Laissez-nous simplement le
rendre plus joli ici. Créons maintenant une branche. Et nous nous demandons si nous en sommes
au dernier index de l'inventaire ? Supprimons-le simplement. Laisse-moi brancher ça.
Si c'est vrai, nous voulons continuer le code. Cependant, si nous n'en sommes pas
au dernier indice, si nous devons encore vérifier
certains éléments de l'inventaire,
nous devons revenir en arrière. Et en fait, nous n'avons
rien à faire , car s'il ne s'
agit pas du dernier index, nous allons
simplement le parcourir en boucle. En fait, nous ne
brisons pas la boucle, nous
la brisons simplement ici. Lorsque nous trouvons un objet, je n'ai en fait rien
à faire. Permettez-moi d'organiser un peu les choses, laissez-moi m'en éloigner, et cela devrait régler notre problème. OK, ici j'ai créé quelques nœuds de route et ça a
l'air plus joli Cliquons maintenant sur Play pour
voir si cela fonctionne. Si je me contente de piller cette
arme par exemple, et que je clique dessus, vous pouvez voir qu'elle la fait
tomber en quatre Et si je clique ici, celui-ci disparaît
également. Vous pouvez voir ici que cela fonctionne. Je ne peux pas piller deux fusils
à la fois et ça marche
aussi avec un pistolet,
probablement Maintenant, je peux voir que je ne peux pas piller
deux armes en même temps.
168. 12.01 Mort: Très bien, alors maintenant,
créons la mort du joueur. N'oubliez pas que nous avons pris en
compte tous les dégâts et que nous avons calculé les points de vie, l'
armure et les
dégâts que vous avez subis. Maintenant, nous avons dit ceci
ici à la fin, si le point de vie actuel
est égal à zéro, nous voulons jouer à l'événement du décès. OK, c'est très simple. Créons à nouveau un nouvel
événement rapide appelé Death,
lançons-le sur le serveur car nous sommes en mode multijoueur Laissez-nous le faire passer par ce
serveur, un événement de décès fiable. Et faisons en sorte que le serveur soit mort ici, dans le cas normal. Donc ça se passe comme ça. Pour ce qui est de la mort, vous pouvez imaginer que
nous allons en fait
créer une sorte de mort comme une poupée de chiffon, où le joueur
tombe simplement par terre Maintenant, nous pouvons dire jouer au montage
d'animation. Cependant, je veux juste
rendre les choses un peu plus amusantes et créer une poupée de chiffon sur
la mort au lieu d'une animation Parce que nous l'avons déjà
fait. Nous savons comment procéder
au lieu d'une multidiffusion. Je veux te montrer comment
tuer une poupée de chiffon. Pour ce faire, nous avons maintenant
besoin d'une notification du représentant car vous allez modifier
les visuels du jeu N'oubliez pas que si vous souhaitez
modifier les visuels d'un
représentant, veuillez le signaler ici Créons un nouvel événement
ou une nouvelle variable. Et celui-ci va
s'appeler Dead Bullion. Disons que c'est
mort pour devenir quelque chose. Faisons-le simplement glisser
dans l'événement. Et celui-ci l'
intègre également à l'événement. On peut vraiment l'appeler celui-ci. Maintenant, allons-y. Si l'état de santé actuel
est égal à zéro, appelons cela un décès. Faisons en sorte que le
joueur soit mort. N'oubliez pas de faire en sorte que cela soit vrai. Maintenant, nous devons le représenter, le notifier. Rep notify, cela
crée une fonction. Alors, double-cliquons dessus. À l'intérieur, ce que nous
voulons faire, c'est simplement demander d'
abord si le
joueur est mort ou non. Ce lingot est-il vrai ou faux ? OK, que
voulons-nous faire pour que Reg Dole meure alors que la variable
Death est vraie Nous voulons simuler
la physique avec ce maillage. Parce que si je passe simplement sur le marché et que j'
ouvre l'ère, une
seule d'entre elles
n'aura pas vraiment d'importance. Et il vous suffit d'ouvrir
le module physique. Vous ouvrez la
ressource physique comme vous pouvez le voir ici. Si vous cliquez sur Simuler, vous pouvez voir le joueur
mourir ainsi. C'est en fait Reg Death
si vous le simulez simplement. Et vous pouvez le voir, c'
est ce que je veux faire. Pour ce faire, nous devons
simuler la physique. Prenons ce maillage
et disons qu'il simule. Définissez la physique de simulation pour qu'elle soit vraie. Je souhaite également désactiver le
mouvement pour le joueur. Vous ne pouvez donc pas appuyer sur
votre clavier pour vous déplacer. Le joueur prend le mouvement du
personnage et dit « désactiver le mouvement ». Désormais, le joueur ne peut plus appuyer sur le clavier pour se déplacer. Compilons et voyons ce qui se passe si je clique simplement sur jouer. Maintenant, je fais apparaître l'autre
joueur également. Laisse-moi juste tirer sur ce
joueur et voir ce qui va se passer. Je vais tirer sur ce joueur. Le joueur meurt mais tombe
par terre. Réparons également à cela. Nous devons éviter certaines collisions. Et c'est parce que le maillage
simule désormais la physique. Si nous
examinons le maillage ici, si nous passons aux paramètres de
collision, nous pouvons voir qu'il n'y
a en fait aucune collision physique, ce qui signifie qu'il va
tomber à travers le sol. Il n'y a que des chevauchements. La physique se chevauche lorsque je touche mes
plateaux de ligne pour infliger des dégâts, mais il n'y a pas de collision
physique, nous devons l'activer Prenons ce maillage maintenant. Permettez-moi de faire glisser le pointeur à partir d'ici
et de dire « set collision ». Allons juste ici. Activez la collision. Je vais activer la collision. Je vais entrer en collision
ici. Collision activée. J'ai à la fois une question et une question de physique.
Allez-y, sélectionnez-le. En fait, je vais le
faire avant la physique sinon le joueur
tombera par terre. Je vais d'abord activer
la physique. Essayons cela. Maintenant,
nous avons la physique. OK, ce bogue est corrigé. Vous devez essayer de voir
quelle autre boîte nous avons. Encore une fois, je vais aller
tuer ce joueur ici. OK, maintenant le joueur est
mort. Le joueur est là. Génial Un problème avec ce lecteur en ce
moment, c'est qu'il a l'animation inactive activée. Parce que je peux voir le
joueur respirer en ce moment. Vous pouvez voir que les épaules
bougent et nous avons une
animation en cours. Nous devons arrêter cette animation
car elle semble stupide. Laissez-nous le faire.
Restons-en là. Vous pouvez en fait
dire « jouer à l'animation ». Vous pouvez sélectionner cette animation de
jeu. Vous ne définissez simplement rien à l'intérieur qui
supprimera réellement toutes les animations
et aucune
animation ne
sera appliquée au joueur . Encore une fois, il suffit de
double-cliquer ici pour créer une note de redirection afin que vous puissiez voir
ce que je fais et suivre Ce n'est donc pas difficile
comme ça. OK, maintenant compilons. Je crois que j'ai aussi remarqué un bug
avec l'ombre. Si je fais juste
réapparaître le joueur . Et je l'ai montré au joueur. OK. Génial Maintenant, il y a
un bug avec l'ombre, car ici, en tant que joueur, vous pouvez voir que je peux me déplacer. C'est parce que, n'oubliez pas que
nous avons un
maillage à la troisième personne . Maille à la troisième personne. Ce que nous faisions auparavant, c'est
que si vous recherchez une ombre, nous avons fait en sorte que celle-ci
affiche une ombre cachée. Nous l'avons fait, souvenez-vous, il y
a longtemps, dans ce cours parce que nous voulions montrer
la tête du joueur. Nous utilisons ce
maillage à la troisième personne pour afficher l'ombre correcte. Faisons le maillage à la troisième personne, faisons-le ici. Par exemple, disons set hidden, je crois que cela s'appelle un
set caché dans le jeu set
cast hidden shadow. Ne disons
rien sur celui-ci, car je ne
veux plus montrer mon ombre. Il y a aussi une
dernière chose que j'ai oubliée. Et voici le composant de la
capsule. Ce composant de la capsule,
je ne veux pas qu'il
entre en collision avec des armes ou
d'autres choses de ce genre En fait, je vais également désactiver la
collision pour celui-ci. Je vais le faire avant
d' activer la collision
pour le maillage, car parfois cette capsule entre en collision avec ce
maillage et cela crée un désordre Éloignons-le et
disons que la collision est activée. Disons simplement qu'il n'y a pas de
collision comme celle-ci. Et c'est ce qui devrait être le cas, espérons-le. Éloignons-le. Ou en fait,
déplacez-le simplement ici. Et nous n'avons pas besoin
de le déplacer complètement là-bas. Maintenant, cela devrait fonctionner. Compilons maintenant.
Cliquez sur Play. Si je vais juste ici, laisse-moi faire apparaître ce joueur Maintenant je peux tirer sur le joueur. Maintenant, nous avons détruit
toutes les morts, génial. Je n'entre pas en collision avec le joueur. Le joueur ne bouge toujours pas. Et si je déménage ici
avec l'autre client, vous pouvez voir que je peux déplacer
ma caméra comme je le fais, comme si l'ombre
avait disparu, je suis mort ici. Bien entendu, vous pouvez
le rendre plus complexe. Comme si vous pouviez créer
une caméra pour spectateurs. Au lieu de cela, vous pouvez même désactiver l'appareil photo. Tu ne peux pas, tu es comme
ça et tu ne peux pas
déplacer la caméra. Mais je pense que c'est bon
pour le moment. J'adore ça. Oui, tout
fonctionne correctement. Le problème
actuel est que le joueur ne laisse pas tomber les armes une fois que vous les
avez. Vous pouvez voir ici qu'une fois que vous
avez des armes et que je vous tire dessus, vous tenez toujours
cette arme. Je veux que le joueur
lâche son arme, car imaginez que si
tous les joueurs les
tiennent en main lorsqu'ils meurent, toutes ces armes
disparaîtront environ 2 minutes après le
début du match. Je veux que le joueur
lâche son arme, et nous pouvons également le faire. Allons-y et
passons à la leçon suivante.
169. 12.02 Arme de largage en cas de mort: Très bien, alors allons-y
et demandons au joueur de lâcher toutes les armes lorsqu'il
meurt ici. Chaque fois que nous définissons cela sur true. Alors laisse-moi juste m'
en éloigner, créer une branche et te demander si c'est
mort, c'est vrai. Parce que plus tard, nous
allons le mettre sur false lorsque
le joueur répondra. Mais pour le moment, le joueur est mort et nous voulons
lâcher l'arme. OK, revenons en arrière pour
rappel et voyons ce que nous avons
fait pour l'arme larguée. Si je reviens à l'événement
Lutqudrop Arme,
ou à un graphique, et du largage
de l'arme,
c'est en fait ici. Nous avons appuyé sur le bouton
puis nous avons lâché l'arme. En fait, il suffit d'
appeler cet événement ici. Nous n'appuyons pas vraiment
sur un bouton, nous forçons simplement le joueur
à lâcher toutes les armes. Nous
allons donc réellement le faire. Cet événement a permis de rechercher le type
d'arme équipée. Et je pense que nous devons
modifier cela, car
ce n'est pas seulement l'
arme équipée que nous devons lâcher, mais aussi
l'autre arme qui se trouve sur notre dos
ou sur notre cuisse. Nous devons en fait modifier légèrement
ce code. Revenons en arrière juste pour
le noter et voir ce qui
se passe ici. Appelons le serveur. Je crois que cela s'appelle
Request Request Drop Weapon. Lâchez votre arme. Celui-ci. Et vas-y,
appelle-le tout de suite. Lorsque nous l'appellerons à nouveau, cela fera tomber
l'arme équipée, mais nous
voulons en fait supprimer toutes
les armes de l'inventaire. Permettez-moi simplement de le modifier pour
cet événement. Je vais ajouter une nouvelle variable. Ajoutons la base d'armes. Parce que
donnons-lui simplement l'information que nous voulons ici, base d'armes. Et appelons-le plutôt « nous ». Ici, nous devons spécifier
quelle arme nous voulons lâcher lorsque nous cliquons sur le
bouton pour lâcher l'arme, lorsque nous cliquons sur le K, je
veux lâcher mon arme. Celui-ci, ici, arme équipée. Maintenant c'est correct
pour celui-ci. Maintenant, partons d'
ici et prononçons le nom. Obtenez la variable name
comme avant. Obtenez des informations sur l'arme et déchiffrez-la et
nous pourrons en trouver le type. Au lieu de le faire, nous pouvons le supprimer et le connecter à un, laissez-moi simplement supprimer tout
ce code. Ceci, et nous pouvons voir
ce que nous faisons actuellement. Nous avons tout organisé. Tout semble bon. Je ne fais que développer cela ici. Élargir cela ici également. Génial, nous avons cette configuration. Maintenant, si vous regardez le graphique de
santé et d'armure, nous pouvons
maintenant spécifier de quelle
arme vous parlez. Nous voulons simplement supprimer toutes les armes
de l'inventaire. Au lieu de faire quatre boucles, je pourrais en faire quatre par boucle,
encore une fois avec l'inventaire ici. Et nous pourrions faire l'
inventaire de chacun d'entre eux, nous pourrions déposer l'arme. Cependant, n'oubliez pas qu'avec
une boucle de quatre par boucle, cela n'attend pas que
ce code soit joué. Ce code Drop Weapon sera joué deux fois
. En fait, cela va boguer votre code ici parce que cela
va changer d'arme ici. Il va modifier cette
valeur ici avant que vous n'ayez la chance de terminer
ce cycle de code. Au lieu de faire cela, je vais
faire une boucle manuelle. Ce que nous pouvons faire ici, c'est faire l'inventaire. Assurez-vous simplement que
celui-ci n'est pas vide, car nous ne voulons pas lâcher
d'armes. S'il n'y a rien, prenons la longueur de cet inventaire et veillons à ce
qu'elle soit supérieure zéro, car nous ne voulons
rien faire si elle est
supérieure à zéro. Juste comme ça. S'il est
supérieur à zéro, allez-y et
lâchez l'arme. S'il est supérieur à zéro, cela signifie que nous avons
quelque chose dans l'inventaire. Laissez-moi juste récupérer le premier article
que nous avons dans l'inventaire. Ce sera à l'indice zéro. Je veux y aller
et laisser tomber ça. Faisons grève d'ici. Juste comme ça, je crois. Nous n'avons pas besoin d'en faire plus ici. Parce que si vous revenez
à l'arme larguée, souvenez-vous qu'à l'intérieur de cette fonction de
largage d'arme, vous avez déjà retiré cet
objet de l'inventaire. Parce qu'il est très important de le retirer de l'inventaire. Sinon, vous allez obtenir
une boucle infinie ici. Retardons ce code. Retardons d'environ
0,1. Ensuite, nous pouvons revenir en arrière
et réinterpréter ce code. Ensuite, nous allons le répéter, je vais juste
prendre quelques notes miroir afin que nous puissions
vraiment voir ce que je fais pour celui-ci ici, juste comme ça et juste l'
autre côté également. Ce que nous voyons
ici, c'est lâcher cette arme, puis retarder le code, puis essayer
de l'exécuter à nouveau. Essayez de vérifier si cette
longueur est toujours supérieure à zéro. N'oubliez pas que nous l'enlevons
ici dans le largage de l'arme. Techniquement, il devrait être nul
si nous n'avions qu'une seule arme. Cependant, si nous avons deux armes, la longueur de celles-ci
sera toujours d'une. Parce que la longueur
était de deux ans auparavant. Parce que nous avions deux armes. Aujourd'hui, c'est une arme.
Je vais vérifier à nouveau. La longueur est-elle supérieure à
zéro si c'est le cas. Et reprenez-le. Prends
cette arme. Lâche-le. Il continue donc de tomber
jusqu'à ce que vous n'ayez plus
rien que
vous puissiez faire glisser d' ici et dire « plus »
ou « aucune arme à larguer ». Cela imprimera le fil si vous n'avez aucune arme au départ ou si vous avez retiré toutes vos armes
de l'inventaire, maintenant vous pouvez fabriquer la plus petite, peut-être même 0,05, je crois Mais laissez-moi passer à 0,1 Peu importe que
le joueur ne le remarque pas. Quoi qu'il en soit, permettez-moi de
cliquer sur Play. Et essayons-le
et voyons s'il y a un bug. Si j'ai cette arme ici, ce joueur les
pille toutes En fait, permettez-moi de déplacer
ce joueur ici. Nous pouvons donc voir les
armes larguées. Laisse-moi tirer sur ce joueur. Maintenant, nous pouvons voir le
joueur déposer ses armes ici. Ce pistolet et le K. Si je laisse tomber et que je
passe au pistolet, j'ai
moi-même un pistolet, alors laisse-moi le lâcher Je peux piller ce pistolet. Je peux même récupérer le K que
ce joueur a perdu. Je peux le perdre comme avant. Il n'y a vraiment rien
de mal à cela. Génial. Essayons-le également sur le
client. C'était le serveur. Permettez-moi minimiser cela et d'
aller voir le client. Le jeu pour le serveur. Je vais vouloir que le serveur soit
doté de beaucoup d'armes. Maintenant que les ions vont tirer sur les joueurs, les voici. Je vais le laisser tomber en quatre. Je veux le K, je peux le prendre. Génial. Tout
fonctionne en ce moment. heure actuelle, nous avons un problème avec ne pas pouvoir piller
deux armes pour le moment Parfois, nous avons
un problème lorsque nous lâchons l'arme et que nous ne
pouvons pas vraiment la récupérer
parce qu'elle essaie de la comparer
à l'arme larguée Allons-y
et corrigeons ce problème également. C'est comme ce que nous avons fait
avec la réparation des armes. Si nous revenons simplement en arrière, si je
reviens ici dans mon graphique, luth et équipement et que c'est
le code d'arme que nous avons obtenu N'oubliez pas que nous avons comparé la variable «
lot d'armes à celle que nous voulons perdre en ce
moment. Si c'est la même chose, nous avons effacé la notification,
puis nous l'avons exécutée ici. Parce que n'oubliez pas que si
la même valeur est exécutée deux fois, elle ne sera pas exécutée. est aussi simple que ça. Revenons en arrière. Laisse-moi juste
ouvrir le guichet. Passons à la question du
largage d'armes. je veux le faire, c'
est parce qu'à l'intérieur d' une fonction, vous
ne pouvez pas créer délai comme nous le
faisions auparavant dans l'arme du lot où nous faisions un délai ici avant
d'exécuter le code. Dans les fonctions, vous ne
pouvez pas retarder. C'est autre chose. Ce n'est pas le délai normal
que nous avons l'habitude de prendre. Nous devons réellement le faire en
dehors de la fonction. Nous devons plutôt le faire
ici, ici, lorsque nous
voulons lâcher l'arme. Créons le code ici. Je veux fabriquer l'arme pour qu' tombe ici et qu'elle n'ait rien
à voir avec ça. Ensuite, je voudrais faire glisser le pointeur à partir d'ici et dire « retarder », comme avant. Réglez-le à 20,05, puis je veux
lâcher l'arme Avant de le faire, je ne
veux pas le faire tout le temps. Je veux vérifier si c'
est la même chose qu'avant. Je vais prendre cette
arme et me demander si elle est égale à l'arme figurant dans l'
inventaire que je viens de trouver. Laisse-moi faire une branche.
Si c'est vrai, je veux le faire ici,
laissez-moi revenir en arrière. Si c'est vrai, je
veux le faire ici. Si c'est faux, je
veux juste exécuter le code comme avant. Permettez-moi de réorganiser cela afin que
vous puissiez réellement voir
ce qui se passe OK, juste comme ça, nous
essayons de comparer l'arme à larguer avec celle que nous
essayons de larguer ici. Et si c'est pareil, nous allons clarifier
tout cela et faire tout cela. OK, génial ici, nous n'
en avons vraiment pas besoin. Nous pouvons simplement supprimer
celui-ci d'ici. De plus,
parfois encore une fois, l'arme devient invisible parce que cet acteur ne peut pas
reconnaître cet acteur, même s'il s'agit du même acteur. Au lieu de le faire,
supprimons-le simplement. Supprimez-le, et
retirons-le ici. Au lieu de cela, nous supprimons constamment cette arme pour la lâcher
avant de la reconfigurer. Et c'est très bien. Il n'y a pas
vraiment de problème avec ça. Faisons-le également pour le pillage. Au lieu de vérifier s'il s'agit de la même chose,
supprimons-le. Faisons-le simplement
parce que ça ne fait pas trop mal ou
ça ne fait pas vraiment mal. En fait, cela n'a pas
vraiment d'importance. Allez-y et
connectez-le comme ça. Allez-y, compilez. Je vais cliquer sur
jouer
maintenant, vérifier à nouveau. C'est principalement pour le
client, car c'est là que les
problèmes de réplication se produiront. Ici. En tant que client,
en tant que serveur. Je vais piller des
armes, me
démarquer et tuer ce joueur Maintenant, le joueur est mort. Maintenant, je vais lâcher mon arme
pour récupérer celui-ci. Je suis en train de lâcher mon pistolet et
de le charger. Ça marche pour que nous puissions
piller les deux pistolets. Chargons cette arme. Continuez simplement à piller l'arme
et voyez si vous vous débrouillez, si vous avez des problèmes
ou si tout va bien Nous pouvons voir que rien ne
devient invisible, que tout va bien. J'essaie juste de voir s'
il y a un bug en ce moment. Je crois avoir vu un bug où j'ai
fait tomber les quatre. Vous pouvez voir maintenant que je l'ai déposé lorsque j'appuie à la place. l'heure actuelle, le problème,
c'est que si nous choisissons un joueur ici et que nous
équipons deux armes, et si je clique sur G
pour lâcher l'arme, vous pouvez voir que l'arme sur
mon dos est en train de tomber. Et ceci fait suite aux nouvelles
modifications que nous venons d'apporter. Laissez-nous vérifier ce qui se passe. Le problème vient peut-être du fait
d'échapper à
l' arme ou de
la laisser tomber ici Pour larguer l'arme, nous lâchons l'arme
équipée. Voyons d'abord
si c'est vrai. Quelle est l'arme équipée ? Faisons-le vraiment ici. Faisons-le ici pour pouvoir imprimer le nom de l'arme. Il suffit de le brancher ici, de
le compiler et de le sauvegarder. Maintenant, il devrait être écrit pistolet. Lorsque j'essaie de lâcher mon arme
et qu'il est écrit pistolet, l'arme équipée est correcte Il n'y a rien
de mal à piller l'arme. Nous connaissons maintenant l'
arme à butin. La logique est correcte. Nous essayons de lâcher le pistolet, mais pour une raison ou une autre, le
fusil est lâché Maintenant, imprimons ceci. Permettez-moi également de voir
si je ne suis pas armé ou non. En fait, cela n'a aucun sens parce que nous
lâchons l'arme. Nous savons donc que nous ne sommes pas désarmés, nous lâchons notre pistolet Il y a quelque chose qui ne va pas ici. Et je crois que cette boucle, encore une fois, je vous l'ai déjà dit, n'attend pas
ce que vous essayez de faire. C'est un problème avec les boucles. Parfois, ils exécutent
simplement le code. Si je reviens ici, je crois que c'est pour essayer de lâcher la deuxième
arme que vous avez récupérée Parce que cela n'
attendra pas votre retard. En fait, il va
parcourir en boucle et supprimer le dernier index. Je crois que c'est
ce qui se passe. Déconnectons plutôt cela. Permettez-moi de le supprimer. Tiens,
laisse-moi déplacer ça. Maintenant, lorsque nous
trouverons une arme, créons une nouvelle variable. Créons-en une nouvelle appelée arme
trouvée à larguer. C'est celui-ci, j'ai trouvé une
arme à lâcher. Faisons en sorte que cette
arme trouvée tombe pour qu'elle soit vraie. Alors brisons la boucle. Maintenant, nous avons trouvé une arme et prenons des notes
comme avant. Ce que nous pouvons faire avec
ça maintenant, c'est me laisser simplement le déconnecter
et le déplacer. Maintenant, prenons ça,
créons une branche et demandons si nous avons une arme ? Il a trouvé une arme à lâcher. Si c'est vrai, nous voulons d'
abord définir ce paramètre sur false. Parce que la prochaine
fois que nous le
ferons, nous voulons nous assurer que
cela ne fonctionne pas. Ensuite, nous
voulons lâcher cette arme. Il suffit de le déplacer ici, et c'est bon. Nous allons lâcher l'
arme comme avant. Mais nous allons le faire ici
quand la boucle sera réellement
terminée ici. Et l'arme à lâcher peut être celle que
vous avez en ce moment. Parce que n'oubliez pas que vous
avez rompu la boucle, donc c'est toujours l'
arme que vous avez trouvée qui est en jeu. Nous n'avons
rien à faire à l'intérieur d'ici. Dans ce cas, nous allons retarder. Ensuite, nous allons le configurer
pour qu' interagisse à nouveau avec.
OK, compilons. La prochaine chose que nous voulons faire,
c'est que tout cela soit correct. Il n'y a rien de mal ici. La prochaine chose que je veux faire, revenir à mon armure de santé et à ma logique de
dégâts ici. Assurez-vous simplement que vous
avez ce délai, peut-être à 0,2. Je crois que j'ai dû le faire à
0,1. S'il y a un bug, c'est
parfois parce que vous lâchez les
armes trop vite. Je pense que je vais passer à 0,2 et nous laisser tout compiler
et tout enregistrer. C'est la logique
que nous avons suivie jusqu'à présent. Si vous avez oublié quelque chose, assurez-vous
simplement que cela
ressemble à ceci, ainsi que de la logique pour laquelle vous avez
lâché l'arme. Si je reviens
à mon graphique ici, sur le
pillage, je m'assure que le
pillage se déroule comme ça Nous avons supprimé la comparaison. Je peux également supprimer ce
nœud de redirection. C'est ce que nous avons obtenu jusqu'à présent. Il suffit de supprimer cette variable, de poser
instantanément un petit moment, puis de récupérer l'arme OK, ça a l'air bien. En plus de l'arme larguée, nous avons conçu cette arme équipée pour qu'elle soit connectée à ce serveur. Ensuite, nous utilisons le type
d'arme ici et nous nous
assurons de briser la boucle comme
ça pour qu'elle ne se bloque pas. OK, c'est notre logique jusqu'à présent. Si nécessaire, nous pouvons
essayer de réparer les choses à nouveau, mais je pense que cela devrait régler le problème. Laissez-nous faire des tests
et assurez-vous que
rien ne fonctionne. Je vais
minimiser le serveur. Je vais jouer sur
le client car c'est surtout là que la
réplication se passe mal. Prenons une arme
comme serveur. Maintenant, si je vais voir le client. Ici, avec le client et je tire sur le serveur,
je lâche l'arme. J'essaie de piller. Je peux le piller J'essaie de piller le pistolet. Je ne peux pas parce que j'en ai un. Si je le laisse tomber, j'y vais et j'essaie de récupérer
le pistolet ici En ce moment, j'ai un
problème de réplication avec le pistolet. Si je le ferme et que je regarde à nouveau les délais,
j'ai 0,05 après le j'ai 0,05 après largage de
l'arme, puis
nous avons retardé de 0,1 pour nous
assurer que nous pourrons aimer cette interaction après avoir
exécuté cette fonction De plus, si vous
revenez à la santé, celle-ci est de 0,3. Maintenant, nous pouvons
essayer de la ramener à 0,2, mais maintenons-la à 0,34 Maintenant, avant de tester des choses, passons à la
mort que nous avons provoquée ici Au lieu de configurer le
maillage pour que la collision soit activée. En ce qui concerne le maillage, si vous
passez à la collision, vous pouvez voir qu'il
interagit également avec les
armes. Il interagit avec la
statique et la dynamique du monde. Essayons de n'activer que la physique des
collisions, non les requêtes, nous ne faisons pas double emploi
avec les armes
et ne causons pas de problèmes Au lieu d'activer la collision, je vais définir la physique uniquement
parce que nous ne nous
intéressons qu'à la physique. Nous pouvons donc créer cet effet de poupée de chiffon
et tomber par terre. Seule la physique devrait
être bonne ici. Essayons-le maintenant
et voyons s'il fonctionne. Je crois que j'ai déjà eu un bug
avec un joueur en interaction. Je voudrais rappeler cette
case afin de pouvoir la
corriger ici en tant que joueur ou client.
Tuons le serveur. Maintenant, je peux le lâcher, essayer de le
tirer au sort et je peux piller le pistolet K. Maintenant, je peux aussi
piller le pistolet. Je n'ai aucun
problème si je pars. Vous pouvez voir ici que j'ai
reçu une erreur disant que axis n'essayait pas de lire la
propriété interagissant avec le joueur. Si vous cliquez simplement sur l'erreur, vous pouvez
y accéder. Il y a juste une erreur ici. Je crois que c'est le
joueur qui est en train de mourir. Il s'agit en fait de régler
ce joueur sur
ce paramètre lorsqu'il indique « axe non ». Vous pouvez simplement résoudre ce problème en vous
assurant qu'il est valide. Si je le déplace simplement,
je peux le prendre, cliquer avec le bouton droit de la souris et le convertir en
un get validé. Et vérifions-nous qu'il est
valide avant de continuer. Ensuite, il y a
aussi le bogue, car cela me montre que cette
époque est également arrivée. Maintenant, j'ai fait en sorte
que cela soit valide parce que cela
vient également d'ici. Vous pouvez voir qu'il arrive
directement dans cette boucle. Même si nous réglons ce problème, cela va échouer à
cause de celui-ci. Assurez-vous que c'est valide. Cela nous a donné une ère
grâce à celle-ci. Nous essayons de vérifier les choses
lorsque cela n'est pas valide. Assurons-nous ici
après le joueur, et je crois que nous
interagissons avec le joueur
qui lâche l'arme. Laissez-nous le copier
ici, ici en bas. Assurez-vous que ce joueur n'
est pas également celui qui a lâché
l'arme. Parce que nous ne voulons pas
piller l'arme, nous l'avons simplement lâchée. Cela n'a aucun sens. Mettons tout cela de côté. Juste comme ça, en fait, je pense que nous pouvons supprimer celui-ci, parce que nous le
demandons déjà. Créons une branche et
connectons-la ensemble,
connectés à ici. Si c'est le cas,
nous allons définir le joueur qui interagit, nous
allons le faire avancer. Je pense que nous pouvons le supprimer, car il suffit de le vérifier. Supprimons. Supprimez-le. Cela devrait bien fonctionner. Celui-ci, nous le
configurons, puis nous
vérifions s'il est valide.
C'est très bien aussi. OK, maintenant
prenons quelques notes. La raison pour laquelle je ne le supprime
pas et je le connecte
simplement ici comme ça, parce que je veux m'assurer que c'est valide
avant de continuer. Parce que nous
venons également d' ici et que nous nous
connectons directement à cela. Même si nous sommes ici, nous devons nous
assurer que c' est valide avant de
continuer ici. Je vais également m'assurer
que le joueur est valide. glisser le pointeur ici et le
dire est valide, allez-y, Faire glisser le pointeur ici et le
dire est valide,
allez-y,
donc assurez-vous que le
joueur est valide et que
ce n'est pas
le joueur qui a
lâché cette arme Maintenant, photographions à nouveau
le serveur. Maintenant, lâchons l'
arme, chargez-la. Permettez-moi de l'
agrandir pour que nous puissions réellement voir ce qui se passe actuellement. Tout fonctionne. Je peux lâcher le pistolet. Si je charge deux objets et que je les
laisse tomber, nous lâchons le pistolet, nous n'avons plus ce virus. OK. Je peux tout charger et je ne reçois
aucune boîte quand je quitte ça. OK, tout fonctionne maintenant. Je sais que cela a été
source de confusion parce que nous avions beaucoup de boîtes à régler. Assurez-vous que lorsque
le joueur est mort, vous lâchez l'arme. Nous allons obtenir cette première
arme de l'inventaire. Si la longueur de l'
inventaire est supérieure à zéro, ce qui signifie que nous avons une
arme dans l'inventaire, nous lâchons l'
arme et le retardons d'un montant qui ne
ferait pas chuter l'arme de 0,3
dollar à ce stade heure actuelle, nous
pouvons peut-être le réduire à 0,2. Mais j'en suis
satisfait pour le moment, personne ne le
saura de toute façon. Puis, à l'intérieur du largage de l'arme, nous avons fait cette boucle ici. Nous avons fait entrer ce taureau
pour ne pas nous embêter. Et nous n'avons pas besoin de
répliquer cette variable car nous ne faisons que vérifier des informations
à l'intérieur du serveur Nous utilisons cette variable
en dehors du serveur, nous ne l'
utilisons
donc jamais sur le client. Nous n'avons pas vraiment besoin
de le reproduire. Nous sommes en train de
le parcourir, nous
effaçons d'abord cette variable. Avant de lâcher l'arme. Nous lâchons l'arme, nous la retardons pour nous assurer qu'
elle
est utilisée, puis les joueurs
peuvent interagir avec elle. Encore une fois, le délai
est de 0,1 pour celui-ci. Enfin, pour l'arme en
lot, encore une fois, nous supprimons directement
la variable d'arme en lot. Notify l'a effacé
, puis nous l'analysons ici. OK, c'est tout ce que je sais, c'est un peu confus mais nous avons
dû nous débarrasser de tous ces problèmes. Encore une fois, si vous
rencontrez des problèmes, hésitez pas
à visiter mon site Web, Pixel Helmet.com, ou vous pouvez
également me parler
sur Discord Vous pouvez voir mon Discord sur mon profil et il s'agit également
du casque Pixel Très bien, merci d' regardé et passons
à la leçon suivante.
170. 12.03 Respawn: Maintenant que nous en avons fini
avec la mort, assurons-nous que le
joueur réagisse également. À l'intérieur de la
base de joueurs. Encore une fois, à l'intérieur de la santé, de l'armure et des dégâts. Permettez-moi de le placer ici
à droite et de cliquer avec le bouton droit de la souris. Puis fermez
les onglets sur la droite. OK, à l'intérieur d'ici, faisons un clic droit maintenant et créons un nouvel événement personnalisé.
Appelle celui-ci. Faisons à
nouveau un clic droit pour en faire un événement personnalisé et appelons-le Re. Ensuite, celui-ci s'exécutera sur le serveur comme avant. Laisse-nous faire fonctionner, le
serveur est fiable. Ici,
appelons le serveur respawn. Nous sommes maintenant prêts
à répondre. Maintenant, pour
ce qui est de la réapparition, nous
voulons simplement changer la position du
joueur Parce qu'imaginez que le joueur
soit mort ici, au sol. Nous allons essentiellement ramener
ce joueur
au point d'apparition C'est ce que nous
essayons de faire maintenant. Nous avons déjà dépassé les
points d'apparition dans le mode jeu. Si vous vous souvenez, si vous
revenez aux plans, ouvrez le mode de jeu et qu'
à l'intérieur du mode de jeu, nous avons cette seule
demande : faire apparaître Maintenant, nous ne voulons pas faire
apparaître le joueur, souvenez-vous que nous l'
avons uniquement tué en ne bougeant pas Techniquement, vous êtes
déjà engendré. Nous ne
t'avons jamais retiré du jeu. Nous ne voulons pas l'
appeler à nouveau. Ce que nous voulons faire, c'est simplement reprendre cette
logique. Ce que nous pouvons faire, c'est
avoir besoin du mode de jeu pour récupérer les points d'apparition de la lutte contre le terrorisme
et du Revenons à la
base de joueurs et disons « passer en mode jeu ». C'est juste la référence, disons un mode de jeu
comme celui-ci. Ensuite, connecté à cette référence de mode de
jeu depuis
notre interface Blueprint Maintenant, obtenons les points d'apparition des
daroristes,
les points des terroristes,
celui-ci aura des points celui-ci aura Maintenant, ce que nous voulons
faire, comme avant, revenons au mode de jeu. Nous pouvons en fait simplement prendre un point de spa aléatoire
, puis copier cette transformation
comme avant. Nous pouvons également le copier ici, contrôle C. Revenons au contrôle de
la base de joueurs
V. Faisons
le lien entre le terroriste de l'appartement
et
le terroriste et
faisons maintenant une notification aux représentants N'oubliez pas de connecter celui-ci Nous avons besoin de l'équipe que
vous avez sélectionnée. Nous devons savoir si le joueur est un contre-terroriste
ou un terroriste. N'oubliez pas que nous l'avons fait dans l'interface utilisateur. Nous revenons à l'interface utilisateur dans laquelle
vous sélectionnez l'équipe. Vous allez sur le graphique ici, vous avez sélectionné
l'équipe dans laquelle vous appartenez. Cela vous amène au mode jeu. Le mode de jeu ici, sélectionnez l'équipe. Créons-le en
tant que variable afin de pouvoir l'utiliser,
car pour le moment, il n'
y a aucun moyen de l'utiliser. Formons une nouvelle équipe variable. Si je passe simplement la
souris dessus,
vous pouvez voir qu' il s'agit d'une référence à une classe d'
acteur, si vous êtes acteur et que c'est celle-ci. Et vous pouvez sélectionner la référence
de classe. Compilons maintenant, souvenez-vous que
nous n'avons qu'à définir de telles
choses à l'intérieur du serveur,
pas sur le client. Ici, sur le serveur,
je vais créer une
équipe informatique , puis connecter celle-ci ici pour la
rendre plus propre. Maintenant, nous n'avons pas besoin de le
reproduire car nous ne l'
utiliserons jamais sur le client Il suffit de l'utiliser sur le serveur pour trouver
le bon point d'apparition Cette variable elle-même n'
est pas nécessaire, nous n'avons pas vraiment besoin
de la répliquer Maintenant, nous définissons cette
variable ici. Nous devons reprendre le contrôle
du joueur. Faisons un clic droit et disons « get controller » et trouvons
la fonction ici. Ensuite, disons « référence à la manette
du joueur ». Connectons-le maintenant en tant que manette
du joueur. Trouvons la variable d'équipe
que nous venons de créer. Et maintenant,
connectons-le ici. OK, maintenant nous nous demandons si le joueur
est un terroriste
ou un contre-terroriste ? Si le joueur est un
antiterroriste, est-à-dire si c'
est vrai, nous allons trouver les points de
lutte contre le terrorisme. Cependant, lorsque le
joueur est un terroriste, ce sera faux, il choisira
donc B, qui correspond aux points terroristes. OK, cliquons avec le bouton droit de la souris
et ajoutons-le à nos points de
réponse variables pour les joueurs. Ou en fait, laissez-moi simplement l'appeler Response Transform.
C'est plus correct. Encore une fois, nous devons en
faire un représentant, prévenir car nous changeons
la position du joueur Il s'agit d'un
changement visuel pour cliquer dessus. Laissez-nous compiler,
entrons dans le vif du sujet. Ce que nous devons
faire
ici, c'est simplement changer la
loi, transformer. Cliquez avec le bouton droit de la souris et
disons défini et sélectionné. C'est juste moi. C'est le joueur qui vient de
mourir. C'est très bien. maintenant à la nouvelle transformation, prenons
celle que nous venons de dire. Maintenant, le problème avec
celui-ci, non ? Maintenant, le joueur, si vous
cliquez sur le maillage, souvenez-vous que nous avons créé avant que je ne
dise que l'échelle était de
1,6 sur l'échelle. Si je le connecte
directement ici,
cela passera à 11.1. C'est parce que ce point
espagnol est en fait 111 Ce que vous pouvez faire, c'est que nous
sommes en train de prendre cette transformation depuis
les points espagnols. Si vous soulignez ce
point de vue sur la version 1.6, laissez-moi simplement revenir
ici à la couche de base. Vous le branchez directement et
vous l'avez à 1,61 0,61
0,6, alors ce sera en fait 1,6 même si vous l'
avez réglé sur un Il s'agit en fait de
transformer ce point d'apparition. Cependant, pour mon exemple
, pour votre jeu, si vous devez 111,
vous n'avez pas vraiment besoin de le
faire ici, mais pour moi, je
vais juste le détailler ici. Je vais transformer, casser la transformation ici,
transformer ici. Car l'emplacement est bon,
la rotation est bonne. Cependant, pour l'échelle,
je veux la maintenir à 1,6. Connectons-la comme
ça. Compilons maintenant
et revenons en arrière. Et nous voulons également nous
assurer que c'est mort est défini sur faux, car
maintenant nous ne sommes plus morts. Il suffit de répondre,
de faire glisser le pointeur d'ici, de dire « mort » et de faire en sorte que
celui-ci soit faux. Nous devons maintenant travailler sur ce point
dans la leçon suivante, car nous avons toujours simulé la physique et il n'y a toujours pas de
collision et tout ça Et nous allons travailler
là-dessus dans la prochaine leçon. Mais pour l'instant,
cliquons sur jouer. En fait, avant de cliquer sur jouer, nous devons répondre ici. Nous n'avons jamais organisé cet événement. Rien ne va se passer. Disons-le
ici quand le joueur n'
est plus mort. Chaque fois que nous définissons ce paramètre sur false. Et faisons-le réellement ici. fois que vous aurez fini de
lâcher toutes vos armes, laissez-moi retarder le
code de 3 secondes. Nous allons améliorer
les choses plus tard, mais pour l'instant,
répondons et voyons si cela fonctionne. Nous allons attendre de 3 secondes, puis nous
allons répondre. Permettez-moi de cliquer sur Play. Choisissez Terroriste ici, sélectionnez
Terroriste par exemple. Maintenant, je vais juste mettre
quelques armes sur ce joueur. Allez ici à propos du client. Maintenant, permettez-moi
de les ouvrir tous les deux sur le client. Je suis le joueur ici. Le joueur doit
répondre à l'un des points d'apparition après 3
secondes, comme vous pouvez le voir ici À l'heure actuelle, rien ne se passe. C'est parce que nous avons
encore simulé la physique. Et c'est là le problème. Si nous essayons simplement de cliquer
sur le maillage de la capsule. Disons que, cachée dans le jeu, je vais l'
éteindre pour pouvoir voir les capsules et
voir ce qui se passe réellement. Et si je recommence à
utiliser mon arme, pars ici en tant que terroriste. Je vais aller ici. Maintenant. Essayons encore une fois.
Tirons sur le joueur et voyons voir. Parce que si la capsule bouge,
ce n'est pas un bug. Si vous regardez
maintenant, au bout de 3 secondes, vous pouvez voir que la capsule
a disparu des yeux du joueur. Et c'est parce que la
capsule est là maintenant. Maintenant, le joueur est réellement là. Cependant, le joueur traîne
encore une fois. C'est parce que nous avons
simulé la physique. Et tout cela, nous
devons travailler sur
cette partie de
la leçon suivante et faire en sorte que cela fonctionne.
171. 12.04 Not Dead RepNotify: Très bien, maintenant nous sommes de retour et nous allons
travailler là-dessus. Est-ce que c'est alors que c'est faux ? Donc, ce représentant, notifie et nous pourrons répondre correctement au
joueur. Ce que vous voulez faire d'abord,
laissez-nous supprimer la physique. Il s'agit de la première
étape. Supprimons le maillage et je vais
dire simulons la physique. La prochaine chose que nous voulons
faire est de jeter à nouveau de l'
ombre à partir de
ce maillage à la troisième personne. Alors vas-y et fais-le. Ce que je vais faire,
c'est remettre le maillage à nouveau. Je vais le faire glisser vers le bas. Activez la collision. Si vous cliquez simplement sur le maillage, il est configuré pour interroger uniquement. Je vais cliquer ici
et le configurer sur requête uniquement. Je peux le remettre à ce
qu'il était avant. Créons simplement un
nœud de redirection ici et déplaçons-le vers le bas. La prochaine chose
que nous voulons faire est de
regarder ici et de voir
ce que nous devons faire. Maintenant. Nous devons prendre
ce composant de la capsule et cliquer dessus. Et nous devons le configurer pour activer la
collision,
faites glisser le pointeur à partir d'ici. Et dites «
activer la collision » et sélectionnez-la. Définissez ensuite la collision activée ici. Mais pour celui-ci, celui-ci est
maintenant correct. N'oubliez pas non plus que nous avons
désactivé l'animation, nous devons l'exécuter à nouveau. L'animation destinée au joueur
est ce plan d'animation. Ici, le mode animation est réglé sur le plan d'animation Nous devons en fait le
refaire à partir d'ici. À partir du maillage. Et n'oubliez pas que c'est
le maillage qui en résulte. Et dites définir le mode d'animation. Et allez-y et sélectionnez
ce mode d'animation défini. Et vous devez le reconfigurer
pour utiliser le plan d'animation. heure actuelle, lorsque nous le
définissons sur plan d'animation, nous devons également définir
quel plan d'animation Comme nous avons réinitialisé
les paramètres ici, nous pouvons à nouveau faire glisser le pointeur depuis ce
maillage et dire « classe », c'est cette instance d'animation
définie revêtue et la connecter C'est celui que nous avons appelé
lecteur MBP ici, le plan d'animation que
nous avons créé auparavant Maintenant, ce que nous devons faire, c'est que
nous allons quand même réserver parce que je vais juste
vous montrer et vous pourrez voir
ce qui se passe. Si on rouvre tout ça, joue le terroriste ici. Maintenant, tuons ce joueur. Maintenant, ce joueur est abattu. Et vous pouvez voir ici que le
joueur est toujours en train de porter, mais il n'y a rien ici. Et je suis également allongé par
terre sur cet écran, il y a toujours un bug. C'est parce que, souvenez-vous
, dans le cas de la physique
simulée, nous avons eu ce problème
plus tôt dans le cours. Si vous maintenez la souris dessus,
cela indique que si ce composant est actuellement attaché
à quelque chose, c'est le maillage qui est attaché
au composant de la capsule.
Ensuite, le début de la simulation le
détachera Il est en fait détaché
du composant de la capsule. Nous devons le reconnecter. Prenons le maillage ici. Oups, pas les deux. Prenons le maillage et
disons attacher un composant
à un autre. Si vous ne vous souvenez pas de
ce que nous avons fait, vous pouvez toujours cliquer
sur l'arme pillée Prévenez si vous trouvez l'arme pillée déballée.
C'est ce que nous avons fait. Nous avons désactivé la physique et reconnecté l'arme
à la scène principale Voici la même chose
que nous sommes en train de faire. Revenons à ici. Nous allons maintenant nous
reconnecter ou attacher le maillage au composant de la
capsule. N'oubliez pas que c'est lié
à, en fait, à rien. Le socket n'est aucun.
Pour la règle de localisation. Disons « Snap to Target ». Atteignez la cible. Atteignez la cible. Bien, voyons ce qui se passe si vous
cliquez à nouveau sur Play. Et testez-le
ici en tant que joueur. Je vais à nouveau tirer sur
le joueur. Voyons maintenant ce qui
se passe. Le joueur apparaît ici. Cependant, il y a
toujours un problème. Le joueur est en bas, également sur mon écran, le
joueur sous la forme d'une caméra bizarre. Cela s'explique par le
fait que si vous cliquez à nouveau
sur le maillage, lorsque vous simulez la physique, vous réinitialisez tous vos paramètres. Pour moi, c'est le lieu
et la rotation. Pour le joueur, dans un premier temps, il s'
agit également de le réinitialiser. En fait, je dois le remettre en
place. Si je prends le maillage et que je dis définir l'emplacement relatif et la rotation, je
dois le brancher. Je vais juste
cliquer sur mon maillage et copier ma position. Collez-le dedans. Il s'agit de la valeur z
et la rotation est -90. Maintenant, compilons,
sauvegardons tout Voyons si
tout fonctionne. Cliquons sur Play. Comme
Terrorist, encore une fois, comme ce type. Laisse-moi tirer sur le joueur maintenant
et voir ce qui se passe. Maintenant, le joueur
apparaît sur le sol. Pour une raison ou une autre, l'
enquête a été reconsidérée. Maintenant, nous avons l'air normaux. Le seul problème que
nous avons actuellement, c'est que le joueur
apparaît dans le sol Pour résoudre le problème où le
joueur se trouve sous terre. Ce que nous pouvons faire dès maintenant, lorsque nous cliquons sur jouer et que le joueur correctement,
c'est qu'il n'
y a rien de mal à ce que
les points St. eux-mêmes apparaissent y a rien de mal à ce que
les points St. eux-mêmes Nous n'avons pas vraiment besoin d'en
faire quoi que ce soit. Le problème pour le moment,
c'est qu' chaque fois que nous
attachons ce joueur, faisons en sorte
qu'il reste relatif. Faisons en sorte que le joueur reste relatif. Mise à l'échelle. Relatif signifie exactement ce que nous
avons écrit ici. Puisque cela
va vraiment nous permettre de garder notre envergure. Revenons au représentant
des joueurs ici présent pour la transformation que nous avons effectuée Au lieu de faire 1.6,
je vais le
supprimer et le mettre ici. Parce que encore une fois, si
je le règle pour
qu'il reste relatif, il gardera mon échelle. Je compile et
cliquons sur jouer
pour voir ce qui se passe si
je sélectionne Terroriste ici. Tuons simplement le joueur. Je vais photographier davantage. Voyons
où le joueur va répondre. Maintenant, c'est le joueur qui
répond là-bas. Si je maximise simplement mon point de vue, vous
verrez que le joueur a un pion. Cependant, le joueur flotte. C'est parce que j'ai oublié
d'activer la marche. Si je
revenais plutôt ici. N'oubliez pas qu'ici, nous avons réglé
l'animation sur cette valeur et
que nous désactivons le mouvement. Lorsque vous désactivez le mouvement, vous devez le réactiver. Pour ce faire,
laissez-nous le faire juste avant
le plan d'animation Déplaçons ça. Prenons le composant de
mouvement du personnage et disons définir le
mode de mouvement comme celui-ci. Réglez le mode de mouvement connecté. Maintenant, vous pouvez régler
celui-ci pour qu'il marche, le mode de marche standard
que vous avez par défaut, laissez-moi simplement le déplacer vers le bas. Et maintenant, cela devrait fonctionner. Si vous compilez et
que vous sauvegardez tout, je voudrais
peut-être déplacer ces points d'
apparition plus bas. Ils
atteignent donc réellement le sol. Le joueur ne
tombe pas par terre. Si je les déplace simplement vers le bas, ou s'ils sont réellement
là sur le sol, cela devrait fonctionner si
je les déplace également. Celui-ci. Celui-ci.
Celui-ci, et celui-ci. Et je les déplace vers le bas
pour qu'ils soient au sol. OK, jouons maintenant.
Select Terrist, me voilà. Laissons-nous apparaître en tant qu'
autre joueur. Maintenant, je vais
tirer sur le joueur. Voyons ce que
les joueurs font
apparaître là-bas Et je peux me déplacer
normalement comme avant, si je photographie en tant que client. Si je le maximise juste pour
voir s'il fonctionne, le serveur est
maintenant mort. Le joueur répond là-bas, cela fonctionne dans les deux sens. Si je réessaie, le joueur meurt
rapidement car nous n'
avons pas défini le maximum de points de vie. Et nous pouvons le faire
dans la prochaine leçon. Mais vous pouvez voir que le
joueur est en train de mourir correctement et
que rien ne va. Génial, passons
à la leçon suivante.
172. 12.05 Réinitialiser la santé sur Respawn: Réinitialisons maintenant
la santé du joueur lorsque celui-ci répond. Et c'est très simple parce que
nous avons déjà fait tout le travail si vous
revenez à la santé ici. Et ce que nous pouvons faire, c'est qu'ici, chaque fois que le joueur répond, chaque fois que nous le réglons
pour qu'il ne soit plus mort, cet endroit tire d'ici. Ce que nous pouvons faire, c'est
glisser et dire « set player he », je crois que nous
l'avons appelé « Set player health ». En gros, c'est
celui que nous avons fait auparavant. Définissez donc la santé du joueur. Et nous en avons également un
appelé set Player Armor. Appelez les fonctions que nous avons déjà
créées. Celui que nous allons voir ici. Obtenez le maximum de santé du joueur. Et nous avons également obtenu le maximum d'armure pour les
joueurs. Nous allons réapprovisionner le
joueur en santé et en armure. Maintenant, nous pouvons jouer et
cela devrait fonctionner. C'est tout ce que nous avions à faire. OK, laisse-moi juste filmer ici et m'assurer
que c'est correct. Si je réduis simplement cela au minimum pour pouvoir réellement voir à la fois l'état de santé, celui-ci et celui du
client. Photographions simplement en tant que
Klein pour voir si cela fonctionne, le joueur devrait le repo. Ici. Vous pouvez voir que le
joueur a de nouveau retrouvé de la santé. Nous pouvons voir que le joueur est train de réinitialiser 100 points de vie
et d'armure Et je dois
encore tirer sur le joueur avant qu'il ne meure. Génial, je vais l'essayer ici sur le serveur
et voir si cela fonctionne. Et le client
doit
également réagir avec une santé
maximale, correcte une santé
maximale, correcte et tout
fonctionne comme prévu.
173. 12.06 Prévenir les dommages de l'équipe: Nous sommes maintenant en mesure de
tirer sur notre coéquipier. Si vous êtes un terroriste,
vous ne devriez pas
pouvoir tirer sur votre
coéquipier terroriste Certains modes de jeu
peuvent également être utilisés, mais si vous souhaitez
ne pas infliger de dégâts à l'équipe, passons à
la base de joueurs. Les dégâts se font
ici, dans le lot. Équipez ici le shoot et rechargez. C'est ici que nous tournons. Il s'agit du tracé linéaire que nous sommes en train de créer. Ce que nous voulons simplement faire, c'est ne pas infliger de dégâts. Si c'est votre coéquipier
que vous tirez. Ce que nous voulons vérifier, c'est que si l'acteur à succès fait partie de
la même équipe que vous,
vous pouvez prendre cet acteur à succès
et lui dire « obtenir une référence ». Laissez-nous le connecter par la suite. Si je m'éloigne un
peu d'ici,
élargissons-le afin que
nous ayons de la marge de manœuvre. Et je vais aussi
faire de la place ici. Ajoutons le code entre les deux. Trouvons la référence du joueur. Disons get
controller parce que nous
avons cette variable d'équipe
à l'intérieur du contrôleur. Obtenez la
référence du contrôleur
du joueur . Ici, nous pouvons accéder à la variable d'
équipe que nous venons de créer. C'est ce que nous avons fait dans les leçons
précédentes. Nous pouvons nous en servir pour
voir si l'équipe ici est la même que
celle que nous avons sur nous. Si nous prenons simplement la manette du
joueur et que nous prenons cette variable d'équipe, nous les comparons. Nous prenons cette variable
d'équipe du joueur que nous venons de toucher. Nous prenons notre
propre variable d'équipe. Si ce n'est pas égal à
cela, nous pouvons vous infliger des dégâts
si vous créez simplement une branche. Et nous pouvons infliger les dégâts Si nous ne sommes pas dans la même équipe, je veux infliger des dégâts. Cependant, si nous sommes dans
la même équipe, nous n'allons en fait rien
faire. Permettez-moi de réorganiser
un peu les choses ici. OK, maintenant que
c'est réorganisé, si nous ne sommes pas dans la même
équipe que l'autre joueur, nous allons infliger des dégâts Et c'est en fait
la seule chose que nous devions
faire si je sélectionnais des terroristes maintenant. Et si je choisis un terroriste ici, je ne devrais pas être en mesure de
blesser ce coéquipier Si je tue ce coéquipier, tu peux voir qu'
il ne se passe rien Nous ne perdons aucune santé. J'essaie avec celui-ci. Si nous essayons également ici en tant
que serveur de filmer le client, rien ne se passera. OK, c'est ainsi que vous
éviterez les dégâts infligés à l'équipe.
174. 13.01 Créer l'interface utilisateur de score: Maintenant que
le jeu de base est terminé, ajoutons les scores des équipes. Note pour la lutte contre le
terrorisme et les terroristes. Ainsi, vous pouvez voir combien
vous avez gagné au cours des tours. Allons-y et
passons à l'interface utilisateur. Accédez à l'interface utilisateur dans l'interface utilisateur principale, nous allons faire
le tour d'horizon ici. Ce que je veux faire, c'est essentiellement vous montrer ce que
nous essayons de faire
afin qu'il soit plus facile de comprendre que c'est
ce que nous essayons de faire. Avoir un score pour la
lutte contre le terrorisme et un score
pour le terrorisme. Encore une fois, décomposez cela. Voyez quels éléments vous devez utiliser et essayez de le faire
vous-même si vous le souhaitez, sans mon aide, car
vous devriez pouvoir acheter. Maintenant, si vous avez encore besoin d'aide, si vous n'êtes pas sûr, allons-y et
faisons-le ensemble. abord, nous avons besoin d'une boîte horizontale car il y a deux
éléments côte à côte. Allons-y et
cherchons une boîte horizontale. Laissez-moi m'assurer de ne pas les
mettre ici. Il suffit d'enfoncer
le cadre horizontal dans le panneau de toile. C'est à l'intérieur d'ici. Assurez-vous que le point d'ancrage se trouve
au milieu de l'écran. Si vous écrivez zéro
dans l'exposition, celle-ci doit être au
milieu. Nous devons ajuster l'alignement du x à 0,5 dans la position du
x. Je vais juste dire 30,
en fait, le xy 30, donc il n'est pas sur le
bord de l'écran. Encore une fois, de la taille au contenu. OK, maintenant il va s'adapter au contenu que j'
ai à l'intérieur. Permettez-moi d'abord d'ajouter une superposition. À l'intérieur de cette superposition, nous avons besoin d'une image car
nous avons besoin d'un arrière-plan J'ajoute cette image à la
superposition de cette image. Cherchons simplement le panneau, le même que celui que nous
avons utilisé jusqu'à présent. Donc, encore une fois, ce panneau documentaire, changez le dessin quant à la marge de la
boîte à 0,50 0,5 et maintenant nous pouvons l'étirer Maintenant, à 11 dans le zoom, je peux voir à quel point il est grand. Je ne pense pas que je vais
faire la taille ici. Je pense que je vais vraiment
contrôler cela plus tard. Alors laissez-moi écrire
32 par 32. Encore une fois, je vais le contrôler ici. Commençons par créer
une boîte verticale. Parce que nous avons besoin de deux textes
superposés, nous avons besoin du premier. Cherchons simplement du texte. Placez-le à l'intérieur de
la boîte verticale. Dupliquez celui-ci. Je vais cliquer
sur les deux. En fait, copions
le style de celui-ci. Laissez-moi cliquer dessus, maintenez la touche
Maj enfoncée et cliquez avec le bouton droit de la souris. Cliquez sur les deux.
Maintenez la touche Maj enfoncée et cliquez avec le bouton gauche, nous collons le style. Je vais aussi,
voyons voir ici. Pour l'ombre, aucune ombre
n' est appliquée et ça devrait aller. Nous n'avons pas non plus de plan. OK, celui-ci est bon. Sélectionnons maintenant les deux que nous devons faire. En fait,
modifions le premier. Disons antiterroriste. Écrivons-en un ici. Permettez-moi peut-être d'écrire un
ici pour celui-ci. Je vais le mettre
ici au milieu. En fait, celui-ci aussi.
Mets ça au milieu. Mets-le également au milieu. Ici aussi, dans la justification, je vais le
placer au milieu. Cliquez maintenant sur les lignes
pour supprimer les tirets. Maintenant, nous avons besoin d'un peu
d'espace entre eux. Avant cela, je
vais également modifier la taille du devant. Je pense que c'est un peu trop grand. Je vais le mettre à 20. En cliquant sur cette superposition, vous avez l'image, puis nous
avons le cadre vertical. Je vais en fait mettre une marge sur
cette boîte verticale. Laisse-moi juste écrire, ou rembourrer. Alors laissez-moi juste écrire 30 et voici à quoi
cela ressemble maintenant. Je pense que c'est bien. 30, c'est
bien pour cette boîte verticale. Nous avons
éloigné le cadre vertical des bords
de cette image. Je vais changer
la couleur de celui-ci. Essayez simplement de trouver la
couleur que vous aimez ici. Pour la lutte contre le
terrorisme, je vais
réduire un peu la saturation. Peut-être que quelque chose
comme ça va. OK, j'ai le
contre-terroriste, laissez-moi juste ajouter un
espace entre les deux. Il suffit de chercher des espaces, les
ajouter entre
ces deux textes. Pour le Y, écrivons dix. C'est peut-être un peu trop. Écrivons cinq, et
regardons-y encore une fois, je pense qu'il nous en faut plus. Disons 88 pour l'espacement. Laissez-nous simplement dupliquer cela. Je vais
dupliquer la superposition car nous sommes dans
la case horizontale. Il va en ajouter
un autre à côté. Permettez-moi de changer
celui-ci en terroriste. Permettez-moi de changer la couleur ici, la teinte en rouge. Juste zéro ici. C'est rouge. Je vais réduire
légèrement
la saturation car je
trouve que c'est trop fort. La saturation est de 0,8 Et je vais le faire
pour l'autre également, en changeant à 0,8,
elle reste la même. Ajoutons un intercalaire
entre les deux. Si je reprends les entretoises, ajoutez-les entre elles et les superpositions Alors pour la taille et le x, écrivons quelque chose comme 50, peut-être quelque chose de moins, peut-être
pas 50. Écrivons 30. Je pense que c'est bon. D'accord, si vous compilez maintenant, changeons simplement ces
variables car
nous les utiliserons
plus tard. Celui-ci est le numéro, appelez-le score terroriste T. Je vais le copier
et m'assurer qu'il s' agit d'une variable car nous
devrons la modifier ultérieurement. Cliquez sur l'autre,
appelez-le « score terroriste » par texto. Créez également cette variable. Je vais cliquer sur chacun d'
entre eux et m'assurer que la visibilité
est censée ne pas être testable parce que je ne veux pas la souris interagisse avec eux. OK, si vous cliquez simplement
sur Play pour voir à quoi cela ressemble,
voici à quoi cela ressemble. Je pense que tout
va bien. Passons donc
à la suivante.
175. 13.02 Créer l'interface utilisateur Team Win: Avant de continuer, concevons le team win I dans l'interface utilisateur. Revenons à
l'essentiel ici. Je veux qu'il soit indiqué
qu'il soit indiqué de compter une victoire terroriste ou une
victoire terroriste chaque fois qu'une équipe gagne. Ajoutons-le en dessous. Ce dont nous avons besoin, c'est
à l'intérieur d'une boîte verticale. Comme nous l'avons et
le texte en dessous, cherchons une boîte verticale. Permettez-moi de minimiser
tout cela afin que je puisse voir où je peux le déposer. Il doit entrer dans
cette boîte verticale. Je vais juste le
mettre entre les deux. Ensuite, faites glisser
cette boîte horizontale dans la boîte verticale. Et maintenant, cliquez sur
la case verticale. Placez l'ancre au milieu. Réglez cette position sur zéro. Je vais régler l'alignement. En fait, cliquez d'abord sur la
taille du contenu et réglez l'alignement sur 0,5. Et
pour la position dans le Y, je vais la régler sur
30, comme avant. Nous l'avons maintenant dans
une boîte verticale. Et ce que nous pouvons faire,
c'est rechercher un texte et
l'ajouter dans le cadre vertical. Ce texte peut être au milieu, et la justification peut également
être au milieu. Donnons-lui un peu d'espace, cherchons un espaceur,
ajoutons-le entre les deux, cliquons dessus, disons, par
exemple, 15 ou
20, ou 25 peut-être Disons 25, et voici à quoi cela ressemble. Maintenant, cliquons sur ce texte. Faisons un clic droit pour copier ce style de façade. Cliquez sur
celui-ci avec le bouton gauche de la souris pour le coller. Pour le décalage des ombres, je vais juste lui donner
une ombre de deux par deux. heure actuelle, vous ne pouvez rien voir car à l'intérieur de la couleur des ombres, vous devez augmenter l'alpha à zéro, c'est transparent. Mais si vous écrivez 0,3 par
exemple, voyons voir, il y a un léger effet d'
ombre, 0,4 peut-être que cela devient plus clair
et c'est ce que nous avons Par exemple, nous pouvons
écrire Terrorist Win. Voici à quoi cela ressemblera. OK, pour ce qui est de la taille amusante, agrandissons-la un peu parce que c'est important. Maintenant, ça a l'air bien. Compilons le tout et passons
au suivant.
176. Fonctionnalité de l'interface utilisateur de Score et Team Win: Passons maintenant au codage des fonctionnalités
de l'interface utilisateur. Ouvrons-le à nouveau et
cliquons sur Counter Terrorist. Je vais le configurer pour qu'il soit masqué pour commencer, le
définir comme masqué. Nous ne voulons pas
le voir par défaut. De plus, si vous venez d'
ici, changez le nom. Modifions-le par SMS pour annoncer la victoire de l'
équipe par
exemple. Vous pouvez l'appeler comme
vous voulez et le définir comme variable
afin que nous puissions
le modifier dans le plan Et celui-ci est le score
antiterroriste que nous
avons déjà ainsi que le score
terroriste. Et ils sont tous deux variables.
OK, donc c'est fait. Passons au
graphique à l'intérieur d'ici. Ce que nous avons fait jusqu'à
présent, c'est l'armure telle que nous pouvons le voir ici et le mode opératoire.
Maintenant, allons-y, créons un nouvel événement personnalisé. Appelons cela une mise à jour de l'interface utilisateur des scores
terroristes. Je vais copier
ce nom parce que je vais le noter
à nouveau ici. Disons maintenant le score de
Codterrorist. Ce que nous devons faire, c'est pour le
terroriste, prendre le score du terroriste définir un texte et nous laisser le relier. Et nous allons
faire la même chose
ici pour le score de la
lutte contre le terrorisme. Définissez le texte et nous
allons définir le texte. Pour le texte, nous avons essentiellement
besoin de la partition. Cliquons sur cet événement
et créons une nouvelle variable, entier
et une valeur numérique Appelons cela un score. Il en va de même pour celui-ci. Créons un nouveau
nombre entier variable. Appelez ça un score. Maintenant, nous pouvons simplement
inscrire ce numéro de score ici. Le moteur neuronal transformera
automatiquement votre variable entière en variable de texte afin de pouvoir l'
imprimer à l'écran. Faisons la même chose ici. Éloignons-le
juste pour l'organiser. Maintenant, nous en avons fini avec eux. En fait, compilons
et sauvegardons tout. La dernière chose est celle-ci, et celle-ci est un peu plus grande. Faisons un clic droit et
créons un nouvel événement personnalisé. Appelons cette annonce de victoire de l'
équipe de mise à jour I. OK, pour celle-ci, OK, pour celle-ci,
nous devons simplement définir ce texte également.
Prenons celui-ci. N'oubliez pas que celui-ci est
masqué par défaut. Même si nous modifions le texte, nous devons montrer la visibilité
avant que je fasse quoi que ce soit.
Disons définir visibilité pour la visibilité. Nous allons le configurer
pour qu'il ne soit pas testable, afin de ne pas pouvoir interagir
avec la souris Ensuite, nous voulons définir ce texte. Permettez-moi de le déplacer vers le bas
, de le faire glisser à partir d'ici et dire « définir un texte comme celui-ci ». Définissez le texte, allez-y
et connectez-le. Nous allons maintenant définir le texte, selon que c'
est le terroriste ou le
contre-terroriste qui gagne. Nous avons vraiment besoin de
savoir quelle est l'équipe. N'oubliez pas qu'en ce
qui concerne le contrôle des joueurs, si je reviens aux plans de contrôle des
joueurs, nous avons défini cette équipe variable Et nous pouvons réellement
l'utiliser pour savoir s'il s'agit du terroriste ou du
contre-terrorisme. Permettez-moi d'ajouter une
nouvelle variable ici. N'oubliez pas que cette variable d'équipe
est un type de classe d'acteur. Si je change simplement cela en acteur acteur ici et
que c'est une référence de classe, appelons cette
équipe, il suffit de l'épeler. À l'heure actuelle, nous avons
cette équipe ici. À partir d'ici, je peux dire que cette équipe est
égale
à la lutte contre le terrorisme. Si c'est le cas, nous pouvons faire glisser le pointeur
à partir d'ici et dire « sélectionner ». Nous pouvons sélectionner le texte que
nous voulons choisir. On peut le brancher ici. Nous demandons si cette équipe est en ce
moment et plus tard, nous y
ajouterons des informations, mais pour le moment, nous
n'avons rien. Mais si cette valeur est
antiterroriste, si elle est fausse, nous voulons afficher, par
exemple, la victoire d'un
terroriste. Si c'est vrai, s'il s'
agit de lutte contre le terrorisme, nous voulons
écrire « victoire terroriste ». Le
texte sera sélectionné en fonction de l'équipe qui a gagné et nous lui communiquerons
cette information ultérieurement. Maintenant, double-cliquons ici,
créons un nœud de reroutage. Très bien, en
ce moment, nous l'affichons à l'écran, mais après quelques secondes,
je veux le masquer à nouveau. Si je reviens en arrière, le nombre de secondes correspond en fait au temps qu'il faut aux gens pour répondre. Imaginez que si tout le monde meurt, le service au
comptoir d'écran gagne après, disons, 5 secondes. Il s'éloigne parce que cela commence un nouveau cycle et que tout le monde
va réagir. Ce que je vais faire,
c'est simplement appeler cela, par
exemple, l'heure d'affichage. Et nous pouvons brancher le temporisateur
de réponse plus tard lors de l'affichage de l'heure. Je vais retarder cela avec la durée
de ce délai, qui est le
temporisateur de réponse à l'avenir. Et nous pouvons double-cliquer ici
et organiser cela. Nous allons retarder cela. Après ce délai, nous
voulons le masquer une fois de plus, suffit de le copier-coller, d'
ajouter connecté, il
suffit de le copier-coller, d'
ajouter connecté, de le
déplacer ici, et je vais le régler
à nouveau sur masqué. OK, donc c'est fini. C'était donc l'interface utilisateur du score
et voici l'interface utilisateur du score. Et voici l'
interface utilisateur des annonces que nous allons mettre à jour. Nous pouvons donc maintenant utiliser
ces événements plus tard. Allez-y, sauvegardez tout
et passez à la suivante.
177. 13.04 Garder la trace des joueurs vivants: Maintenant, ce que nous devons
faire, c'est savoir qui est vivant sur
la carte et qui est mort. Parce que nous ne pouvons pas vraiment afficher
ici dans l'interface utilisateur qui a gagné. Si nous ne
savons pas vraiment qui se trouve sur la carte et dans quelle
équipe ils font partie, nous devons également savoir de
quelle équipe ils font partie. Par exemple,
cinq personnes peuvent être en vie et elles
font toutes partie de la même équipe. Par exemple, un contre-terroriste et tous les terroristes sont morts. Nous devons donc afficher victoire dans la
lutte contre le terrorisme,
même si nous en avons cinq vivants, car ils appartiennent peut-être à la même équipe. Nous
devons le savoir. Faisons-le dans
le mode jeu car c'est dans
le mode jeu que nous
décidons de toutes ces règles. Ce que nous pouvons faire ici,
c'est ajouter deux variables. Ajoutons-en d'abord un
appelé Players Alive. Avant de l'ajouter,
changeons le type de variable
de la variable. Je veux changer
cela en fonction de la base de joueurs. Allez-y et sélectionnez le joueur maintenant, je pense que
c'est faux. Cherchons à nouveau la base
d'armes, mais la base de joueurs, c'est celle-ci. Celui-ci. Celui-ci,
ici. Base de joueurs. Maintenant, au lieu de nous
contenter d'une variable d'origine, transformons-en une carte. le voir ici, une carte Comme vous pouvez le voir ici, une carte
peut contenir deux valeurs. Si vous le sélectionnez
ici, nous compilons simplement. Vous pouvez maintenant voir que nous
avons cette base de joueurs, mais nous avons également la
deuxième variable à côté. Vous pouvez en fait attribuer
différentes choses à ce joueur. Maintenant, si je clique sur le
signe plus, par exemple, si j'ajoute un joueur ici, je peux également ajouter un numéro ici. Cette variable cartographique,
vous pouvez en fait l'
utiliser comme dans différents scénarios. Vous pouvez avoir deux variables. Par exemple, vous pouvez avoir chaque joueur et le
nombre de victimes qu'il a tuées. Chaque joueur figure
dans cette liste et elle indique également le nombre de
victimes qu'il a tuées, par exemple. Mais ce que nous voulons faire, c'est avoir ce joueur et savoir dans
quelle équipe il fait partie. Parce que c'est quelque chose dont
nous avons besoin ici pour voir si tous les membres de la même équipe sont vivants ou s'ils sont
morts et tout ça. Remplaçons celui-ci à
nouveau par un acteur, dernière référence, car il
s'agit de notre équipe. Et je vais juste
changer ce type de variable. Nous l'avons ici. Maintenant, nous avons cette variable,
nous avons le joueur. Si je compile simplement, cela
disparaîtra si je compile. Maintenant, nous pouvons avoir le joueur, ici, dans quelle
équipe il fait partie. Maintenant, nous pouvons avoir chaque joueur
et l'équipe dans laquelle il appartient. OK, les joueurs sont
donc vivants. Je vais en créer
un nouveau qui s'appellera Players. une dernière question plus tard, Ce sera une dernière question plus tard,
et nous y travaillerons
plus tard. Mais faisons-le maintenant. Les joueurs apparaissent. Nous allons l'utiliser plus tard. Et celui-ci ne sera
qu'un tableau normal. Nous savons juste combien de joueurs sont apparus sur la carte Commençons ici.
Créons un nouvel événement personnalisé. Et celle-ci, nous allons l'
ajouter à la carte Players Alive. Et celle-ci s'appelle
une carte, d'ailleurs. Il s'agit d'une variable unique, d'un tableau, d'un ensemble. Maintenant, nous
travaillons avec une carte. Ajoutez une carte vivante à deux joueurs. Ce que nous allons faire,
c'est prendre ceci et dire « ajouter ici ». Nous pouvons ajouter le joueur, en fait nous avons besoin de cette référence de
joueur. Nous pouvons simplement le glisser et le
brancher ici. Et voici la base de joueurs. Je vais juste le
renommer en Player. Avant cela, le
joueur est peut-être mort. Le joueur peut y
être ajouté. Les joueurs sont morts, car lorsqu' ils répondront, ils
seront ajoutés à cela. Ici, ce que nous devons faire d'abord c'est prendre
ceci et dire « trouver ». Nous pouvons nous en servir. D'
ailleurs, pour les cartes, vous pouvez simplement faire glisser le pointeur ici, accéder
aux utilitaires, accéder à la carte. Voici les fonctions
que vous pouvez utiliser avec ce produit. Vous pouvez voir que vous ne pouvez pas vraiment en faire
grand-chose. Vous pouvez ajouter, trouver quelque chose, demander s'il est vide, etc. Ça n'a pas grand-chose à voir là-dedans. Ce que nous voulons faire,
c'est essayer de trouver ce joueur et de voir s'il se trouve sur cette carte. Laissez-nous simplement le connecter ici,
trouvez-le ici. Créons cette branche pour lui demander si elle a trouvé le
joueur à l'intérieur. Laisse-moi juste
descendre ça un peu de quatre. Si nous trouvons le joueur, nous
voulons le prendre, le
supprimer et sélectionner
la fonction de suppression. Allez-y, retirez ce
joueur de la liste des joueurs morts. Permettez-moi de double-cliquer ici et de
noter l'itinéraire arrière afin qu'il soit organisé. Maintenant, je vais le faire glisser
depuis ce lecteur, puis le reconnecter. Cliquez, je vais déplacer tout
cela vers le bas pour avoir plus d'
espace pour travailler. Et on peut le déplacer vers le bas
comme ça. Et maintenant c'est le cas. Ici, nous allons trouver
ce joueur à l'intérieur de
la carte morte des joueurs. Et nous allons
supprimer le joueur s'il a été trouvé. Cependant, si le joueur n'
a pas été trouvé, nous continuons simplement à saisir le code. Ce que nous voulons faire ici,
c'est ajouter le joueur aux joueurs vivants. Maintenant, nous retirons le joueur
de la liste des joueurs morts, et maintenant nous allons ajouter ce joueur à la carte.
C'est à nouveau le joueur. Nous pouvons simplement le déconnecter
car nous avons
maintenant ce nœud de redirection Je vais double-cliquer
ici et le brancher ici. Encore une fois, double-cliquez ici et ajoutez-le simplement ici. Maintenant, ce que nous devons
faire, c'est que nous en avons également besoin ici. Pour ce faire, nous devons savoir de quelle
équipe se trouve, nous devons obtenir une référence
à la manette du joueur. Parce que n'oubliez pas qu'à l'intérieur de la manette du joueur, nous avons cette variable
et nous en avons besoin. Allons-y,
laisse-moi déplacer ça. Ce que nous pouvons faire, c'est
double-cliquer ici pour créer
un nœud de redirection Nous pouvons faire glisser le pointeur ici et dire « get
controller » et « select ». N'oubliez pas que c'est le joueur. Nous essayons de nous procurer
cette manette de jeu. Ensuite, à partir de l'interface
Blueprint, nous avons créé la référence au
contrôleur get player Nous avons maintenant la manette
du joueur. Nous pouvons maintenant accéder à tout ce qui se trouve à l'intérieur de cette manette de
joueur. Et nous voulons cette variable d'équipe. Faisons grève ici. L'équipe
obtient cette variable d'équipe. Et maintenant, nous pouvons cliquer, faire glisser
et le brancher ici. Branchons-le ici. Et je vais
déplacer tout ça vers le bas pour avoir plus d'
espace comme ça. Et
rapprochons-le et connectons-le. Maintenant, nous ajoutons
ce joueur à la carte, et nous le retirons
de sa place. OK, maintenant c'est terminé. Compilons le tout et passons
au suivant.
178. 13.05 Garder une trace des joueurs morts: Ce que nous devons faire,
c'est maintenant
suivre les joueurs ici présents. Ce que nous devons faire,
comme avant, c'est cliquer avec le bouton droit de la souris, créer un nouvel événement personnalisé
et appeler celui-ci « ajouter » à la carte des joueurs. Comme précédemment, nous avons besoin de
la référence du joueur. Donc, si vous
recherchez une base de
joueurs, sélectionnez-la ici
et appelez-la un joueur. Prenons la carte morte de ce
joueur. En fait, prenons d'abord
celui qui est vivant. Nous devons retirer le joueur s'il est à
l'intérieur avant ajouter à la carte
morte, comme avant. Allons-y,
voyons si nous pouvons trouver le
joueur à l'intérieur d'ici. Faisons une branche.
Laissez-nous connecter cela ici. D'ailleurs, pour celui-ci, j'ai oublié de le
connecter comme je peux voir ici pour le supprimer Si c'est faux, si nous ne trouvons pas le joueur
à l'intérieur, allez-y et continuez le code. N'enlevez rien. Double-cliquez
ici et double-cliquez ici. OK, c'est corrigé. Nous devons faire la
même chose ici. Si nous pouvons trouver le joueur,
allez-y, prenez-le et dites « supprimer ». Et laissez-nous le connecter. Allez-y et retirez le
joueur, comme avant. Je vais juste
réorganiser ça. Très bien, une fois que nous
aurons retiré le joueur, ajoutons-le
à la liste des joueurs morts. Prenons ceci, disons « ajouter », allons-y et ajoutons le
joueur comme avant. Double-cliquez ici pour le
joueur, créez un nœud de route arrière. Mettons-le ici et créons à nouveau un nœud de
route arrière. Allons-y. Nous avons maintenant
ajouté le joueur ici. Et je vais juste
l'éloigner un peu pour avoir plus d'
espace de travail. Nous devons faire savoir à la
manette quelle équipe appartient ce joueur. Laisse-nous faire disparaître tout ça. Double-cliquez ici. Disons obtenir le contrôle,
obtenir le contrôleur, en fait
obtenir le contrôleur du joueur. Allez-y, connectez-le.
Nous devons maintenant prendre cette variable d'
équipe comme avant
et la connecter ici. Déplaçons-le simplement ici. Et permettez-moi de le déplacer
un peu comme ça. Je vais déplacer celui-ci un
peu plus haut, juste comme ça. Et allez-y, rapprochez-le. OK, maintenant nous ajoutons
le joueur ici. Et comme avant, si
nous ne trouvons pas le joueur, il suffit de
trouver la manette et nous pourrons ajouter le
joueur à cette carte. OK, c'était le code. Maintenant, nous
surveillons les joueurs vivants et nous
surveillons également les joueurs morts. Ce que nous devons faire maintenant, c'est
suivre les joueurs
vivants, tous les joueurs vivants. Allons-y et
faisons-le dans la prochaine leçon.
179. 13.06 Garder une trace de tous les joueurs apparus: Pour suivre tous les joueurs qui
apparaissent réellement dans le niveau C'est très facile par rapport
aux autres. Créons simplement un
événement personnalisé appelé ajouter au tableau d'apparition des
joueurs à l'intérieur d'ici Encore une fois, nous avons besoin du joueur, changeons cela
et appelons-le joueur. Et le type est celui de la base de joueurs. Nous voulons simplement prendre tableau d'apparition de
ce joueur
et dire définir les éléments du tableau et nous voulons ajouter les
joueurs à l'intérieur d'ici Maintenant, nous devons
choisir l'index. Et l'indice ne fait que prendre
cela et indiquer la longueur. Et nous allons le
brancher ici. Il trouvera automatiquement la longueur de ce tableau et
y ajoutera les
joueurs. L'objet que nous voulons ajouter
est simplement ce joueur. N'oubliez pas non plus de prendre
cette taille à la taille souhaitée, car si vous ne la
prenez pas au départ, nous devions la prendre
et dire redimensionner. Ensuite, nous allons
donner la taille
que ce tableau
peut contenir. Mais au lieu de
le faire, nous pouvons simplement dire « taille adaptée ». Dimensionnez-le automatiquement. C'est très bien Et nous pouvons double-cliquer dessus pour
créer un nœud de route arrière, et nous pouvons le rapprocher. C'est effectivement fait. C'
est tout ce que nous devons faire. Nous pouvons désormais utiliser
tous ces événements. Maintenant, c'est beaucoup plus facile pour
nous, car nous les avons tous
créés et nous
pouvons les utiliser à l'avenir. Sauvegardons tout et passons à
la leçon suivante.
180. 13.07 Vérifier le nombre de joueurs vivants: Bon, maintenant nous
devons vérifier si les joueurs sont tous morts
ou s'ils sont tous vivants. Parce que nous devons aller sur
ce Nui et l'afficher. Nous devons vérifier le nombre de joueurs vivants. Pourtant, le meilleur moyen de le
faire est ici. Lorsque nous ajoutons le joueur
sur la carte morte, nous savons que ce
joueur vient de mourir. Et à partir de là, nous pouvons vérifier
combien de joueurs sont vivants. Chaque fois qu'un joueur meurt, nous allons
vérifier si nous devons
jouer à ce
pare-brise antiterroriste, par exemple. Laissez-nous le faire, laissez-moi
simplement créer une macro ici. Cliquons sur ce plus. Pour la macro, laissez-moi appeler celle-ci vérifier le nombre
de couches vivantes. Si j'en fais une macro au lieu d'une fonction, c'est parce que je fais
une boucle for ici. Ou pour chaque boucle en fait, pour chaque boucle je
vais utiliser celle-ci. L'avantage d'une
macro est ce retour. Si j'ajoute simplement deux
variables ici, les deux épingles d'exécution, celle-ci s'appelle execute,
celle-ci s'appelle. Ensuite, la raison pour laquelle
ils sont appelés, c'est que le texte disparaît si vous écrivez
exécuter ici. Et si vous écrivez, cela disparaît
également ici. La sortie, au lieu de la
faire ici comme une fonction, lorsque vous commencez
avec le
stylo d'exécution et que vous la terminez ici, nous pouvons, avec une macro, ajouter la sortie à la version complète. En fait, nous attendons que la boucle se produise avant de
continuer le code ici. Si j'ajoute cette macro ici, elle ne continuera
que lorsque ma boucle sera terminée. C'est pourquoi je suis en train
de créer une macro. Dans ce cas, ce que je veux faire
, c'est ajouter deux variables. Le premier peut être qualifié de
terroriste vivant. Transformons-en une variable normale
entière. Créons-en un nouveau appelé
Alive et compilons D'accord pour celui-ci, mettons d'abord les
contre-terroristes à zéro, ceux qui sont vivants et
celui-ci à zéro également. Parce que nous allons le faire en boucle
et
augmenter le montant en
fonction du nombre de personnes vivantes. OK, emmenons
ces joueurs vivants. C'est ici que nous pouvons
vérifier combien de personnes sont en vie. Il en reste un. Permettez-moi de le supprimer pour
celui-ci. Pour la course, vous pouvez
simplement prendre ceci et dire que pour chaque boucle, vous
pouvez réellement l'utiliser. Cependant, pour une carte, vous ne
pouvez pas dire pour chaque boucle, ce n'est pas un tableau, c'est uniquement pour les rayons. Ce que vous pouvez faire, c'est faire glisser, si vous allez simplement sur la carte des utilitaires et que vous pouvez voir cette fonction. Vous avez ce qu'on appelle des clés. Vous avez également ce que l'
on appelle des valeurs. Si vous cliquez sur les touches, vous pouvez obtenir
toutes les clés ici. Comme dans toute cette partie, vous pouvez obtenir tous les joueurs. , si vous glissez et dites des valeurs Cependant, si vous glissez et dites des valeurs, vous pouvez obtenir
toutes les valeurs, vous pouvez obtenir toute cette section, cette section ici, nous avons des clés et des valeurs. Et vous pouvez les voir ici. Si vous faites simplement glisser le pointeur d'
ici et que
vous dites ajouter, vous pouvez voir que
vous ajoutez à celle-ci, quelles sont les clés, et que vous ajoutez à celle-ci,
quelles sont les valeurs. C'est ce que nous faisions auparavant. Prenons toutes les valeurs. Permettez-moi simplement de supprimer ceci ici. Permettez-moi de prendre toutes les
valeurs et de dire que pour chaque boucle, nous pouvons maintenant la boucler
car il s'agit d'un tableau. Maintenant, pour chaque boucle, permettez-moi de supprimer
celle-ci et de la déplacer vers le bas. Nous allons
vérifier quelle équipe est en vie. Je peux en déduire
qu'
en fait, nous devons d'abord prendre
cette équipe, dire « égalité et demander si c'est équivalent pour
défaire un terroriste, par exemple. Et sélectionnez celui-ci. BP Counter Terrorist créera une succursale ici. Maintenant, nous prenons les valeurs
ici et nous nous demandons
s'il s'agit d'une valeur
antiterroriste en ce moment. Cela signifie qu'un
contre-terroriste est vivant. Si c'est vrai, nous pouvons prendre ce contre-terroriste
vivant et dire « plus ». Que signifie « plus », « plus » ? C'est la même chose
que de dire plus un. Et puis définir
cette variable comme
ça, comme ça, c'
est beaucoup plus court. C'est en fait la même
chose que d'en ajouter un. Vous pouvez maintenir la souris
dessus et dire d'en ajouter une à la
valeur spécifiée, puis de la définir. Au lieu de faire tout
cela, nous pouvons simplement le faire. Nous prenons le
contre-terrorisme en vie et nous y ajoutons un élément parce que nous venons de découvrir cette valeur précise est
un contre-terrorisme. OK, si c'est faux,
c'est que c'est un terroriste. Nous pouvons prendre ce
terroriste vivant dire « plus » et l'ajouter
ici au faux. Si c'est faux, c'est un
terroriste vivant. Une fois la boucle terminée, ce que nous devons faire maintenant,
ici, en retour, dire combien de terroristes sont vivants et combien de
contre-terroristes sont vivants. Nous devons ajouter deux variables et les
deux sont des entiers ici Résultats, appelez celui-ci «
comptez les terroristes vivants » et appelez celui-ci «
terroristes terroristes vivants et sans espace ». Nous pouvons maintenant ajouter
ces deux variables ici et les envoyer
au lecteur dans le. fois la
boucle terminée, nous poursuivrons le code. Donc, si
je reviens à Vent Graph et que je compile nous continuerons
après la boucle. Maintenant, nous savons combien de
contre-terroristes sont vivants et nous savons également combien de
terroristes sont vivants.
181. Annonce de Team Win: Maintenant que nous savons
combien de joueurs sont vivants, prenons ces terroristes vivants et demandons-nous
s'ils sont égaux à zéro. Nous pouvons faire la même chose
pour le terroriste. Demandez si c'est égal à zéro, d'
ici et dites et
utilisez celui-ci ou un lingot Si le terroriste ou le contre-terroriste sont nuls. Cela signifie que nous avons besoin de ce texte ici parce qu'il
n'y a plus de contre-terrorisme ou de
terroristes sur la carte et nous devons dire ou dire qui a gagné la partie ou la
manche ici Nous demandons si cela est égal à zéro ou est-ce égal à zéro ? Si l'une d'entre elles est vraie, créons une branche et
connectons-la. Si l'une d'entre elles est vraie, nous devons diffuser
l'annonce. Revenons donc ici pour
rappel et voyons ce que
nous appelons l'annonce. C'est ce que nous appelons ici l'annonce de la victoire de
l'équipe de mise à jour. Maintenant, pour y jouer, nous ne pouvons pas le faire directement
en mode jeu car
souvenez-vous que le mode de jeu fonctionne
toujours sur le serveur. C'est pourquoi ici, nous ne
répliquons jamais sur le serveur,
car cela n'a aucun sens Il est déjà en cours d'exécution
sur le serveur. Le client ne peut pas accéder au
code en mode jeu. N'oubliez pas non plus que l'interface utilisateur est
en cours d'exécution sur le client. Le client et le serveur ne peuvent pas communiquer comme
ça, comme vous ne le pouvez pas. Le client ne peut pas simplement
passer en mode jeu
parce que le mode de jeu
n'existe que sur le serveur et ne peut pas communiquer avec le
client. Voici l'interface utilisateur, nous avons en fait besoin d'un
support pour le faire fonctionner. Soit nous devons le faire passer par la base de joueurs, soit nous devons le faire passer par
le contrôle du joueur. Puisque nous
contrôlons
l'interface utilisateur à l'intérieur de la manette du joueur, nous
créons une interface utilisateur à l'intérieur de
la manette du joueur. À l'intérieur de la manette de jeu. Il est plus logique de faire des choses à l'intérieur avec
l'interface utilisateur. C'est ce que nous allons faire. Faisons un clic droit. Ce que nous
devons faire, c'est
simplement prendre le WB principal Nous devons appeler cela une annonce de victoire de l'équipe de
mise à jour. Revenons à l'annonce de la victoire de
l'équipe lors de la
mise à jour du Play Controller . C'est ce que nous essayons de faire. Créons une fonction
ou un événement pour cela. Créons un événement personnalisé appelé Update Win Annonce
Annonce. Permettez-moi de le copier
pour ne pas avoir à le réécrire,
car maintenant nous devons
créer un nouvel
événement client les clients,
car nous devons exécuter
certaines informations de l'interface utilisateur et cliquer sur
Owning Client reliable. Exécutons celui du
client ici. OK, déplaçons ça vers le bas. Connectons-le ici. En fait, ce n'est pas le M,
ce n'est pas le bon. Mettre à jour l'annonce de l'équipe I. Supprimons ceci et
connectons-le à la place. Maintenant, nous devons exécuter cela
ici et nous devons également
exécuter Display Time. Fais la même chose ici, en continuant
comme ça. Et maintenant, nous devons l'appeler
ici via le mode jeu. Maintenant, ça marche. Nous pouvons simplement appeler celui-ci parce qu'il passe
par le serveur. N'oubliez pas que vous ne pouvez appeler des événements
clients que si nous sommes
actuellement sur le serveur. Nous sommes sur le serveur
parce que si cet événement est ici, si j'y retourne, si vous appelez cet événement
ici en mode jeu, nous sommes toujours sur le serveur. Cela signifie que vous
ne pouvez exécuter ce serveur, vous ne pouvez exécuter des événements client que
si vous êtes sur le serveur. est ce que nous faisons.
Revenons au mode de jeu. Maintenant, après avoir vérifié
que l'un d'eux est zéro, nous devons
maintenant y jouer. Nous devons obtenir la manette
pour tous les joueurs, car
nous devons afficher ce texte
ici pour tous les joueurs. Ce que nous devons faire, c'est
avoir besoin d'une boucle for. C'est pourquoi nous avons fait apparaître
ce joueur. Supposons que pour chacun
d'eux,
parce que nous ne nous
soucions pas vraiment de savoir qui est
vivant et qui ne l'est pas, nous
voulons simplement y jouer pour tous
les joueurs apparus. Passons à
la manette
pour chacun des joueurs qui apparaissent manette
pour chacun des joueurs qui Ensuite, nous pouvons à nouveau dire «
get player controller reference » comme
nous l'avons fait jusqu'à présent. Et maintenant, nous pouvons appeler cela une annonce de
victoire de l'équipe de mise à jour. Disons que c'est l'
annonce de l'équipe de mise à jour. Celui-ci, ici. Nous devons maintenant savoir
quelle est l'équipe. Nous devons également connaître
l'heure d'affichage. L'heure d'affichage, encore une fois, je vous l'ai déjà dit, il ne s'agit en fait que du minuteur de réponse. Pendant que nous répondons, nous voulons l'afficher
à l'écran. Permettez-moi de créer une nouvelle variable ici dans le mode jeu et de dire : Minuteur de réponse. Et nous
pouvons simplement en faire un flotteur et le
relier à ici. Maintenant, nous devons également connaître
l'équipe de cette équipe. Nous devons montrer
qui a gagné le match. Pour cela, il suffit de
prendre ces joueurs vivants, car celui qui est vivant
est l'équipe qui gagne. Nous pouvons prendre cela et dire des valeurs. Allez-y et sélectionnez-le. Il suffit de frapper d'
ici et de dire « oui ». Parce que maintenant c'est comme un tableau. Nous pouvons obtenir cette valeur. Nous allons juste le récupérer auprès
du premier joueur que nous
trouverons ici. Il n'est pas vraiment
important de savoir qui est
le joueur, car
ils sont tous vivants, la même équipe qui a gagné. Nous allons donc simplement trouver le premier joueur
que nous trouverons. Ensuite, nous pouvons
le brancher ici. Le joueur vivant est
celui qui a gagné. Allez-y, connectez tout. Et je vais juste prendre des notes sur le parcours
arrière ici.
Et vous l'avez ici. Donc maintenant, nous avons vraiment terminé. Nous intégrons donc
tous
les joueurs apparus
dans le jeu Nous prenons toutes
leurs lois sur le contrôle du jeu. Et nous leur présentons
à tous
cette équipe de mise à jour
que nous annonçons. Et ce que nous montrons,
c'est que quelle que soit la personne en vie, c'est l'équipe qui a gagné. Maintenant, nous cliquons sur
le chronomètre de réponse. Et je vais régler
ce temporisateur de
réponse sur environ 3 secondes
pour le moment de la compilation. Et maintenant, cliquons sur
Play et testons-le. Et jouons le jeu ici. Je vais sélectionner des terroristes ici, ou des contre-terroristes. Et je vais
sélectionner des terroristes, je vais passer
devant le contre-terrorisme. Maintenant que je suis le contre-terroriste, je vais tirer sur
le terroriste. Maintenant, il devrait être écrit «
antiterroriste », mais pour le moment, rien n'
est affiché. Permettez-moi donc de clore ceci
et de voir ce qui se passe. Bien, avant de continuer, n'oubliez pas de régler
ce temporisateur
de réponse sur une valeur différente de zéro, peut-être 3 secondes. Nous devons également configurer
les joueurs pour qu'ils soient
vivants lorsqu'ils apparaissent, car
rien ne se passe pour le moment Nous n'avons jamais appelé
ces événements Compilons tout,
enregistrons tout et allons dans la base de joueurs chaque fois que ce joueur apparaît. Et c'est à l'intérieur
de ce graphique d'événements. Commencez à jouer chaque fois que ce
joueur apparaît et nous définissons la
santé de ce joueur Je veux également les
placer sur cette carte vivante. N'oubliez pas qu'à l'heure actuelle,
sur le client, ce début de jeu s'exécute à
la fois sur le client et sur le serveur. Cela nous rapportera de l'argent si
nous l'appelons directement. Comme le mode de jeu n'est accessible que
via le serveur, nous ne pouvons pas y accéder
via le client. Nous devons en fait
créer un événement sur le serveur. Créons un nouvel
événement personnalisé via le serveur. La première consiste à ajouter deux couches de carte vivante et à la
faire passer par le serveur. Fiable. Nous devons également créer
l'autre, appelé serveur à deux
couches spon array parce
que nous avons celui-ci aussi Et nous devons également l'exécuter
sur le serveur. OK, ici, nous devons obtenir
la référence du mode de jeu. Je ne crois pas que nous ayons créé
une variable pour cela, comme nous l'avons fait pour la loi sur le contrôle des
joueurs. Faisons-le également pour
le mode jeu. Je vais le déplacer. Dites « passer en mode jeu ». C'est en fait la référence. Passons au
mode de jeu ici. Cette fonction, exécutez-la via cette référence au mode Get
Game. Déplaçons ça vers le bas.
Allons-y et connectons-le. Promouvons cela dans notre
variable et appelons-le mode jeu. OK, connectons-le. Nous n'avons pas besoin de le reproduire car
cela ne
fonctionne de toute façon que sur le serveur Passons maintenant à cette variable du mode de jeu. Appelons l'ajout de
joueurs une carte en temps réel. Connectons-le à celui-ci. Disons le
mode jeu. Encore une fois, prenons cette
variable de mode de jeu que nous avons. Disons ajouter au tableau d'apparition des
joueurs. Allons-y et
connectons-nous comme avant. Maintenant, ce que nous pouvons faire
avec ça, c'est appeler ici
dans le jeu Begin. Nous pouvons appeler le serveur pour ajouter
des couches à une carte en direct. Et nous pouvons également appeler
le adypawnarray. Nous devons définir le joueur. N'oubliez pas que nous sommes déjà
dans la base de joueurs, nous pouvons
donc simplement dire self et glisser à nouveau à
distance. Maintenant, nous les avons ajoutés
chaque fois qu'ils apparaissent. Nous ajoutons le joueur
à la carte en direct, mais nous l'ajoutons également
aux joueurs qui sont apparus. Nous gardons donc une trace du nombre de joueurs qui se trouvent
réellement sur la carte. Chaque fois que le joueur meurt, nous devons également l'ajouter
à la mort. Si je vais juste ici, passe à l'
armure de santé et aux dégâts. Si nous nous contentons de cette mort, souvenez-vous que nous avons fait la réapparition
ici après celle-ci, où il est
indiqué qu'aucune arme ne doit être Et nous répondons, le joueur. Déconnectons-le maintenant
et retirons-le. Le joueur, chaque fois qu' meurt et laisse tomber toutes
ses armes. Ajoutons le joueur à
cet événement du mode jeu. Cela
fonctionne déjà sur le serveur, nous n'avons
donc pas besoin de
créer un événement serveur. Cette
référence au mode de jeu que nous avons faite, disons Ajouter un joueur, ou laissez-moi voir comment je l'appelle. Si je passe en mode jeu, j'
ajoute une carte morte à deux joueurs. Partons d'
ici et disons d'ajouter deux joueurs morts et connectés. Maintenant, nous devons dire
qui est le joueur ? C'est soi, nous sommes
toujours dans le joueur. Nous allons maintenant
ajouter ce joueur à la carte morte chaque fois qu'
il meurt. La raison pour laquelle il ne s'imprime pas pour moi est que j'ai ajouté ce code ici,
sur la carte des joueurs vivants. Et je dois l'appeler
ici parce que je dois
vérifier chaque fois qu'un joueur meurt. Permettez-moi de déconnecter
ce code ici. Permettez-moi de copier tout
ce que j'ai écrit et je vais plutôt le déplacer vers
celui-ci et le connecter. est une petite erreur,
assurez-vous simplement que
cela ne vous arrive pas également. Ajoutez-le au deadmp du joueur, car nous devons vérifier
chaque fois qu'un joueur meurt Compilons et
cliquons sur Play now. Et je vais juste
maximiser cela. Sélectionnez Counterterrorist
ici, Terrorist ici. Ensuite, je vais me
tenir ici, au grand
jour, en tant que
contre-terroriste. Je vais maintenant
tirer sur le terroriste. Je vais juste me
rapprocher un peu plus. Si je tire sur le terroriste, il est
maintenant indiqué que l'antiterroriste
gagne sur les deux écrans. Maintenant, il va
disparaître au bout de 3 secondes parce que c'est ce que j'
ai mis sur mon chronomètre. Et essayons de le
tester auprès d'un plus grand nombre de joueurs. Si je choisis quatre joueurs et que je joue au jeu, ils sont là. Je vais sélectionner « terroriste », terroriste », et
celui-ci « contre-terroriste ». Sur mon autre écran, je crois ou je suis en faveur de celui-ci. Il y en a une de plus. C'est ici. Et je vais également sélectionner Counter Terrorist pour celui-ci. Nous avons maintenant deux
contre-terroristes et nous avons également deux terroristes. Permettez-moi de parler ouvertement
à chacun d' entre eux et alors que la lutte
antiterroriste se tient ici. Maintenant, en tant que terroriste
dans ce
film, je vais
aller sur le spawn, essayer de tuer ici
et voir ce que ça dit Maintenant, si je tue ce
contre-terroriste, rien ne
s'affichera car tous les joueurs
ne sont pas morts ici. En tant
que contre-terroriste vivant, je vais tirer sur
ce terroriste. Maintenant, ce terroriste est
mort et nous sommes toujours deux joueurs vivants en
tant que contre-terroristes. Si maintenant je passe la main
au terroriste et que je
tire sur ce terroriste, cela
signifie que la lutte contre le
terrorisme gagne. Sur tous les écrans, tout fonctionne parfaitement. Nous pouvons maintenant ajouter les scores de
l'équipe avant
de répondre aux joueurs.
182. 13.09 Ajouter le score d'équipe: Il ne nous reste plus qu'à ajouter
le score de l'équipe. Si nous revenons à l'interface utilisateur principale, souvenez-vous que c'est nous qui avons fait marquer l'
équipe ici. Nous avons fait en sorte que ces deux événements
mettent à jour l'interface utilisateur du score terroriste. Et nous avons fait cette mise à jour de l'interface utilisateur de
Counter Terrorist Score. Ajoutons-les également à la
loi sur le contrôle des noirs, car encore une fois nous ne pouvons pas accéder au
mode jeu en tant que client ici. Passons à la manette du
joueur lorsque celle-ci s'affiche,
chaque fois qu'elle est jouée. Chaque fois que nous diffusons
l'annonce de la victoire de l'équipe, nous voulons
généralement
augmenter l'une d'entre elles Permettez-moi de
modifier ici après l'annonce de la
victoire de l'équipe de mise à jour. Ce que nous pouvons faire ici, c'est
demander quelle équipe en possède une. Nous pouvons faire glisser ceci
et dire égal à ceci. Si c'est équivalent à la
lutte contre le terrorisme, créons une branche
ici, connectons-la. Reprenons ce WB principal et
allons-y et collons-le Chaque fois qu'il s'agit de la
lutte contre le terrorisme, nous voulons mettre à jour l'interface utilisateur du score antiterroriste chaque fois qu'il s'agit du terroriste Chaque fois que c'est faux, nous voulons mettre à jour l'interface utilisateur du score
terroriste. Allez-y et associez
cela au faux. Maintenant, nous devons également
connecter le score. Allons-y et fabriquons une épingle
ici. Parce que nous en avons besoin. Transformons-le en un
entier, appelons-le score. Je vais juste le
déplacer en dessous l'équipe ici. Déplace ça vers le bas. Ensuite, je vais l'
intégrer à la partition. Nous allons juste le déplacer pour
qu'il soit plus beau. Et je vais cliquer ici pour créer un nœud de reroutage et le
faire comme ça. Et allez-y,
connectez-le également. OK, maintenant nous avons également
le score. Et compilons. Et aussi là-haut, n'oubliez pas de
faire glisser le score ici. Je vais le déplacer
un peu plus haut, en dessous de l'équipe. La dernière chose se trouve
dans le mode de jeu. À l'intérieur du mode jeu,
nous avons maintenant ce score. Et nous devons ajouter le
score pour le score. C'est soit le score
antiterroriste, soit le score terroriste que nous
devons intégrer ici. Encore une fois, nous devons en
tirer des conclusions et demander si cela équivaut à un terroriste. Et déplaçons tout cela afin
de disposer de plus d'
espace de travail. Nous demandons si c'est
équivalent au terrorisme ou à l'antiterrorisme ?
Ça dépend de ça. Nous allons sélectionner
Drag from this, dire select Integer et
brancher ce taureau. Nous l'avons déjà fait,
nous allons sélectionner A. Si c'est vrai, créons de nouvelles variables. Créons deux variables, l'une appelée Da, terroriste, score
terroriste. Transformons-le en un entier. Créons-en un nouveau. Je vais appeler
ça un score terroriste. Et il s'agit
également d'un entier pour ces deux scores,
Whenever it is the
Counter Terrorist. Donc, il va
choisir un, nous allons mettre le score de la lutte contre le
terrorisme ici. Chaque fois qu'il s'agit d'un terroriste, nous allons
prendre le
score du terroriste et le connecter ici. Ensuite, il le sélectionnera en fonction de ce qu'est
ce sondage, et inscrira ce
numéro de score ici. OK. Faisons maintenant
avancer les choses ensemble. Ce que nous devons faire maintenant, c'est les
fixer, car à
l'heure actuelle, le score du
terrorisme et de la lutte contre le terrorisme est simplement nul. Nous ne faisons vraiment
rien pour le moment. Créons une nouvelle fonction, et je vais juste créer
une nouvelle fonction ici. Appelons celui-ci
un score d'équipe. Nous pouvons réellement l'utiliser vivants si les contre-terroristes
sont vivants ici. Nous pouvons prendre celui-ci et
dire s'il est égal à zéro, créer une branche et
la connecter. Si le nombre de
contre-terroristes vivants est égal à zéro, cela signifie que nous devons attribuer un point au score de
contre-terrorisme. Nous pouvons prendre cela encore une fois, disons plus, plus pour
incrémenter d'un Cependant, si celui-ci
est vrai ou faux, cela signifie que le
contre-terroriste est réellement vivant et qu'il n'
est pas égal à zéro. Cela signifie que nous pouvons prendre ce
score antiterroriste et dire «
plus », car il s'agit
probablement
du nombre de terroristes vivants
et non du terroriste. Puisque nous aimons
avoir atteint ce point
du code,
connectons-le. Revenons maintenant
au graphique des fourgonnettes et nous allons l'
ajouter après celui-ci, car après avoir vérifié que l'un d'entre eux est
réellement égal à zéro, nous pouvons attribuer un point à l'un
d'entre eux. Nous pouvons utiliser cette fonction, la
brancher ici. Maintenant, cela a du sens,
car maintenant nous nous demandons qui est nul. Si le contre-terroriste
vivant est égal à zéro, alors nous devons donner un point
au terroriste. Cependant, si cela est faux, cela signifie que le terroriste
est en fait égal à zéro. Nous devons donc attribuer un point
aux antiterroristes. Maintenant, nous avons accordé un point et il
sera bloqué ici. OK, ça devrait parfaitement
fonctionner. Maintenant, sauvegardons tout
et cliquons sur Play. Et vérifiez si cela fonctionne. En fait, je vais réduire le nombre de
joueurs à environ trois. Je vais sélectionner des terroristes sur celui-ci, des terroristes sur celui-ci, et des contre-terroristes
sur celui-ci ici. Maintenant, en tant que contre-terroriste, je vais me rendre à
la base des terroristes. Je vais en fait
minimiser cela. Je peux donc voir là-haut
et le décomposer. Je ne sais pas pourquoi il continue d'
apparaître en haut de mon écran, alors laissez-moi tuer
l'un d'entre eux maintenant. OK, rien ne s'est passé
parce que l'un d'eux est toujours en vie et je vais
tuer ce type ici. Vous pouvez voir que le terroriste obtient
maintenant un point. Ce n'est pas vrai, car en ce moment je suis en fait un
contre-terroriste. Si vous jetez un œil ici, le score de
la lutte contre le terrorisme
n'est pas correctement enregistré Le score du terroriste n'est
pas correctement enregistré. Si je reviens à ce
score de récompense et que je regarde, agit de la lutte contre le terrorisme, et s'il est égal à zéro, nous allons attribuer un point
au score terroriste. Tout semble correct. L'autre point est
que cela a été déconnecté parce que nous avons
écrit ce pull ici. Reconnectons
cela, car c'est en fait le
contre-terroriste qui en possède un, mais il sélectionne le
terroriste par défaut Permettez-moi de le faire
glisser à nouveau ici, comme avant et vous
pourrez créer un nœud de route. Maintenant, il est connecté. Vérifions-le pour être sûrs. Ici, dans le contrôleur Apple,
celui-ci est également connecté. Celui-ci est déconnecté parce que, encore une fois, nous l'avons
fait ici. Laissez-nous le connecter. Maintenant, cela devrait fonctionner. Assurez-vous que
tout est connecté. Et cliquons à nouveau sur jouer et sélectionnons
à nouveau Terroriste, Terroriste,
Contre-terroriste. Et je vais juste
retourner au spawn. OK, ici j'ai tué les premiers terroristes
et je vais
aller voir le deuxième terroriste
et tuer ce joueur. Et si je maximisais simplement
l'écran pour que vous puissiez voir, il est dit « victoire de la lutte contre le
terrorisme ». Et cela ajoute un point à
tous les joueurs. Cela ajoute également un point pour
le terroriste. Cela ajoute un point à la
lutte contre le terrorisme. Cela fonctionne correctement maintenant.
183. 13.10 Réapparaître les joueurs: Hein ? Ce qui nous manque maintenant, c'est de répondre aux joueurs, laissez-nous le faire ici. Ce que nous pouvons faire
ici, c'est retarder parce que nous ne voulons pas
répondre aux joueurs tout de suite. Nous voulons en fait répondre
après ce délai de réponse. Ce temporisateur de réponse est
actuellement réglé sur 3 secondes, il va
donc retarder
le code de 3 secondes. Ensuite, nous
allons répondre à nouveau à
tous les joueurs. Prenons
le chemin de ce joueur pour chaque boucle. Avec celle-ci nous allons appeler
cette réapparition que nous avons créée chez le joueur avec cette armure de
santé et N'oubliez pas que nous avons
fait cette réapparition, appelons-le. Allons voir le
joueur et réapparaissons. Maintenant, nous
répondons à tous
les joueurs et nous pouvons
communiquer avec eux. Parce que celui-ci passe
par le serveur. Ça va passer par ici. parcourant le serveur
et en faisant tout ce que nous
faisions auparavant,
en répondant aux joueurs. N'oubliez pas que nous
avons également ces variables, les données des joueurs
et les joueurs vivants. Et nous devons également
les mettre à jour. Avant de tarder, je
vais simplement faire avancer les choses. Je vais prendre ces joueurs
vivants et les tuer, et je vais les
éliminer ici. Je vais éliminer
les joueurs vivants, et je vais déplacer ça. Je vais également effacer la carte
pour les joueurs morts. Les deux sont réinitialisés. Ensuite, nous allons
retarder le code. Comme ça ici. Je vais le déplacer vers le
bas, connecté ici. Nous allons maintenant
retarder le code. Chaque fois que nous l'
avons reportée, nous devons ajouter à
nouveau les joueurs aux joueurs vivants, sinon personne ne sera vivant ici. Et il sera réservé ici
pour la réponse. Avant de répondre aux joueurs, je voudrais les ajouter. N'oubliez pas qu'à l'intérieur du lecteur, nous venons de créer ce graphique d'événements. Nous venons de créer celle-ci récemment, l'ajout aux joueurs d'une carte en direct Nous devons appeler celle-ci sur
le serveur, le rake de liste, et dire que le serveur ajoute aux
joueurs une carte en direct Nous devons préciser
qui est le joueur, il n'y a que celui-ci ici. Ensuite, nous pourrons aller de
l'avant et répondre. Je vais juste le faire glisser vers le bas. Et encore une fois,
double-cliquez ici pour prendre note de l'itinéraire afin voir la différence
entre les deux. Allons-y. Nous
allons maintenant effacer ces cartes, assurer qu'elles ne sont pas boguées Ensuite, nous pouvons retarder en fonction
du temporisateur de réponse. Nous allons donc attendre un
peu, puis nous allons
répondre aux joueurs et
les ajouter à cette carte vivante. Encore une fois, allez-y et compilez maintenant dans
le lecteur ce que nous avons fait auparavant, dans la réponse, ce code
ici, que nous pouvons simplement supprimer. En fait, nous ne
l'utilisons pas vraiment, celui-ci, je vais juste le supprimer
car je
n'ai je vais juste le supprimer
car je
n'ai plus besoin de
cette chaîne d'impression. C'est ce que nous avons. Compilons, sauvegardons tout et cliquons à nouveau sur jouer. Sélectionnez Terroriste.
Sélectionnez Terroriste, Lutte contre le terrorisme, par exemple. Maintenant, je vais juste me
rendre à la base. Laissez-moi prendre cet AK et je vais tirer sur
ce joueur maintenant. Maintenant, il est dit que le terroriste gagne et
je vais avoir raison. Alors nous répondrons tous. Je suis ici en tant que
terroriste né avec l'autre
terroriste C'est aussi le terroriste. Voici le contre-terroriste. Répondez ici en tant que terroriste. Maintenant, si je passe à la lutte contre le terrorisme et que je
tire sur le contre-terroriste, alors il devrait être écrit « le
terroriste gagne ». Nous allons aborder
le deuxième point et nous allons tous répondre
à nouveau. OK, donc ça
fonctionne parfaitement et c'est la
lutte contre le terrorisme et maintenant je vais
tuer ce type ici. Vous voyez maintenant la victoire de la lutte contre le
terrorisme. Très bien, donc tout fonctionne correctement
et nous
réagissons également ici dans
l'apparition des terroristes et
dans le paon des terroristes, en attribuant le bon nombre de points
ou en arrondissant des points chaque fois que
nous gagnons la manche
184. 14.01 Ajouter une impulsion sur la chute d'arme: OK, donc pour le moment,
nous avons presque terminé. Et ce que je veux faire dans
cette section, c'est améliorer le jeu avec quelques
petits éléments qui nécessitent quelques ajustements. Par exemple, en ce moment,
lorsque nous lâchons l'arme, tombe juste en dessous de nous. De plus, cette arme
tombe juste en dessous de nous. Au lieu de le faire, je
veux lâcher l'arme
devant nous comme si nous la
lançons devant nous. Pour ce faire, revenons à la base de joueurs
et examinons la logique du largage d'armes ici. Nous avons créé l'arme larguée Si je l'élargis et l'
incluons également, c'est la
logique de l'arme larguée que nous avons créée. C'est l'arme qui nous
avertit si vous cliquez dessus, cela nous amène à cette fonction. Ajoutons le code ici. Chaque fois que nous lançons l'arme, nous la
retirons du joueur. Régler la collision comme
étant uniquement physique pour l'arme, puis nous
simulons la physique Après avoir simulé la physique, nous pouvons ajouter une impulsion, car si
vous n'avez pas de physique, vous ne pouvez pas ajouter d'impulsion. Nous ne pouvons pas l'ajouter
avant cette étape. Ls, vous allez avoir un message d'erreur. Eh bien, il suffit de l'ajouter après cela. En gros, prendre cette arme
pour dessiner, puis prendre variable d'arme
que nous avons utilisée. C'est le même que celui-ci. En gros, partons
de là et parlons d'impulsion. Ajoutez ensuite cette impulsion
qui est physique. Vous pouvez voir ici
si vous le connectez, double-cliquez ici pour
créer un nœud de redirection Ce que nous pouvons faire maintenant,
c'est ajouter de la physique. Si vous écrivez simplement quelque chose, disons un ou 5 000,
quelque chose de très extrême, nous pouvons accepter ce changement de
vitesse. Cela enlève de
la masse à l'acteur. Nous ne
regardons pas la masse, nous ignorons la masse,
réglons ce
changement de vitesse sur true. Si vous lancez
quelque chose en ce moment, vous pouvez le voir
survoler et il me revient
même. Tu peux voir que je peux le
lancer maintenant. Et je me suis même rendu compte
que c' est un mécanicien plutôt cool. Il s'agit du changement de vitesse
que nous avons créé ici pour que nous soyons réellement en train de lancer sur le côté Nous regardons ici et nous sommes
en train de lancer là-bas pour qu'il soit projeté devant nous
là où nous regardons. Nous pouvons cliquer avec le bouton droit de la souris et dire «
get actor forward vector ». N'oubliez pas que nous l'
avons utilisé. Si vous revenez au graphique
du fourgon et
au mouvement, nous l'
avons utilisé ici. Obtenez le vecteur avant de
l'acteur pour obtenir le vecteur avant du
joueur afin que nous puissions avancer. Revenons au dépôt et prenons ce vecteur get
actor forward Et maintenant, cassons-le. Je peux donc utiliser à nouveau le X, le
Y et le Z. Vous pouvez simplement
cliquer avec le bouton droit de la souris si vous
le souhaitez et dire « split struct pin C'est pareil, je le fais
juste de cette façon. Ensuite, je vais
créer directement à partir d'ici
et dire créer un vecteur. Et si vous créez ce vecteur,
vous avez aussi le XY et le
Z parce que la seule chose
que je veux modifier est le x. Andy, je vais laisser z tel
qu'il est pour le moment. Je ne veux pas vomir vers le haut. Modifions le xy x
dès maintenant. Allons prendre ça. Maintenant, nous avons besoin d'une impulsion. heure actuelle, c'est zéro.
Allons prendre ça. Et c'est zéro. C'en est un. Multiplions celui-ci par 600. Multiplions celui-ci par, disons
également 600, comme ceci. Ensuite, nous pouvons
les reconnecter au x. Ce que nous avons fait ici, c'est
simplement prendre le x, multiplier par 600, et remettre la valeur
à l'intérieur d'ici. Nous avons maintenant ajouté une certaine impulsion, mais pour la valeur Z,
nous restons inchangés. OK,
organisons-le ici et retirons-le. OK, compilons. Cliquons sur jouer Maintenant, voyons ce qui se passe si je
prends juste quelque chose et que je le
jette devant moi. Tu vois, maintenant nous sommes en train de lancer l'arme
devant nous. Quelle que soit la direction
dans laquelle
nous regardons, nous lançons l'arme
devant nous. OK, cool. C'est bien mieux que de le
jeter ici en dessous de nous. C'est un bon mécanicien. OK, c'était ça.
Laissez-nous tout sauver. Très simple, à corriger ou à améliorer. Mais cela apporte beaucoup au jeu. Passons à la suivante.
185. 14.02 Améliorer le poids de l'arme: Je suis donc de retour dans
le jeu en ce moment. Vous pouvez voir quand je
lance quelque chose, si je lance cette arme, quand elle atterrit au
sol, elle rebondit Et celui-ci aussi. J'ai l'impression que l'
arme n'est pas réaliste. C'est comme si c'était trop léger. Cela ne devrait pas autant rebondir
sur le sol. Il devrait juste, peut-être,
s'arrêter beaucoup plus vite. Comme si le poids de
cette arme était trop faible et trop léger. C'est aussi un peu irréaliste. La deuxième chose, c'est que je
peux voir la capsule. Je pense qu'il s'agit d'un jeu caché. Je voudrais également en parler dans
le jeu caché Weapon Base
Capsule. Je ne pense donc pas que l'
arme soit légère. Ce que vous pouvez faire, c'est quelque chose de nouveau avec
lequel nous n'avons jamais travaillé auparavant. Si vous ouvrez l'arme
ici, la base d'armes. Dans la base d'armes,
vous pouvez cliquer sur l'arme et faire défiler la page vers le
bas jusqu'à la collision. Vous avez ce qu'on appelle
un matériau physique. Avec le matériel physique, vous pouvez également ajuster les paramètres de
friction et de rebond Ce que nous voulons faire, c'
est simplement le créer dans ce dossier car nous n'
avons aucun dossier pour cela. Nous pourrions créer un nouveau dossier, mais faisons-le simplement
à l'intérieur de la base d'armes. Nous pouvons écrire, cliquer sur Go to
Physics, puis ajouter celui-ci intitulé Physical
Material and Created. Allez-y et sélectionnez celui-ci. Je vais juste l'appeler
PM pour le matériel physique, on peut simplement l'appeler base d'armes ou quelque chose comme ça.
Donnez-lui simplement un nom. Ouvrez-le maintenant, vous pouvez voir ici que nous pouvons ajuster le frottement et nous pouvons ajuster
le frottement statique. Nous pouvons également ajuster
la restitution. Et vous pouvez voir
que la restitution est également appelée souplesse
de la surface Si je le mets juste
à zéro et que je sauvegarde, et que j'accède à la base d'armes
au lieu de la base d'armes. Si vous cliquez sur l'arme et que, lors de la collision, vous sélectionnez ce nouveau matériau physique.
Nous l'avons appelé Pm. Cette base d'armes unique. Vous allez de l'avant, compilez
et cliquez sur Play. Maintenant, vous pouvez voir que si j'ai laissé tomber
cette arme par terre, elle rebondit beaucoup
moins qu'avant L'autre chose que je veux
faire , c'est
qu'au lieu de le mettre à zéro, je vais le mettre
à 0,15. Au départ, c'était
0,3, peut-être la moitié Ensuite, pour ce qui est de la friction, je vais juste la mettre à
25,25. Donc, plus elle est élevée, plus
la
friction est élevée et elle rebondira
pas et ne se
déplacera pas sur le sol OK, allons-y cliquons sur jouer et
voyons ce qui se passe. Fi supprime cette AK maintenant
c'est ce qui se passe, d'accord. ai l'impression que cette arme
a beaucoup plus
de poids. On se sent beaucoup
mieux qu'avant. Si vous le souhaitez, vous pouvez même
augmenter ce frottement, frottement
statique, vous pouvez
jouer avec. Et je pense que c'
est bon pour le moment. Fermons-le et
passons au suivant.
186. 14.03 Supprimer Reload SFX sur Weapon Drop: Très bien, une
chose ici en ce moment, est gagner de l'argent si nous essayons de
tirer sur quelque chose, que nous rechargeons et que nous lâchons l'
arme, par exemple Vous pouvez voir que je peux
entendre le son de rechargement Même lorsque je l'équipe et que je tombe, je peux entendre le
son de rechargement comme ça Je l'entends même lorsque je laisse tomber l'arme par terre.
Nous devons régler ce problème. Si nous passons à la base de joueurs, examinons ce
qui se passe lorsque j'équipe une arme. Il émet un son.
Si vous accédez au butin, équipez et lâchez l'arme, et vous passez à votre logique d'équipement Nous jouons ici ce montage
d'animation. N'oubliez pas que les effets sonores se trouvent en fait à l'intérieur des montages
d'animation Si je passe aux
animations des actifs qui se trouvent ici, si nous recherchons, nous pouvons prendre le
fusil à rechargement par exemple N'oubliez pas que les effets sonores
se trouvent à l'intérieur d'ici. Nous ne pouvons pas vraiment arrêter
l'effet
sonore ici, car il se trouve dans le montage d'animation
lorsque nous lâchons une arme. En fait, je veux arrêter de
ce montage d'animation parce que je ne veux pas reproduire tous ces effets sonores. Si je vais dans la base de joueurs. Passons maintenant à la logique du
largage d'armes. Ici, nous
lâchons l'arme et nous cherchons une
arme dans l'inventaire. Chaque fois que nous trouverons une
arme dans l'inventaire, nous la déposerons ici. En fait, je voudrais ajouter
ici le code qui aura du
sens chaque fois que nous trouverons une arme dans l'inventaire et que nous serons
prêts à la lâcher. Permettez-moi
de déplacer tout cela un peu et de l'
organiser ici. Maintenant, ce que nous voulons faire, c'est créer une multidiffusion pour
cette arme larguée Nous n'en avons pas encore un . Je peux
donc en
créer un en déplaçant simplement
cette partie vers le bas et en
cliquant avec le bouton droit de la souris pour créer une multidiffusion d'
événements personnalisée Parce que je veux arrêter ça
pour tous et leur dire « lâchez leur arme » pour cette multidiffusion Ce que je veux faire, c'est d'abord configurer en multidiffusion
et en fiabilité Utilisons ensuite ce maillage pour trouver le montage
d'animation en cours de lecture. Nous devons d'abord trouver la classe
d'animation. Si vous recherchez, je crois, instance
d'animation,
obtenez une instance. Vous devez donc d'abord obtenir l'instance
d'animation. Ensuite, vous pouvez dire montage. Ensuite, vous pouvez voir que vous disposez
de nombreuses fonctions que vous pouvez
utiliser avec le montage. Mais ce que nous voulons faire,
c'est arrêter le montage. Montage, arrêt,
départ et connexion. Pour celui-ci, nous devons le
reconnecter ici. Nous ne pouvons donc pas le faire pour le moment. Pour la cible,
c'est l'instance, on peut simplement l'appeler
instance pour le montage. Nous pouvons simplement le brancher et
je vais l'appeler
equip, Equip montage, par exemple. Montage des armes de l'équipement. On peut même parler d'arme
ici, donc c'est logique. OK, maintenant que nous avons celui-ci, nous pouvons l'appeler ici. Appelons MC Drop Weapon. Et
déplaçons-le ici. Nous pouvons maintenant nous connecter
depuis le serveur. Nous pouvons connecter l'instance
d'animation. Nous pouvons également obtenir le montage. Si nous partons d'ici et
disons montage, voyons voir ici. Nous pouvons dire obtenir le montage
actif actuel. Et nous allons prendre ce
montage en cours de diffusion et nous pouvons le
brancher ici. Permettez-moi juste de prendre des
notes de route pour celui-ci. OK, maintenant que c'est
branché, sauvegardons tout. En ce moment même. Cela vous donne une
époque qui dit quelque chose ici. Il suffit de cliquer sur Fichier et actualiser toutes les notes. Je
pense que quelque chose ne va pas. Nous avons juste besoin de rafraîchir toutes les notes, de les déconnecter
et de les brancher ici, les
compiler, parfois
comme si cela n'avait aucun sens, je ne sais pas pourquoi,
mais assurez-vous
simplement rafraîchir toutes les notes
et nous pouvons le faire. OK, jouons maintenant. Parce que maintenant cela devrait arriver. Si je joue, je prends une arme, prenons celle-ci par exemple. Maintenant, changeons
d'arme et lâchons. Vous pouvez maintenant voir que l'animation de rechargement ou d'équipement s'arrête C'est très bien. Et si je le recharge
maintenant, si je le recharge et C'est réglé maintenant. OK,
c'est réglé maintenant. Cela n'a aucun
sens de jouer le son. Si nous lâchons
l'arme maintenant, nous
ajouterons plus tard des éléments qui
pourraient y remédier. Ce que je veux que vous fassiez, c'est qu'
avant de suivre cette logique, je veux que vous preniez de cet
ensemble le montage actif actuel, pour vous assurer qu'il est valide. Avant de faire cette
demande, est-ce valide ? Éloignons
tout cela. Permettez-moi
également de
revenir en arrière et de demander d'abord si
c'est valide ? S'il est valide,
allez-y et arrêtez le thêta, ou arrêtez ce montage ici Et si ce n'est pas valide, allez-y et faites
ce que vous avez fait auparavant. Permettez-moi de créer
quelques notes de redirection pour celui-ci et de le
rapprocher, comme ceci Et maintenant c'est terminé. Nous allons ignorer
cette arme MC Drop. Si cela n'est pas valide, nous
n'avons rien ici. Compilons,
sauvegardons tout. Et maintenant c'est terminé. Nous pouvons passer à la suivante.
187. 14.04 Ajouter une annonce d'équipe Win SFX: Donc, pour le moment, ce que je veux
faire, c'est que chaque fois que nous jouons ici, que nous tuons
quelqu'un et que nous gagnons la manche, quand il est dit victoire antiterroriste ou victoire terroriste, je veux créer un effet sonore. Il ferait
plus frais qu'en ce moment où nous
n'avons rien. Ce que je veux, c'est que vous
alliez sur le marché et que vous consultiez le
contenu gratuit d'Epic Games qui s'y trouve. Je crois que c'était à la page 7, il y a quelque chose qui
s'appelle Peagon mail on Vous pouvez également le rechercher
si vous le souhaitez. Ce Perregon Ono, tu peux le prendre et l'
ajouter au projet Je vais dire montrer tous les projets car pour
le moment ce n'est pas compatible avec le moteur N 5.2. Je vais montrer
tous les projets. Sélectionnez le projet Cada Strike et sélectionnez la
dernière version ici Allez-y et cliquez
sur deux projets. Permettez-moi simplement de minimiser cela ou d'attendre
que cela se termine. Une fois que c'est terminé,
minimisons cela. Passons à notre propre projet. Je vais juste aller ici. Et voilà, le
Paragon Mail Anons. Ajoutons-le simplement
au dossier Marketplace. Nous restons organisés
comme avant. Nous pouvons maintenant ouvrir le dossier
Marketplace et accéder à
ce courrier Paragon Sons Passons au son. Maintenant que nous avons le
son pour celui-ci, nous pouvons d'abord créer
quelque chose de cool. Avant de faire cela, je peux
simplement sélectionner tout ce qui
se trouve ici. Cliquez avec le bouton droit sur
Asset Actions et modifiez en bloc via
la matrice de propriétés. Comme je veux réduire
le volume du son pour chacun d'entre eux afin qu'il ne soit pas trop
fort dans ce cours, je vais simplement le
réduire à un
multiplicateur de volume 20,1. Fermez-le et enregistrez
tout ce qu'il contient. Il n'y a que deux sons dont
nous avons besoin pour le moment. Nous avons besoin de celui qui est vaincu. Nous avons ce qu'on appelle la défaite. Tu es vaincu. C'est à ce moment-là que tu perds. Et nous avons aussi
ce que l'on appelle la victoire. Je crois que c'est celui-ci,
tu es victorieux. Je veux jouer à ces deux-là. C'est ce que nous allons faire.
Passons aux plans Et le mieux, c'est
ici, dans le mode, car dans le mode
jeu, nous y avons joué. N'oubliez pas que nous venons de le faire. Et cela va mettre à jour
l'annonce des victoires de l'équipe. Double-cliquez dessus
et accédons à la manette du joueur. Maintenant, à l'intérieur de la manette du
joueur, nous exécutons ce
client aperçu. Nous voulons jouer le son sur
place, car chaque fois que vous perdez, il ne produira qu'un seul son Chaque fois que tu gagnes, un autre son sera
émis. Nous ne voulons pas diffuser le
même son pour tout le monde. C'est ce que vous avez fait
avec une multidiffusion. Vous avez diffusé le même son pour tout le monde grâce à
une multidiffusion Mais pour cela, nous voulons jouer
un effet sonore gagnant lorsque nous
gagnons et nous voulons perdre l'effet sonore pour
le joueur qui a perdu. C'est du côté client. Pour cela, nous pouvons réellement le faire ici parce que nous
savons qui a gagné. Ici, nous connaissons l'
équipe gagnante. Ce que nous voulons faire, c'est
simplement émettre du son. Au lieu d'émettre un
son à un endroit, jouons un son en deux D, juste pour le joueur qui écoute ce
son en ce moment. Quel son jouons-nous ? Faisons glisser le pointeur
et disons « Sélectionner », puis faisons en sorte que, lorsque
vous perdez, vous entendiez un son. Quand tu gagnes, tu
entends autre chose. Maintenant, nous pouvons l'utiliser
, nous pouvons en faire glisser et dire
égal comme ceci. N'oubliez pas de le reconnecter. Chaque fois que la sève se vend. Cela va créer un bogue. Reconnectez-le Nous voulons maintenant comparer
cette équipe gagnante. Cette équipe gagnante est-elle égale à
l'équipe dans laquelle je fais actuellement partie ? Maintenant, nous comparons
cette équipe gagnante à n'importe quelle équipe dans laquelle je
fais partie en ce moment. Si c'est pareil,
allez-y et connectez-le dès
maintenant au select. Nous comparons l'équipe gagnante à l'équipe dans laquelle je fais actuellement partie. Si les deux sont égaux, si c'est le cas,
nous jouons à ce jeu. Son. L'
équipe gagnante est la mienne. Je veux jouer la victoire. Son. Et je crois que c'est
ce seul congrès. Celui-ci. Tu es peut-être Victoria. Ouais Je veux
donc jouer la victoire dans ce jeu. Son. Parce que l'équipe
gagnante est en fait l'équipe dans
laquelle je fais partie en ce moment. Cependant, si ce n'est pas le cas, je veux jouer la
défaite par équipe. Son Et c'est celui-ci. OK, maintenant nous jouons
le bon son. Allez-y, compilez.
Et c'est ce qui devrait être le cas. Allons-y et jouons. Et je vais en fait
le configurer pour deux joueurs. Maintenant, je vais jouer, et je vais
minimiser celui-ci à l'avance. En fait, je peux
juste le faire ici. Peut-être comme ceci ou cela. Allons-y et sélectionnons le terroriste, le contre-terroriste. Maintenant, en tant que contre-terroriste, je vais aller là-bas, tuons le terroriste. Tu es victorieux. Ça dit que tu es victorieux. Chaque fois que tu gagnes, je
vais tirer sur le terroriste. Et chaque fois que je tue
le terroriste et
que je meurs, je passe rapidement
à la fenêtre terroriste. Je peux donc entendre si le terroriste
dit vaincu. Vous pouvez donc entendre qu'il est dit vaincu du côté des terroristes. Chaque fois que j'y passe
rapidement, cela fonctionne maintenant. Cela signifie « vaincu »
chaque fois que vous perdez et « victoire » pour
le joueur gagnant. Passons à la suivante.
188. 14.05 Ajouter un indicateur de succès ennemi: heure actuelle, il est un peu
difficile de savoir si vous avez touché le joueur
de loin. Si je tire sur ce joueur, je peux voir le petit effet. Mais s'il y a beaucoup de joueurs et que vous
tirez partout, il est un peu difficile de savoir
si vous avez touché le joueur. Nous avons besoin d'un indicateur pour
savoir si nous avons réellement touché le joueur ou si nous l'avons
touché derrière lui. Allons-y et
ajoutons-le. Fermons ça. Et ce que je veux que tu
fasses, c'est ouvrir les documents relatifs
à la cause qui se trouvent ici. Je veux que vous accédiez au dossier des icônes de l'
interface utilisateur, et j'ai inclus celui-ci
pour vous, l'icône Spark. Passons au dossier de l'interface utilisateur
et à l'intérieur de vos icônes, et ajoutons-le
dans le dossier. Ouvrez-le, accédez au groupe
de textures, changez-le en interface utilisateur et modifiez les paramètres de compression
en interface utilisateur. Fermons-le. Maintenant,
ouvrons la croix, celle-ci, le widget, plan que nous avons
créé ici Ajoutons cette image. Je vais juste
rechercher une image ajoutée
au panneau de canevas et je
vais cliquer dessus maintenant. Placez-le au centre,
comme la croix. Placez le point d'ancrage
au centre. Et l'alignement doit être 0,50 à 0,5, donc c'est au milieu Et réglez la position 0,0, puis cliquez également sur le contenu de
taille 2. Et maintenant c'est tout à fait correct. Vous pouvez cliquer sur
l'autre image, la croix ici, pour
voir la différence. Si vous voulez le
rendre plus organisé, vous pouvez appeler celui-ci des images, vous pouvez cliquer sur l'autre. Je vais l'appeler
Image Spark. Allez-y et compilez
sur l'image Spark. Je vais remplacer l'image par
cette icône en forme d' étincelle
que nous venons d'importer. Et je vais en faire
une taille d' environ 70 x 70
, je crois. Le Crosier. 60 x 60. Je vais donc juste l'
agrandir un peu et le
mettre derrière la crosse. Je ne vais pas le mettre
devant la croix. Voici à quoi cela
ressemble chaque fois que nous tournons. Nous allons faire apparaître
les marqueurs. Cliquons sur le Spark.
Par défaut, il est masqué. Masquez-le par défaut. Allons-y,
définissez-le comme variable, assurez-vous que nous pouvons le modifier. Passons maintenant au graphique. Je vais tout supprimer. C'est très, très simple. Créons simplement un
événement personnalisé et appelons-le Show. C'est ce que j'aime. Prenons maintenant cette étincelle d'image. Réglons la visibilité. Définissez sa visibilité
pour qu'elle ne soit pas testable,
afin qu' elle soit visible et que la souris
ne puisse pas interagir avec elle Maintenant, après un très petit
délai après 0,1 seconde, je veux le faire disparaître. Il va apparaître à
l'écran pendant 0,1 seconde, puis il
va disparaître. Cela nous
indiquera simplement que nous avons
touché l'ennemi. C'est la seule
chose que nous voulons faire. Fermons ça. Maintenant, ouvrons le
joueur et passons à endroit où nous touchons
les autres joueurs de l'ennemi. Mais passons au tournage
et rechargeons l'arme ici. Chaque fois que nous tirons, tracez la ligne et nous touchons réellement
le joueur ici. Nous nous souvenons que nous vérifiions si ce
n'est pas le coéquipier que
nous sommes en train de photographier Si ce n'est pas le coéquipier, alors nous tirons sur quelqu'un À ce stade, nous voulons jouer à ce site client
car je veux uniquement le
montrer au joueur
qui est en train de tirer. Celui-ci s'appelle Shoot Weapon. En fait, je vais
faire asseoir un client. Je veux juste l'ajouter ici, cliquez avec
le bouton droit de la souris. Créez une nouvelle arme de
tir CL personnalisée, à l'aveugle. Exécutez-le en possédant un
client fiable. Je vais simplement aller ici
et prendre la référence à la
manette de jeu que nous avons faite. Voyons si je peux le trouver. Cette manette pour un joueur. Passons à la manette du joueur, à la
croix B, une référence que nous avons faite plus tôt pour
obtenir le plan du widget Maintenant, à partir du plan du widget,
appelez celui que vous venez de créer appelé show enemy I
ahead et connectez-le Et c'est la seule
chose qu'il va faire. Je souhaite également créer un effet sonore car
nous pouvons afficher l'interface utilisateur, mais je souhaite également
l'indiquer par un effet sonore. Jouez. N'oubliez pas qu'à
l'intérieur de celui-ci, nous avons celui-ci appelé Bullet Impact Player. En fait, je vais jouer
cet effet sonore. Ce que nous voulons faire, c'est d'abord
avoir besoin de l'arme. La référence à l'arme.
Je vais juste écrire Weapon Base select the Weapon
Based Class Reference. Je vais l'appeler
arme, comme avant, je veux juste l'effet sonore. Je vais copier-coller tout ça. Allez-y, connectez-le. Cachons les épingles non connectées. Et je vais juste montrer l'effet sonore du Bullet Impact
Player. Je souhaite émettre un effet
sonore uniquement pour le joueur qui
est en train de tirer à nouveau. Jouez à Sound Two D, uniquement pour le joueur
qui tire. Et allez-y, jouez
cet effet sonore. Maintenant, cela devrait
fonctionner si je le déplace
simplement vers l'intérieur et que nous
devons jouer le son ici Si vous faites simplement glisser le pointeur d'ici
et dites CL, tirez avec arme. Nous pouvons donc
organiser cet événement chaque fois que nous tournons. Vous pouvez voir que cette entrée s'appelle
différemment de celle-ci. Encore une fois, je dois cliquer sur Fichier et actualiser tous les nœuds,
cela s'affiche correctement. Je vais l'éloigner
un peu, afin de pouvoir l'éloigner
aussi comme ça. Et j'ai plus d'espace
pour l'enregistrer ici. OK, tout
va bien. Le démonter,
le brancher. Et nous devons également brancher
l'arme. Nous avons la
référence aux armes, je crois. Oui, c'est celui-ci. Ça va jusqu'ici. Jusqu'ici. Et je
peux double-cliquer ici. Maintenant je peux en brancher un, je crois que c'est celui-ci. Double-cliquez dessus et branchez-le. Compilons, et
maintenant cela devrait fonctionner. Maintenant, avant de jouer, je vais également en augmenter
le volume,
afin de pouvoir l'entendre clairement
pour le trouver rapidement, accéder au tableau de données, d'
ouvrir les informations sur les armes, et c'est celui-ci. L'impact de la balle, effet sonore
clair. Cliquez sur la petite icône ici. Cela m'y amène automatiquement. Voilà à quoi cela
ressemble en ce moment. En fait, je vais
augmenter le son, peut-être 0,5, peut-être que c'est trop fort. 0.4 Maintenant, je peux l'entendre clairement,
alors sauvegardons tout. Jouons maintenant au jeu et
voyons à quoi cela ressemble. En tant que serveur, je
vais juste créer un
contre-terroriste Et maintenant, en tant que terroriste, écoutons-le en tant que
contre-terroriste. Laisse-moi juste passer
devant tout le monde pour que je
puisse voir le joueur. Maintenant, quand j'ai filmé le lecteur, vous pouvez voir cet effet sonore. Et vous pouvez également voir ce
marqueur qui apparaît sur mon écran chaque fois que
je tire sur le joueur Il lui donne un marqueur chaque fois qu'
une balle est projetée, comme si elle frappait
juste derrière lui. N'oubliez pas que nous avons ajouté un spread à
puces plus tôt, de
sorte qu'il n'
atteindra pas 100 % à chaque fois. Chaque fois que cela touche le
joueur, qui est Victoria ? Chaque fois qu'il touche, le joueur va réellement
montrer ce marqueur. Si je passe juste
devant le joueur, encore
une fois comme ça
et que je tire sur le joueur, l'indicateur
m'affichera chaque fois que
je frapperai le joueur, chaque fois que je ne frappe pas
, il ne me montrera rien. Je peux également l'entendre
sur l'effet sonore. Vous pouvez également entendre la
différence ici. vaut mieux ajouter un vainqueur que
de ne rien avoir, car le
joueur sait alors s'il
l'a touché ou non. C'était ça. Sauvegardons tout
et passons
à la suivante.
189. 14.06 Ajouter un SFX d'ambiance: heure actuelle, c'est un peu trop silencieux à l'intérieur de
l'environnement. Tu peux entendre. C'est bon Nous avons les effets
sonores de la marche, le tournage
et tout le reste, et ça va vraiment bien sonner. Imaginez que vous ayez cinq
contre cinq ici, par
exemple cinq joueurs, et que tout le monde tire,
charge et tout ce genre de choses,
ça sonnera bien. Cependant, il n'y a aucun
effet sonore pour l'environnement. Nous avons besoin, par exemple, d'un effet sonore d'
ambiance si vous ouvrez à nouveau
les paramètres de votre projet. Revenons-en à l'audio. Je l'ai inclus pour
vous. L'ambiance des oiseaux Vous pouvez ajouter l'
ambiance que vous voulez, mais pour celle-ci,
utilisons-la Revenons-en à l'audio
, aux effets sonores. Si vous le
glissez ici et que je
clique avec le bouton droit de la souris pour en faire un. Donc je vais juste l'appeler, donc ambiance, allez-y
et ouvrez-le Laisse-moi juste réduire le volume. Quelque chose de très faible, comme
0,01. Je l'ai essayé et je pense que 0,03 est une bonne chose.
Laisse-moi juste le sauvegarder. Et je vais juste cliquer et faire glisser cette ambiance
dans le niveau Il joue instantanément pour
tous ceux qui se connectent. Maintenant, si je clique sur Play, vous pouvez entendre l'effet sonore
des oiseaux. Si je sélectionne
Terris maintenant, c'est vraiment sympa car j'ai un
peu de bruit de fond Vous pouvez même le réduire
davantage si vous le souhaitez. Maintenant, tout
sonne bien. Je peux me promener, je peux
tirer et nous pouvons jouer. Mais j'ai aussi quelques effets
sonores pour l'environnement.
Ce n'est pas silencieux. Ça fait du bien. Ça fait du bien. Ce n'est pas un
silence gênant dans le niveau. C'est sympa. OK. C'est donc un excellent ajout. Ajout très rapide, mais cela donne à l'ensemble de l'environnement une
sensation de vie. OK, c'était donc ça. Sauvegardons tout à nouveau. Vous pouvez ajouter l'ambiance que
vous souhaitez pour votre niveau, et passons
au suivant
190. 14.07 Supprimer la matrice lors du rechargement: Très bien, la dernière
chose qui nous manque pour le moment, c'est si vous sélectionnez
Terrace par exemple, et que nous prenions une arme. Maintenant, chaque fois que je photographie et que je recharge, vous pouvez voir que le chargeur n'
est pas retiré. Cela semble un peu
bizarre parce que nous sommes train
de recharger et que le chargeur n'
est pas retiré. Nous devons donc faire
quelque chose à ce sujet. Ce que nous pouvons faire, c'est
ouvrir le montage d'animation. Si vous revenez à
vos animations pour le lecteur et
que vous recherchez les montages d'animation
que vous avez créés précédemment Passons au fusil. Commençons par celui-ci. Maintenant, ce que vous pouvez
faire ici, vous pouvez ajouter une notification.
Commençons par le faire. Je veux ajouter une notification
chaque fois que je recharge, chaque fois que je publie
ce magazine ici Essayons d'ajouter ce
mag que nous avons retiré. Je ne peux pas cliquer
dessus avec le bouton droit de la souris, alors je vais juste cliquer avec
le bouton droit de la souris ici. Ce que vous pouvez faire, c'est également
ajouter une autre piste de notification, afin de ne pas l'ajouter
en plus des effets sonores, vous pouvez ajouter une autre piste. Et je vais peut-être appeler ça du rechargement,
quelque chose comme ça Tout ce que tu préfères ici. Je vais écrire
Cliquez puis sur Ajouter. Notifier et ajouter un montage. Prévenez celui-ci. Nous pouvons utiliser le code pour faire ce que
nous voulons pour celui-ci. Je vais juste
appeler ça du bout des lèvres. Ajoutons-en un pour le
découpage, ou celui-ci est découpé. En fait, ce n'est pas un clip. Appelons-le Lip out. Ajoutons-en un à clipser. Peut-être ici,
cliquons avec le bouton droit sur Montage Notify, cliquons dessus
et
appelons-le Lip in. OK, maintenant nous avons ces
montages ou notifications. Réduisons cela au minimum. Passons aux plans.
Supprimez cette recherche. Ouvrons la base de la couche
du joueur. Passons au code dans lequel
nous sommes en train de recharger. Allez-y et cliquez
sur celui-ci ici. Il s'agit du code de rechargement. N'oubliez pas que nous
l'avons commenté, rechargez l'arme. C'est tout ce que nous
avons fait pour calculer les balles Ici, dans le multicast, nous jouons le montage,
le montage de rechargement Maintenant, ce que nous pouvons faire
, c'est utiliser celui-ci appelé unnotifiedgin Ce gin non notifié
commence à jouer
dès qu'il atteint une notification
dans un montage d'animation Chaque fois qu'il atteint
cette notification ici, ce code est déclenché. Vous pouvez désormais avoir
plusieurs notifications
pour différentes choses
dans la même zone, et c'est pourquoi elles sont ici Nous pouvons prendre cela et nous demander si cela équivaut, par
exemple, à ce que vous avez appelé clip in ou clip out pour commencer. Et créons une branche, partons d'ici. Si cela équivaut à un découpage, nous pouvons en faire
quelque chose. Ce que nous voulons faire, c'est laisser
moi en parler ici. Ce que nous voulons faire, c'est cacher l'os à Meg. Si je reviens en arrière et que je trouve l'
arme sur le marché, j'ouvre l'arme
FPS, je regroupe
les armes, les mailles et je
retourne sur mon AK 47 Permettez-moi d'ouvrir
le squelette ici maintenant, comme avant lorsque nous
cachons la tête du joueur. Idéalement, comme si vous
avez un projet sérieux, il serait peut-être préférable de simplement
créer une animation, comme une animation de rechargement dans laquelle le
Mac entre et sort Vous pouvez en fait
le voir dans l'autre pack. Nous avons téléchargé le document sur les armes
militaires. Si je reviens à l'une
des armes présentées ici, elles contiennent en fait
des animations. Par exemple, ils ont une animation pour
recharger ce fusil Et vous pouvez voir ici qu'ils
ont une faible animation, donc je vais juste
la fermer rapidement. Mais ils ont cette animation de
rechargement que vous pouvez
utiliser et qui sera plus idéale, mais dans ce cas, nous n'
avons aucune animation et nous pouvons toujours la
réaliser Nous voulons cacher l'os, comme le joueur sur
lequel nous avons touché la tête. Pour celui-ci, nous allons
cacher le chargeur d'armes. OK, ça s'appelle Gun Mag. Ce que nous allons faire, c'est abord
avoir besoin de la référence à l'arme. Voici l'arme équipée. Prenons l'arme équipée
que nous avons en ce moment. Faisons glisser le pointeur à partir d'ici. Nous avons
besoin des variables relatives aux armes. Nous avons besoin du
maillage squelettique à l'intérieur d'ici. Encore une fois, il suffit d'écrire bone. Si tu ne sais pas comment
ça s'appelle, écris os, puis tu pourras
voir à travers et tu demanderas celui-ci de cacher un os par
son nom, comme avant. Si c'est vrai, allez-y
et cachez cet os. Maintenant, quel que soit le nom de cet
os, si tu veux, tu peux l'écrire
statiquement ici Mais encore une fois, le mieux est de l'ajouter
à votre structure. Si je reviens simplement à deux
structures, informations sur les armes. Allez-y,
ajoutez une nouvelle variable et je l'appellerai simplement name. Disons nom ici, nom,
variable, sauvegardez et
sauvegardez tout. Allez-y et
ouvrez votre tableau de données. Je vais juste faire de l'espace entre ceci et l'
ouverture de ma table de données. Allons vers la droite ici. Je vais l'appeler Mag Name. Ensuite, nous pouvons lui donner
le nom de mon AK. Ça s'appelle Mag. Même chose pour mes informations. Je pense que c'est mon pistolet. Pour mon pistolet. Je ne sais pas si nous devons faire quoi
que ce soit, car pour le pistolet, je ne pense pas que vous puissiez voir Mac Si je passe aux armes, aux armes noires et que j'
ouvre mon pistolet,
il est là, mais je
ne suis pas sûre que vous
puissiez voir le magazine dans son intégralité Je vais donc laisser
celui-ci de côté pour celui-ci. Vous pouvez simplement n'en écrire
aucun par exemple, et vous n'avez besoin de
rien ici. Encore une fois, il vaut mieux simplement créer des animations comme ils l'ont
fait ici pour ces armes. Et c'est beaucoup plus propre. Ça a l'air beaucoup mieux.
Sauvegardons tout maintenant. Revenons ici et
téléchargeons-le sous forme de fichier CSV. Permettez-moi de
passer aux tableaux de données. Et permettez-moi de l'importer. J'ai maintenant importé le
fichier CSV et il est mis à jour. Et laissez-moi tout enregistrer Maintenant, je peux
retourner dans ma base de joueurs. Et ce que nous pouvons faire ici maintenant,
c'est simplement utiliser cette référence. Nous pouvons simplement ajouter
ici une variable appelée nom. Et nous pouvons le
remplacer par un nom ici. Nous pouvons retourner à l'endroit où
nous diffusons la multidiffusion. Je vais juste cliquer
dessus et masquer les épingles
non connectées pour que nous n'
ayons pas à tout voir Voyons où nous
diffusons le multicast. Laisse-moi aussi cacher celui-ci. La multidiffusion est diffusée
ici lors de l'événement du serveur. Ce que nous pouvons faire, c'est
simplement cliquer ici, cliquer sur le nom du magazine, et connectons le nom du magazine. OK, maintenant allons-y. Ce que nous pouvons faire maintenant, c'est simplement prendre nom de
ce magazine et
le connecter à Bone Name. Il suffit de double-cliquer ici, créer quelques notes de rock arrière
pour que tout reste propre également. Allons-y. Chaque fois
qu'il est découpé, nous allons masquer le
nom du magazine chaque fois qu'il est découpé. Nous pouvons donc l'emporter ici. Dans ce cas, nous n'avons que deux notifications. Nous n'avons que ceci et cela. Techniquement, nous pouvons simplement faire
les entrées de code à partir d'ici. Toutefois, si vous recevez
plusieurs notifications, n' oubliez pas que vous pouvez faire glisser
à nouveau, dire égal et dire quel que soit son nom, puis créer une nouvelle branche, puis vous pouvez la connecter et dire si c'est vrai,
vous pouvez le faire Cependant, dans notre cas, nous n'avons que deux notifications. Quoi qu'il en soit, je vais
juste le faire glisser d'ici.
Il suffit de le déplacer. Si c'est faux, nous allons
reprendre cette arme. Et si vous faites simplement glisser un os droit
et que vous voyez qu'il existe un nom appelé
Unhide Bone, utilisons celui-ci Reconnectons ce nom osseux
une fois de plus. Connectons-nous. Cela revient ici et double-cliquez pour créer
un nœud arrière. Maintenant, cela devrait fonctionner si je compile et enregistre tout. Essayons-le maintenant et voyons à quoi cela ressemble si
je clique sur jouer. Maintenant, n'oubliez pas que cela ne
fonctionne que lors du rechargement. Celui-ci est l'animation de l'équipement. Il ne s'agit pas de l'animation
de rechargement. Maintenant, si nous rechargeons, vous
pouvez voir que le chargeur est en train d'être retiré. OK, génial. Essayons-le
avec un M quatre ici s'il le faut et rechargeons-le Génial, ça marche aussi. Ça a l'air beaucoup
mieux. Encore une fois,
il est préférable de n'
avoir que des animations pour cela, mais vous pouvez également masquer noms des
os lorsque vous
rechargez l'arme
191. 14.08 Correction du bug de rechargement lors du changement d'arme: Je passe une heure à essayer mon
jeu pour voir s'
il y a un bug ou quelque chose à corriger avant de
terminer. Il y a juste un petit
problème maintenant. Vous voyez si je clique sur jouer maintenant
et que je gagne quelque chose Maintenant, si je tire avec
cette arme, par exemple, si je change puis que je
la recharge en même temps, vous voyez que je change puis
que je recharge, elle est en train de fonctionner. Maintenant, j'essaie de tirer, mais ce n'est pas
le cas, le rechargement s'arrête. Allons-y et réglons ça. Avant de terminer, passons à la base de joueurs qui se trouve ici. Passons à notre logique de recharge ici et voici
l'arme de recharge qui se trouve à l'intérieur d' Ce qui ne va pas, c'est que nous pouvons recharger même si nous
équipons l'arme C'est une
solution très rapide ici. Lorsque vous essayez d'appuyer sur
le bouton de recharge, ce les éléments que nous vérifions Nous devons également vérifier si nous
équipons l'arme. N'oubliez pas que si je
clique avec le bouton droit de la souris et que je dis équiper, nous avons fabriqué ce lingot plus tôt Lorsque nous équipons l'arme, nous équipons l'arme Et puis, lorsque nous
n'équipons pas l'arme, nous pouvons les recharger Cependant, si nous sommes toujours en
train d'équiper l'arme, cela n'a pas vraiment de
sens de la recharger Je vais juste
copier-coller ce que nous avons déjà fait pour le
rendre plus beau Je suis en train de copier-coller ce code
là où nous cachons le magazine. En fait, je vais voir l'animation
Lutequip ici. L'arme MC Equip. Je vais le coller ici. Je pense que ce sera beaucoup mieux. Peut-être que vous n'
aurez pas besoin de le faire si vous avez une autre animation
d'équipement. Mais l'animation de mon équipement est
la même que celle du rechargement. En fait, je vais juste les brancher ici pour qu'
ils soient plus beaux. Et je vais aussi
le brancher ici et
l'appeler mag name, comme avant. Alors je vais, voyons voir, c'est celui-ci, donc je vais juste le
connecter ici. Et cela devrait également
être corrigé. OK, la dernière
chose est bien ici, à l'intérieur de l'arme larguée. Lorsque vous lâchez l'arme
et que vous arrêtez le montage, pensez à ne pas faire retentir le son du
rechargement. Nous avons arrêté le montage ici, nous avons obtenu l'
instance d'animation et ainsi de suite. Cependant, on
confond parfois l'instance
d'animation.
Commençons simplement par là car
elle indique accès N.
Parfois, Commençons simplement par là car nous pouvons simplement d'ici et dire si c'est valide et continuer et
ajouter que ce nœud est valide, nous nous assurons qu'il est
valide avant de continuer. Si ce n'est pas le cas, ne faites rien. Et encore une fois, il suffit de prendre quelques
notes pour le
rendre plus clair et cela
devrait résoudre tous nos problèmes. J'ai essayé le jeu
pendant environ une heure, une
heure et demie, et il y avait naturellement plus de
problèmes à résoudre. Je suis sûr que nous
avons retiré toutes les
cases du jeu. Nous n'avons pas non plus de boîte lorsque
nous jouons au jeu. Je vais nettoyer
ce projet pour vous, créer des
commentaires, etc. Ensuite, je vous fournirai
ce projet. Peut-être l'
avez-vous déjà téléchargé. C'est dans le futur.
Laissez-nous tout sauver. Et Leah, passons
à la suivante.
192. 14.09 Que faire maintenant: Félicitations donc
pour l'avoir fait jusqu'ici. Cela m'a pris beaucoup de
temps pour arriver à
ce à quoi je suis habitué, mais j'ai beaucoup
aimé le créer mais j'ai beaucoup
aimé le créer pour vous et créer tous
ces éléments pour vous. Nous avons donc maintenant un bon
départ pour un jeu de tir FBS. Et les
armes sont larguées. Nous avons l'inventaire,
nous pouvons le recharger, nous pouvons changer d'arme, fusil, nous
avons les balles,
nous avons la santé et l'armure,
et nous avons les
partitions Nous avons donc ajouté beaucoup de
choses à cet environnement. Nous en avons maintenant terminé
avec cela, mais à l'avenir, je
souhaite ajouter d'autres articles. Par exemple, nous
pouvons ajouter un menu Bi. Nous pouvons ajouter d'autres armes,
comme un lance-roquettes. Nous pouvons ajouter un lance-grenades. Nous pouvons ajouter des grenades. Nous pouvons ajouter un tableau de bord pour le joueur Nous pouvons ajouter un menu principal
et des choses comme ça. Et ce que vous pouvez
faire pour le moment, c'est si vous allez sur
ma chaîne Youtube, et à l'intérieur de celle-ci, vous pouvez publier
ce jeu sur Steam. Je vais donc vous apprendre gratuitement comment vous pouvez convertir ce jeu dès
maintenant que vous l'avez fait. Vous pouvez le sauvegarder, vous pouvez convertir importe quel jeu que vous avez
actuellement sur Steam. Vous pouvez donc ajouter un
menu principal, un navigateur de serveur. Vous pouvez ajouter une barre de recherche
et d'autres choses du genre. Et vous pouvez en
fait héberger un jeu sur Steam pour que d'autres
joueurs puissent le rejoindre. Je vais donc vous
l'apprendre sur ma chaîne Youtube. Assurez-vous donc d'y aller
et de le visiter également. Et vous pouvez toujours visiter mon site Web et
mon serveur Discord Je vous aiderai tous en 2047. Assurez-vous donc d'aller de
l'avant et de le faire. Il est également très
agréable de discuter avec la communauté. Et oui, nous nous
amusons juste avec le développement de jeux, c'est un plaisir de vous avoir ici. Merci d'avoir regardé. Et n'oubliez pas de rester à
l'affût des nouvelles mises à jour. Et n'oubliez pas de regarder mes autres tutoriels et autres cours sur le vrai
moteur et le multijoueur. Allez-y, sauvegardez votre progression et j'espère vous voir bientôt.