Cours de création d'hélicoptère avec des canons anti-air sur Unreal Engine 5 | Navid Ansari | Skillshare

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Cours de création d'hélicoptère avec des canons anti-air sur Unreal Engine 5

teacher avatar Navid Ansari

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Promo

      1:42

    • 2.

      01 Créer un projet et importer des fichiers

      3:35

    • 3.

      02 Créer le plan Helli

      3:14

    • 4.

      03 Configuration de la roue

      3:00

    • 5.

      04 Rayon de roue

      2:41

    • 6.

      05 Rotation de la roue

      2:27

    • 7.

      06 Regardez vers le bas

      4:23

    • 8.

      07 Regarder de gauche à droite

      1:30

    • 9.

      08 Frein à main

      2:32

    • 10.

      09 Actions d'entrée pour monter et descendre

      2:44

    • 11.

      Configuration du moteur 10

      3:38

    • 12.

      11 Modifiez l'os du rotor

      3:12

    • 13.

      12 Rotation du rotor

      3:29

    • 14.

      13 Gestionnaire de moteur

      2:52

    • 15.

      14 Vitesse différente du rotor

      2:22

    • 16.

      15 Finterp au

      3:27

    • 17.

      16 Survol

      6:50

    • 18.

      17 Vérifiez la hauteur avec le tracé de ligne

      4:55

    • 19.

      18 Emplacement des effets visuels de Dust

      1:45

    • 20.

      19 Vitesse de la poussière

      6:50

    • 21.

      20 Méta-son du moteur

      3:52

    • 22.

      21 Son du moteur

      3:20

    • 23.

      22 vérifiez si nous sommes au sol

      6:04

    • 24.

      23 Arrêt du moteur

      2:59

    • 25.

      24 Aller en avant et en arrière

      4:06

    • 26.

      25 Déplacez à droite et à gauche

      2:30

    • 27.

      26 Retournez en place

      2:51

    • 28.

      Missile 27 Helli

      2:05

    • 29.

      28 Son de missile

      4:58

    • 30.

      29 Explosion de missile

      2:40

    • 31.

      30 Missile à feu

      3:38

    • 32.

      31 Numéro de missile

      4:22

    • 33.

      32 Missiles de rechargement

      2:19

    • 34.

      33 Missile UI

      6:51

    • 35.

      34 Reticule

      6:38

    • 36.

      Plan de canon anti-air 35

      6:38

    • 37.

      36 Modifiez les ossatures des canons

      4:14

    • 38.

      37 Calculer la direction du canon

      7:10

    • 39.

      Projectile de canon antiair 38

      4:21

    • 40.

      39 Faire feu aux canons

      5:31

    • 41.

      40 Rendre la direction des projectiles de manière aléatoire

      3:50

    • 42.

      41 VFX pistolet anti-air

      3:37

    • 43.

      42 Son de feu de canon

      5:32

    • 44.

      43 Système de santé Helli

      3:37

    • 45.

      44 Interface utilisateur de la barre de santé

      4:51

    • 46.

      45 Détruire l'Helli

      3:19

    • 47.

      Pointe Helli 46 sur les dommages

      4:54

    • 48.

      47 Son de coup de projectile

      2:42

    • 49.

      48 Destruction du canon antiaérien

      4:54

    • 50.

      49 Correction de la collision d'un canon anti-air

      4:17

    • 51.

      50 Mouvement du rotor arrière

      2:01

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

43

apprenants

--

À propos de ce cours

nous apprendrons tout sur les roues, comment les déplacer, les faire tourner et utiliser un frein à main

nous apprendrons ensuite à utiliser les composants de mouvement du véhicule pour faire voler notre hélicoptère

puis nous ajoutons des effets niagara pour montrer la distance au sol avec un peu de poussière

ensuite, nous allons utiliser le plan d'animation pour faire tourner les pales de l'hélicoptère

pour l'ennemi, nous allons créer un canon antiaérien qui pourra tirer sur notre hélicoptère et le détruire

Rencontrez votre enseignant·e

Teacher Profile Image

Navid Ansari

Enseignant·e

Hello, I'm Navid.

Voir le profil complet

Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

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