Transcription
1. Promo: Dans ce cours, nous
allons créer un jeu lequel nous pouvons piloter un hélicoptère. Nous commençons par la
création d'un projet. Nous allons faire le réglage des roues. Les roues de notre
hélicoptère bougent donc également. Nous aurons également des freins
à main pour ces roues. Ensuite, nous allons passer à la configuration du moteur, manière dont nous pouvons décoller
cet hélicoptère. Et avec cela, nous aurons
des effets visuels tels que la
rotation des lames et des effets visuels Naga pour la poussière sous
l'hélicoptère Nous aurons également quelques sons
avec ça, donc ça aura l'air plus naturel. Dans cet hélicoptère, nous pouvons
aller à gauche. Nous pouvons y aller à droite. Nous pouvons avancer ou reculer. Nous pouvons également tourner à droite
et à gauche. Ensuite, nous mettrons en œuvre un système de missiles afin de pouvoir
tirer sur ce que nous voulons. Et pour cela,
nous avons besoin d'un ennemi, afin de pouvoir lui tirer dessus. Donc, pour l'ennemi, nous allons
créer un plan de canon anti-air. Ainsi, nous pouvons percuter notre
hélicoptère et le détruire. Cette arme anti-air peut tirer sur
notre hélicoptère si celui-ci est à portée, et elle tournera, sorte qu'elle fera face à l'hélicoptère. Pour l'anti-airgon, nous aurons des effets visuels. Et des sons aussi. Et chaque fois que certaines de ces
balles touchent l'hélicoptère, vous entendrez également le
son de leur impact sur l'
hélicoptère Ensuite, nous aurons
une interface utilisateur, par exemple, lui, réticule, et la quantité de
missile que nous pouvons tirer Alors, sans plus
attendre, commençons.
2. 01 Créer un projet et importer des fichiers: Non pour avoir créé un jeu
d'hélicoptère. abord, nous avons besoin d'un jeu, et pour cela, je
veux utiliser un projet vierge. J'utilise Aria Engine 5.5 0.3. Vous pouvez utiliser la même
version que moi, mais si vous utilisez d'autres
versions, vous pouvez le faire. Si vous êtes
débutant, il vaut mieux s'en tenir
à la
version que j'utilise. Vous ne voyez donc pas le
changement dans le nom du nœud. Donc non,
créons simplement un projet vide. Cliquez sur Blank. Nous voulons que
cela figure dans le plan directeur Vous n'avez pas besoin du contenu
de
départ, ni du nom du projet, je veux l'appeler
enfer ou hélicoptère. J'appellerai ça l'enfer. Où est-ce que je veux le mettre ? Je veux le mettre dans
ce dossier, d'accord. Et c'est tout, head create et il créera le
projet pour nous. Non, le projet
étant ouvert en premier, nous devons enregistrer ce niveau. Le contrôle de la tête consiste donc à le sauvegarder. Je veux créer un
nouveau dossier ici, je veux l'appeler levels, et je veux le mettre là. Je vais l'appeler simplement Nouvelle carte, sauvegarde de la
tête, et elle
sauvegardera le niveau qui s'y trouve. La prochaine chose que je
veux faire est d'aller dans Modifier
les préférences de l'éditeur. Et ici, je
veux rechercher Open. Donc, en tant qu'éditeur ouvert, je veux qu'il soit dans
la fenêtre principale. Donc, chaque fois que nous ouvrons quelque chose, il sera ouvert ici. Ensuite, vous devez modifier les paramètres du
projet, accéder aux
cartes et aux modes départ de
l'éditeur par une nouvelle
carte que nous avons enregistrée et la
carte par défaut du jeu par une nouvelle carte également. Rien qu'avec ça, nous serons sauvés. Il n'y a pas d'autre chose que
tu veuilles faire. Nous voulons accéder au plugin Edit. Et ici, recherchez le chaos. Descendez jusqu'à ce que vous atteigniez
le plugin Chaos Vehicle. Vérifiez simplement les en-têtes et
redémarrez votre projet. Sachez que notre projet est de
redémarrer, ce que nous devons faire. Dans la description de cette vidéo, il existe un fichier zip appelé Helly point Zep Il suffit de le télécharger.
Placez-le sur votre bureau. Vous pouvez l'ouvrir si vous
utilisez Windows 10 ou 11. Mais si vous n'êtes pas sous
Windows 10 ou 11, vous pouvez télécharger le
logiciel WinRAR pour l'extraire Dans ce dossier,
vous pouvez voir qu'il y a anti-Argon et
un dossier HeL. Qu'à l'intérieur de chacun d'eux se trouve un dossier d'actifs. Ce sont tous les atouts dont
vous avez besoin pour ce projet. Maintenant, une fois cela fait, nous
pouvons simplement le glisser-déposer et le mettre sur le bureau
pour qu'il soit extrait. Maintenant, vous pouvez voir
qu'il est en train d'extraire. Avec ces deux dossiers, nous devons accéder à Areal Engine,
aller dans le tiroir de contenu, aller dans le tiroir de contenu, cliquer sur le dossier de contenu, cliquer dessus avec le
bouton droit de la souris et l'
afficher dans l'explorateur Et cela ouvrira le dossier de contenu
Healy, non ? Cela fait, nous devons faire glisser ces deux dossiers Anti Airgon et Hell dans ce dossier de contenu C'est tout ce que tu dois faire. Maintenant, si vous allez dans
Areal engine, vous pouvez voir qu'il y a deux nouveaux
dossiers AntiArgon et hell Nous pouvons simplement cliquer dessus avec le bouton droit de la souris, définir une couleur pour eux. Par exemple, bon sang, je veux utiliser le vert parce que
c'est le joueur, non ? Et Antiirgon, je veux encore une fois, cliquer dessus avec
le bouton droit de la souris,
régler la couleur Cette fois, je veux utiliser le rouge parce que c'est
l'ennemi, non ? Non, nous avons l'actif nécessaire pour créer notre jeu d'hélicoptère.
3. 02 Créer le plan Helli: Sachez que nous avons les actifs
nécessaires, créons simplement notre premier
plan pour notre hélicoptère Pour ce faire, tout d'abord, si vous allez dans l'
un de ces dossiers, un
d'entre eux et que vous
ne voyez pas le dossier de ces actifs, fermez
simplement votre moteur Al et ouvrez-le à nouveau et vous le
verrez là. Maintenant, allez dans le dossier, cliquez avec le bouton
droit de la souris ici, créez un nouveau dossier ici, et nous pouvons l'appeler blueprint Tous nos plans
seront donc là. Cliquez avec le bouton droit ici,
créez une classe de plan. Et cette fois, allez dans
toutes les classes ici et recherchez un pion de véhicule à roues, un véhicule à roues
Pan selected head select et nous pouvons l'
appeler BP hell OK. C'est ça.
Allons juste à l'intérieur. Je vais cliquer dessus pour l'ouvrir. Ici, nous avons un composant de mouvement du véhicule
et nous avons un maillage,
et il s'agit d'un maillage squelettique. Il suffit de cliquer dessus, et sur son squelette en acide, nous pouvons choisir notre hélicoptère et vous pourrez le voir ici. Ça a l'air vraiment génial. Il n'y a pas d'autre chose que
tu veuilles faire. Nous voulons ajouter un
bras à ressort et la caméra. Cliquez donc sur le maillage, cliquez sur AD et
recherchez le bras à ressort. Ajoutez
le bras à ressort. Cliquez ensuite sur le bras à
ressort,
puis sur AD pour ajouter une caméra. C'est très important. Non, la prochaine chose
que je veux faire, changer la
longueur du bras ou du ressort. À l'heure actuelle, vous pouvez
voir que c'est trop petit. Cliquez donc sur le bras à
ressort et modifiez la longueur du bras cible à 2000. D'accord, si vous
voulez l'augmenter, vous pouvez le faire, mais c'est
largement suffisant. Non, vous pouvez voir que
le bras à ressort est un point de départ au bas
de l'hélicoptère. Ce que je veux faire, je voudrais
en parler un
peu, comme ça, jusqu' à 150, peut-être
au milieu d'un hélicoptère,
et c'est tout. Passons simplement à la compilation et à la sauvegarde. Voyons maintenant comment
nous pouvons le générer. Pour le créer,
je veux créer une nouvelle classe de plan ici, et je veux la créer à
partir de la base du mode jeu Je veux l'appeler GM pour
le mode jeu, BP pour Blueprint. J'ai envie d'appeler ça un enfer. Bonjour GM BP. Poupée, cliquez dessus pour l'ouvrir. Et ici, la seule
chose que vous
voulez changer, c'est le punk last par défaut. Vous voulez le changer de pion
par défaut en BP hell. Ce mode de jeu apparaîtra donc
sur BP Hell sous
le nom de PunLSS Maintenant, vous pouvez simplement l'
enregistrer et le fermer. Si vous allez sur la carte, nous pouvons passer au réglage des mots. Si vous n'avez pas
ce paramètre de mot, allez dans Windows et ouvrez le paramètre de mots
en cliquant ici. Non, le mode de jeu que vous
souhaitez remplacer s'appelle GM BP Hell Game Mode
Blueprint Hell, Juste après cela, si nous prenons la bonne direction et que nous écrasons le gibier,
vous pouvez voir, non, nous pouvons voir notre hélicoptère avec la caméra et le bras à ressort
qui ramènent la caméra. C'est vrai. Premier problème
que vous pouvez voir, vous pouvez voir que les roues ne le sont pas. OK, voyons comment nous pouvons y remédier.
4. 03 Configuration de la roue: Non pour fixer les roues d'un hélicoptère qui ne
tourne pas. OK. Pour ce faire, il y a un élément de
mouvement du véhicule dans lequel nous devrions lui indiquer lesquels de ces os
sont vos roues, n'est-ce pas ? Ouvrons donc simplement le maillage
squelettique de tout cela. Vous pouvez voir qu'il
y
en a deux à l'avant ici et
une à l'arrière. Passons simplement au tiroir de contenu. Et ici, je veux aller
à Acid, contenu de Vigilante, à Vehicle, à West Healy Et ici, ouvrez
le squelette, non ? Squelette de notre hélicoptère. Alors maintenant, je
veux chercher l'enfer et vous pouvez voir que
nous en avons un ici. Je peux appuyer sur F pour zoomer dessus. Vous pouvez voir que c'
est le premier. Et après cela, nous
avons un véritable joint de roue. Si nous appuyons sur F, nous
y irons et nous pourrons le tester
en le faisant pivoter, non ? Et nous avons Art Wheel Joint. Et si vous appuyez sur F,
nous y irons, et nous pourrons le faire pivoter
pour voir si tout va bien. Nous avons donc un joint de roue
Rtheljoint LF à trois roues et un joint de roue arrière Nous voulions
installer ces roues. Alors, allez chez BP Healy.
Ici, nous en avons trois. Créons-en donc
trois. Maintenant,
développons-le pour voir ce dont il a besoin. Tout d'abord, il a besoin d'une classe de talon. Après cela, il faut
un nom osseux, non ? Choisissons donc abord
le nom en os
de toutes les roues, puis nous
créerons une classe de talons si nécessaire,
n'est-ce pas ? Alors allez ici, allez voir un
squelette ici, et je veux le faire
pour l'articulation de la roue gauche, cliquez dessus avec
le bouton droit de la souris. Copiez le nom de l'os. Et nous pouvons simplement le
coller ici. C'est ça. Nous pouvons passer au
suivant pour le suivant. Je veux faire le bon
rtheljoint, cliquer dessus avec le bouton droit de la souris,
copier le nom de l'os et le
coller Non, je veux faire la roue arrière. Encore une fois, allons-y. Nous avons un joint de roue arrière, cliquez dessus avec
le bouton droit de la souris. Copiez des os. Et
collez-le ici. Et maintenant, pour tester cela, passons simplement à la carte pour que
je puisse m'en éjecter, n'est-ce pas ? Si j'appuie sur F8 et que je vais ici, vous verrez que la roue
avant va bien. Il ne tourne pas.
Ne t'inquiète pas pour ça. Nous allons régler ce problème.
Mais vous pouvez voir que la roue arrière est dans le ciel, donc c'est un problème. C'est pourquoi nous devons créer une classe de
roue pour la roue
arrière, n'est-ce pas ? Et je souhaite également créer une classe de roue pour la roue
avant. Mais d'abord,
créons-le pour celui-ci. l'heure actuelle,
si c'est dans le ciel, c'est parce que la
classe de roue n'est pas bonne. Le rayon de la classe de
roue que
nous utilisons ici par
défaut ne convient pas. Il n'est pas conçu pour ça. Voyons donc comment nous pouvons
résoudre ce problème dans la suite
5. 04 Rayon de roue: Non, pour régler le problème, le
fait que la roue arrière
est dans le ciel. Voyons comment nous pouvons résoudre ce problème. Pour résoudre ce problème, je veux
aller dans le tiroir de contenu, aller dans le dossier Hali,
aller dans Blueprint Et ici, cliquez avec le bouton droit de la souris sur
Créer une classe Blueprint, accédez à toutes les classes et
recherchez le chaos dans lequel nous nous trouvons. Roue de véhicule Chaos. Nous voulons donc créer une
classe pour Over Wheels. Cliquez donc sur Sélectionner,
et je veux appeler celui-ci C ww pour
Chaos Vehicle Wheel, et je veux
l'appeler roue arrière. OK, roue arrière. Ne cliquez pas dessus pour l'ouvrir. Et ici, vous pouvez voir
que nous pouvons changer certaines choses. Par exemple, le rayon de roue est bien plus important. Juste avec cette valeur par défaut, si vous cliquez sur le
composant de mouvement du véhicule et choisissez la
roue CVWrar que nous créons ensemble, voyons ce qui se passera
si vous compilez et lancez non, vous pouvez voir à nouveau que c'est dans le ciel qui
ne fonctionne pas bien Non, allons simplement
ici et changeons le rayon de roue à
20, par exemple. Et ainsi, si
vous appuyez à nouveau sur « courir », vous pouvez voir que c'est
près du sol. Non, changeons-le simplement
à dix et testons-le. Si vous écrasez un
jeu et que vous l'éjectez, non, vous pouvez voir qu'il est au sol et
qu'il est magnifique La roue avant est correcte, mais je veux aussi créer une
classe pour eux. Donc, si nous devons les changer, nous pouvons les changer, non ? Allez donc dans le tiroir de contenu. Je veux cliquer sur ce
CVWrarWheel, Control D, pour le dupliquer, et
je veux le renommer avant,
non ? Roue avant Et je veux peut-être changer
le rayon 10-30, non ? Compilez la tête, enregistrez, accédez à ou BP, cliquez sur le composant de
mouvement du véhicule et changez la classe de roue pour
les roues avant, de chaos, roue du
véhicule à roue avant
que nous créons ensemble. Donc celui-ci
aussi, roue avant. Non, disons simplement régler. Si nous écrasons le jeu et l'éjectons, non, regardons-le Non, tu peux voir que
ceux-ci vont bien, et ceux-là aussi. Tout est magnifique. Tout semble
naturel, mais le problème c'est que l'enfer bouge, mais que nos roues
ne tournent pas du tout. Voyons donc comment nous
pouvons faire pivoter nos roues
6. 05 Rotation de la roue: Non, pour faire pivoter nos roues, chaque fois que notre hélicoptère se
déplace, nous devons créer un plan d'
animation pour le squelette de l'hélicoptère Donc, en cliquant avec le bouton droit de la souris
ici, je veux accéder à la classe
Blueprint pour créer le plan d'animation Je souhaite rechercher un véhicule. Et si vous descendez, vous pouvez voir un exemple
d'animation du véhicule parce que nous utilisons un véhicule. L'hélicoptère
n'est qu'un véhicule. Ainsi, lorsque nous créons un
plan d'animation pour un véhicule, nous devons créer une instance
d'animation de véhicule Alors choisissez-le Head
Select, et ici, je veux l'appeler
ABP Halley, n' Chien, cliquez dessus pour l'ouvrir. Je dois vous dire qu'
il n'a
aucun maillage squelettique.
Voulez-vous le configurer ? Vous dites oui, vous choisissez
le maillage squelettique de l' hélicoptère
O et vous
cliquez sur OK, c'est tout. Non, il suffit de
cliquer dessus pour l'ouvrir. Ici, la première chose
que vous voulez faire, obtenir le maillage de la
pose ou l'espace du maillage, s'il s'agit d'une pose. Cela nous donnera
toutes les informations sur les os
internes ou squelettiques. Maintenant, nous
devons rechercher une commande de
roue pour un
véhicule à roues avec cela Vous n'avez rien à faire si vous le connectez
simplement au post de sortie. Avec cela, toutes les
roues fonctionneront bien. Et sachez que nous le créons, nous devons le définir
dans notre BPHlly Cliquez sur le maillage squelettique ou hélicoptère et choisissez
la classe d'anime correspondante La classe animale
pour cela est ABP hell. Choisissons donc
cette sauvegarde compilée par la tête, et maintenant nous pouvons simplement
exécuter le jeu. Maintenant, si nous les éjectons, vous pouvez voir chacune
tourner parfaitement bien. Vous pouvez voir chaque fin de rotation. Ils tournent tous bien. Mais le problème pour le
moment, vous pouvez voir que le rayon de cette
roue n'est pas bon. C'est un peu
dans le sol. Nous pouvons donc simplement passer à la roue arrière, roues
CVWrar et les remplacer, par
exemple, à nouveau par 15 et compiler en
tête. Testons cela une fois de plus Et
allons-y, et c'est tout. Cela fonctionne bien. 15 est
le bon chiffre, non ? Celui-ci est bon, et le modèle avant est bon
et il tourne. Et notre hélicoptère
a l'air génial, n'est-ce pas ?
7. 06 Regardez vers le bas: Il n'y a pas d'autre chose que
tu veuilles faire. Nous voulions
pouvoir regarder autour de notre hélicoptère avec notre souris. Voyons comment nous pouvons le faire. Pour ce faire, je veux
aller dans le tiroir de contenu, et ici, dans le dossier Hell, je veux cliquer avec le bouton droit de la souris,
créer un nouveau dossier, et je veux l'appeler entrées. OK ? Je vais cliquer dessus
pour l'ouvrir ici, cliquer avec le bouton
droit de la souris, passer à la saisie. La première chose
dans laquelle
nous voulons créer est un contexte de mappage d'entrée, et je veux l'appeler IMC hell,
n'est-ce pas ? Et ne cliquez pas
dessus pour l'ouvrir. Ensuite, nous devons
créer une action d'entrée. Je veux d'abord
regarder de haut en bas. Cliquez avec le bouton droit ici, accédez à la
saisie et créez une action de saisie. Je veux l'appeler, je
regarde de haut en bas, non ? Cliquez dessus pour l'ouvrir. Le type de valeur, nous voulons que
ce soit l'axe 1 ou
un flottant, soit parce que nous
regardons vers le haut, soit parce que nous
regardons vers le bas. L'axe 1 D est donc
largement suffisant. Vous pouvez simplement l'
enregistrer et le fermer. Non, nous devons le mapper à l'intérieur
ou saisir le contexte de mappage. Cliquez donc ici pour
ajouter une nouvelle cartographie, et nous voulons cartographier le
I look de haut en bas. Et ici, avec ce que nous
voulons rechercher de haut en bas, cliquez ici, nous
voulons le faire avec la souris Y. C'est tout Non, nous devons accéder à BP Healy dans le graphique des événements pour commencer à jouer Nous devons ajouter ce contexte de
mappage. Nous devons d'
abord obtenir la manette du
joueur , la manette du joueur. Ensuite, nous devons en
tirer une meilleure entrée, en améliorer le
composant d'entrée
et y ajouter le
contexte de mappage. Ajoutez un contexte de mappage, non ? Le contexte de mappage
que vous
souhaitez ajouter s'appelle AMC hell Non, une fois cela fait, nous pouvons aller ici et
rechercher IA L de haut en bas, et cela nous donnera
un événement ici. Mais que voulons-nous
changer avec cet événement ? Nous voulons modifier la rotation du pas autour de
l'axe Y, n'est-ce pas ? Donc ici, chaque fois qu'
il est déclenché, nous voulons dire ajouter un contrôleur, entrer le
pitch parce que nous voulons
changer le ton pour pouvoir regarder vers le haut et vers le bas,
n'est-ce pas, avec la valeur
d'action, n'est-ce pas ? Voyons juste ce qui va
se passer avec ça. Si vous écrasez
le jeu, vous pouvez voir que
je ne peux pas monter et descendre, je ne peux pas monter et descendre, mais il est certain que le ton de la manette est
en train de changer. Ce que vous voulez modifier avec le pas de la manette, c'est le pas du bras du
ressort, n'est-ce pas ? Le pas des bras au printemps, nous voulons qu'il change
comme ça, non ? C'est ainsi que nous voulions changer. Donc, pour ce faire, nous
devons cliquer sur ou sur le bras à ressort et lui dire d'
utiliser le contrôle de rotation par jeu de mots Donc, si le contrôle
regarde vers le haut ou vers le bas, vous regardez également vers le haut et vers
le bas. Alors utilise-le. Utilisez la rotation de commande
pour votre propre rotation. Maintenant, si vous compilez, enregistrez et exécutez no, vous pouvez voir que je peux
regarder de haut en bas, mais c'est l'inverse. Si tu voulais laisser les choses
en sens inverse, tu peux le faire, mais je
ne veux pas que ça se passe comme ça. Donc, pour résoudre ce problème, je veux aller dans tiroir de
contenu et ouvrir
le I look de haut en bas, et ici, ajouter le modificateur. Ajoutez un modificateur, le type, je veux qu'il soit annulé. Donc, avec le négatif, ça
inversera l'inverse, non ? Alors maintenant, avec celui-ci, si vous écrasez le
gibier, vous pouvez voir, je peux regarder de haut en bas
normalement avec un orignal. Non, nous voulons regarder à
gauche et à droite Pour regarder à gauche et à droite, il
faut changer la
rotation autour de quoi ? Autour de l'axe Z,
cela s'appelle ya. Souviens-toi juste de ce truc. Il est très
important de s'en souvenir. rotation autour de l'axe
Z est appelée ya, et la rotation autour de l'axe
Y est appelée tangage. Rotation autour de l'axe X,
c' est-à-dire vers l'avant : Vctor is row Donc non, c'est un
défi pour toi. Essayez de créer l'action
d'entrée, mappez-la. Donc, avec le plus de X, nous voulons modifier la
rotation autour de l'axe Z. Nous voulons donc changer
de manette afin de pouvoir
regarder à gauche et à droite. ce que tu essaies de faire.
Nous le ferons la prochaine fois.
8. 07 Regarder de gauche à droite: Non, pour regarder à gauche et à droite, comme avant, nous avons
besoin d'une action de saisie. Allez donc dans le tiroir de contenu du dossier
Heal du dossier de saisie, cliquez avec le bouton
droit de la souris ici, accédez à la saisie et créez une action de
saisie. Je veux l'appeler IA. Bas à gauche, à droite. Chien, cliquez dessus pour l'ouvrir. Le type de valeur, nous voulons que ce
soit l'axe 1 d ou le float. Non, nous voulons le cartographier, alors allez dans l'enfer IMC et ajoutez un nouveau mappage Cette fois, nous voulons regarder à gauche et à droite, développer cela. Nous voulons regarder à gauche et à
droite avec la plupart, n'est-ce pas ? Alors c'est tout. Et
maintenant, nous pouvons accéder à BPLli dans Avant graph et cliquer avec
le bouton droit ici, rechercher A L à gauche et à droite Cette fois, nous voulons ajouter entrée Ya
du contrôleur, comme nous l'avons
expliqué dans la dernière vidéo La
rotation autour de l'axe Z s'
appelle Ya pour
regarder à gauche et droite avec une valeur
d'action comprise entre
moins un et un, n'est-ce pas ? Donc, commençons simplement à
compiler, enregistrer et exécuter. Maintenant, tu peux voir, je peux
regarder à gauche et à droite. Ça a l'air génial. Mais un des
problèmes que nous avons ici, vous pouvez le voir par défaut, c'est que notre hélicoptère se déplace. Donc, ce que je veux faire ici, ajouter un frein à main Ainsi, chaque fois que nous touchons un espace, ce mouvement s'arrête
et nos roues s'arrêtent. Voyons ce que nous
pouvons faire ensuite.
9. 08 Frein à main: Voyons maintenant comment
utiliser un frein à main. On peut l'avoir dans n'
importe quel véhicule, non ? L'hélicoptère, c'est comme ça. Passons simplement au tiroir de contenu, et pour cela, je souhaite
créer une action de saisie. Donc, allez à la saisie et ici, créez une action de saisie,
et j'aimerais appeler cela une rupture de main, n'est-ce pas ? Vous n'avez pas du tout besoin de l'
ouvrir. Vous devez simplement le cartographier car nous n'avons
rien à changer à l'intérieur. Alors, allez sur IMC Healy pour
créer une nouvelle cartographie, et nous voulons cartographier le I handbake et quand
voulez-vous que cela se produise, il
suffit de cliquer ici, d'aller dans l'espace
pour y placer une barre d'espace Donc, chaque fois que nous avions un espace, il fallait utiliser Hand Break. Accédez au fichier, sauvegardez tout. Maintenant, passons à BP Hell
et ici, cliquez avec le bouton droit de la souris. Et recherchez I
hand break, non ? Donc non, dans cet événement, nous ne voulons pas
utiliser le déclencheur, nous voulons utiliser le
début et la fin. Lorsque ce démarrage se produit, chaque fois que nous appuyons sur la touche espace, ce démarrage se produit. Et chaque fois que nous
libérerons de l'espace, cette opération complète aura lieu. Avec cela, nous voulons donc
avoir un frein à main. Pour un frein à main, vous devez
obtenir le composant de
mouvement du véhicule, à
l'intérieur duquel se
trouve une main cassée Alors cherchez un frein à main,
insérez ce frein à main dedans autres termes, chaque fois que nous
appuyons sur la barre d'espace, nous voulons activer le
handbake qui consiste à
copier-coller avec le
contrôle C, Et chaque fois que nous
lançons la guerre spatiale, nous voulons relâcher
le frein à main Mais voyons si cela se
passe exactement comme ça. Si vous écrasez le jeu et allez sur O wheels Hetaspace,
rien ne se Pourquoi il ne se passe rien. C'est parce qu'à l'intérieur de notre
roue, la roue avant CVW, par
exemple, nous voulons qu'elle soit affectée par un frein
à Activez donc simplement ce protège-tête. Nous ne voulons pas activer le
frein à main pour la roue arrière, alors ne vous inquiétez pas pour celui-ci Il n'est pas nécessaire de l'activer. Maintenant que c'est fait,
si vous écrasez jeu et que vous touchez l'espace, vous pouvez voir qu'il ne s'est pas arrêté
et qu'il s'arrête à cet endroit. Donc ça a l'air génial. Notre frein à main fonctionne bien. Si vous renversez le jeu à nouveau
et que vous voyez qu'il bouge, si je touche l'espace, il s'arrêtera là. Et nous avons également une suspension
. Plutôt cool.
10. 09 Actions d'entrée pour monter et descendre: Non, nous voulons vraiment déménager. Voyons comment nous pouvons le faire. Pour ce faire,
nous avons d'abord besoin d'une contribution. Donc, en cliquant avec le bouton droit ici, créez une action de saisie, et je veux l'appeler IA, déplacer vers le haut vers le bas, n'est-ce pas ? Ne cliquez pas dessus pour
ouvrir le type de valeur, nous voulons que ce soit Axis one
D. Vous pouvez donc simplement le mettre sur Access one D et fermer.
Nous n'en avons pas besoin. Et maintenant, nous voulons le cartographier
ou l'enfer IMC. Ici, nous voulons choisir de monter et bas en bas et comment nous voulons nous
déplacer de haut en bas. Nous voulons le faire avec le levier de
vitesses à gauche et la commande de levage. Alors cliquez ici, changez la tête, pour qu'elle soit là. Encore une fois, cliquez ici
pour ajouter une autre entrée, cliquez ici après
cette commande de tête. Nous avons donc maintenant le levier de
vitesses et la commande de levage à gauche. Ainsi, chaque fois que nous appuyons
sur la touche gauche de notre clavier, le mouvement de haut en
bas de l'IA nous en donne un. Mais chaque fois que
nous appuyons sur le contrôle de la portance, nous voulons que l'événement IA move up and down nous donne moins un. Alors on descend, non ? Donc ici, par défaut, chaque fois que nous avons laissé le contrôle, cela nous en donnera un également. Mais nous voulons l'annuler
avec un modificateur, pour qu'il nous donne moins un Alors cliquez ici,
annulez-le, sachez ce qui va se passer. Chaque fois que nous avions quitté le quart de travail,
cela nous en donnait un. Chaque fois que nous avions quitté le contrôle, cela nous donnait moins un. Juste sur ce, passons
au BPL. Je veux avoir un peu d'espace. À droite, cliquez ici,
recherchez IA, déplacez-vous et descendez. Avec cela,
ce que je veux faire, régler l'entrée du trotle
qui se trouve à l'intérieur ou le composant de
mouvement du véhicule, n'est-ce pas Non,
connectons-nous comme ça. Faisons juste une compilation pour voir si quelque chose
s'est passé ou non. Attendons d'abord, dirigez-vous vers la gauche. Vous pouvez voir qu'
il ne se passe rien. Si je commande la tête ou que je change de vitesse,
rien ne se passe. Pour que vous le voyiez mieux, je souhaite utiliser une chaîne d'impression pour afficher la
valeur de l'action comme ceci. Et si tu cours, non,
nous voulons monter. Maintenez donc la touche gauche. Vous pouvez voir que cela nous en donnera un, mais il n'augmentera pas. Si j'avais laissé le contrôle, cela nous donnerait moins un, mais rien ne se passe, non ? Donc, pour résoudre
ce problème, nous devons passer au composant de
mouvement du véhicule et configurer le moteur. Je souhaite créer une autre vidéo juste pour la configurer dans le moteur. Ainsi, quand vous le souhaitez, vous pouvez revenir à cette
vidéo et la regarder à nouveau.
11. Configuration du moteur 10: Non, voyons comment
configurer notre moteur pour qu'il puisse
monter et descendre. Pour ce faire, cliquez sur le composant de mouvement du
véhicule. Descendez ici jusqu'à ce que vous
atteigniez la configuration du trusser. En bas, et vous pouvez voir la configuration de la
poutre, n'est-ce pas ? Alors cliquez ici pour ajouter le
propulseur, il nous en faut un seul. Tout d'abord, le type à treillis, car le moteur ne bouge
pas du tout, avons
donc réparé Non pour le nom de l'os. Passons simplement à un
squelette ou à un hélicoptère. L'os que je veux utiliser, allons-y, est une articulation dentée qui se trouve au milieu
de notre hélicoptère, dans laquelle se trouvent tous les
os C'est pourquoi je
veux cliquer dessus avec le bouton droit de la souris, copier les noms des os et les mettre pour le nom de l'os supérieur. Alors, qu'est-ce que cela signifie ? Cela signifie que chaque fois que nous changeons de tête, cette entrée trotale ajoute force à cet os dans la direction que
nous voulons, Nous sommes donc simplement en train de dire à quoi cette force doit
être ajoutée, n'est-ce pas ? L'axe de confiance vers
lequel il doit aller, je veux le mettre sur un axe Z. C'est X Y Z. Le X et le Y, nous
voulons que ce soit zéro, mais le Z, nous voulons que ce soit un Donc, chaque fois que nous changeons de tête, l'accélérateur augmente, et nous voulons l'
augmenter vers
le Z positif, donc
nous montons, n'est-ce pas ? Alors redescendons. Ensuite, je veux changer la force de confiance
maximale à 25 000. Bien sûr, vous pouvez modifier cette valeur quand vous le
souhaitez, jouez avec, non ? Juste avec ça, si vous
aviez compilé et exécuté, maintenez la touche Shift enfoncée, non, vous pouvez voir, cela va de pair avec ça. Si nous gardons le contrôle,
il devrait chuter. Tu peux voir. Non, il est
en train de baisser. Et c'est tout. Nous sommes au sol
et nous pouvons atteindre l'espace pour nous arrêter. Tu peux voir. C'est vraiment cool. Mais ce n'est pas ce que nous voulons. Je souhaite également ajouter le contrôle du
couple. Activez donc le contrôle du couple, et je souhaite changer
l'échelle de couple de tangage en une seule et l'échelle de
couple en une seule. Ainsi, chaque fois que nous
voulons rouler, nous pouvons rouler. Et après cela, l'amortissement de la
rotation, parce que je ne veux pas
qu'il tourne beaucoup, j'en mettrai un également Ensuite, pour la stabilisation de
notre hélicoptère, je veux activer le contrôle
établi, et je veux augmenter le maintien d'
altitude Z à Et ces positions
et les raisons pour lesquelles je veux les
réduire à une. Cela nous aidera à sous-dimensionner notre hélicoptère afin qu'il
ne se déplace pas librement Bien entendu, nous devons
jouer avec toutes ces valeurs jusqu'à ce que nous obtenions
le résultat que vous souhaitez. Peut-être que tu veux le jeu d'arcade. Vous devez modifier cette valeur. Peut-être que tu veux un jeu
de simulation. Encore une fois, vous devez beaucoup modifier ces valeurs,
et c'est tout. Ou la configuration du moteur est bonne. Maintenant, testons
cela une fois de plus. Si vous maintenez la touche Maj enfoncée,
vous pouvez voir à quel point c'est
beau, mais non, il est plus stabilisé. Si vous descendez,
vous verrez que c'est plus établi et qu'à l'heure actuelle, nous ne pouvons pas aller à gauche et à droite Mais nous avons ajouté quelques éléments
ici pour changer le ton, pour avancer, pour revenir en arrière et changer la ligne pour aller à
droite et à gauche.
12. 11 Modifiez l'os du rotor: Nous montons et descendons,
mais le problème, c'est que ça
n'a pas l'air bien. Les lames ne tournent pas. Le rotor ne
tourne pas, n'est-ce pas ? Tout d'abord, laissez-moi vous montrer
ce qu'est la lame. Si nous allons ici, vous pouvez le voir, nous l'appelons lame ou rotor. Ainsi, chaque fois que le moteur
démarre et qu'ils montent, ces rotors, ces lames
devraient tourner Et pour ce faire, nous devons passer
à Animation Blueprint. Dans Animation Blueprint,
permettez-moi de faire de la place. Le nœud que vous souhaitez
utiliser s'appelle modify Bone. Recherchez donc Modify Bone. Et là, l'os
que nous voulons changer. Comment pouvons-nous le trouver ? Si vous allez dans un squelette, et que vous y recherchez un rotor. Vous pouvez voir qu'il y en a beaucoup
: rotor, joint principal. Et si vous le faites pivoter
autour de l'axe Z, vous pouvez voir que c'est ce que nous
voulons faire pivoter. Tu peux voir. C'est cool. Maintenant, nous remarquons l'articulation principale du rotor osseux.
Utilisons-le donc. Dans cette note, nous devons
choisir ce rotor osseux, ce
rotor, cette articulation principale, n'est-ce pas ? Nous n'avons pas besoin de modifier
la traduction, nous pouvons
donc accéder au panneau de détails et lui dire de ne pas l'
exposer sous forme d'épingle. Nous n'avons pas besoin de
modifier l'échelle, donc ne l'exposez pas sous forme d'épingle, mais nous voulons
modifier la rotation. Et le mode de rotation, nous voulions l'ajouter à l'existence parce que s'il possède une
rotation d'avant, il devrait s'y ajouter, non ? L'espace de rotation, je veux que
ce soit un espace supplémentaire, pour qu'il tourne
correctement, n'est-ce pas ? Parce que là où
un hélicoptère
peut rouler, il peut changer le ton et
faire plein de choses. Donc, si vous le placez dans un espace bonus, il tournera en fonction
de son parent, n'est-ce pas ? Non à propos de la rotation. Cliquez dessus avec le bouton droit de la souris,
fendez l'épingle. Nous devons modifier la
rotation autour de l'axe Z. Par exemple, si je mets 45 ici et que je compile
en tête, vous pouvez voir que c'est 45, non, n'est-ce pas ? Je ne veux pas le faire comme
ça, comme je veux. Je veux le
transformer en variable. Et je veux appeler cette valeur
du rotor, non ? Il s'agit de la
valeur du rotor. Compiler en chef. Non, changeons simplement la valeur
du rotor dans n'importe quel éditeur d'aperçu ici afin
que vous puissiez voir qu'il
tourne correctement. C'est vraiment
beau, non ? Mais comment nous voulons le faire, nous voulons le faire
dans le cadre de notre plan directeur Et dès le départ, nous voulons d'
abord démarrer lentement parce que le moteur
démarre lentement, non ? Au bout d'une seconde, il devrait atteindre
sa vitesse maximale, non ? Au départ, nous voulions effectuer une rotation lente et
fluide, et au bout d'une seconde, nous voulions
atteindre la vitesse maximale. Et pour cela, nous
devons utiliser cette valeur. Mais pour calculer cette
valeur telle qu'elle devrait être, je souhaite utiliser W
blueprint ou BP hell Et voyons comment
nous pouvons le faire ensuite
13. 12 Rotation du rotor: Non, nous avons un très bon intérieur ou un
plan d'animation qui, avec cela, nous pouvons le faire pivoter sur une lame Mais voyons comment
nous pouvons le faire pivoter dans un
hélicoptère Blueprint Blueprint, non ? Donc, pour ce faire, je
veux utiliser eventiqu, mais je ne veux pas gâcher
cet eventiqu C'est pourquoi je souhaite
créer un événement personnalisé. Donc, ici, je vais
rechercher un événement personnalisé, et je veux
l'appeler Engine Manager. Hein ? Nous allons faire beaucoup de choses, mais j'appellerai cela un gestionnaire de
moteurs. Et je souhaite appeler cet événement personnalisé dans notre chemin
EventQueecution Donc, quel que soit le lien
que nous associons à cet événement personnalisé ici, c'est comme le connecter à eventiqu,
n' Alors maintenant, ici, nous voulons avoir une variable. Donc, avec ça, on fait pivoter
les lames, à droite. La variable que
je veux créer, je veux l'appeler vitesse
du rotor, d'accord ? Et cette vitesse du rotor, je veux l'augmenter
à chaque fois. Ce n'est donc pas la
fin. Je le modifierai plus tard. Mais pour l'instant,
regardons-le. Par exemple, chaque fois que je veux y ajouter cinq, c'est
vrai, chaque image. Et avec cette valeur, nous voulons définir l'otoraped
avec elle, correctement, comme Et sachez que nous avons cette vitesse
du rotor, que va-t-il se passer ? chaque image, la vitesse du rotor sera augmentée de
cinq unités, n'est-ce pas ? Une fois cela fait, passons simplement à notre
plan d'animation dans Event Graph Et ici, la première chose
que nous voulons faire, créer un point de départ pour
l'événement. Donc, avec lui, nous obtenons le BPL afin que nous puissions accéder
aux variables qu'il contient Nous avons donc besoin que l'événement
commence à se dérouler ici, et nous voulons
choisir l'acteur propriétaire de ce plan
d'animation Deux BP Healy, non ? Ensuite, nous voulons
promouvoir ces deux variables, et je veux les appeler BP Healy. C'est amplement suffisant. Maintenant, lors de l'
événement de mise à jour ici, nous voulons obtenir notre BP Healy. Nous voulons vérifier s'il est valide. La recherche de est donc valide. Si c'est valide, nous voulons obtenir la vitesse du rotor, le
rotor, la vitesse et le définir
comme valeur du rotor, n'est-ce pas ? Réglez-le avec la
vitesse du rotor, non ? C'est ça. Non, la valeur de vitesse du rotor à chaque châssis sera enregistrée
dans la valeur du rotor. Et parce que nous relions
la valeur du rotor à cet os modifié, il devrait tourner, n'est-ce pas ? Maintenant, si vous renversez le jeu, vous pouvez le voir
tourner en permanence, n'est-ce pas ? Ce n'est pas bon. Nous voulons savoir si le moteur est allumé ou non, s'il est démarré ou non, s'il est arrêté ou non. Si, pour la première fois, nous
changeons la tête ou contrôlons
notre clavier, nous voulons le
faire pivoter lentement, n'est-ce pas ? Et au bout d'une seconde, nous voulons qu'il atteigne
sa vitesse maximale. Cette façon de procéder
n'est donc pas suffisante. C'est pourquoi nous devons également savoir
quand le moteur a démarré et
quand le moteur est
arrêté. Voyons donc comment nous pouvons
faire cette prochaine vidéo.
14. 13 Gestionnaire de moteur: Non, nous faisons tourner les lames, mais le problème, c'est qu'elles tournent
toujours, n'est-ce pas ? Voyons comment nous pouvons y remédier. Vous pouvez le voir ici,
il est toujours en rotation. Peu importe que
vous soyez au sol, que
vous montiez ou
que vous descendiez. Rien ne change, non ? La vitesse ne change pas. Pour résoudre ce problème, nous devons connaître l'état du
moteur s'il démarré avant, s'il est juste en train de démarrer ou
s'il est arrêté. Et pour ce faire, je
veux créer une variable. Donc, la première variable que
nous voulons créer s'
appelle le démarrage du moteur, n'est-ce pas ? Et la variable suivante
que nous voulons créer s'
appelle le moteur démarré, n'est-ce pas ? Et la prochaine variable
que nous voulons créer est l'arrêt du moteur, n'est-ce pas ? Sachez qu'avec ces variables, ce que je veux faire ici, chaque fois que nous utilisons le levier de vitesses, la commande
ou le clavier, nous voulons vérifier si le moteur a démarré
comme avant ou non. Alors lancez le moteur
, et ici, je veux utiliser une
branche comme celle-ci, connecter l'exécution à celle-ci Si le moteur
a démarré auparavant, faites
tout normalement. Réglez simplement l'entrée de l'accélérateur avec la valeur d'action
comme avant, n'est-ce pas ? Mais si le moteur n'
a pas démarré, non, nous voulons le démarrer, non ? Donc, pour démarrer
le moteur,
nous devons d'abord régler le démarrage
du moteur ici, régler le démarrage du moteur. Si le moteur n'a pas
démarré et que vous réglez l'
arrêt du moteur sur False
parce que nous l'avons démarré, arrêt du moteur
doit
donc être faux. Et après un certain
délai, par exemple 1 seconde, nous voulons
dire que le moteur est démarré. Donc, après 1 seconde, nous voulons dire que le moteur
démarré est vrai, n'est-ce pas ? Vrai C'est ça.
Connectons-le comme ça. Après cela, vous pouvez changer
la manette des gaz, non ? C'est tout ce que nous devons faire.
Commençons simplement par compiler, enregistrer. Rien ne s'est passé parce que nous ne faisons que modifier certaines variables. Mais non, avec ces variables, je veux vérifier sur ce
gestionnaire de moteur connecté à Eventiq si ce moteur
démarre, devient vrai Nous pouvons vérifier cela auprès de la succursale. Si c'est vrai,
dans ce cas, vous pouvez
faire pivoter les lames, non ? Commençons simplement par compiler, sauvegarder et exécuter le jeu. Vous pouvez voir que par défaut, il ne tourne pas, mais
si nous avions changé de vitesse, non, vous pouvez voir que les lames tournent, et ça a l'air génial, non ? Non, la lame a
une vitesse constante. Nous ne voulons pas qu'
il en soit ainsi. Nous voulons
modifier lentement la vitesse. Faisons-le dans la vidéo suivante.
15. 14 Vitesse différente du rotor: Nos lames tournaient chaque fois que nous actionnions le levier de vitesses ou les
commandes sur notre clavier, n'est-ce pas ? Il ne
tournera pas tout seul, n'est-ce pas ? C'est un pas dans
la bonne direction. Mais lorsque nous changeons de vitesse, nous voulons modifier lentement
cette vitesse du rotor, et au bout d'une seconde, nous voulons atteindre la vitesse
maximale, n'est-ce pas ? Donc, pour ce faire, ici, nous voulons changer ces cinq points. Donc, au début,
la vitesse de rotation, chaque image augmentera de cinq
par image, n'est-ce pas ? Nous voulons pouvoir modifier
ces cinq valeurs d'une certaine valeur. La première façon de le faire, c'est de vérifier que ce moteur
a démarré, non ? Donc, ici, nous pouvons
vérifier auprès de la succursale. Bien entendu, ce
n'est pas ainsi que je veux le faire au final. Alors ne le faites pas. Regardez, non ? Donc, si le moteur a démarré, nous voulons augmenter cette
valeur à 25, par exemple. Mais si le moteur n'
a pas démarré, ces chutes se produiront, et je veux
contrôler C control V pour tout coller ici. En cas de chute, nous voulons qu'il soit multiplié par cinq. Voyons maintenant ce qui va se passer. Compilez, sauvegardez et exécutez le jeu. Et en sachant que
si je maintenais la boîte de vitesses enfoncée, vous pouvez voir au début que la vitesse baisse, et que tout d'un coup, lorsque le moteur démarre au
bout d'une seconde, elle
passe à 25 par image. Chaque cadre 25 sera
ajouté à la rotation. Tu peux voir à quoi ça ressemble. Encore une fois, regardons-le. Au début, la
vitesse est moindre, on peut le voir. Et au bout d'une seconde,
il sera augmenté. Et c'est avec ce
délai que nous avons entre le démarrage
et le démarrage du moteur, n'est-ce pas ? Démarrage et démarrage
du moteur, non ? Mais je ne veux pas le
faire avec la succursale. Ça n'a pas l'air bien, non ? Donc, ce que je veux faire, je veux le faire
avec un interprète. Cette note
interprétera facilement cette valeur de zéro
à 25, par exemple. Mais pour ce faire, je veux
créer une autre vidéo
juste pour cela. Voyons donc comment nous
pouvons le faire dans la prochaine vidéo
16. 15 Finterp au: Non, tu sais ce que nous voulons faire. Nous voulons modifier
la vitesse de rotation fonction du fait que le moteur vient de
démarrer ou qu'il a été démarré. Sachez ce que nous voulons faire. Nous voulons modifier en douceur
la vitesse de rotation, la vitesse rotation lorsque le
moteur démarre, n'est-ce pas ? Donc, pour ce faire, nous
devons changer les 25 que nous avons ici, que nous ajoutons
à
chaque image à la vitesse de rotation en douceur, à 25. Donc, au début, lorsque le moteur
démarre, il devrait être nul. Et au bout d'une seconde, nous voulons facilement
le changer en 25, n'est-ce pas ? Pour ce faire, nous
avons besoin d'une variable. Ici, je veux
cliquer avec le bouton droit sur le statut de variable, et je veux l'appeler taux de vitesse
du rotor. OK ? Donc, ici, nous pouvons simplement mettre
la valeur que nous voulons. Mais ce que nous voulons que cela se produise, faire passer en douceur ce taux de vitesse du rotor à la vitesse
maximale supérieure à 25. Donc, par défaut, nous
voulons qu'il soit égal à zéro. Non, une fois cela fait, si nous appuyons sur Run in, vous pouvez voir si je maintiens la touche
Shift enfoncée, rien ne changera. Je peux voir que rien ne change car cette
vitesse du rotor est nulle, et cela ajoutera zéro à la vitesse de
rotation à chaque
image. Rien ne s'est passé. Alors, qu'est-ce que tu veux
faire ? Nous voulons faire passer ce taux de vitesse du rotor à 25 lorsque le moteur démarre en douceur. Et nous pouvons le faire avec le nœud
appelé interp two Et comme nous voulons
modifier une valeur flottante de 0 à 25, nous devons utiliser l'interpréteur F qui se trouve ici, l'interpréteur
F. Ce nœud a besoin d'une valeur actuelle. La valeur actuelle
que vous souhaitez modifier est zéro,
elle est nulle par défaut et il s'agit de
notre vitesse de rotation. Nous voulons changer ce taux de vitesse de
rotation à une valeur cible de 25. Et ce nœud a besoin d'un temps delta. Nous pouvons utiliser le mot Delta en second pour cela, et ensuite, le mot interpeed Pour la vitesse d'interposition, je veux la mettre sur 0,5, mais nous devons jouer
avec cette valeur Donc, ce que ce nœud nous
donnera sur chaque image, cet interpréteur F vérifiera
la valeur du taux de vitesse du rotor
et la modifiera lentement vers la valeur cible fonction de cette
vitesse d'interposition, n'est-ce pas ? Et à chaque cadre, nous devons
conserver cette valeur que ce gazon effin nous donne
également le taux de vitesse intérieur du rotor, comme ça, n'est-ce pas ? Connectez donc la
broche d'exécution à celle-ci comme ceci et connectez cette
valeur de retour au taux de vitesse du rotor. Maintenant, voyons
ce qui va se passer. Si vous renversez le jeu, vous pouvez voir
qu'il est éteint par défaut. Si vous maintenez la touche Shift enfoncée, vous pouvez voir que la vitesse
du rotor augmentera
lentement jusqu'à ce qu'elle
atteigne la vitesse maximale. Non, tu vois comme c'est
beau. Encore une fois, regardons les choses par défaut, rien ne se passe. Si vous maintenez la touche Maj , vous
voyez,
la vitesse de rotation changera lentement jusqu'à ce qu'elle atteigne 25 par
image, et c'est tout. C'est ainsi que nous pouvons modifier lentement et en douceur la
vitesse de rotation à une valeur maximale.
17. 16 Survol: Il n'y a rien d'autre
que nous voulons ajouter à notre hélicoptère, c'est la capacité
de planer, n'est-ce pas ? Chaque fois que nous relâchons les changements de vitesse, lorsque nous
montons, nous voulons survoler cette hauteur Et chaque fois que nous
maintenons le contrôle , que nous descendons et
relâchons le contrôle, nous voulons planer à cette hauteur Voyons donc comment nous pouvons ajouter des heures de capacité à notre hélicoptère. Pour ce faire, chaque fois que nous relâchons les touches Shift ou Control
de notre clavier, nous devons enregistrer la hauteur dans
laquelle nous nous trouvions, n'est-ce pas ? Donc pour ce faire, je peux
juste trouver l'emplacement de l'acteur. Et avec cela sur une épingle d'astéroïde
fendue, cette valeur Z correspond à la hauteur
de notre hélicoptère, n'est-ce pas ? Donc, si nous l'enregistrons, lorsque nous relâchons le
contrôle Shift sur notre mot clé, cela se produira,
cela permettra d'économiser la hauteur
à ce moment-là, n'est-ce pas ? Nous pouvons donc les transformer en
une variable, le Z de celle-ci, et je peux l'appeler hauteur
pour rester active, n'est-ce pas ? Et si nous l'enregistrons lorsque nous relâchons la touche Shift ou Control
de notre clavier, cela enregistrera cette hauteur
dans notre variable, n'est-ce pas ? Maintenant, avec cela, nous savons qu' il y a une hauteur que
nous devons maintenir, que nous devons survoler
sur cette hauteur, n'est-ce pas ? Alors maintenant, voyons comment
nous pouvons passer la souris à cet endroit. Pour Hering, je souhaite
modifier cette
entrée d'accélérateur de haut en bas afin que nous
restions à cette Et comment nous pouvons le faire, je veux le faire ici. Dans cet événement
de gestionnaire de moteur connecté à Eventiq À la fin,
je veux d'abord vérifier auprès d'une branche s'il
y a une entrée ou non. Donc, ici, je peux faire
monter et descendre le I. Donc, avec cela, je vais obtenir
la valeur d'action ici, la valeur d'action que cet IA
se déplace vers le haut et ne nous donne pas. S'il est égal à zéro, s'il est égal à zéro, cela signifie qu'il n'y a aucune entrée. Donc, s'il n'y a pas d'entrée, nous pouvons conserver
cette hauteur et l'enregistrer dans
cette variable, n'est-ce pas ? Donc, non, dans le cas où c'est vrai, nous voulons modifier l'entrée de l'accélérateur pour
qu'elle augmente ou descende, afin de maintenir cette hauteur Set de contrôle, copiez-le
et collez-le ici. Mais quelle valeur
voulons-nous y attribuer ? Si on en met un ici, il va monter et si on met moins un sur la
manette des gaz, il va descendre. Comment pouvons-nous gérer cela, comment pouvons-nous changer cet accélérateur pour qu'il reste à la
hauteur que nous voulons Pour ce faire, nous voulons
vérifier la hauteur actuelle de notre hélicoptère et la
hauteur à laquelle il doit rester. Donc, pour obtenir la
hauteur actuelle de notre hélicoptère, nous pouvons obtenir à
nouveau la position de l'acteur, obtenir la position de l'acteur. Et avec ça, si on fonce
dessus pour fendre une épingle ce Z sera la hauteur
actuelle de notre hélicoptère, n'est-ce pas ? Je veux le soustraire
avec la hauteur pour rester comme ça pour voir
quelle est la différence Si la hauteur actuelle est supérieure
à la hauteur sur
laquelle nous devons rester, nous devons baisser
la manette des gaz pour
que l' hélicoptère
tombe en panne, n'est-ce pas ? Mais si l'hélicoptère
est en bas et hauteur à monter est ici, cela signifie que nous devons
augmenter la manette des gaz, afin que l'hélicoptère
monte à cette hauteur
pour rester sur place, n'est-ce pas ? Maintenant, avec cette soustraction, nous avons une différence
entre la hauteur Avec cette valeur, je
souhaite utiliser un nœud appelé map
range clamped, n'est-ce pas ? Nous vérifions donc la différence
entre la hauteur que nous avons actuellement la hauteur qui devrait rester. S'il est compris entre zéro et -15, nous voulons changer l'accélérateur
avec une valeur comprise entre 0 C'est ça. J'ai besoin d'une
épingle d'exécution. Donnons-lui simplement ça. Permettez-moi de l'expliquer encore une fois. Supposons que notre hélicoptère soit
là-haut et que la hauteur pour y
rester se trouve ici. La hauteur de notre hélicoptère diminuée de la hauteur sur laquelle
nous devons rester, cela nous donnera une valeur
positive. Par exemple, dix, par exemple. Ici, dix ne se situent pas
entre A et B. Il ne sera pas entre les deux, il le fixera
donc à zéro
car il est plus proche de zéro. À la sortie, cela
nous donnera l'accélérateur de zéro. Dans ce cas, la gravité fera descendre l'hélicoptère à cette
hauteur pour qu'il reste sur place. Mais dans d'autres cas, si la hauteur de notre
hélicoptère était
inférieure à la hauteur sur laquelle nous devrions
rester, que se passera-t-il ? hauteur de
l'hélicoptère moins la hauteur sur laquelle nous
devons rester, cela nous donnera une valeur
négative. Par exemple, moins dix. Donc, moins dix est une valeur comprise entre cette valeur dans la plage
A et B, n'est-ce pas ? Cette plage de mesure de la carte nous
donnera donc une valeur de 0 à 0 0,7. Par exemple, 0,5 et
0,5 pour l'accélérateur, cela signifie que l'hélicoptère
remontera lentement jusqu'à ce qu'il atteigne la
hauteur nécessaire pour rester allumé, n'est-ce pas ? Mais supposons que la hauteur
à laquelle nous pouvons rester en position par rapport à la hauteur actuelle
de notre hélicoptère soit la même. Que va-t-il se passer ? La hauteur au-dessus de l'hélicoptère
diminuée de la hauteur à laquelle il faut rester à bord nous
donnera zéro. Donc, si l'autonomie était nulle, cela nous donnera zéro, et il n'y aura pas d'accélérateur Juste avec ça,
compilons et sauvegardons un jeu d'exécution. Si nous montons, si nous
remontons comme ça et que nous
relâchons la touche Shift, vous pouvez la voir monter
légèrement, et après cela, elle
restera en place, vous pouvez voir. À l'heure actuelle,
la hauteur d'un
hélicoptère ne change pas du
tout. Il va planer. Il revient en arrière à cause de la rotation de notre
hélicoptère, car pour le moment, nous ne pouvons pas changer le pas, nous pouvons
donc avancer
et reculer. Mais vous pouvez voir que
sa hauteur ne change pas. Encore une fois, si nous remontons et
relâchons la touche Shift, encore une fois, elle
conservera cette hauteur. Et si nous redescendons, encore une fois, il maintiendra cette hauteur. C'est vraiment cool. Non, avec cela, nous avons la fonctionnalité de
survoler un hélicoptère
18. 17 Vérifiez la hauteur avec le tracé de ligne: Non, je souhaite ajouter d'autres
effets à l'hélicoptère. Par exemple,
lorsque le moteur démarre, nous voulons qu'il y ait de la poussière en
dessous de l'hélicoptère. Voyons comment nous pouvons le faire. Pour ce faire, je veux parler d'un effet Niagara, d'
accord, d'un système de particules Niagara. Je veux l'appeler
Dust Fix, non ? Et avec cela, le
système Nagar que je veux y installer s'appelle NS hell ground dust.
Mettons-le simplement là. Accédez à notre fenêtre d'affichage,
et ici, en ce moment, vous pouvez voir que rien ne se
passe parce qu'il
y a un prompteur utilisateur appelé vitesse appropriée,
qui, si nous l'augmentons,
vous pouvez voir qu' il y
aura de la poussière Si nous écrasons un jeu
avec cette valeur, vous pouvez voir qu'il
y a de la poussière là-dedans. Ainsi, en fonction de
la distance par rapport au sol
et de la vitesse du rotor, nous pouvons décider de la vitesse
appropriée. Par exemple, si nous
voulons que ce soit 100 ou 500 ou quoi que ce soit d'autre, accord, combien
nous voulons que ce soit. Par défaut, nous voulons qu'il
soit égal à zéro car par défaut, le moteur ne démarre pas. Voyons donc comment nous pouvons le faire. Pour ce faire,
nous devons tout d'abord connaître la
distance entre notre hélicoptère
et le sol. Hein ? Donc, pour ce faire, je veux faire
chaque image. Je ne veux donc pas
gâcher à nouveau cet événement. C'est pourquoi je vais créer
un autre événement personnalisé, et je veux l'appeler celui-ci. Créons simplement un événement personnalisé. Je veux l'appeler
Dust Manager, non ? Ensuite,
connectons-nous simplement à l'eventiqu et je voudrais l'appeler Dust
Manager, non ? C'est ça. Allons-y simplement. Voyons d'abord comment mesurer la distance entre notre
hélicoptère et le sol. Pour ce faire, je
souhaite utiliser une note appelée trace de ligne
par canal, n'est-ce pas ? Ce tracé linéaire par canal nécessite un emplacement de départ
et un emplacement d'arrivée. S'il touche quelque chose, il y aura un tyran
qui, à la fin, nous dira
que vous avez touché quelque chose,
n'est-ce Donc, pour le point de départ, je voulais commencer au
milieu de notre hélicoptère. Alors voyons voir. Comment trouver le milieu de
notre hélicoptère. L'emplacement 00 de l'hélicoptère
se trouve au bas de celui-ci. Ce n'est pas ce que je veux. Ce que je veux, c'est le milieu
de notre hélicoptère. Et si vous vous souvenez, nous avons placé le bras à ressort au milieu de notre
hélicoptère. C'est une bonne chose. Maintenant, pour l'emplacement de départ, utilisons simplement cet emplacement
du bras à ressort. Donc pour ce faire, nous
pouvons obtenir un bras à ressort et en extraire le mot «
emplacement », n'est-ce pas ? C'est le point de départ. Et à partir de ce point de départ, nous voulons vérifier si nous traçons une ligne à partir du milieu
de notre hélicoptère vers le bas. Si nous touchons le sol, quelle est la distance entre l'hélicoptère et
le sol, n'est-ce pas ? Donc, pour l'emplacement final, je veux le réduire d'une
grande valeur dans la direction Z. Cela devrait être juste
dans la direction Z, donc nous vérifions la direction du bas
vers le bas, non ? Je vais donc y mettre 50 000, par
exemple, une valeur vraiment importante
pour l'emplacement final. Pour que vous le voyiez mieux, je voudrais passer à la
ligne Debug type et lui dire de l'afficher
pour une seule image Voyons maintenant ce qui
se passera si nous compilons et exécutons. Maintenant, vous pouvez voir qu'il y a
une ligne au départ,
au milieu de laquelle l'
hélicoptère atteint le sol. Si nous montons parce qu'il y a
un carré au bout, vous pouvez voir qu'il
touche le sol. Si nous montons, si nous montons suffisamment, vous verrez que cette
place disparaîtra
parce que nous atteignons de plus en
plus de distance, n'est-ce pas ? La dernière distance
sera de 50 000. Bien sûr, cela prend
trop de temps pour y parvenir. Mais non, sur
la base du résultat que nous donne ce
tracé linéaire, nous voulons décider quelle doit être
la vitesse appropriée des effets visuels sur la
poussière Et si nous glissons et descendons à cause de cette chaleur extérieure et que nous
cassons le résultat, cela nous donnera
la distance entre le point de départ
au centre de notre hélicoptère et l'endroit où
il a touché le sol. Cela nous donnera cette distance. Voyons comment nous pouvons utiliser cette distance pour
modifier le bon
19. 18 Emplacement des effets visuels de Dust: Non, sur la base de cette
distance et de la vitesse du rotor, nous voulions modifier
la
vitesse appropriée poussière ne que la poussière ne soit pas
visible sous notre hélicoptère. Mais le premier problème
que nous avons ici est l'emplacement de notre Nagraphc Pour le voir, il suffit de
cliquer sur Dust Vafix et cette vitesse appropriée à
250 afin que vous puissiez mieux le voir,
n'est-ce pas ? Si vous écrasez le gibier, vous pouvez voir si je monte, vous pouvez voir que l'affixe se trouve à nouveau au bas
de notre hélicoptère Donc, la première
chose à faire, c'est de toujours le poser sur
le terrain. Et comment y parvenir,
nous pouvons le faire avec
ce point d'impact où ces tracés linéaires touchent
le sol, n'est-ce pas ? Nous devons donc utiliser une
succursale ici pour vérifier. S'il touche quelque chose, mettez-y l'effet nagar, non
? Mettons donc l'
affixe à poussière ici, nous voulons définir l'
emplacement du mot dessus, n'est-ce pas ? Et l'endroit que nous voulons utiliser est
celui où il a touché le sol. C'est ça.
Compilons, sauvegardons. En ce moment, vous pouvez voir qu'il
y a de la poussière là-dedans. Si vous le survolez, vous pouvez voir
qu'il est toujours au sol. C'est ce que nous
voulons que cela se produise. La poussière doit toujours
être sur le sol. Cela fonctionne donc bien. Ce problème est résolu. Maintenant, nous voulons vérifier d'
autres choses. Nous voulons modifier la vitesse
appropriée en fonction vitesse
du rotor et de la
distance par rapport au sol. Voyons comment nous
pouvons le faire ensuite.
20. 19 Vitesse de la poussière: Sachez, en fonction de la distance par rapport
au sol qu'a l'enfer. Et en ce qui concerne la vitesse de rotation, nous voulons déterminer
quelle est la vitesse appropriée, quelle quantité de poussière ou de poussière un hélicoptère
devrait créer, n'est-ce pas ? Pour ce faire,
nous devons définir un paramètre ou un Vax de poussière appelé vitesse appropriée Tout d'abord,
voyons comment
définir ce paramètre dans Blueprint Faites de la place. Je veux le faire au début de
ce gestionnaire de poussière. Lorsque vous arrivez à dépoussiérer un VFX et que vous
définissez un paramètre de flottement dessus. Le promètre à flotteur fixe, c'est le système de
particules Child-Up, non ? Juste sur ce, permettez-moi d'
y connecter l'épingle d'exécution ici également. Maintenant, ce VFX sur la poussière
contient un paramètre appelé vitesse d'hélice, n'
est-ce pas Cela étant dit, en fonction de
la vitesse du rotor, non de la vitesse de rotation, car vitesse
du rotor augmente
pour atteindre une valeur vraiment importante, ce qui fait tourner la lame. Mais le taux de vitesse du rotor est une valeur de 0 à 25 La
valeur maximale est 25, non ? Donc, en fonction de la vitesse du rotor, multipliée par le
facteur distance au sol de notre hélicoptère, nous voulons définir la vitesse
appropriée, n'est-ce pas ? Donc, pour ce qui est de la distance par rapport au sol, nous ne pouvons pas simplement relier la distance à ici
parce que vous voyez, nous avons une distance sur ce
résultat, n'est-ce pas ? Mais nous ne pouvons pas utiliser cette distance. J'espère que nous voulons l'utiliser. Je veux créer une variable, et je veux l'appeler hauteur. Factor, non ? Facteur de hauteur. Donc, avec le facteur de hauteur, multiplié par un taux de vitesse de rotation, nous voulons décider
de la vitesse appropriée. Laissez-moi clarifier les choses, non ? Donc, si le taux de
rotation est nul, cela signifie que la lame ne
tourne pas du tout, n'est-ce pas ? Il ne devrait donc pas y
avoir de poussière, non ? Donc, la multiplication par zéro par facteur de
hauteur n'a pas d'importance
quel est le facteur de hauteur. Cela nous donnera zéro
pour une vitesse correcte, et il n'y aura pas de poussière. Mais disons que la vitesse de
rotation est de 25. Après 1 seconde, le moteur a démarré et le taux de
rotation est de 25. 25 sera multiplié
par le facteur de taille, mais qu'est-ce que le facteur de hauteur ? Nous voulons que le
facteur de hauteur soit le suivant. Si l'hélicoptère est
sous terre, le facteur de hauteur, nous voulons qu'il soit à
une valeur maximale, sorte qu'il créera beaucoup de poussière car il est
proche du sol. Mais si l'hélicoptère est
vraiment haut dans le ciel. Nous voulons que ce facteur de hauteur soit nul car il
est très élevé, il ne devrait pas créer de poussière,
n'est-ce pas ? Ce facteur de hauteur
sera donc inversé par rapport à la distance. Si la distance augmente, le facteur de hauteur diminue. Mais si la distance par rapport au sol diminue, nous voulons augmenter
le facteur
de hauteur et
comment nous pouvons le faire. On peut le faire avec
cette distance, non ? Mais avant cela, si cette trace linéaire
ne touche rien, cette chute se produira. Cela signifie que nous sommes vraiment défoncés. Nous devons donc fixer ce facteur de
hauteur à zéro. C'est ça. C'est vraiment
important, non ? Ensuite, nous voulons
vérifier la distance, et je veux utiliser un capteur de portée
cartographique. Je veux dire que si la
distance était de 0 à 3 000, donnez-nous une valeur de 100 Alors, qu'est-ce que cela signifie ? Cela signifie que si la distance
au sol était nulle, cela signifie que nous sommes
au sol, non ? Alors donne-nous 100, non ? Mais si la distance
au sol était de 1 500, par
exemple, cela nous donnera 50 sur cette valeur de retour, n'est-ce pas ? Et si la distance par rapport
au sol était 3
000 ou plus,
cela nous donnera zéro. Zéro multiplié par
la vitesse de rotation au début. Ce sera zéro, et il n'y aura pas de
poussière, non ? C'est ça. Nous voulons définir
ce facteur de hauteur avec cette valeur comme ceci, et c'est tout ce que nous devons faire. Commençons simplement par compiler et exécuter. Et maintenant, vous pouvez voir qu'il n'
y a pas de poussière car le taux de vitesse du rotor est nul et la lame
ne tourne pas. Mais si nous tournons, il
suffit de regarder, il y a beaucoup de poussière parce que
nous sommes au sol, et la vitesse maximale
du rotor est de 25, n'est-ce pas ? Maintenant, si vous augmentez la
hauteur, montons simplement.
Non, vous pouvez voir que la quantité de poussière créée
est de moins en moins importante. Tu peux voir combien c'est. Maintenant que nous en avons atteint
plus de 3 000, vous pouvez constater qu'il
n'y a plus de poussière sur le sol. Mais si nous nous rapprochons à nouveau
du sol,
il y aura de la poussière. Vous pouvez voir que si nous
allons au sol, vous pouvez voir qu'il y aura de la poussière. Un problème que j'ai vu ici, vous pouvez voir que la rotation des effets
visuels n'est pas correcte. C'est pourquoi certains d'entre eux sont
enfouis sous terre. Voyons comment nous pouvons
résoudre ce problème très rapidement. Ici, vous vous souvenez que nous avons défini
le mot « emplacement de la poussière », affixe ». Qu'est-ce que tu veux faire ? Nous voulons définir l'emplacement des mots et la rotation de la poussière, n'est-ce pas ? Alors laisse-moi le connecter comme ça, le
connecter comme ça et
supprimer celui-ci, non ? Pour l'emplacement, comme vous le savez, nous pouvons simplement utiliser cet
emplacement connecté à ici. Mais pour la rotation, je
veux utiliser cet emplacement et utiliser
rot from s pour obtenir une rotation
de notre point d'impact,
l'endroit où nous avons
touché le sol, n'est-ce pas ? C'est ça. C'est
tout ce que nous devons faire. Maintenant,
compilons et exécutons. Maintenant, tu peux voir si on monte. Vous pouvez voir que la rotation
de notre poussière est correcte et que toutes les poussières
sont souterraines Maintenant, si vous augmentez, vous
pouvez voir que les poussières sont bonnes, et si vous augmentez la
hauteur, vous pouvez voir qu'il y poussière
et de moins en
moins jusqu'à ce qu'elle atteigne zéro Si nous descendons, vous pouvez
voir qu'il y aura de la poussière. Et si vous atteignez le sol, il y aura plus de poussière lorsque nous diminuerons la hauteur
de notre hélicoptère. Maintenant, vous pouvez voir à
quel point ça a l'air cool. C'est vraiment magnifique.
21. 20 Méta-son du moteur: Non, à propos du bruit du moteur. À l'heure actuelle, nous avons
la lame rotative. Nous avons le correctif, mais pas
le bruit du moteur. Voyons comment nous pouvons le faire. Pour ce faire, je veux accéder
à Contender InhaliFolder. Je veux cliquer avec le bouton droit de la souris, créer un nouveau dossier et je
veux l'appeler sound. Double-cliquez dessus avec le bouton droit de la souris, ouvrez-le, cliquez avec le bouton droit ici. Accédez à Audio et créez
une source de métasund. Je veux l'appeler
All Engine, non ? Poupée, cliquez dessus pour l'ouvrir. Et ici, je veux
créer un lecteur de vagues, non ? C'est la première vague de joueurs qui, pendant le
jeu, voulait y jouer. Mais ce à quoi nous voulons jouer, jouer à l'
hélicoptère en vol stationnaire, non ? C'est ça. Il suffit de le choisir ici. Nous voulons qu'il soit en boucle et qu'il relie l'
Otmano à Otmano Maintenant, si vous
y jouez, vous pouvez voir que ce
n'est qu'un soleil de moteur d'hélicoptère, est-ce pas ? Ça a l'air génial. Mais tout d'abord, lorsque le moteur ne démarre pas,
il ne devrait
pas y avoir de volume, non ? C'est la première chose
que nous voulons faire, et nous voulons
modifier le volume et la tonalité en douceur lorsque le moteur
démarre, n'est-ce pas ? Pour
ce faire, je veux créer un autre de
ces joueurs de vagues, exactement la même chose
avec le même numéro de vague, mais je veux que cela
se produise au bout d'une seconde. Donc, chaque fois que nous jouons ce moteur MS Hell,
que voulons-nous qu'il se passe ? Tout d'abord, nous
voulons que cela se produise, mais au bout d'une seconde, nous pouvons le faire avec
trigger, delay. Au bout d'une seconde, nous
voulons que cela se produise, non ? Et comme nous pouvons avoir
les deux ensemble, nous pouvons utiliser un mixeur ici, mixeur mono deux, non ? Dans le zéro, nous voulons que
ce soit celui-ci. Dans un, je veux que
ce soit celui-ci, et nous voulons mélanger
les deux pour produire. Sachez ce qui va se passer. Si nous jouons à ce jeu , cela se produira d'
abord. Vous pouvez le voir et au
bout d'une seconde, cela s'y ajoutera, c'est
vrai, arrêtez ça. Ensuite,
je voulais pouvoir changer la tonalité, le gain
ou
le volume, n'est-ce pas ? Nous avons donc besoin d'informations. Donc, ici, je vais créer une entrée. C'est ce que j'appellerai volume. Hein ? Et glissez-le et
déposez-le. Mets-le ici. Nous voulions pouvoir modifier
le volume de cette manière. Ensuite, nous voulons
en passer à un autre. Je veux l'appeler pitch
, glisser-déposer et le connecter pour les associer
aux deux, n'est-ce pas ? Maintenant que c'est fait, jouons pour
voir ce qui va se passer. Rien ne se passe
car le volume est nul. Si vous augmentez
le volume à un, vous pouvez voir que non, c'est plutôt comme si un hélicoptère
démarrait dans son moteur. Regardons-le encore une fois. S. Ensuite, vous ne
modifiez que le pitch tel qu'il a été construit. Jesse, ça
ressemble plus à un démarrage du moteur. Et
je veux que ce pitch soit compris entre 1 et 5 Arrêtons-le et
recommençons. Si j'augmente le volume à
un et que je change le ton, vous voyez, nous changeons le ton. Ce qui va se passer, c'est comme si la lame se déplaçait beaucoup plus vite. Maintenant, nous avons une métason selon laquelle nous pouvons l'
utiliser pour le moteur de notre hélicoptère au
démarrage et lorsqu'il a atteint la vitesse maximale avec ce
volume et ce décalage de tangage
22. 21 Son du moteur: Nous avons maintenant un métasund que nous
pouvons utiliser pour le moteur
de notre hélicoptère Voyons donc où
voulons-nous l'utiliser ? Pour l'utiliser,
ajoutons simplement un son, non ? Ce devrait être un
enfant du maillage, et sachez qu'ici, nous voulons
choisir notre métasund Cela s'appelle MS Lngine. Il suffit de le mettre là.
Maintenant que c'est fait. Sur ce gestionnaire de moteur, nous voulons également gérer le
son du moteur, n'est-ce pas ? Alors laisse-moi créer de l'espace après le
démarrage du moteur, d'accord ? Alors, faites un peu d'espace. Ce que vous voulez faire Nous voulons
d'abord changer ce nom. Je voulais
le nommer engine audio, et je vais le glisser-déposer, placer ici et
définir un promètre flottant Vous pouvez voir qu'il y en a
deux ici. Celui qui indique que la cible est composant
audio est
celui que vous souhaitez utiliser. Alors sélectionnez-le. La première chose que vous
voulez changer s'appelle le volume. Mettez-y donc du volume. Et nous voulons modifier le volume fonction du taux de vitesse du rotor. C'est une valeur de 0 à 25, non ? Et pour
modifier ce volume, je veux utiliser une plage cartographique. J'ai beaucoup utilisé ce nœud
dans ce cours, non ? Donc, la plage d'entrée est de 0 à 25, mais la plage de sortie, je veux qu'elle soit de 0 à 2, non ? Je ne veux pas qu'il y
en ait plus de deux. Donc, si le taux de vitesse du rotor
au début est nul, cela nous donnera zéro
pour le volume. Mais si le taux de vitesse du rotor
était de 25 à vitesse maximale. La plage o sera de deux
et le volume de deux. Il ne s'agit pas seulement du volume. Nous voulons définir un autre promètre. Il suffit donc de le copier-coller
ici également, et d'y connecter l'épingle d'
exécution. Connectez également la
broche d'exécution à celle-ci. Faites de la place ici. Et maintenant, nous voulons également changer
le ton. Mettez-y donc le nom du pitch. Non, encore une fois, je souhaite utiliser ce capteur de portée cartographique.
Non, nous le savons. Encore une fois, le taux de
vitesse du rotor est de 0 à 25, mais la plage, la valeur de tangage basée sur ce
taux de vitesse de rotation, est de 0 à 5 Juste comme ça,
assurez-vous que
toutes les valeurs par défaut de votre méta-son sont
nulles, comme ceci. Assurez-vous de tout enregistrer. Et non, si nous écrasons le jeu, vous pouvez voir qu'il n'y a aucun son, mais si nous maintenons la touche de triche, écoutez-la
simplement Vous pouvez voir à quel point
c'est beau, non ? Le moteur est maintenant
là et il est encore plus performant. Certains de nos moteurs changent de d'inclinaison en
fonction de la vitesse de la lame volume et d'inclinaison en
fonction de la vitesse de la lame. Regardons-le
encore une fois. Maintenez la touche Shift. Vous voyez, le ton
augmente également. Et je trouve que ça en a l'air. Ça a l'air génial.
23. 22 vérifiez si nous sommes au sol: Il n'y a aucune autre chose que
nous voulons faire. Nous voulions pouvoir
arrêter le moteur. Voyons comment nous pouvons
le faire dans cette vidéo. Pour ce faire,
nous avons d'abord besoin d'une contribution. Allons simplement dans le dossier d'entrée, clic
droit ici et
créons l'action de saisie. Je veux l'appeler IA. Arrêtez le moteur, non ? Vous n'avez rien à y
changer. Nous devons simplement le
cartographier dans IMC Hell. Donc ici, ajoutez le mappage, descendez et cartographiez le moteur d'
arrêt de l'IA, n'est-ce pas ? Et pour ce qui est de la façon dont nous
voulons arrêter le moteur, je veux utiliser O sur notre clavier. Cliquez ici, appuyez sur
O sur votre clavier
et appuyez sur Enregistrer. Maintenant, nous pouvons aller
dans l'enfer de BP et ici, ce que je veux faire, obtenir l'
arrêt du moteur par l'IA. Chaque fois que nous
appuyons dessus, utilisons simplement une chaîne d'impression. Je veux dire
arrêter le moteur, non ? Et voyons si
cela fonctionne ou non. Si je monte et redescends Oh, tu vois, le message «
arrête le moteur ». L'événement fonctionne donc bien. Mais comment voulons-nous
arrêter le moteur ? abord, nous devons vérifier si vous êtes sous terre ou
non, comment nous pouvons le faire. Je veux le faire avec une variable. Je veux l'appeler
sur le terrain, non ? Et le genre, je veux que ce soit bullien
et par défaut, je veux que ce soit vrai
parce que par défaut, nous sommes dans la clandestinité, non ? Non, où
voulons-nous changer cela ? Si vous vous souvenez, nous
avons un tracé linéaire du milieu ou de l'
enfer vers le bas, n'est-ce pas ? Dans ce cas, lorsque le
tracé linéaire touche le sol, cela se produira. Laisse-moi faire de la
place ici. Et ici, nous voulons
réduire la distance. S'il est presque égal à zéro, cela signifie que nous sommes au sol, non ? Donc,
si la distance entre
le milieu de l'hélicoptère le sol était
presque égale à zéro, cela signifie que nous sommes sous terre, et nous pouvons définir la variable
sol, définir avec cette valeur
ici, n'est-ce pas ? Donc, si la distance était
nulle, ce serait vrai. Mais si la distance n'était pas
nulle, ce serait faux. Mais il existe une tolérance aux erreurs. Pourquoi j'ai utilisé presque la
même chose parce que nous
mesurons à partir du milieu
de l'hélicoptère. C'est pourquoi je souhaite
ajouter une certaine tolérance. Par exemple, dix, dix
centimètres, non ? Donc, s'il est égal à
zéro ou presque égal à zéro selon une tolérance
positive ou moins dix, nous pouvons dire que nous sommes dans la clandestinité. Pour que vous le voyiez mieux, je voudrais aller sur event tk et le montrer avec
le printestring Ici, vous allez utiliser
un anneau de test d'impression avec
une clé pour ajouter le kio, ce
sera de la persistance Par exemple, tout ce que vous
voulez, vous pouvez le mettre dedans. Et ici, je veux montrer
la variable de base. C'est ça. Maintenant, si vous renversez le jeu, vous pouvez le voir
toujours dire faux, pourquoi il dit faux. La raison pour laquelle il est
toujours dit faux, que
si vous allez ici, la tolérance est de dix. Mais dans le cas d'un hélicoptère,
comme vous pouvez le constater, le nombre de litres entre
le milieu et le sol est supérieur à dix. Voyons ce que c'est,
pour que vous puissiez voir
ce que je veux faire, je veux aussi utiliser un
anneau d'impression ici, et montrer la distance, n'est-ce pas ? Montrez la distance par ici, et je voudrais déconnecter
celui-ci gratuitement du jeu Runo Quand nous sommes sur le terrain, vous pouvez
voir que
le nombre de torans est de 140 Nous devons donc
y mettre 140 , soit un peu
plus que cette valeur. Connectons-le à nouveau. Organisez-vous un peu. Non, cette valeur de tolérance, nous voulions la
fixer à 150, non ? Non, une fois cela fait, nous n'avons pas besoin de cet anneau d'impression Supprimons-le et
connectons-le à la branche. Non, tu peux voir que c'est vrai. Si nous examinons l'
espion, il dit faux, puis nous y retournons. Sam, non ? Ainsi, nous savons où nous
sommes au sol et où
nous sommes dans le ciel Et nous voulons nous en servir pour décider quand nous pouvons
arrêter le moteur. Allons donc à
notre événement ici. Chaque fois que nous utilisons un titre ou un mot clé, nous voulons utiliser une branche ici. Et je tiens à dire que si nous sommes sous terre, utilisons simplement un anneau d'
impression pour arrêter le moteur. Et si c'est faux, encore une fois, utilisez un autre print ing. Je tiens à dire que nous ne pouvons pas
arrêter le moteur parce que nous ne sommes pas
au sol, n'est-ce pas ? C'est ça. Et je veux que ce soit rouge pour que tu
puisses mieux le voir. Si nous appuyons sur Exécuter et qu'ici, c'est 01 ou sur le clavier, cela peut arrêter le moteur. Mais si tu es dans le ciel
et oh, tu peux voir. Je dirais que je ne peux pas
arrêter le moteur. Tu vois, peu importe à
quel point tu es là. Je ne pourrai pas
arrêter le moteur, mais si vous êtes au sol,
oh, il est écrit : « Vous ne pouvez pas
arrêter le moteur ». Non, nous le montrons
avec la bague imprimée. Et dans la vidéo suivante, nous voulons
vraiment arrêter le moteur.
24. 23 Arrêt du moteur: Non pour avoir réellement
arrêté le moteur. Nous vérifierons si vous êtes
sous terre ou non. Donc, avec cela,
voyons comment nous pouvons le faire. Ici, si nous sommes sous terre et que nous appuyons sur le clavier, nous voulons arrêter le
moteur, et comment nous pouvons le faire, nous pouvons changer ce
moteur, l'arrêter, le
régler sur vrai et régler le moteur
démarré sur faux. C'est ça. nous permet de savoir quand
arrêter le moteur. Voyons donc comment
utiliser ces deux variables. Vous vous souvenez qu'ici, nous changeons le taux de
rotation de 0 à 25 Maintenant, si le moteur s'arrête, nous voulons faire passer la vitesse de
rotation de sa valeur à zéro, exactement comme
nous l'avons fait ici. Je dois donc faire de la place. Cette partie est destinée au survol, nous pouvons
donc la sélectionner
Hetson ou le clavier et y placer le pointeur Nous avons donc une note
ici, un commentaire ici. Non, je veux créer
de l'espace ici. Avant de changer le taux de vitesse
du rotor à 25, nous voulons vérifier auprès d'une branche. Ainsi, nous voulons vérifier si le moteur est arrêté ou non. Si le moteur est arrêté, cela se produira. Mais si le moteur n'
est pas arrêté, cela signifie qu'il est démarré. Nous devrions donc le relier
au faux, à droite, comme ceci. Si le moteur est arrêté, nous voulons faire tout
cela ici. Donc, contrôlez le contrôle C
pour le coller ici. Si le moteur est arrêté, nous voulons ramener
le taux de vitesse du rotor en douceur à zéro.
C'est tout ce que nous devons faire. Et après cela, nous pouvons également aller vérifier le
Haring, non ? C'est ça. Essayons simplement
de compiler, de sauvegarder
et de recommencer pour voir si
cela fonctionne bien ou non. Si des organisations ont démarré par la suite,
elles tombent en panne et que nous, sur votre clavier, non, vous pouvez voir que le
moteur s'arrête. Vous pouvez voir à quel point c'est
beau, et la poussière disparaîtra
également lorsque le
battement rotatif passe à zéro, et vous pouvez le voir.
Bien non, non ? Nous pouvons monter.
Tout fonctionne bien, vous pouvez arrêter
l'hélicoptère. Mais si vous êtes de
ce côté et que nous essayons d'arrêter l'
hélicoptère, nous ne pouvons pas le faire. Mais si vous êtes au sol
et que c'est sur votre clavier, non, vous pouvez voir que le
moteur va s'arrêter. C'est ça. Nous éteignons correctement
le moteur. Et le son fonctionne bien, et la vitesse de rotation de la lame
fonctionne également bien avec
25. 24 Aller en avant et en arrière: Non, pour avancer et
reculer à partir de maintenant, je pense que tout sera
beaucoup plus facile et amusant. Pour avancer et reculer, nous voulons utiliser la
touche WS de notre clavier. Donc, avec ça, on
change le ton. Donc on avance comme
ça et on recule
comme ça, non ? Voyons donc comment nous pouvons le faire. Pour ce faire, nous devons
créer une action d'entrée. Donc, cliquez avec le bouton droit de la souris dans le dossier d'entrée
et allez dans Input
create input action, et je veux l'appeler IA. Avance, recule, non ? Ne cliquez pas dessus pour l'ouvrir. Le type de valeur, vous
voulez qu'il soit Axis one day ou float. C'est amplement suffisant.
Tu peux juste le fermer. Accédez à IMC Healy, ajoutez une nouvelle cartographie,
afin que nous puissions la cartographier, avancer et reculer, cliquez ici et choisissez
avancer et Nous voulons que cela se fasse avec la touche W, alors cliquez ici, appuyez sur W sur votre clavier, ajoutez
une autre entrée. Cliquez ici, annonces. Donc, avec W et S, nous voulons avancer
et reculer. Par défaut, pour les deux
options en ce moment, si vous les touchez,
elles en passeront une. Mais ce que nous voulons qu'il se produise chaque fois que nous appuyons sur W,
nous voulons en dépasser un. Chaque fois que nous appuyons sur S, nous
voulons passer moins un. Donc, dans le S, nous voulons
ajouter un modificateur pour l'incliner afin d'annuler la valeur
et de passer moins un C'est ça. Maintenant que
nous avons cet événement. Allons juste ici
où nous avons de la place. Recherchez IA vers l'avant
et vers l'arrière, avancez et
reculez, n'est-ce pas ? Chaque fois que nous appuyons sur W ou
S sur notre clavier, il y a un nœud à
l'intérieur du composant
de mouvement du véhicule appelé saisie du pitch. Recherchez une entrée de pitch
ou définissez une entrée de pitch, et nous pouvons définir l'
entrée de pitch avec cette valeur d'action. Et sachez que chaque fois que nous relâchons W ou S sur notre clavier, cela se produit complètement, et nous voulons remettre cette entrée de hauteur
à zéro, ce que cela signifie. Lorsque nous changeons de pitch, cela signifie qu'il change de pitch
au fil du temps. Cela changera donc le
ton en permanence. Donc, à un moment donné, nous devons lui dire de ne pas
changer la tonalité si nous relâchons le W ou le S de notre
clavier et que nous le mettons à zéro. Non,
connectons-le simplement à la cible, à
la compilation, à la sauvegarde et au run over game Maintenant, si nous montons dans le ciel, pouvons avancer
comme ça, Kasia Et nous pouvons y aller aussi. Peu de temps pour faire de la bio. Et avec ça, on
peut descendre comme
ça et descendre le moteur
au Space Brother. Maintenant, ce que je veux faire, c'est deux
choses que je veux faire. Je souhaite supprimer toutes les chaînes
de l'imprimante. Donc, ici, je vais
définir Control F, chaîne
d'impression,
rechercher une chaîne d'imprimante. Et quelle que soit la chaîne d'impression que nous avons, nous voulons la supprimer. Non, nous avions un tracé linéaire ici dont le type était de type
Draw Debug, que nous voulons mettre maintenant Nous avons donc un
jeu beaucoup plus propre avec lequel travailler, non ? Non, encore une fois, nous devrions
monter dans le ciel, voir que c'est prêt
dans le ciel et y rester. Cela permet de tout voir. Ça
a l'air génial. Non, il est temps de
pouvoir faire le vide et de vivre. Vous essayez de le faire
avant le prochain projet de loi.
26. 25 Déplacez à droite et à gauche: Non, nous voulons pouvoir aller
à gauche et à droite. J'espère que tu pourras
le faire toi-même. bouton droit ici
dans le dossier de saisie, créez une nouvelle entrée, et je veux l'appeler IA
se déplaçant vers la gauche. C'est vrai. C'est ça. Ne cliquez pas dessus pour l'ouvrir. Le type de valeur, je veux que
ce soit Axis un jour. Vous pouvez simplement l'
enregistrer et le fermer. Nous n'avons pas besoin de ce métasund. Nous n'avons pas besoin de ces
roues, n'est-ce pas ? Non, nous devons le cartographier. IMC a donc aidé à créer un nouveau mappage. Il y a beaucoup de
cartes ici. Faisons-le simplement pour IA, déplaçant vers la gauche et la droite. Et nous voulons le faire
avec D. Donc, cliquez ici, ajoutez D là et ajoutez une nouvelle entrée,
et cliquez ici, tête A. Chaque fois que nous appuyons sur D,
nous voulons en transmettre une. Chaque fois que nous touchons A, nous voulons l'annuler pour passer moins un C'est ça. Ou l'action de saisie
est prête, nous pouvons l'utiliser. Allons ici pour avoir
un peu d'espace. Recherchez un mouvement vers la gauche ou vers la droite. Mais le nom que vous donnez à cet
événement n'a pas d'importance. C'est bon Comme
nous l'avons fait avant. Cette fois, nous voulons lancer. Nous voulons modifier la
rotation autour de l'axe X. C'est ce qu'on appelle le roll. Encore une fois, nous avons besoin d'une composante de mouvement du
véhicule. Et recherchez Roll Input. Définissez la saisie du rouleau par valeur
d'action, n'est-ce pas ? Et chaque fois que nous relâchons
D ou A sur notre clavier, cette opération est terminée, et nous voulons mettre
ce rôle à zéro, le remettre à zéro. Donc, mettez-le à zéro ici, et il a également besoin d'un objectif. C'est tout ce que nous devons faire. Compilons,
sauvegardons et exécutons. Allons voir l'espion. Je vois la poussière, c'est bon, allons-y et
tout ira bien. La prochaine chose que nous
ferons , nous voulons être en mesure
de la mettre en place. Chaque fois que nous avions E, nous voulions
tourner sur place vers la droite. Chaque fois que nous nous dirigeons
vers la Q, nous voulons tourner sur place vers la gauche. ce que tu essaies de faire.
Nous allons le faire ensuite.
27. 26 Retournez en place: Non, pour les virages
à gauche et à droite. Pour ce faire, encore une fois, nous avons
besoin de l'action de saisie, créez l'action de saisie
ici et je veux
l'appeler Je tourne à gauche à droite. Cliquez dessus pour l'ouvrir.
Et le type de valeur, nous voulons qu'il soit
flottant comme avant, et nous devons le mapper
ici car nous avons
beaucoup de mappage ici. Nous devons utiliser ce scrollbr et ce que nous voulons cartographier
s'appelle tourner à gauche et Encore une fois,
allons-y. Comment nous voulons tourner à
gauche et à droite, nous voulons le faire avec
E. Donc, cliquez ici, ajoutez E, ajoutez une autre entrée. Cette fois, cliquez
ici, en-tête Q. Chaque fois que nous appuyons sur Q, nous
voulons passer moins un, alors ajoutez un modificateur du
type de négation. C'est tout ce que nous devons
faire dans ce domaine. Nous pouvons donc simplement fermer
l'action de saisie, mais la laisser ouverte pour le moment. Maintenant, ici, nous voulons cliquer avec
le bouton droit de la souris pour rechercher IA, tourner à gauche et à droite. Et avec cela, encore une fois, il y a un nœud à
l'intérieur du
composant de mouvement du véhicule
qui permet de modifier la rotation
autour de l'axe Z. Comme ça s'appelle,
ça s'appelle « ya ». Nous recherchons donc Ya set Ya en
entrée par la valeur de l'action. Mettons-le simplement
là. Non, lorsque nous relâchons le Q ou
le E de notre clavier, cette opération est terminée et nous voulons mettre
l'entrée Ya à zéro. C'est ça. Maintenant, cela fait, si vous écrasez le jeu et que vous
accédez à un Skype, c'est. Oh, tu vois, il ne tourne pas. Et pour qu'il tourne et tourne autour des Z, nous devons
passer au composant de
mouvement du véhicule, vous vous souvenez que nous avons fait le détartrage des dindes
et le détartrage des dindes roulées, et les deux
fonctionnent bien. Mais nous n'avons pas fait de détartrage de dindes. Nous devons mettre ça en un. C'est pourquoi je laisse
celui-ci pour plus tard, afin que vous puissiez voir l'
effet de ces entrées. Maintenant, si on en met un
ici, ça devrait marcher. Commençons simplement par
compiler, enregistrer et exécuter. Non, si tu vas dans le ciel, tu peux voir qu'il peut
se retourner sur place. Ça a l'air génial
, pas cher, et vous pouvez le retourner sur place quand vous
allez de l'avant. Vous voyez, je peux tout photographier maintenant. Je pense qu'il est temps de tirer pour
pouvoir tirer des missiles, non ? C'est ça. Nous tournons, tout va bien.
28. Missile 27 Helli: Non, nous voulons vraiment
tirer des missiles parce que, vous savez, chaque
hélicoptère de chasse possède des missiles. Donc, pour tirer des missiles, nous avons besoin d'un missile. Passons donc simplement
au tiroir de contenu, au dossier Blueprint dans le
dossier Heli Cliquez avec le bouton droit ici, créez une classe
de plan de type d'acteur, et je voudrais l'appeler
BP, Heli Je vais cliquer dessus pour l'ouvrir. Ici, tout d'
abord, je voudrais ajouter un maillage squelettique parce que le
missile est un maillage squelettique. Faites-en le sin
root par défaut, et ici, cliquez ici et choisissez ou
SK West Missile 26, n'est-ce pas ? Choisissez-le ici.
Non, tu peux le voir. Je voudrais ajouter quelques effets
Niagara, non ? Ajoutez donc le Niagara ici. Celui que je souhaite utiliser
s'appelle NS West Missi 26.
Tu peux le voir. Non, je veux y mettre
une prise. Le socket que je souhaite utiliser
s'appelle root joint socket. Maintenant, vous pouvez voir qu'en le
plaçant dans la bonne douille, le positionnement et la rotation
de efface sont corrects.
Tu peux le voir. Maintenant que c'est fait, nous devons être en mesure de le déclencher. Pour le tirer, j'utilise un composant de mouvement du
projectile. Et ici, je dois mettre
une vitesse d'initialisation de 20 000 Et je veux que la vitesse maximale
soit de 50 000, non ? Vous pourrez le modifier
ultérieurement si vous le souhaitez. Maintenant, pour le voir correctement,
il suffit de passer en arrière
et de cliquer sur simulation. Vous pouvez voir à quel point
c'est beau, non ? Non, je veux que la rotation
suive la vitesse. Donc, la rotation
va toujours dans le sens où
elle va, non ? Encore une fois, disons que
tout sera pareil, mais tout sera encore une fois
beaucoup plus beau. Non, avec ce missile, nous devons ajouter du son.
29. 28 Son de missile: Non, nous avons un missile, mais notre missile
n'émet aucun son. Voyons comment ajouter du son. Pour ce faire, je veux aller sur Contender ou sur Helfolder Accédez au dossier Sound. Cliquez ici avec le bouton droit de la souris, passez à l'audio et créez une source Metasund Je veux l'appeler
un missile, non ? Chien, cliquez dessus pour l'ouvrir. Ici, je veux d'abord
créer un lecteur Wave, non ? Type de mono. Vous pouvez également faire une chaîne stéréo. Connectez le jeu pour le jouer. Le son que nous
voulons jouer en premier est Rocket et PT,
celui-ci, non ? Juste avec ça,
connectons simplement l'OT mono à ici et jouons. Vous voyez, c'est comme le
début de notre Missi, non ? Nous pouvons simplement l'utiliser, mais
je veux l'améliorer. Comme je veux l'améliorer, je veux créer un autre lecteur
Wave, n'est-ce pas ? Et avec lui, cette fois, je veux jouer
à Rocket Engine. Et nous avons besoin
des deux pour jouer. Je peux donc utiliser un mixeur ici. Le mixeur deux est largement suffisant. Cela mélangera les deux en mono, et nous n'avons pas du tout besoin de
changer de jeu. Mais si tu joues à celui-ci, laisse-moi cliquer sur cette
loupe et jouer Vous pouvez voir qu'on
dirait que c'est deux secondes, 3 secondes après le tir
du missile, non ? Nous devons donc retarder son déclenchement. Comment pouvons-nous le faire ici, nous pouvons rechercher un retard de transmission. Et disons qu'au bout d'une seconde, nous voulons jouer à celui-ci, non ? Et nous voulons que
celui-ci soit diffusé en boucle. Maintenant, que se passera-t-il si
vous jouez à ce jeu en premier, il tirera et au
bout d'une seconde, il actionnera le moteur de fusée
en continu. C'est donc ce que nous
voulons que cela se produise. Non, ajoutons-le simplement à notre missile hélicoïdal
et ajoutons-y un signal audio Ce devrait être un enfant
du maillage squelettique. Je veux l'appeler moteur. Son. C'est un bruit de fusée, mais je l'appellerai le son du moteur parce que c'est plus facile à
comprendre, non ? Moteur 1 auquel
vous voulez jouer, cliquez ici et ici choisissez MS Missile, n'est-ce pas ? Juste sur ce point, si
nous simulons ici, laissez-moi entendre F. Si nous
simulons ici, il n'y aura aucun son, n'est-ce pas ? Mais si vous allez sur notre carte et que vous la mettez simplement ici,
c' est le point de départ pour les joueurs. Et si vous placez
l'un des missiles ici, laissez-moi le faire pivoter à 180 degrés, soulever un peu comme
ça et le faire pivoter vers le
haut comme ça, non ? Si nous le lançons,
nous pouvons entendre le son. Mais le problème, c'est que c'est
plus loin de nous, mais que nous pouvons entendre le
son complètement. Et nous pouvons résoudre ce problème en réglant
l'atténuation. Si vous allez sur notre missile BP
et que vous cliquez sur Le son du moteur, vous pouvez voir qu'il y a un réglage
d'atténuation ici Donc, pour changer cela, je veux aller
dans le dossier sound en vue ou HelFolderr
cliquer ici,
aller dans le dossier audio et créer
une Je veux l'appeler
SA Missile, non ? SA pour l'
atténuation du son, miside. Et ici, nous avons un
rayon intérieur et un rayon de chute. Si vous êtes dans
le rayon intérieur, nous pouvons entendre complètement le
son. Et je veux changer
ce chiffre à 10 000. C'est environ 100 mètres, est-ce pas, parce que c'
est en centimètre, et qu'il faut suivre la distance
ou la baisse du rayon, je veux
le mettre sur 80 000, Vous pouvez jouer avec ces valeurs. Non, avec cette atténuation du son, nous pouvons passer au missile Over Hell, cliquer sur le son du moteur et choisir missile d'
essai pour le réglage de l'
atténuation Vous savez, si nous y retournons,
vous verrez que nous avons un rayon intérieur et
un rayon extérieur. Si vous êtes dans
le rayon intérieur, nous pouvons l'entendre complètement. Mais si on s'en
éloigne vers le rayon extérieur,
on l'entend moins linéairement, non ? Maintenant que c'est fait, si
nous lançons notre jeu, vous voyez ? Il tire, et quand il
s'éloigne de
nous, on ne l'entend plus. Mais s'il y a un joueur
plus loin de nous, il peut l'entendre, n'est-ce pas, si le missile s'
approche de lui.
30. 29 Explosion de missile: Sachez où fonctionne le missile, il émet des sons, mais quand il touche quelque chose,
rien ne se passe. Nous allons juste tester cela. Pour tester cette avoine, laissez-moi la soulever comme ceci et la faire pivoter
vers le sol Si nous tirons et que nous le voyons, il s'
enfoncera sous terre. Voyons comment nous pouvons résoudre ce problème. Accédez à BP Hell Missile, cliquez sur le
maillage squelettique, descendez. Jusqu'à ce que vous atteigniez le préréglage de
collision, il n'y a pas d'occlusion pour le
moment C'est pourquoi il ne
touchera rien. Ce que je veux en faire,
c'est changer pour n'ignorer que le pion Maintenant, si vous allez ici,
vous pouvez voir qu'il ignorera le panoramique, qu'il
ignorera le véhicule. D'accord ? Mais cela
bloquera tout. Maintenant, si vous
compilez, sauvegardez et exécutez, vous pouvez voir que je passe dans le métro
et que cela s'arrêtera là. Allons-y. Nous
avons une loi ici. Cela va donc s'arrêter là. À chaque fois que le missile s'arrête, nous pouvons faire certaines choses. Par exemple, si je clique
sur le mouvement du projectile, le projectile s' Cliquez dessus pour créer
son événement, et ici, nous voulons décomposer
ce résultat d'impact, vrai, l'étendre comme ça. La première chose que
nous voulons faire quand
ou lancer un projectile, c'est de
s'arrêter près de quelque chose Vous voulez créer une explosion, système d'
apparition sur Et le système que vous voulez créer est
l'explosion de poussière.
Mettons-le simplement là. L'emplacement, nous voulons utiliser le lieu où il s'
arrête là, n'est-ce pas ? Et c'est tout. Commençons simplement
par compiler et exécuter. Vous voyez, vous savez,
il y a une explosion. Ensuite, nous voulons
générer du son. Donc, le son du spa sur place, non ? Le son et l'emplacement de ce spa, je veux utiliser ES
Grand Explosion, et son emplacement, nous pouvons utiliser cet emplacement. Mais je voudrais
étendre cela et utiliser le paramètre d'atténuation que nous avons également
le paramètre d'atténuation que nous avons
créé pour le missile
, n'est-ce pas ? Donc, s'il explose plus
loin de nous, nous n'entendons rien. Après cela, nous pouvons simplement
détruire le missile. Recherchez donc l'acteur de destruction
et détruisez le missile. Maintenant, si c'est le cas, vous pouvez
voir qu'il va toucher le sol. Nous avons une explosion. Nous avons un bruit d'explosion, et le missile est également supprimé
et détruit.
31. 30 Missile à feu: Non, ce surmissile est prêt. Nous voulions
pouvoir le filmer. Voyons comment nous pouvons le faire. Pour ce faire, je veux passer
à un niveau et supprimer ce missile infernal
d'un niveau supérieur. Nous n'en avons plus besoin. Accédez au dossier Heli, allez dans le dossier Entrées et créez une entrée pour tirer
le missile Donc, créer une action de saisie, je veux l'appeler un incendie. Ne cliquez pas dessus pour l'ouvrir. Nous n'avons pas besoin de changer
quoi que ce soit ici, nous pouvons
donc simplement le fermer.
Fermez également celui-ci. Fermez également celui-ci.
Nous n'en avons pas besoin. Accédez à l'aide d'IMC. Nous voulons le mapper dans
le contexte de
mappage d'entrée IMC Hell Créons donc simplement un
nouveau mappage, et ici, celui que vous souhaitez mapper
s'appelle iAFre. Alors mettons-le
simplement là. Et ici, quand
voulons-nous que cela se produise ? Chaque fois que nous appuyons sur le bouton le plus à gauche. Cliquez ici, puis appuyez sur
le bouton Lift Most et nous y placerons le
bouton le plus à gauche. C'est ça. Non, avec ça, n'allez pas sur
BPLly, trouvez de la place. Nous pouvons également fermer
ces deux-là. Non, chaque fois que nous appuyons sur le bouton
Lift Most, ce feu IA se produit. Et chaque fois que nous appuyons dessus, nous voulons faire apparaître
un missile, non ? Alors, comment voulons-nous le créer ? Si vous allez à Viewport, vous pouvez voir que nous avons le côté droit et le côté gauche Nous voulons donc pouvoir le tirer à la fois à
partir du système de missile
à droite et à gauche. Donc le premier
du côté droit, second du côté
gauche, non ? Donc, chaque fois que nous commençons, je veux utiliser des tongs
ici, un nœud de tongs Ce que cela fera la
première fois que
nous appuierons sur
le bouton le plus à gauche, A se produira La deuxième fois que nous appuyons sur le bouton le
plus à gauche, le B se produit, troisième fois que nous
appuyons sur le bouton le plus à gauche,
encore une fois, le A se
reproduit, Cela se produira l'un après l'autre. Donc, ce que nous voulons faire, créer un
acteur à partir de la classe Et quel acteur
s'appelle Missile, non ? Donc,
il suffit de le placer là et de le connecter à A. Mais sa transformation, l' endroit où l'étendre, sont
vraiment importants Où voulez-vous le faire apparaître ? Si vous allez à Skeleton of ou en hélicoptère et que vous recherchez
un missile dans les os. Vous pouvez voir que nous avons une prise de
missile gauche et une prise de missile
droite. Nous avons besoin de leurs noms. Cliquez donc avec le bouton droit sur Renommer le socket. Et encore une fois, cliquez dessus avec le bouton droit de la souris, copiez le nom de celui LPH Faisons-le simplement pour le IF. Nous voulons obtenir la transformation de ce socket sur notre squelette. Nous devons donc obtenir le maillage. Transformation de socket, obtenez
Socket Transform. Il faut que nous fournissions le nom. Nous l'avons copié, alors contrôlez
V pour le coller ici et connectez-le à
spawn transform, n'est-ce pas ? C'est pour celui de gauche. Copiez-collez le tout et collez-le ici pour
le bon également. La seule chose que nous devons
changer ici, c'est ce nom. Passons simplement à un squelette. Nous voulons également le faire pour le bon support de
missile. Renommez-le, contrôlez C pour copier le nom et
collez-le ici. C'est ça. Tout devrait fonctionner correctement avec cela si vous aviez
compilé, sauvegardé et exécuté. Allons simplement dans le ciel. Et tire. Et c'est
lourd aussi.
32. 31 Numéro de missile: Non, nous tirons notre missile, mais le problème est que nous pouvons tirer notre missile à l'
infini Nous avons donc besoin d'un système permettant limiter la quantité de
missiles que nous pouvons tirer. Et pour ce faire, je
veux créer une variable. Donc, ici, créez une variable. Je veux l'appeler le numéro
du missile, non ? Et le type, je veux que
ce soit un entier parce qu' il ne peut pas être de 1,5 ou 0,5, non ? Nous n'avons pas de valeur décimale. Ensuite, je veux dupliquer cela, j'ai besoin d'une autre variable. Et je veux dire que c'est le nombre
maximum de missiles, non ? Nombre maximum de missiles. Compilons simplement, sauvegardons le nombre
maximum de missiles. Je voulais le mettre sur dix,
c'est vrai. La première chose que vous
voulez faire,
c'est passer à l'événement,
commencer à jouer ici, et définir le nombre de missiles par le nombre maximum
de missiles au début de la partie. Ainsi, chaque fois que nous jouions, tous
les missiles étaient là. Nous avons beaucoup de missiles, non ? Donc, le nombre de missiles au début de la
partie sera de dix. Et pour que vous puissiez le voir, je voudrais vous le montrer ici
à Eventq avec un anneau d'impression Mais cette fois, je souhaite créer un événement personnalisé pour le
débogage, non ? Cliquez avec le bouton droit ici,
recherchez un événement personnalisé, non ? Et je veux appeler
ça un debug, non ? Et ici, je veux connecter ce
débogage
à notre chemin
EventQeecution Mettez donc le debug ici. Non, peu importe ce que nous connectons à ce debuke, c'est comme le
connecter à Eventq Je veux utiliser un anneau d'
imprimante ici, anneau
d'imprimante, et avec cela, je veux lui donner une clé. Nous voulions indiquer le numéro du missile. Vous pouvez mettre ce que vous voulez
pour cette clé. C'est juste qu'aucun
moteur ne sait que cette impression doit
être persistante et
qu'elle ne doit pas en remplir l'
écran, n'est-ce Non, je veux utiliser un format de texte, formater du texte, et je veux dire que le nombre de
missiles est égal au nombre bretelles
bouclées
ouvertes et ou peu importe ce que vous voulez mettre à
l'intérieur de ces bretelles bouclées, cela créera une épingle
pour cela afin que nous puissions remplacer les bretelles
bouclées par le chiffre qu'
elles contiennent par l' Ces bretelles bouclées avec
le numéro seront remplacées par tout ce que nous
connecterons à cette épingle numérique La raison pour laquelle on l'appelle numéro,
c'est parce que nous avons mis le numéro ici. Le nom est très
important ici, non ? Le chiffre que nous
voulons montrer est le nombre de missiles connectés ici
et les connecter à une chaîne. Juste comme ça, head
compile, enregistre. Maintenant, si vous renversez le jeu, vous pouvez voir que le nombre de missiles est de dix, donc
ça marche bien. Maintenant que nous indiquons
le nombre de missiles, nous voulons aller ici. Et chaque fois que nous tirons dessus, en appuyant
sur le bouton le plus à gauche de notre clavier, nous voulons réduire le
nombre de missiles Donc, soustrayez le nombre de
missiles par un comme celui-ci et enregistrez-le
à nouveau en lui-même, non ? Nous le diminuons donc en le connectant comme
ceci à ici et ici. Maintenant, si nous voulons compiler vous pouvez voir que nous avons dix missiles. Si nous tirons, nous avons
neuf, huit, sept, six ,
cinq, quatre, trois,
deux, un et zéro. Vous pouvez voir qu'il peut également
devenir négatif. Nous ne voulons donc pas qu'il baisse. Donc, ce que nous pouvons faire, est vérifier le nombre
de missiles ici. Alors vérifiez-le auprès de la
branche, et avec elle, nous voulons dire que si le nombre de missiles est supérieur à zéro, vous pouvez tirer le missile. Maintenant, si vous aviez compilé save
and run we game and shoot, vous pouvez voir que nous ne pouvons en tirer que dix. Et après cela, nous ne pouvons plus tirer. Peu importe le nombre de
fois que vous voulez
appuyer sur le bouton le plus à gauche,
nous ne pouvons
33. 32 Missiles de rechargement: Non, pour le rechargement ou pour un missile. Voyons comment nous pouvons le faire. Pour le faire
au début de la partie, passons simplement au début de la partie. Lorsque nous fixons le
nombre de missiles, nous voulons régler un chronomètre. Donc ici, réglez un chronomètre
en fonction d'un événement, non ? Et ce chronomètre, je veux que
cela se produise toutes les 1,5 secondes. Nous devons donc
y mettre 1,5 et le faire tourner en boucle. Donc toutes les 1,5 seconde se
reproduisent encore et encore, n'est-ce pas ? Et ce qui va se passer, cet événement
personnalisé se produira. Nous pouvons donc y ajouter l'événement
personnalisé, et je veux dire recharger Cette exécution de rechargement aura donc
lieu toutes les 1,5 seconde. Maintenant, nous
voulons vérifier si le nombre de missiles était inférieur au nombre
maximum de missiles Nous devons
donc obtenir les deux
et vérifier. Si le nombre de missiles est
inférieur au nombre maximum de missiles, nous voulons l'augmenter. Nous devrions vérifier
cela auprès de Branch. Donc, si le nombre de missiles était inférieur au
nombre maximum de missiles, nous voulons l'augmenter, n'est-ce pas ? Et pour l'augmenter, nous pouvons obtenir notre
nombre de missiles, ajouter un comme celui-ci
et le conserver en lui-même. Donc, avec cela, nous
l'augmentons. Enregistrez-le comme ça, connectez-le comme
ça et
connectez-le à true. C'est ça. Maintenant, si nous aidons à compiler, sauvegarder et exécuter le jeu, vous pouvez voir que le nombre de
missiles restera à dix. Mais si nous photographions certains d'entre eux,
vous pouvez voir qu'il y en a cinq. Maintenant c'est six, non c'est
sept, non c'est huit. Maintenant, il est neuf,
maintenant il est dix, et il n'augmentera pas de
plus de dix. Maintenant, nous avons un
système de rechargement, c'est vrai, qui nous permet de détruire complètement le
missile,
et au bout de 15 secondes, nous pouvons récupérer tous
les missiles Et vous pouvez voir que nous
rechargeons les missiles. Non, on peut tirer à nouveau, non ? Non, une fois cela fait, notre système de
rechargement fonctionne. Non, il est temps d'y
ajouter une interface utilisateur, afin que nous puissions également la voir
dans notre interface utilisateur, pas seulement avec une chaîne.
34. 33 Missile UI: Il n'y a pas d'autre chose que
tu veuilles faire. Nous voulons créer un
widget Blueprint UI pour notre système de missiles. Voyons donc comment nous pouvons le faire. Accédez au tiroir de contenu, allez dans le dossier Hell, cliquez avec le bouton
droit de la souris ici, créez un nouveau dossier et
appelez-le Widgets. Dirigez-vous pour l'ouvrir, cliquez avec
le bouton droit de la souris ici, accédez à l'interface utilisateur et créez un plan de widget correspondant au
type de widget utilisateur Je veux l'appeler WBP UI, non ? Ne cliquez pas dessus pour l'ouvrir ou entrez pour l'ouvrir, n'est-ce pas ? Ici, la première chose
que vous voulez ajouter, accéder au panneau du panneau Canvas à l'intérieur de
ce panneau Canvas Je veux d'abord
montrer une image après ce X et ensuite
un chiffre, n'est-ce pas ? Donc, pour ce faire,
je veux créer une boîte horizontale par
défaut là-haut, mais je veux changer
l'ancre dans le coin
inférieur droit et changer
la position X et la
position Y zéro. Maintenant, vous pouvez voir qu'il est
aligné dans le coin supérieur gauche. Je veux l'aligner avec le coin
inférieur droit. Mettez-en donc un et un
pour l'alignement, sorte qu'il le placera dans le coin
inférieur droit. Maintenant, je veux ajouter un rembourrage avec
des positionnements -50 et -50 Nous avons donc un peu d'espace entre notre boîte horizontale
et la bordure, non ? Ensuite, je souhaite ajouter une image. Alors allons-y, ajoutons une image comme celle-ci
et choisissons-en une. Dans Brush, cliquez sur l'image, et l'image que vous
souhaitez ajouter est un missile. Donc, la recherche d'un
missile, c'est celle-ci. Non, tu peux voir qu'il est extensible. Nous devons cliquer sur la case
horizontale pour le dire. Tenez compte de la taille du
contenu que vous avez, n'est-ce pas ? Tu peux voir ? Non, la taille du missile est bonne,
mais elle est trop grosse. Donc, ce que je veux faire
, c'est cliquer sur l'image, passer à la taille de l'image et diviser le Y par deux. Divisez-le par deux. Je pense que ça a l'air
bien mieux, non ? Juste avec cela, nous devons également ajouter un texte dans une boîte
horizontale. Vous pouvez voir qu'il
ira après l'image. Et pour le texte, je veux utiliser un X comme celui-ci, et je veux qu'il soit aligné au milieu comme
ceci. Tu peux voir. Je veux changer les couleurs pour quelque chose de plus noir comme celui-ci. Mais tu décides ce que
tu veux non, je veux ajouter un autre
texte ici. Vous pouvez voir, encore une fois, que ce
sera après eux, et je veux qu'il soit aligné
au milieu comme ceci. Et je veux y mettre une valeur, par
exemple dix pour voir
si cela semble bon ou non. Non, ce que je veux faire
, c'est cliquer sur le X et ajouter du rembourrage Par exemple, pad à gauche, cinq unités et pad à droite, cinq unités également.
Ce que je veux faire. Je veux changer la taille des dix parce que nous pouvons peut-être le voir. Pour ce faire, allez dans
les apparences, allez dans la police et
modifiez-la comme vous le souhaitez. Je veux le mettre sur 88, afin que nous puissions mieux le voir. Ça a l'air bien, je trouve. Je veux donner à ce texte le
nom du numéro du texte du missile. OK ? Et je veux que ce
soit une variable, afin que nous puissions la modifier plus tard. Head compile save. Maintenant,
si vous passez au graphique, ce que je veux faire ici, créer une fonction. Donc, avec cette fonction,
nous pouvons mettre à jour le nombre de textes relatifs au missile
dans OUI, n'est-ce pas ? Je vais appeler cette fonction, mettre à jour le numéro du
missile et avec elle, nous voulons définir le texte sur
notre nombre de prises de missiles. Donc, prenez cette variable, mettez-y du texte, et c'est ici, définissez du texte. Cela nous permet de définir le nombre
de prises de missiles. Mais avec quoi ? Avec l'
entrée de cette fonction. Cliquez donc sur la fonction, descendez et créez une entrée appeler ce numéro
et son type,
comme vous le savez, je veux que ce soit un entier, n'
est-ce pas ? Head, compilez, enregistrez et connectez-les directement
ici, n'est-ce pas ? Sachez que nous l'avons, que nous avons une interface utilisateur et que nous avons une fonction
pour mettre à jour cette interface utilisateur. Voyons comment nous pouvons l'utiliser. Pour l'utiliser, nous devons
aller au BP Hell de BMP. Vous pouvez voir qu'après avoir défini le
nombre de missiles ici, nous voulons d'abord créer
un widget. Donc ici, nous disons
créer un widget, d'accord. Le widget que
vous souhaitez créer s'
appelle HeliUI, choisissez-le ici Non, nous voulons d'abord le promouvoir
en tant que variable et je veux l'appeler hell UI, non ? J'ai besoin de l'épingle d'exécution. Donnons-lui donc simplement
l'épingle d'exécution. Ensuite, nous voulons ajouter
ces deux fenêtres pour pouvoir les voir, n'
est-ce pas, ajouter la fenêtre d'affichage
et ensuite régler le chronomètre pour le
rechargement des missiles,
n' régler le chronomètre pour le
rechargement des missiles Maintenant, avec Teton, si vous
appuyez sur Compiler, enregistrer et exécuter, vous pouvez voir que l'
interface utilisateur du missile est là et nous pouvons la
voir. C'est une bonne chose. Mais il n'est pas mis à jour. Voyons comment nous pouvons le mettre à jour. Chaque fois que nous changeons le nombre
variable de missiles, nous devons obtenir l'interface utilisateur de l'enfer. Et codez le numéro de mise à jour
de la fonction du missile. C'est ça. C'est
tout ce que nous devons faire, compte tenu du
nombre de missiles. Et nous devons le copier-coller
à la fin ici. Lorsque nous tirons notre
missile à la fin, nous voulons à nouveau mettre à jour le numéro
de missile, n'est-ce pas ? Donc, contrôlez, nous
le collons ici. Dans les deux cas, peu importe
ce qui arrive. Nous voulons encore une fois mettre à jour le nombre de missiles,
n'est-ce pas ? Juste comme ça. Vous savez qu'au
début,
nous vérifions d'abord si le nombre de
missiles était supérieur à zéro, nous le diminuons d'un, puis nous le tirons
et le faisons apparaître Ensuite, nous mettons à jour l'interface utilisateur. Voyons maintenant si cela
fonctionne bien ou non. Si vous renversez le jeu, vous pouvez voir que le numéro du
missile est dix, et il est indiqué dans le coin
inférieur droit. Laisse-moi aller dans le ciel pour que
tu puisses mieux le voir. Et tirez, vous pouvez voir, je tire et non, vous pouvez voir
que le nombre de missiles change parfaitement. Donc non, nous n'avons pas besoin de ce texte, tests
d'impression, n'est-ce pas ? L'interface utilisateur du missile fonctionne bien. Donc non, cette
interface utilisateur du missile fonctionne bien. Nous pouvons simplement le déconnecter. Nous n'en avons plus besoin. C'était juste pour
vous montrer comment cela fonctionne.
35. 34 Reticule: Sachez que nous sommes capables de tirer notre missile, qu'il y a une limite à cela et que
nous avons un système de rechargement Nous avons besoin d'une interface utilisateur. Ainsi, nous savons
où nous tirons,
où se trouvera notre missile au bout d'une ou deux secondes, n'est-ce pas ? Donc, pour ce faire, je veux
aller dans le tiroir de contenu, créer un autre plan de widget Alors, cliquez avec le bouton droit de la souris ici,
accédez au widget utilisateur et créez le widget utilisateur à
droite, Widget Blueprint Ensuite, cliquez
sur le widget utilisateur. Je veux l'appeler WBP AM, c'est
vrai, ou quel que soit le nom que
vous voulez La seule chose
que je veux ajouter ici est juste une image. Ne t'inquiète pour rien. L'image que je veux
y mettre s' appelle un
réticule, non ? C'est ça. Tu n'as pas
besoin de changer quoi que ce soit. Je veux changer la teinte
en noir comme celle-ci. Mais si vous ne
voulez pas le faire, laissez-le tel quel. Juste avec cette tête, compilez-le, enregistrez-le et fermez-le. Maintenant, nous devons passer en revue BP hell et ajouter un
widget utilisateur ici. Cliquez donc sur AD search pour le
widget et ajoutez un widget. Et je voudrais l'appeler à
1 h du matin.
On peut aussi l'appeler MI, non ? Cliquez sur le MUI et modifiez l'espace
entre le mot et l'écran Nous le voyons donc toujours, n'est-ce pas ? Après cela, nous voulons
remplacer la classe du widget celle que nous créons
WBPAM et sa taille,
je veux qu'elle soit de 100 par 100, non ? C'est ça. Mais tu as
dit compiler, enregistrer. Et dans le jeu Runo, vous pouvez voir le widget est là.
Ça a l'air bien. Nous ne l'avons pas changé en noir, mais laissez-moi vous montrer quelque chose. Si nous ouvrons à nouveau le WBPA, nous pouvons cliquer sur Image Et changez la
couleur de teinte en noir. Mais avant tout, je veux en
changer l'opacité, pour qu'il soit un
peu transparent Maintenant, si vous renversez le jeu, vous pouvez
voir que c'est beaucoup mieux, mais je préfère
le changer en noir, non ? Je pense qu'avec notre hélicoptère de
chasse, le noir est bien meilleur,
mieux adapté, non ? Mais vous pouvez voir que la position de AUI ou du réticule n'est Alors laissez-moi vous montrer comment
vous pouvez changer cela. Si vous allez à BP Hali, que voulez-vous
faire ? Nous voulons
aller à égalité,
voir où regarde
notre
hélicoptère et remplacer le réticule ou le widget
AM par là, n'est-ce remplacer le réticule ou le widget
AM par là Donc, pour ce faire,
je veux créer un événement personnalisé ici, n'est-ce pas ? Nous avons de la place ici. Créons simplement un événement personnalisé, et je veux l'appeler
AI Manager. AMUI manager, et nous voulons également le connecter
à Eventq Ici, nous allons faire glisser et
dessiner et rechercher le gestionnaire d'interface utilisateur. C'est tout ce que nous
devons faire. Non, ici, ce que vous voulez
faire, nous voulons utiliser un
tracé linéaire par canal. Comme vous le savez, il doit avoir
un point de départ et un point final. Au début, je
veux que ce soit
au milieu de notre hélicoptère que nous puissions utiliser un parc à ressorts
pour cela, car c'est au
milieu de notre hélicoptère. Utilisons-le donc. Je vais chercher notre
Spring Yard et en extraire la localisation des mots,
trouver la localisation des mots. C'est le
point de départ comme celui-ci. Ensuite, le point final,
nous voulons qu'il soit aligné avec notre hélicoptère
à l'avant de notre hélicoptère, qu'il
soit ou non, n'est-ce pas ? Donc, pour ce faire,
nous devons d'abord obtenir ce vecteur à ressort
vers l'avant. Recherchez donc le vecteur G forward. Et comme il s'agit
d'une longueur de un, nous devons la multiplier
par une valeur. Alors multipliez-le par une
très grande valeur. Alors remplacez-le par
un float et mettez-y 99999999, c'est
bien Quelle que soit la valeur que vous mettez ici, elle devrait être énorme, non ? Maintenant, avec cela, je veux
ajouter ce point de départ que nous avons à la direction ou à
suivre. Et c'est fini, non ? Pour que vous le voyiez,
je veux changer ce type de DVC Droid
pour une seule image Et juste avec ça, voyons
ce qui va se passer. Si vous êtes dans la tête compiler, enregistrer
et exécuter, vous pouvez voir que non, il y a une ligne entre le
milieu de l'hélicoptère et l'avant. Si nous allons dans le ciel, vous pouvez voir si cela
touche quelque chose, cela nous donnera cet
endroit, ce carré. Donc, avec ce carré, nous voulons définir la position de Mui ou de croiser
ici par rapport à cette position Pour ce faire, nous devons ventiler ces
résultats par tête, alors cassons-le. Avec elle, nous voulons d'abord vérifier si elle touche
quelque chose ou non. Alors vérifiez-le auprès de la succursale. S'il touche quelque chose, cela nous donnera un point d'impact ou l'endroit où il
heurte quelque chose, n'est-ce pas ? Nous pouvons utiliser les deux. Maintenant, avec cela, nous pouvons
obtenir notre MUI et définir l'emplacement du mot.
OK, c'est ça. Associez la vérité à celle-ci, et le point d'impact sera
plus que suffisant. Maintenant, s'il n'a pas
touché quoi que ce soit, encore une fois, nous voulons définir l'
emplacement du mot comme suit. S'il n'a rien touché la trace et
l'extrémité de la trace, cette extrémité de cette ligne que
nous avons vue ensemble, n'est-ce pas ? Non, juste avec ça, si vous appuyez sur
Compiler pour enregistrer une partie Runo, vous pouvez voir la position
ou la croix, non, c'est bien Vous pouvez voir si nous allons dans le ciel,
vous pouvez voir à chaque fois que
c'est bien, que c'est au bon endroit et que nous
pouvons y photographier, non ? Parce que nous déménageons,
cela ne servira à rien, mais vous pouvez voir cela fonctionne bien, n'est-ce pas ? Nous éteignons donc le moteur. Tirez. Non, tu peux le voir, il s'
en rapproche. C'est bon Parce qu'avec cet hélicoptère, nous allons endommager la
radio de l'application, non ? C'est ainsi que cela devrait fonctionner. Donc ça a l'air génial. Non, nous avons une interface utilisateur. Ce que je voulais faire,
c'est désactiver ce type draw deba to none car nous n'en avons plus
besoin. Nous voulons que notre jeu soit propre. Vous pouvez voir que non, c'est
beaucoup plus propre, non ? Vous pouvez voir que tout
fonctionne bien et magnifiquement.
36. Plan de canon anti-air 35: Notre hélicoptère est prêt
à détruire des objets, mais nous n'avons rien. Voyons donc comment créer un ennemi
capable de riposter. Pour ce faire, je veux
aller dans le tiroir de contenu,
aller dans Anti IrgonFolder,
et ici, cliquer avec le bouton
droit de la souris, créer un nouveau
dossier et l'appeler blueprint Ou un plan. Et je vais cliquer dessus pour l'ouvrir
correctement, cliquer ici, créer une
classe type d'acteur, et je voudrais l'appeler pistolet anti-air
BP, non ? Cliquez dessus pour l'ouvrir. Ici, d'abord et d'abord, je
veux ajouter un maillage squelettique. Alors ajoutez-le là et
mettez-le comme syndroot
par défaut en le faisant glisser et en le
déposant sur la scène
par défaut. Ensuite, cliquez ici, choisissez
l'art SK east Vous pouvez le voir ici. Avec cela, nous voulons
attaquer l'hélicoptère. Peut-être que nous pouvons le détruire. Ensuite, parce que
nous voulions le faire pivoter et
faire face à un hélicoptère, nous avons besoin d'un
plan d'animation pour celui-ci Pour ce faire, je veux
aller dans Content Drawer, cliquer avec
le bouton droit de la souris ici, accéder à l'animation et créer un plan
d'animation Pour le Scale East RT, sélectionné, aidez à créer et je voudrais l'appeler
pistolet à air ABP ti, n'est-ce pas ? Je vais cliquer sur le haut
et sur celui-ci également. Ici, nous voulons ajouter
l'espace de maillage, la pose R, cela nous donnera toutes les
informations sur les os, et nous devons également
le relier à la pose. Aucun
plan anti-ergon n'est prêt. Ajoutons simplement l'un d'
entre eux à notre niveau. Là où le joueur commence, cliquez sur
Démarrer le joueur dans Outliner, tête F. Vous
allez donc passer au point de départ du joueur Je veux créer sur Antirgon en faisant glisser l'un
d'entre eux ici, non C'est ça. C'est
faire face au joueur. Je ne veux pas qu'il se
retrouve face à face. Faisons simplement pivoter selon la
rotation que vous souhaitez. Donc, avec le plan d'animation, nous voulons en modifier
la rotation
afin qu'il fasse face à un hélicoptère
et l'attaque, n'est-ce pas ? Donc, la prochaine chose que nous voulons faire est de lui dire
quelle est votre cible. Pour ce faire, je voudrais
aller sur BP Anti Airgon, AventGrap et
ici, sur Event BM play, je veux dire que l'enfer de
BP est Et s'il est à portée,
tirez dessus, non ? Donc, pour ce faire,
nous devons obtenir le pion du joueur,
et avec cela, cela nous
donnera le pion que ces joueurs lanceront automatiquement, n'
est-ce Cela le fera apparaître ici. Et avec ça, nous
voulons le transformer en BP Hell. OK. Si les lancers sont réussis, cela signifie que la cible est là et que nous pouvons tirer dessus, n'est-ce pas ? Nous pouvons donc cliquer dessus avec le bouton droit de BP Heli est devenu une variable, et je veux l'appeler cible C'est donc notre objectif, non ? La prochaine chose que nous voulons
faire avec cet objectif, vérifier s'il s'agit d'une fourchette. Si nous pouvons tirer dessus, et comment nous pouvons le faire
, nous voulons dire que si la distance
entre le tiegon et
le Taya ou BP
Holly est de 100 à 8 000, par
exemple, vous
pouvez lui tirer dessus,
mais s'il n'est pas dans cette fourchette, ne tirez pas dessus parce que vous
ne le pouvez pas Donc, pour le faire ici, je ne veux pas le
faire à chaque image. Je veux utiliser une minuterie, alors réglez la minuterie par événement. Nous voulons vérifier toutes
les 1 seconde. Nous voulons vérifier chaque
seconde si l'hélicoptère est
à portée ou non, si nous pouvons tirer dessus ou non. Donc, cela règle le chronomètre par événement, nous
donne un événement et nous pouvons y
connecter un événement personnalisé. Donc, recherchez un événement personnalisé, et je voudrais appeler
celui-ci Check in Range, n'est-ce pas ? Tu peux le nommer
comme tu veux. Cette plage de vérification se produira
une fois au bout d'une seconde. Mais si nous activons la boucle, cette
plage de vérification se produira
chaque seconde. Et avec cette plage de contrôle, ce que nous voulons faire, c'est prendre la distance. Cherchons donc simplement
la distance. Entre deux vecteurs, vecteur de
distance, nous voulons vérifier la distance entre l'anti-ergon
et la cible S'il est à portée,
tirez dessus, non ? Il a donc besoin de deux vecteurs. Premier vecteur, nous pouvons simplement obtenir la position de l'acteur qui nous
donnera sa position dans
Word of Over Anti-Ergon Ensuite, nous voulons obtenir
la cible et également obtenir la position
de l'acteur, obtenir la position
de l'acteur au-dessus de la cible. Non, cela nous donnera la
distance qui les sépare. Mais avant cela, nous devons vérifier si cette
cible est valide ou non. Donc, la recherche est valide,
n'est-ce pas, comme ça. Si c'est valide, déterminez
la distance entre antagone et
la cible
qui se trouve au-dessus de l'enfer, n'est-ce pas ? Donc, ici, nous voulons
vérifier s'il est dans la fourchette. Donc, recherchez un
fluide de gamme dans la gamme parce que c'est un fluide, nous voulons dire s'il
se situe entre 100 et 8 000, il est dans la gamme, n'est-ce pas ? Donc, si la cible est valide, nous voulons utiliser une branche ici et vérifier si elle
est à portée ou non. Et ici, juste pour le moment, je veux utiliser un anneau de test d'impression. Et si c'est vrai, cela signifie qu'il est à portée. Disons qu'en rayon
de tir, c'est tout. Et si c'est faux, encore une fois, utilisons simplement un anneau de
test d'impression et disons que cible n'est pas à portée. Et pour que vous le voyiez, je voudrais changer la couleur de
cette bague de test d'impression
en rouge et tout va bien. Maintenant, si vous êtes en tête de compilation, sauvegarde et d'exécution du jeu, vous pouvez voir qu'il est indiqué que la cible
n'est pas à portée parce que nous n'en
sommes pas proches. Mais si on s'en rapproche,
voyons ce qui va se passer. Devrais-tu t'en rapprocher ? Non, vous pouvez voir que nous sommes à portée. Si tu t'en éloignes, voyons ce qui
va se passer à nouveau. Vous pouvez voir qu'il est à portée, et non, il n'est pas à portée. Donc, en fonction de la distance, nous décidons si elle
est à portée ou non. Il s'agit de la première étape vers notre objectif de tirer
sur notre hélicoptère.
37. 36 Modifiez les ossatures des canons: Non, nous savons quand la cible
est à portée de l'antivol. Mais la première chose que nous
voulons que cet antiirgon
fasse , c'est de regarder l'
hélicoptère, Fais-le face pour qu'il puisse
tirer dessus, non ? Hein ? Non, il est orienté dans cette direction, mais nous voulons qu'il le fasse pivoter
pour faire face à la cible. Peu importe où il se trouve, importe s'
il
se déplace n'importe où, n'est-ce pas ? Donc, pour ce faire, nous devons
utiliser un plan d'animation, et le nœud que nous voulons utiliser s' appelle modify boon,
n' Et avec cet os modifié, nous devons modifier la
rotation du pistolet. Nous n'avons donc pas besoin de
modifier la traduction, nous pouvons
donc lui dire de ne pas l'
exposer sous forme d'épingle, n'est-ce pas ? Et nous n'avons pas non plus besoin de
modifier l'échelle. Ils lui diront donc de ne pas l'
exposer également sous forme d'épingle, mais nous voulons
modifier la rotation. Et le mode rotation, nous voulions l'ajouter à
l'existence. Donc, s'il y a déjà une rotation, elle s'y ajoutera
et ensuite, choisissez le bon espace, non ? Vous pouvez également le laisser en tant que
composant dans l'espace. Maintenant, ici, l'os
que vous voulez modifier, nous pouvons le mettre ici. Mais voyons quel os
nous voulons faire pivoter. Si vous cliquez ici,
cela ouvrira le squelette d'Over Gun, non ? Ici, nous avons un
joint d'arme qui nous permet de le monter et de le descendre. Tu peux voir. Et nous avons un joint de
tourelle qui permet de le faire pivoter
autour de l'axe Z. Cette rotation autour de l'axe
Z est appelée
lacet, et la rotation autour de l'axe
Y est appelée tangage Nous devons donc modifier
le pas du dessus du canon et le lacet du dessus de la tourelle OK ? C'est notre tourelle, et nous devons changer sa mâchoire Il y a donc deux os dont nous avons besoin pour modifier chaque rotation. Tout d'abord, le joint du canon, le tangage et le joint de la tourelle, oui. Voyons donc comment nous pouvons le faire. Tout d'abord,
faisons-le pour Turret, non ? Recherchez Turret Il est écrit « torrent ». C'est une erreur. Ne t'inquiète pas pour
ça. Joint Torrent. Et ici, je veux
cliquer avec le bouton droit sur cette rotation
et diviser le flux. Nous n'avons pas besoin de changer
le lancer et le lancer. Nous devons simplement changer le ya. Par exemple, si je
le change en 40 et que je dirige la compilation.
Non, tu peux voir. La rotation de celui-ci est modifiée. Encore une fois, nous pouvons
le mettre sur 90, par exemple, head compile, non, vous pouvez le voir, j'ai fait pivoter à 90 degrés. Je ne veux pas
le faire comme ça. Je souhaite le promouvoir
en tant que variable. Et je veux l'appeler gun Y, le
mettre sur gun ya. Nous n'avons pas besoin de dire Tretyo parce que nous sommes en train de changer
le Tret ya Mais le pistolet, je veux dire le pistolet
anti-air, non ? C'est pourquoi je l'appelle gun ya. Et après cela, nous
devons le copier-coller. Nous devons également le faire pour le joint du
pistolet lui-même. L'os que nous voulons
modifier est donc appelé articulation du canon. Alors mettons-le simplement là. Maintenant, ce que nous voulons
changer, c'est le pitch. Donc, par exemple, si j'y mets 45 et que je
compile en tête, non, vous pouvez modifier
la hauteur de 45 degrés. Encore une fois, je veux
cliquer avec le bouton droit de la souris sur celui-ci, promouvoir au rang de variable, et je veux l'appeler «
gun pitch », n'est-ce pas ? C'est ce que nous devons changer. Gun pitch, et gun ya. Pour les tester dans un éditeur de prévisualisation,
nous pouvons simplement les tester. Par exemple, pour
changer le pitch, vous pouvez voir que je le
change en direct. Et je peux changer le ya aussi bien que vous pouvez le
voir ici. Je le regarde, tu le
vois mieux. Vous pouvez voir qu'avec
ces variables, nous pouvons faire pivoter notre arme et modifier son inclinaison pour
regarder vers le haut ou vers le bas. Maintenant que nous avons un
moyen de faire pivoter notre arme et de changer sa
hauteur pour regarder vers le haut ou vers le bas. Voyons comment nous pouvons
calculer ce que devrait être le pitch et ce que devrait
être le U dans la prochaine vidéo.
38. 37 Calculer la direction du canon: Non, nous savons comment nous pouvons faire pivoter notre arme dans la
direction que nous voulons, n'est-ce pas ? Mais non, nous voulons vérifier la cible et modifier la
rotation en fonction de cette cible,
donc tirer sur AMAT ou sur la cible Pour ce faire, je veux
aller voir BP ti airgun ici. Au lieu de simplement utiliser l'
impression pour définir ce que je
veux faire, je veux créer une variable et dire
si elle est dans la plage ou non Le nom est donc dans la gamme. Si la cible est à portée, nous voulons la définir sur true. La cible est à portée,
si vous vous souvenez, nous vérifions la distance entre
l'antigone et la cible Et s'il est dans la fourchette, cela se produira réellement, et nous
voulons dire que c'est dans la fourchette. Après cela, si elle
nous donne faux, cette branche,
nous voulions dire, qu'elle n'est pas dans gamme parce que cela nous
donne une valeur fausse. C'est pourquoi ce faux
se produit souvent et nous disons que ce qui se trouve
dans la fourchette est faux. Maintenant, avec cela sur
Aventq à chaque image, nous voulons modifier la
rotation du surcanon pour qu'il regarde l'hélicoptère
ou la cible, Donc, la première chose que nous
devons faire ici, c'est d'
abord vérifier si
la cible est valide. Recherchez donc I valid like
this et connectez-y le code d'
exécution. Ensuite, s'il est valide, nous voulons vérifier s'il
est à portée ou non Nous l'obtenons et le vérifions
avec la branche comme ceci. Non, dans ce cas, nous devons calculer le pas du
canon et le canon, afin qu'il examine notre hélicoptère et comment
nous pouvons le faire. Tout d'abord, nous devons effectuer la rotation de notre
canon antiaérien vers la cible. Qu'est-ce que cette rotation ? Si l'hélicoptère
changeait de position, quelle devrait être la rotation de
notre canon ? Et il existe un nœud pour
cela qui s'appelle
find Look at rotation. Cette analyse fine de la rotation
nécessite donc un point de départ
et un emplacement cible, et elle calculera la
rotation que le canon doit avoir, afin qu'il vise la cible. L'emplacement de départ
est ou anti-argon, nous pouvons
donc l'
obtenir en obtenant la position de l'acteur. C'est ça. Non, pour
l'emplacement cible, si vous vous rendez à notre BPL, je veux qu'il cible le
milieu de notre hélicoptère Ou un hélicoptère par défaut, dont la position 000
est ici, n'est-ce pas ? Mais un bras à ressort démarre
au milieu de l'hélicoptère. C'est pourquoi je souhaite utiliser
la position du bras à ressort. Pour dire : « C'est votre cible », visez le milieu
de notre hélicoptère. Donc, dans notre canon antiaérien, nous voulons atteindre notre cible
et obtenir son bras à ressort. Recherchez donc Spring Guard. Et avec ce protège-ressort, nous voulons savoir où se
trouve son mot. Alors, trouvez la localisation du mot. Et non, ce nœud nous
donnera la rotation
que devrait avoir notre canon, il est
donc dirigé vers notre hélicoptère. Non, le pistolet
a déjà une rotation. Et on peut y arriver avec la rotation des acteurs en
G, non ? Nous voulons calculer
la différence entre ces deux rotations et la mettre en fonction du pas
du canon et du canon yeah. Et comment y parvenir ?
Il existe un nœud appelé rotateur Delta
qui
nous donnera la différence
entre la rotation
que devrait avoir le canon
antiaérien, pour
qu'il vise un hélicoptère, qu'il vise un hélicoptère et la rotation qu'
il a déjà, n'est-ce pas Je vais nous donner cette rotation. On peut juste cliquer dessus
avec le bouton droit de la souris, fendre une ailette. Maintenant, avec cela, les seules
choses dont nous avons besoin sont la valeur de pitch
et la valeur ya. Nous pouvons donc cliquer avec le bouton droit sur la valeur de hauteur
promue en variable, et je peux l'appeler « angle du canon ». C'est le ton que
notre arme devrait avoir. Nous devons économiser le pas de canon
en y connectant la goupille d'
exécution, afin d'économiser le pas de
canon à l'intérieur de celle-ci. Nous avons aussi besoin du Ya, et je veux l'appeler gun Yao ? Et également connecté à la broche d'
exécution. Maintenant, nous avons le pistolet
pitch et gun ya. Voyons comment nous pouvons l'utiliser
dans notre plan d'animation. Accédez au plan d'animation, au graphique des événements, et ici, nous devons d'abord nous
procurer notre pistolet antiair BP Alors cliquez avec le bouton droit ici lors de l'
événement, commencez à jouer comme ça, et nous devons trouver
l'acteur propriétaire. Comme ça et
fondez-le dans un pistolet anti-ergon moulez-le dans un pistolet anti-air, non ? Si ce casting est réussi, nous pouvons le transformer en variable. Et je veux juste l'appeler pistolet anti-air
BP, non ? À l'intérieur de cet
antiergon BP, nous avons pas du canon et le yacht à canon,
que nous calculons, n'est-ce pas ? Ici, nous n'avons pas besoin de
ce propriétaire de pion trig,
car le propriétaire de
ce plan d'animation est une C'est pourquoi nous avons utilisé notre
propre acteur, non ? Et ici,
nous devons d'abord vérifier si ce
plan de pistolet anti-air est valide ou non La recherche de est donc valide. Si c'est valide, nous voulons simplement
connecter le pin d'exécution. Nous devons en
tirer le meilleur parti. Alors cherchez le terrain d'arme, et nous devons vous
le procurer également. Arme-toi comme ça. Ce sont les valeurs que
nous calculons ici. C'est celui-ci, non ? Mais nous voulons le
connecter ou l'enregistrer dans ces variables que nous avons dans notre plan
d'animation Nous pouvons donc déterminer le pas de tir de notre arme, le
placer ici avec
la valeur que nous obtenons de notre pistolet antiaérien que nous calculons
ensemble, n'est-ce pas ? Et encore une fois, nous devrions
le faire pour Gun ya également. Réglez-le ici avec la
valeur que nous obtenons grâce à Anti Ergon
Blueprint. C'est ça. Maintenant que c'est fait. Nous
devons aller à Antirgon, cliquer sur notre image squelettique Nous avons oublié d'y inscrire
le cours d'animation. Alors cliquez ici et
choisissez ABP anti ergon. Donc, ce plan et ce plan d'animation
seront connectés ensemble, Une fois cela fait, non,
si vous renversez le
gibier et que vous vous enfoncez dans
le ciel, voyons voir. Il devrait changer de rotation en
fonction de notre localisation. Maintenant, tu peux le voir. Il est
face à nous. Allez de l'avant. Vous pouvez voir qu'
Antiergon nous regarde, et il va changer de rotation, donc il va nous regarder Encore une fois,
allons-y dans le ciel. Peu importe où nous allons, vous pouvez le voir, il nous
suit correctement. Maintenant qu'il nous
suit correctement, nous devons tirer
sur notre hélicoptère. Voyons comment nous
pouvons le faire. Prochaine.
39. Projectile de canon antiair 38: Non, pour que notre pistolet antiaérien puisse
tirer sur
notre hélicoptère, nous avons besoin d'un projectile Alors d'abord, créons un projectile et ensuite,
nous le tirons, non ? Pour ce faire, allez
dans le tiroir de contenu, allez dans le dossier Blueprint dans Anti Airgun et cliquez avec
le bouton droit ici, créez une
classe de plan correspondant au type d'acteur, et je voudrais l'appeler
vignette de projet de pistolet à air comprimé BP
, n' vignette de projet de pistolet à air Poupée, cliquez dessus pour l'ouvrir. Et ici, la seule chose
que je veux ajouter, c'est juste une sphère parce qu'elle va aller si vite qu'
on ne peut pas la voir. Nous n'avons pas besoin d'
une image du grenier pour cela. Une sphère suffit
amplement. Je peux le mettre comme racine syn
par défaut faisant glisser et en le
déposant là-bas Maintenant, avec cela, je voudrais également
ajouter un
mouvement de projectile Ajoutez un mouvement de projectile. Et pour ce qui est de
la vitesse d'initialisation, je veux qu'elle soit de 40 000, mais vous devriez jouer
avec cette valeur jusqu'à ce que vous obteniez le
résultat souhaité La vitesse maximale, je veux
qu'elle soit de 50 000, non ? Et maintenant, si je vais dans la
direction
et que je clique sur Simuler, vous pouvez voir si le
projectile se déplace Maintenant, la prochaine chose
que je veux faire changer la
taille du projectile Pour cela,
cliquez sur sphère. Taille pour chacun d'entre eux, je veux la changer à 2,15, non ? C'est pourquoi j'ai
sélectionné ces icônes, afin qu'elles changent toutes ensemble. 0,15 est largement suffisant car c'est un petit
projectile, non ? La couleur pour cela, je veux créer un matériau. Ici, je vais cliquer sur
créer un matériau. Je vais l'appeler Red. C'est ça. Je vais
cliquer dessus pour l'ouvrir. Et ici, ce que je veux
faire, c'est un arbre entier sur tête de
notre clavier, tout en
bas à gauche, pour créer un
vecteur constant dont nous pouvons changer la couleur
si vous vous connectez
à la couleur si vous vous connectez
à Maintenant, nous pouvons cliquer
ici et choisir le rouge. Il suffit d'y ajouter du rouge. Vous pouvez voir que non, c'
est une sphère rouge, mais je veux aussi qu'elle brille
un peu. C'est pourquoi nous avons besoin
de la couleur émissive. Nous pouvons simplement
les associer à une couleur émissive, mais elle ne brillera pas tant que ça Voyons et regardons-le. Vous pouvez voir qu'il
brille un peu. Mais si vous le multipliez par une très grande valeur, disons
200 et
que vous le connectez
à une couleur missive,
non, vous pouvez voir qu'il
brillera davantage Assurez-vous de l'enregistrer et d'
accéder à AntiIrgonPjectile, cliquer sur la sphère et de
changer le matériau Nous y avons donc mis le rouge, non ? Maintenant, avec ça, je
veux changer la collision. À l'heure actuelle, il bloque
toute dynamique. Je souhaite le
remplacer par un préréglage personnalisé et je souhaite tout bloquer. Mais si la collision le permet, je veux que ce soit uniquement une requête, afin qu'il ne
pousse pas physiquement ou qu'il ne soit pas propulsé par hélicoptère, cela créera beaucoup de robots. C'est pourquoi nous voulons le
mettre sous forme de requête uniquement. Et le type d'objet, nous voulons qu'il soit plus dynamique, et nous voulons tout bloquer. C'est ça, c'
était pour une collision. Maintenant,
sauvegardons et compilons. Allez à Aventurap ici, chaque fois que le
mouvement du projectile est arrêté, nous pouvons descendre et le
faire Nous avons donc un événement tout moment ou un projectile
sur quelque chose, non ? Ici, nous pouvons simplement obtenir le
résultat escompté et nous voulons infliger
des dégâts lorsqu'il
touche quelque chose, n'est-ce pas ? Dites donc « appliquez des dégâts ». Pour ce qui est de l'ampleur des dégâts que
je veux que celui-ci cause, je veux le mettre sur 0,5 pour le moment, mais nous le modifierons plus tard. Et l'acteur à qui nous voulons infliger des dégâts est celui
que nous avons touché. Alors Dragon, déposez l'acteur
principal ici. Après avoir infligé un dommage, nous pouvons simplement le détruire, non ? Détruire l'acteur. C'est
tout ce que nous devons faire. Non, commençons simplement par
compiler, enregistrer. Rien ne se passera parce que
nous ne sommes pas encore en train de frayer. Mais encore une fois, si vous accédez à notre
fenêtre d'affichage et que vous faites une simulation en tête, vous pouvez voir à quoi cela ressemble Tu peux voir. Non,
voyons comment nous pouvons le générer. Nous
allons le faire ensuite.
40. 39 Faire feu aux canons: Non, pour une apparition
ou un projectile, et tirez en direction de notre hélicoptère Passons simplement à notre compte BPN, assurez-vous de tout enregistrer Et ici, chaque fois que
la cible est à portée et que nous la
définissons comme vraie, nous voulons régler un chronomètre Réglez donc une minuterie ici. Par événement, toutes les 0,05 seconde, nous voulons que cet événement
se produise en boucle, et il nécessite un événement personnalisé Ajoutons donc simplement
l'événement personnalisé. Je veux appeler ça du feu. Donc, avec ce chronomètre, toutes les 0,05 seconde,
nous tirons par-dessus un pistolet Du côté droit ou du côté gauche. Vous pouvez voir qu'il y a
deux barils ici. Donc l'un ou l'autre n'
a pas d'importance, n'est-ce pas ? Non, nous avons ce chronomètre. Nous pouvons simplement le promouvoir en
variable car à un moment donné, nous devons arrêter ce chronomètre. Et je veux appeler ça un
minuteur, non ? Et si la cible
sort de la zone de tir, nous voulons obtenir notre
chronomètre et, là, éliminer un crapaud, effacer et
invalider le Non, une fois cela fait,
utilisons simplement une chaîne d'impression pour
non et disons fire, d'
accord, et lors de la compilation et de la
sauvegarde pour voir ce qui va se passer. moment, comme l'
hélicoptère n'est pas à portée, je ne dirais rien, mais si nous nous en approchons,
voyons ce qui va se passer. Il est écrit « feu, feu, feu », et si nous
sortons encore une fois de la zone de tir, le chronomètre s'arrêtera. Regardons-le
simplement. Non, vous pouvez voir le chronomètre s'est arrêté et
qu'il ne nous tire pas dessus. Maintenant, nous savons qu'il
essaie de tirer sur nous
lorsque nous sommes à portée, et qu'il ne tirera pas sur nous
lorsque nous ne sommes pas à portée. Non, nous ne voulons pas
utiliser d'imprimante. Nous voulons faire apparaître une
balle, un projectile. Donc, pour ce faire,
nous devons trouver la position à l'extrémité de
ces deux barils, n'est-ce pas ? À la pointe de ces armes. Il
y a donc de nombreuses façons de le faire. Je veux te montrer une nouvelle voie. Ici, nous pouvons simplement
cliquer sur le maillage squelettique, ajouter un composant de scène ici. C'est juste pour la localisation. Celui-ci, je veux l'
utiliser pour le pistolet gauche. Il suffit de mettre la gauche dessus. Et comme il s'agit
d'un enfant d'un maillage squelettique, nous pouvons lui attribuer une douille. Donc, ici, je veux l'
attribuer à Gun Joint. Maintenant, vous pouvez voir qu'il est
aligné avec le joint de notre canon. Nous pouvons le soulever et le
placer sur le bout du pistolet gauche. L'icône de gauche est celle-ci, non ? Mettons-le donc dans
la bonne position. C'est 230 moins dix, non ? Maintenant,
dupliquons cela et
faisons-le également pour le bon pistolet. Donc, contrôlez D pour le dupliquer et changez le nom
en « right go », non ? Encore une fois, le support parent, nous voulons que ce soit un
joint de pistolet comme celui-ci, et nous voulons le placer de ce
côté, n'est-ce pas ? Maintenant, vous pouvez voir que le
pistolet droit est au bon endroit, et le pistolet gauche est également au
bon endroit. Maintenant, nous avons les
endroits où nous lançons un feu, une apparition
ou un projectile Non, avec ça,
allons-y. Sur ce feu, ce que nous voulons faire utiliser une
tongs, non La première fois que nous voulons
apparaître sur le côté gauche, deuxième fois, nous voulons apparaître
sur le côté droit C'est pourquoi les
tongs fonctionneront bien. Donc non, faisons
d'abord celle de gauche. Ici, je veux créer
un acteur issu de la classe. L'acteur que vous voulez faire
apparaître s'appelle un projectile. Il y a un projectile à l'intérieur, un projectile
anti-air, non ? Pour transformer, parce que nous
voulons le faire pour la gauche, nous prenons le
pistolet gauche, et avec lui, nous en retirons le mot
transformer, le mot transformer et nous pouvons
simplement le relier à ici. Nous voulons faire de même pour le B, le bon
canon ou le bon coup. Donc, contrôlez C,
contrôlez
V pour le coller ici et le
connecter à B. Il contrôlez
V pour le coller ici et le
connecter à B. suffit de changer le passage de gauche à
droite pour en retirer le mot
transformer, n'est-ce pas ? Maintenant, avec ça,
voyons ce qui va se passer. Si nous compilons et exécutons. Non, si on s'en rapproche, voyons ce qui va se passer. Si on y va. Non, tu peux voir
que ça nous frappe, non ? Mais il n'y a aucun effet. Ça nous touche juste
avec une balle. n'y a aucun son.
Il n'y a rien Et vous pouvez voir
que si je m'en éloigne,
il ne pourra pas nous tirer dessus. Vous pouvez voir qu'il nous tire
dessus. C'est le feu qui nous est tiré dessus. Non, parce que nous nous en éloignons,
il ne pourra pas nous tirer dessus
parce que nous ne sommes plus
à portée. Non, le problème avec cette approche est qu'
elle est trop précise. Cela nous frappe toujours. Nous devons trouver un moyen
de le projeter dans un cône. Donc, toutes ces
balles ne nous atteignent pas. Il devrait donc sembler plus naturel de rater quelques
balles, non ? Le véritable anti-argon
est comme ça. Il y a une certaine tolérance, et dans la prochaine vidéo, nous y
ajouterons cette tolérance.
41. 40 Rendre la direction des projectiles de manière aléatoire: Non, pour avoir répandu
ces projectiles que nous produisons
parce que c'est Cela peut nous détruire s'il y en a plus d'
un, non ? Cela ne devrait pas être
aussi précis. Donc, pour modifier leur
précision, ce que je veux faire d'abord,
c'est de le faire pour le canon gauche. Je voudrais aborder un sujet
ici et expliquer ce que je veux faire. Je veux le déconnecter et, en cliquant avec le bouton droit sur
cette valeur de retour ici, diviser l'épingle, et avec elle, je veux également effectuer une transformation
ici. Procédez à
une transformation ici, non ? Donc, si nous relions simplement
tout emplacement à emplacement rotation à rotation et échelle à une échelle,
rien ne sera changé. Regardons-le simplement.
Rien ne sera changé. Il sera capable de
nous frapper complètement
avec beaucoup de précision. Vous pouvez voir avec quelle précision
cela nous frappe, n'est-ce pas ? Mais ce que je veux faire, modifier la rotation pour avoir une certaine
tolérance, changer la rotation. Je ne souhaite pas modifier
le lieu ou l'échelle. Je veux juste
modifier la rotation. Et pour ce faire,
je veux d'abord en extraire le
vecteur avant,
et je veux le rendre aléatoire
pour qu'il et je veux le rendre aléatoire
pour à regarde un peu de
gauche à droite de haut bas avec le nœud
appelé vecteur unitaire
aléatoire dans un
cône dans un rayon, n' est-ce pas Donc, ce qu'il va faire, c'
est notre vecteur
direct, il y ajoutera un peu de
tolérance dans un cône, un cône comme ça, n'est-ce pas ? La tolérance que je
veux ajouter, c'est que je veux qu'elle soit vraiment faible parce que s'il fait
un degré ici, ce sera beaucoup
plus loin, n'est-ce pas ? Je vais donc le mettre sur 0,08, est vraiment une petite valeur Donc, ce que fera ce nœud, c'est qu'il ajoutera de manière aléatoire à chaque fois une certaine tolérance
au vecteur avant, sorte qu'il tirera partout. Cela diffusera les projectiles. Après cela, nous pouvons créer
un rotateur à partir de celui-ci. On peut dire rotateur à partir de
X, non ? C'est ça. X est un vecteur direct. C'est pourquoi si nous
créons une tige à partir de X, cela fonctionnera et nous voulons le
connecter à la rotation. Juste sur ce point, si nous appuyons sur un
point et que nous nous en
rapprochons, le pistolet droit devrait nous
atteindre avec précision,
mais le pistolet gauche , comme
vous pouvez le voir,
frappe partout, et le pistolet gauche est moins
précis. Bien sûr, si nous nous en
rapprochons, il y aura plus de précision. Mais si nous nous en éloignons, vous pouvez voir que non, il y a beaucoup de tolérance, et cela ne peut pas toujours nous atteindre. Non, je veux faire de même
pour le côté droit. Alors laisse-moi t'apporter tout
ça ici. Je veux le supprimer, tout
copier, contrôler C, le
coller ici. Ce que je veux changer, c'est juste ce pistolet gauche que vous
voulez changer pour le pistolet droit. Non, disons-le simplement. Si vous lancez we game et que vous en
rapprochez,
voyons ce qui va se passer. Il diffusera toutes
les balles. Vous pouvez voir que ça ne nous
frappe pas toujours. Cela semble beaucoup plus réaliste. Dans la vraie vie, c'est comme ça. Ce n'est pas si précis que ça. Laissez-moi le voir une fois de
plus ici. Si tu t'en approches. Et vous pouvez voir qu'il
nous tire dans toutes les directions. S'il nous tire directement
dessus avec une
précision extrême, nous
mourrons en un rien de temps C'est pourquoi j'ai ajouté
toute cette tolérance, pour que cela paraisse plus naturel.
42. 41 VFX pistolet anti-air: Non, il est temps d'ajouter
des effets visuels. Voyons comment nous pouvons le faire. Pour certains effets visuels, laissez-moi accéder au
tiroir de contenu du dossier Assets. Si nous passons à Vehicle
East Art,
vous pouvez voir qu'il existe
un système***** que nous pouvons utiliser pour le tir ou les effets
visuels des armes à feu Attendons qu'il soit compilé et maintenant vous pouvez voir à quel point il est
beau Il a tout pour nous. Vous pouvez voir que ça a l'air vraiment génial. Nous voulons
l'utiliser, n'est-ce pas ? Passons donc à notre
antiirgon. Je veux cliquer sur le bon pistolet et y ajouter le système
Niagara. C'est ça. Le système Nagara l'a automatiquement mis là
parce que nous l'avons sélectionné ici C'est pourquoi il l'a
automatiquement mis là. Mais je veux
bien l'appeler museau, non ? Museau droit. Et il l'
a bien indiqué. La cadence de tir est
plus que suffisante. Non Si vous le regardez, vous pouvez voir qu'il
l'engendre là-bas. Mais comme c'est l'enfant
du bon pistolet, nous pouvons simplement mettre la position
à zéro, zéro et zéro. Maintenant, vous pouvez voir qu'il est
dans la bonne position. Ça a l'air génial,
non ? Et vous pouvez également voir qu'il y a des obus
qui s'éjectent. Ça a l'air vraiment génial. Nous voulons faire de même
pour le pistolet gauche. Contrôlez donc D pour dupliquer. Et celui-ci, je veux l'
appeler « museau gauche ». Il faudrait donc changer ça pour lever la muselière et la mettre
comme arme gauche ici Et encore une fois, cliquez dessus, changez la position en
zéro, zéro et zéro. Et maintenant, si vous allez
ici, vous pouvez voir, car les deux fonctionnent
bien au bon endroit. Ils tirent tous les deux. Tout semble bon, mais si nous renversons le jeu,
c'est toujours du tir. Vous pouvez le voir, il tire
toujours. Nous ne voulons pas qu'
il en soit ainsi. Nous voulons qu'il ait cet effet visuel chaque fois
qu'il est en train de filmer. Et la façon dont nous pouvons le faire
est en fait simple. Donc, ici, par défaut pour le museau gauche et le
museau droit, nous voulions dire qu'ils ne
doivent pas être activés par Changez donc l'
activation automatique en false, et maintenant vous pouvez voir qu'il n'
y a aucun effet Et si vous lancez un jeu, vous pouvez voir qu'il n'
y a aucun effet Mais chaque fois qu'il commence à se déclencher, nous devons les activer. Nous pouvons donc les obtenir tous les deux comme
ça et les activer, les activer c'est tout. Et nous voulons l'activer. Ensuite, lorsque l'hélicoptère est à portée et que nous voulons commencer
à tirer, n'est-ce pas ? Nous voulons tous les deux
qu'il soit actif. Et nous pouvons simplement le
copier-coller et le coller ici. Non, nous avons besoin d'espace. Laissez-moi sélectionner tout cela,
ajouter de l'espace ici. Et chaque fois que la cible n'
est pas à portée, nous ne tirons pas dessus Nous voulons
donc désactiver ces
deux effets visuels, n'est-ce pas ? Et c'est tout ce que nous
devons faire. Commençons simplement par compiler, enregistrer et exécuter. Vous pouvez le voir par défaut, il
n'y a aucun effet visuel. Mais si tu t'en rapproches. Voyons ce qui va se passer. Non, vous pouvez le voir,
il nous tire dessus, et il y a aussi
des effets visuels, et ça marche bien. Non, les effets visuels
exagérés fonctionnent bien, mais ils ne produisent aucun son
lorsqu'on tire avec une arme. Le feu, c'est un pistolet.
Voyons maintenant comment nous pouvons y ajouter du son.
43. 42 Son de feu de canon: Non, il existe des
effets visuels anti-argon, mais nous n'avons aucun son. Voyons comment
créer le son. Accédez au
tiroir de contenu, et ici,
descendez dans Argon,
et ici, cliquez avec le bouton droit de la souris
pour créer un nouveau dossier. Je veux appeler ça des sons. OK. Double-cliquez
dessus pour l'ouvrir, cliquez avec le bouton droit de la souris, cliquez ici, passez à l'audio
et créez une source Metasund Je veux l'appeler Sti
Air Gun Fire, non ? Double-cliquez dessus pour l'ouvrir. Et ici, je veux
utiliser un lecteur Wave. Comme toujours, nous partons
d'un wave player. La vague à laquelle vous
voulez jouer
s'appelle 50 BMG si vous la jouez C'est juste comme ça, non ? Ensuite, nous voulons connecter
l'oat mono à l'oat mono. Et cette fois, inachevé ou
inachevé, non ? Lorsque nous mettons quelque chose en boucle, nous ne devons absolument pas relier
l'inachevé Mais si vous n'êtes pas en train de mettre
quelque chose en boucle et que nous voulons que quelque chose se produise une fois que nous aurons fait le
lien entre l'inachevé et l'inachevé Non, comme nous n'avons
qu'un seul son ici, il ne sonnera pas très bien. C'est pourquoi je souhaite modifier le ton de
manière aléatoire. Donc ici, je vais
rechercher un flottant aléatoire, non ? Et ce flottant aléatoire nous
donnera une valeur de 0 à 1. Je ne veux pas que ça se passe comme ça. Je veux qu'il soit compris entre
0,1 et deux, non ? Il
sélectionnera au hasard une valeur flottante. Donne-le-nous ici
et on en fera un argumentaire. Ainsi, chaque fois que ce
son métallique sera joué, il changera de couleur. Non, ils ont besoin d'une épingle à arbre, alors
donnons-leur simplement l'épingle, et ensuite, jouons le son. Maintenant, si vous avez joué, vous
pouvez voir que cela fonctionne bien. Non, faisons preuve de prudence
et voyons comment nous pouvons l'utiliser. Retournez à BP Anti Argon. Et ici, dans les deux cas,
nous voulons générer
du son sur place, générer du son sur Et la chanson que nous voulons
jouer s'appelle MsonTirgnFre. Pour la localisation, nous pouvons
utiliser la position que nous avons
transmise à cette note de
projectile Span, n'est-ce pas ? Nous pouvons simplement le
glisser-déposer, le
casser et utiliser
son emplacement, n'est-ce pas ? La prochaine chose que je veux faire ajouter un réglage
d'atténuation. Nous l'avons d'avant. Le missile SA fonctionne également
pour celui-ci. Alors mettons-le simplement là. Maintenant que c'est fait, je
veux également copier et coller celui-ci ici pour
le bon pistolet. J'ai besoin d'un emplacement. Nous
pouvons simplement l' interrompre et utiliser son emplacement
pour l'emplacement. Et l'atténuation du son
est également correcte. Non, testons. Si vous aviez compilé,
sauvegardé et exécuté le jeu. À l'heure actuelle, il n'y a aucun son
si vous vous en approchez. Vous voyez qu'il y a une note sonore. Et si vous vous en éloignez, le volume du son
sera également modifié. Je veux changer certaines choses. Cette atténuation sonore
que nous
utilisons ici n'est pas
suffisante, elle n'est pas bonne Créons simplement une atténuation du
son juste pour cela,
cliquez ici avec le bouton droit de la souris, passez à l'audio et créez
une atténuation sonore Je veux appeler ça
un coup de feu, non ? Ne cliquez pas dessus pour l'ouvrir. Et ces valeurs,
testons-les simplement avec ces valeurs. Retournez à BPT Airgon et choisissez l'atténuation sonore que nous
créerons ensemble. Ici aussi, l'atténuation du
son doit se transformer
en coup
de feu Maintenant, testons cela. Si nous lançons notre jeu, approchons-nous de la situation. Vous pouvez voir qu'il n'y a aucun son, mais si nous nous en approchons, nous pouvons l'entendre non. Vous pouvez voir l'atténuation du
son ce moment, c'est trop fort. C'est 400, c'est beaucoup
moins que ce que nous voulons. Peut-être que 1008 000 est mieux pour le rayon intérieur
et le rayon extérieur Testons simplement cela non. Si nous examinons
le jeu et que nous
y passons, il y a un peu de son, et le son devient plus
lourd
et plus volumineux, et vous pouvez voir
que cela sonne
bien mieux, non ? Les 1008 000
sont donc largement suffisants.
Tu peux juste le fermer. une autre chose que
je veux faire ici parce que nous utilisons
une minuterie ici. Sur ce feu, encore une fois, je veux vérifier si la
cible est valide ou non. Si nous ne le faisons pas,
cela peut parfois nous donner une erreur. Nous obtenons donc la cible et nous vérifions si elle est
valide ou non, non ? Et connectez-le comme ça. S'il est valide, nous
pouvons tirer dessus. Mais si ce n'est pas
valide, nous ne tirons pas, et ce que nous
voulons faire, désactiver l'effet visuel. Contrôlez C Control V pour coller ces nouveaux effets visuels
actifs sur des défauts comme celui-ci. Donc, si la cible doit être détruite et que ce chronomètre
ne le sait pas, il nous avertira. Je ne veux pas que vous
receviez ces avertissements. C'est pourquoi nous vérifions
sa validité à chaque incendie. Cela évitera de nombreux bugs.
44. 43 Système de santé Helli: Aucun Antigone ne nous frappe. Voyons comment nous pouvons avoir un système de santé pour le prouver,
pour diminuer l'état
de santé de notre hélicoptère, n'est-ce pas ? Pour ce faire, je veux
aller sur BP Hell et ici, aller sur le graphe des événements,
trouver de l'espace. Par exemple, ici, cliquez avec
le bouton droit sur l'événement
A damage, n'est-ce pas ? Et je voudrais utiliser
une imprimante juste
ici pour montrer les dégâts
que cela nous cause, Si vous lancez notre jeu, non et que vous vous
rapprochez de notre antirègne, voyons combien de
dégâts il nous infligera 0,5 à chaque fois, non ? Ça ne sonne pas bien. Donc, ce que nous pouvons faire, c'est accéder à Event Craft et répartir aléatoirement
ces dégâts de base Donc, ce que je veux faire ici, est
utiliser un float aléatoire. Mais je veux qu'il soit
à portée, non ? Je ne veux pas que ce soit trop. Je veux qu'il soit compris entre
0,3 et 0,8, non ? Juste comme ça, il suffit de
compiler la sauvegarde et de savoir
si vous écrasez le jeu, chaque fois cela nous
infligera dégâts différents,
n'est-ce pas, au hasard. Et vous pouvez voir que c'est une
valeur comprise entre 0,3 et 0,8, et vous pouvez voir
ce que cela nous rapporte, n'est-ce pas ? Non, si c'est le cas, nous n'avons pas
besoin de cette chaîne d'impression. Ce que je veux faire, c'est
créer un système de santé. Créons donc simplement une variable et je
veux l'appeler santé. Hein ? Et
je veux que ce soit le type flottant. Ensuite,
créons-en un autre. Celui-ci, je veux l'appeler
Max Health, non ? Non, la santé maximale, je veux que ce soit pour non. Disons juste 80, non ? Quelle que soit la valeur que vous
voulez, vous pouvez y mettre. Et pour ce qui est de la santé, je veux
qu'elle soit de 40 ans, non ? C'est ça. Maintenant que c'est fait. Tout d'abord, nous voulons vérifier si
l'état de santé est supérieur à zéro. Donc, ici, nous vérifions si l'
état de santé est supérieur à zéro, utilisons simplement une branche. Comme ça. Si la santé
est supérieure à zéro, nous pouvons la
diminuer de cette façon, obtenir, en soustrayant
ce nombre de dégâts Après cela,
enregistrez-le en lui-même. Sauvegardez-le ici comme ça. Cool. Après cela, nous voulons
vérifier l'état de santé de cette façon. S'il est inférieur
ou égal à zéro, nous voulons enregistrer avec la branche. Qu'il soit détruit. Et ici,
utilisons simplement une chaîne d'impression. Bon sang, détruit. Nous ne voulons pas le
détruire pour l'instant, mais vous pouvez en voir l'utilité dans
le système de santé, n'est-ce pas ? Maintenant, si vous aviez compilé une
sauvegarde et que je voulais faire, je voudrais accéder à la base de données du
débogage que nous avons créé, nous avons indiqué le numéro du
missile Cette fois, je veux
montrer mon état de santé, non ? Et la valeur ici, je veux y mettre zéro
pour que nous
puissions l'utiliser pour autre
chose, n'est-ce pas ? Et pour la clé, je vais
juste y mettre une ficelle. C'est ça. Non, nous voulons
montrer notre état de santé. Mettons-y donc simplement la santé et
y connectons
l'épingle d'exécution. Il suffit de compiler et d'exécuter. Vous pouvez voir que l'état de santé est de 14. Si nous nous rapprochons, vous pouvez voir comment il
diminue. Vous pouvez voir que c'est 25 et non, c'est un qu'il a détruit. Ou la santé de l'hélicoptère
diminue jusqu'à ce qu'il soit détruit. Maintenant que nous avons
un système de santé, nous devons créer une interface utilisateur pour
celui-ci. Nous allons le faire ensuite.
45. 44 Interface utilisateur de la barre de santé: Non pour l'ajout d'une barre de santé. Voyons comment nous pouvons le faire. Où est-ce que je veux le faire ? Permettez-moi d'accéder au
dossier Hali dans le widget. Nous avions un WBPHAUI. Je veux ajouter une barre
de santé ici. Pour ce faire, nous avons besoin d' une barre de progression ajoutée
à la pile Canvas. Le point d'ancrage semble bon. Je voudrais y ajouter un peu de
rembourrage,
50 et 50, je pense que c'est bien Nous avons donc un peu de rembourrage ou un espace entre la
frontière et notre sanglier Maintenant, pour ce qui est de sa taille, je veux
qu'il soit de 800 x 20 comme ça. Tu peux voir. Et
changeons simplement le pourcentage à 0,5. Vous pouvez voir que le pourcentage
est une valeur de 0 à 1. Si vous y mettez 0,5, la moitié sera pleine. Maintenant, pour ce qui est de sa couleur, je voulais le mettre sur du vert. Mettez donc le vert à un
et mettez le bleu à zéro. Cela
nous donnera donc une valeur verte. Nous pouvons l'
assombrir un peu pour qu'il soit plus
beau. C'est ça. Non, pour que ça soit plus beau, je veux passer
à la transformation. Tout d'abord, je veux changer le pivot à zéro ou zéro
, n'est-ce pas ? Par défaut, le pivot
est au milieu, mais je voulais le placer dans le coin
supérieur gauche avec
zéro et zéro, non ? Après cela, je voudrais le
partager un peu comme ça, 35 ans, non ? Je trouve que ça a l'air génial. Maintenant que c'est fait, nous
devons lui donner un nom. Je veux l'appeler barre
de santé, non ? Et nous avons besoin que ce soit une variable pour pouvoir mettre à jour sa valeur. Passons donc au graphique. Comme nous l'avons fait pour ce set, il
prend le dessus sur le nombre de missiles. Nous devons également créer une fonction
pour celui-ci, et je voudrais l'appeler
Update Health, n'est-ce pas ? Et l'entrée de cette valeur
est une valeur flottante. Alors changez le type
en float et je veux l'appeler santé, n'est-ce pas ? Cette santé doit
être une valeur de 0 à 1, car nous voulons définir la
barre de progression de la santé comme celle-ci avec un pourcentage défini,
cette valeur, n'est-ce pas ? Connecté comme
ça. Nous devons donc nous rappeler que cette
santé est une valeur de 0 à 1 Pour que vous vous en souveniez, nous pouvons cliquer sur la fonction et accéder à la description ci-dessous pour
dire que la santé est de 0 à 1, n'est-ce pas ? Mettez-le là, pas de
tête de compilation, sauvegardez. Maintenant que nous l'avons,
si vous écrasez le jeu, vous pouvez y voir le tableau de
santé, mais il ne se met pas à jour. Si nous nous retrouvons dans notre enfer de tension artérielle, quel que soit l'endroit où nous
modifions notre état de santé, nous devons également
le mettre à jour. C'est ici que nous changeons
la santé. Après avoir modifié l'état de santé, nous devons le mettre à jour. Laisse-moi faire de la place ici. Nous avons le LUI, alors compris, et il contient une fonction appelée update Health,
et nous savons que la
santé est une valeur de
0 à 1 à l'intérieur ou un HelUI parce que
c'est juste une personne, Mais pour le moment, la
santé est une valeur 0 à 80 car le maxf est de 80, donc la santé est une valeur Comment pouvons-nous modifier
cette santé en fonction de la santé maximale comprise entre 0 et 80
et zéro contre un Comment faire cela, nous pouvons notre santé ainsi par la santé maximale,
divisée par la santé maximale, et cela nous donnera une valeur de 0 à 1 Si la santé est nulle, nulle, divisée par ce que cela nous
donnera zéro, la santé
sera nulle. Si la santé est de 40,
par défaut, elle est de 4040/80, cela nous
donnera 0,5 et la santé
sera Mais si la santé est de 80
et que le maximum est de 80, 80/80, cela nous en donnera un Une autre chose que je veux faire, de copier celui-ci, et au début de la partie, laissez-moi trouver la pièce de
début ici. Nous voulons mettre à jour l'état de santé
avant tout cela, n'est-ce pas ? Nous voulons mettre à jour l'état
de santé en fonction de sa valeur. Contrôlez V pour le coller
ici et mettre à jour l'état de santé. Maintenant, si je change la santé 40 à 20 et que je dirige la compilation
et l'exécution du jeu, non, vous pouvez voir que la barre de progression ou la
barre de santé est à 20 % Aucune laisse ne s'en approche
avant qu'elle ne nous détruise. Vous pouvez voir que la
santé diminue,
et après cela, il est écrit « soignez, détruisez ». Donc ça a l'air génial. Nous avons une barre de santé, et non, lorsque la
santé atteint zéro, nous voulons détruire notre hélicoptère.
Voyons comment nous pouvons le faire. Suivant
46. 45 Détruire l'Helli: Non pour avoir détruit notre hélicoptère chaque fois que la santé atteint
zéro ou est inférieure à zéro. Voyons comment nous pouvons le faire. Pour ce faire,
nous avons tout d'abord besoin d'un hélicoptère détruit. Passons simplement au
tiroir de contenu de Blueprint. Je veux cliquer avec le bouton droit sur Créer une classe de plan cette
fois sur le type d'acteur, et je veux l'appeler Healy
endommagé par BP, n' Je vais cliquer dessus pour l'
ouvrir ici. Je veux ajouter aesticmsh car hélicoptère
endommagé
est Ajoutez donc un maillage statique. Je veux le faire glisser et le
mettre comme racine de scène par défaut. Et ici, le maillage statique
que je veux utiliser
s'appelle Hell Damage SM
West Heli Damaged, et vous pouvez le voir ici. Maintenant, je voudrais y ajouter un système de
particules en cascade, ajouter là, et le système en
cascade que vous
voulez créer est un enfer sur PS, n'
est-ce pas ? Il suffit de le mettre là. Maintenant, c'
est le plan que nous voulons utiliser chaque fois que notre
hélicoptère est détruit Mais cliquez sur le maillage statique et dites-lui de simuler également
la physique. Donc, si vous êtes dans le ciel et que nous faisons apparaître cet hélicoptère
détruit, il touchera le
sol par la suite Non, il suffit de compiler, sauvegarder, et vous pouvez
simplement fermer ceci. Maintenant, si vous allez sur BPhlli, je veux créer un événement personnalisé pour détruire Ici, je vais
cliquer avec le bouton droit de la souris pour créer un événement personnalisé, n'est-ce pas, et enregistrer
Destroy Hale, n'est-ce pas ? Détruis-le Hali. Et ici, première chose que je veux faire, créer un système
sur place, non Créez une explosion, et
le système que je souhaite utiliser
s'appelle
Niagara Dust Explosion. Et l'emplacement de celui-ci, nous pouvons obtenir l'emplacement de l'acteur, obtenir l'
emplacement actuel de l'acteur que cela nous
donnera et nous
connecter à ici. Ensuite, je veux générer un son, donc étendre le son à l'emplacement Et le son que
nous voulons utiliser s'
appelle ES grand explosion. C'est ça. Et pour ce qui est de son
emplacement, nous pouvons utiliser
celui-ci. Et c'est tout. Non, c'est la prochaine chose
que je veux faire. Enfin, je voudrais créer cet acteur que
nous avons créé et qui
s'appelle «
hélicoptère endommagé », n' est-ce pas ? Alors cliquez ici et
recherchez Damage Damage Hell. Il suffit de le mettre là. Pour
la transformation de l'intervalle, nous pouvons obtenir la
transformation de l'acteur comme ça. Et après tout cela, nous pouvons complètement détruire notre
hélicoptère. Cela fera donc apparaître un autre acteur et
détruira l'hélicoptère principal Commençons simplement par compiler, enregistrer. Non, au lieu de cette
chaîne d'impression que nous disons héli destroy, nous voulons utiliser destroy Healy,
pas destroy actor, destroy Voyons ce qui va se passer. Head, compilez, sauvegardez
et exécutez le jeu. Maintenant,
approchons-nous de la fin du niveau supérieur, pour que vous puissiez voir qu'il nous
a détruits, et vous puissiez voir à quel point
il est beau . C'est vraiment génial. Aucun hélicoptère ne peut être détruit.
47. Pointe Helli 46 sur les dommages: Non, je veux détruire notre hélicoptère chaque fois qu'
il se renverse. Laisse-moi te montrer où. Si nous montons dans le
ciel et que nous le faisons, nous voulons que l'hélicoptère soit également détruit.
Alors, comment pouvons-nous le faire ? Pour ce faire, je veux
aller dans la fenêtre d'affichage, afin que vous puissiez voir les lames Je veux cliquer sur le maillage
lors d'une collision de capsules, ajouter la collision de capsules. Et je ne veux rien lui
donner de nom. Je souhaite utiliser une
douille mère du joint principal du rotor. Maintenant, vous pouvez le
voir ici, n'est-ce pas ? Je veux le faire pivoter comme ça de
90 degrés autour du Yaxs. Cela signifie le pitch, non ? savez qu'avec ça, je
veux mieux le positionner, soulever comme ça et changer le
point d'
arrêt jusqu'à ce qu'il atteigne, par
exemple, ici, n'est-ce pas ? Et je sais que
si je vais ici et que je dis que cela ne doit pas être caché
dans le jeu, que se passera-t-il ? Il tournera avec une lame.
Vous pouvez le voir ici. C'est sur notre lame. Si nous démarrons le moteur, vous pouvez voir qu'il tourne
complètement ou que la lame tourne complètement. Je veux qu'il soit
caché dans le jeu. Donc, sachez que chaque fois que cette
collision de capsules touche le sol, nous voulons dire « détruisez
l'hélicoptère », n'est-ce pas ? Donc, ici, je veux aller sur le
graphe de ventilation et ici, descendre. Jusqu'à ce que vous atteigniez le préréglage de
collision, je souhaite le modifier en mode personnalisé. Nous voulions dire qu'il faut tout
superposer
, mais pas le véhicule. Et en cas de collision, je veux que ce soit une requête et une
physique
activées par collision . C'est ça. Non, une fois cela fait, nous
pouvons descendre et faire en sorte que le composant commence à se chevaucher,
n'est-ce pas ? Juste comme ça. Utilisons simplement un anneau d'impression pour voir si cela
fonctionne bien ou non. Bague d'imprimante Dis bonjour, non ? Si nous renversons
le jeu et le
renversons, voyons juste ce qui va se passer. Cela ne dit rien parce que notre niveau ou notre paysage
ignore la collision avec lui. Donc, pour résoudre ce problème, cliquez sur le paysage. Ensuite, dans le panneau détaillé, descendez jusqu'à ce que vous atteigniez
la section de collision de notre paysage ici et
dites-lui de générer un événement de
chevauchement, n'est-ce pas ? Dites-lui de générer,
et c'est tout. Maintenant, si nous appuyons sur Sauvegarder
et sur Runo Game, non, si vous renversez,
voyons ce qui va se passer Il devrait dire bonjour, non ? C'est dire bonjour. Tu peux le voir. Non, nous savons que notre capsule détecte si vous êtes en train de
basculer par terre, n'est-ce pas ? Mais une autre chose
que je voudrais faire, cet autre acteur pour que cette capsule entre en collision avec deux
projectiles anti-air BP pendant que je le fais parce que le
pistolet anti-air nous tire dessus et que si une balle
traverse cette capsule, elle détruira notre hélicoptère Nous ne voulons pas que cela se produise. Donc, avec ce casting, nous vérifions. S'il s'agit d'un
projectile anti-air, ne faites rien. Mais si ce n'est pas un projectile
anti-air, si c'est n'importe quoi, vous pouvez
détruire l'hélicoptère, non ? Détruisez Hel, dans ce cas. Maintenant, si vous
renversez le gibier et que vous vous approchez de notre antiirgon ou anti-ergon vous pouvez nous tirer dessus et
réduire Vous pouvez voir que cela réduit notre santé et
détruit l'hélicoptère, mais cela ne le détruit pas parce qu'
il
tire sur la lame. Maintenant, si vous renversez, nous verrons ce qui va se passer. Et vous pouvez voir que non, lorsque nous renversons, nous
détruisons l'hélicoptère. Le problème à
l'heure actuelle, c'est que l'aide n'est pas
actualisée lorsque nous la détruisons, et le nombre de
missiles est là. Voyons donc comment
nous pouvons résoudre ce problème. Pour résoudre ce problème, lorsque
nous détruisons l'hélicoptère ici
avant de détruire l'acteur, nous
voulons obtenir l'interface utilisateur et définir la visibilité dessus,
régler la
visibilité pour qu'elle ne soit pas complètement
visible, n'est-ce pas ? À cacher. Nous n'avons pas besoin
de ramener l'état de santé à zéro. Il suffit de le changer en masqué, non ? Maintenant, si vous avez compilé,
exécuté et basculé,
voyons ce qui va se passer. Vous pouvez voir les barres de
santé disparaître. Non, nous avons une imprimante
que nous voulons déconnecter parce que je
veux que mon jeu soit propre. Cela montre donc la
santé. Non, c'est ça. Chaque fois qu'un hélicoptère se renverse, il est également détruit.
48. 47 Son de coup de projectile: La prochaine chose que j'ai envie de faire chaque fois que ces projectiles
antiarmes nous frappent, d'avoir une chanson Donc pour ce faire, avant de
détruire le projectile, ce que je veux faire, c'est émettre un son sur
place, À quel endroit du point d'impact où il a heurté l'hélicoptère, n'est-ce pas ? Le son que vous voulez jouer, si vous descendez, s'
appelle metal hit. Si vous y jouez, vous
pouvez voir que c'est tout. C'est ce que nous voulons utiliser. Et je veux en attribuer la
tonalité au hasard pour
que la roue ait un
aspect plus naturel Donc ici, je veux utiliser
un flottant aléatoire dans la plage, et je veux qu'il soit compris entre
0,1 et deux, non ? Non, si vous cliquez sur Compiler et enregistrer un jeu Runo,
voyons ce qui va se passer Si nous allons dans le ciel, vous pouvez voir que lorsqu'il nous frappe, il y a un son, mais il
y en a beaucoup. Ça ne va pas. Ce que
je voulais faire, je voulais que certains de ces sons se produisent et que d'
autres ne se produisent pas. Et comment nous pouvons
le faire, voyons voir. Je souhaite utiliser l'un de ces nœuds
générateurs de valeurs flottantes
aléatoires , comme ce nœud de plage flottante
aléatoire. Et je veux que cette
valeur soit comprise entre 0 et 100, afin que vous la
compreniez mieux Donc, ce que je veux faire, c'est vérifier ce nombre aléatoire chaque fois qu'il
heurte l'hélicoptère. Et s'il est supérieur à 80, nous voulons
le vérifier auprès d'une succursale. Hein ? Nous voulons jouer le
son, générer le son Mais si c'est faux, il suffit de détruire l'acteur, détruire le projectile
et de ne pas émettre de son Alors, que va-t-il se passer avec ça ? Dans 20 % des cas, il y aura un son lorsque le
projectile atteindra l'hélicoptère Mais 80 % des fois où le
projectile touche l'hélicoptère, il n'y aura aucun son, et cela semble plus
naturel Si vous lancez un jeu
et que vous le regardez, approchons-nous de lui. Vous pouvez le constater, parfois cela
se produit et parfois
cela ne se produit pas. Et je pense que
cela semble tout à fait naturel. Mais si vous voulez que cela
se produise toujours, vous pouvez simplement le connecter
directement à ici. Tu n'as pas besoin de faire ça.
49. 48 Destruction du canon antiaérien: Il n'y a aucune autre chose que
nous voulons faire. Nous voulions pouvoir
détruire le canon antiaérien
avec notre hélicoptère. heure actuelle, Antiirgon peut nous
détruire et nous pouvons aussi nous
détruire nous-mêmes. Mais on ne peut pas détruire le système anti-air.
Voyons comment nous pouvons le faire. Pour ce faire, je veux
aller dans le tiroir de contenu,
aller dans AntiIrgonFolder,
aller Nous devons créer le pistolet anti-air
endommagé, non ? Donc, en cliquant avec le bouton droit ici, créez une classe de plan de type d' acteur et je veux l'appeler BP Pistolet anti-air endommagé, non ? Ne cliquez pas dessus pour l'ouvrir. Ici, je veux
ajouter un maillage statique. Juste comme ça, je
veux le sécher, le
déposer et le mettre
comme snroot par défaut Le maillage statique que vous
voulez y mettre
s'appelle « SMEs art damaged », n'est-ce pas ? C'est celui-là. C'est juste
du matériel, non ? Maintenant, avec cela, nous devons également
ajouter un effet Niagara Et pour l'effet que
vous souhaitez étendre,
on parle de NS East RT
damaged. C'est ça. C'est le plan
que vous voulez
créer pour un
pistolet antiaérien endommagé Non, une fois cela fait, nous devons réellement
endommager notre pistolet antiaérien. Et lorsque le missile
touche l'antiirgon, nous voulons faire apparaître l'antiirgon
endommagé, n'est-ce pas ? Pour ce faire, nous devons
aller dans le dossier Hell, accéder à Blueprints et
ouvrir notre système de missiles, c'est
vrai, le missile qui se trouve ici Avant de
tout créer, je veux créer un espace ici Quand le projectile s'arrête,
que voulez-vous faire ? Nous voulons endommager la radio. Donc, recherchez Appliquer les dommages
à la radio au début de
cet événement, n'est-ce pas ? L'endroit où nous voulons que ces dégâts infligés se produisent est l'endroit où ce projectile
ou missile s'arrête, n'est-ce pas ? L'emplacement est donc
largement suffisant. Les dégâts de base n'
ont qu'une valeur, 25, par exemple. Le rayon de dégâts, je
veux le mettre à 600. Donc, avec ce rayon de dégâts, si ce missile explose
dans un rayon de 600 centimètres ou six mètres
près de notre anti-argon,
l'anti-argon
sera détruit, l'anti-argon
sera détruit Ensuite, ils ignorent les acteurs. Je veux créer une
autoréférence à moi-même et en faire un
tableau, tableau juste avec cette entrée et
lui dire de s'ignorer. Et le responsable des dégâts, nous voulions également
le configurer pour qu'il soit ce missile infernal, n'est-ce pas ? Maintenant que c'est fait, si vous utilisez un pistolet
antiaérien et que vous trouvez de la place ici, par
exemple, et que vous
recherchez
des dégâts radio, nous avons des
dommages radio événementiels, n'est-ce pas ? Donc ici, utilisons simplement
une chaîne d'imprimante et disons pistolet
anti-air, détruisez-le, non ? Et je veux le rendre rouge, que vous le voyiez mieux
comme dans ce jeu de run over. Maintenant, si nous tirons près
de lui dans un rayon de 600, près de lui, il
sera détruit. Mais en ce moment, vous pouvez
voir que nous sommes en train de l'atteindre, mais cela ne veut pas dire que l'
antiaérien a été détruit. La raison pour laquelle
cela ne se produit pas, c' est parce que
les dommages radiaux ne se produisent pas, c'est à cause du maillage squelettique. Si vous descendez sur le panneau de détails, vous pouvez voir qu'il n'y
a pas de collision. Il suffit de le changer en personnalisé car il n'y a pas de
collision, n'est-ce pas ? Et tout d'abord, activer la
collision, nous
voulons qu'elle active la collision
en activation des collisions, et nous voulons changer
le type d'objet de Word Estatic
à Word Dynamic car aploal damage
ne fonctionne pas avec
ce Il va l'ignorer,
non ? Maintenant, avec cela, compilons-le, enregistrons-le et testons-le une fois de plus. Si nous allons dans le ciel
et que nous le tirons, non, vous pouvez voir que cela signifie que pistolet
anti-air est détruit. Et vous pouvez voir
que cela fonctionne bien. Non, nous ne voulons pas simplement
dire que le canon antiaérien a été détruit. Ce que nous voulons faire chaque fois que
le missile s'approche de lui, nous voulons faire apparaître ou
endommager un acteur, n'est-ce pas Donc, ici, recherchez un système anti-air
endommagé, endommagé, et pour le transformer, nous pouvons transformer l'acteur. Et après l'avoir engendré, nous pouvons simplement le détruire,
non ? Détruire l'acteur. Maintenant, si nous lançons un jeu, allons-y pour
voir ce qui va se passer. Vous pouvez voir qu'il a
été détruit. Tu peux le voir ? Ça a l'air génial. Nous avons
détruit l'antiargon.
50. 49 Correction de la collision d'un canon anti-air: Nous avons quelques
problèmes. Voyons voir. Si nous renversons le jeu et que nous nous
dirigeons vers Anti-Irgon, vous pouvez voir qu'il y a du son, mais l'aide ne diminue pas Quel est le problème ? Si
nous passons à Anti Ergon, vous
souvenez-vous que nous avons
cliqué sur Skeleton Mesh, et que nous sommes descendus et que nous avons
modifié la collision Et parce que nous
bloquons tout, les projectiles bloquent avec. Donc, ce que je veux
faire pour régler ce problème, c'est lui dire de tout
ignorer. Maille thématique de cet anti-ergon,
ignorez tout, non ? Juste avec ça, si nous allons dans
le ciel, il suffit de le regarder. Non, ça peut encore nous atteindre, vous pouvez voir, je peux nous frapper et
nous pouvons aussi le détruire. Mais il est difficile de le détruire car la santé n'
est pas trop bonne. Allons dans l'enfer de la tension artérielle
et changeons le mXL à 300, par
exemple, et
le point de vie à 200, n'est-ce pas ? Nous avons donc de
l'aide avec laquelle jouer. Maintenant, si vous écrasez le jeu,
détruisons-le. Pour voir s'il est
détruit, vous pouvez voir que non, il est de retour et que l'aide diminue, mais nous pouvons également le détruire. Nous n'avons pas besoin de cette collision
pour tout bloquer, donc nous pouvons la frapper, n' est-ce pas ? Non, c'est bien. Ajoutons-en un peu plus. Maintenez la touche Alt enfoncée, glissez-déposez et créez-en une autre. Maintenez à nouveau la touche Alt enfoncée, glissez-déposez ,
créez-en une autre,
laissez-lui de l'espace, donc pas toutes. Tue-nous bien, comme ça. Non, une fois que c'est fait.
Lançons juste un jeu. Il suffit de s'en rapprocher. Maintenant, vous pouvez voir celui-ci, et beaucoup d'entre eux nous réchauffent. J'ai détruit l'un d'entre eux. Allons-y et revenons. L'un d'eux est détruit. Ça a l'air bien. Je sais
ce que je veux faire. Je veux me rendre sur un
hélicoptère endommagé. Laissez-moi le trouver. Accédez au
tiroir de contenu, allez en enfer,
accédez au plan et montez à l'intérieur de
l'hélicoptère endommagé Si nous faisons apparaître l'hélicoptère
endommagé, cela signifie que le jeu est terminé et que l'
hélicoptère est détruit Donc, ce que je veux
faire, c'est régler un chronomètre par événement,
et au bout de deux secondes,
redémarrer le jeu. Donc, après 2 secondes, cet événement personnalisé se produira. Créons donc simplement un
événement personnalisé et rechargeons le niveau. Je l'appelle niveau de rechargement
pour notre événement personnalisé. Et ici, ce que je veux faire, ouvrir le
niveau par son nom. Le niveau que je souhaite
ouvrir s'appelle Nouvelle carte. Mettons-y donc une nouvelle carte, non, avec ça, si vous compilez, sauvegardez, partons en guerre. Et ici, la meilleure stratégie est d'aller de gauche à
droite, mais ce n'est pas grave. Il n'est pas détruit. Non, j'
ai détruit l'un d'entre eux. Ils sont en train de me détruire, non ? Éloigne-toi d'eux et reviens. Pour les photographier de
loin, tournez-les comme ceci. Et essayons de tirer
de loin. C'est ça. Oui, celui-ci est
détruit aussi. Allons-y et
revenons comme ça en rotation. Et allons-y
en un autre. Et nous avons été détruits. Après 2 secondes, nous
répondrons, non ? C'est une bonne chose. Le niveau
sera rechargé Encore une fois,
détruisons celui-ci. Celui-ci est détruit.
Passons simplement à celui-ci. Détruis celui-ci. Et celui-ci est
détruit également. Nous en avons juste un autre. Allons-y de près pour
qu'il puisse également nous tirer dessus. Il n'y en a qu'un, donc c'est facile de tirer dessus, non ? Ça a l'air parfait. Nous les avons tous détruits. Félicitations.
51. 50 Mouvement du rotor arrière: une chose que nous devrions
ajouter à notre hélicoptère, mais nous ne l'avons pas fait. Voyons voir. Si
nous lançons notre jeu, vous pouvez voir que le
rotor arrière ne tourne pas. Si nous montons, vous pouvez voir que le
rotor arrière pose problème. Voyons comment nous pouvons résoudre ce problème. Pour résoudre ce problème, accédez à
Animation Blueprint. Et ici, vous pouvez voir nous avons fait pivoter le joint principal. Non, nous voulons faire pivoter
le rotor arrière Si vous cliquez ici, nous passons à un squelette, et ici, si vous
recherchez un rotor, vous pouvez voir qu'il
y en a beaucoup. Mais celui que nous voulons
s'appelle joint principal du rotor arrière. Nous voulons donc
alterner cela, non ? Tout d'abord, dupliquons
ceci, modifions bond, Control C, control V pour le coller ici. Et quand vous le collez ici, connectez l'exécution,
épinglez-la, à droite, comme ça. Nous voulons modifier le
pas du rotor arrière. Tout d'abord, choisissons simplement le rotor que nous
voulons faire tourner, le rotor
arrière, le joint principal, n'est-ce pas ? Ensuite, nous pouvons utiliser
cette valeur du rotor pour le pas de notre rotor arrière, c'est
vrai, car il
devrait être le pas. Si vous cliquez dessus ici, encore une fois, recherchez simplement le rotor, joint principal du rotor
arrière, la tête F, afin de pouvoir vous concentrer dessus. Et vous pouvez voir que ce
vert est le terrain. Maintenant, si nous testons cette
ère ou ce jeu ici, et c'est ce que vous pouvez voir,
cela fonctionne bien Le truc, c'est pas ça. Mais on peut régler ça, c'est facile. Nous pouvons aller dans l'enfer ABP et le
multiplier par une valeur. Donc, par exemple, cinq, vrai, et
connectez-le au terrain. Maintenant, on va juste tatouer. Si nous renversons le jeu
ici et que nous entrons dans l'escouade, vous pouvez voir que tout
va bien plus vite et plus vite