Unreal Engine 5 – Kurs Hubschrauber-Spiel mit Luftabwehr-Waffe erstellen | Navid Ansari | Skillshare
Suchen

Playback-Geschwindigkeit


1.0x


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

Unreal Engine 5 – Kurs Hubschrauber-Spiel mit Luftabwehr-Waffe erstellen

teacher avatar Navid Ansari

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Promotion

      1:42

    • 2.

      01 Projekt erstellen und Dateien importieren

      3:35

    • 3.

      02 So erstellst du einen Helli-Entwurf

      3:14

    • 4.

      03 Radeinstellung

      3:00

    • 5.

      04 Radradius

      2:41

    • 6.

      05 Raddrehung

      2:27

    • 7.

      06 Nach unten schauen

      4:23

    • 8.

      07 Von links nach rechts schauen

      1:30

    • 9.

      08 Handbremse

      2:32

    • 10.

      09 Input-Aktion für Auf- und Abwärtsbewegung

      2:44

    • 11.

      10 Motor-Setup

      3:38

    • 12.

      11 Rotorknochen ändern

      3:12

    • 13.

      12 Rotordrehung

      3:29

    • 14.

      13 Engine Manager

      2:52

    • 15.

      14 Unterschiedliche Rotorgeschwindigkeit

      2:22

    • 16.

      15 Finterp zu

      3:27

    • 17.

      16 Schweben

      6:50

    • 18.

      17 Höhe mit Strichzeichnungen überprüfen

      4:55

    • 19.

      18 Dust VFX Standort

      1:45

    • 20.

      19 Staubprobe Geschwindigkeit

      6:50

    • 21.

      20-Engine-Meta-Sound

      3:52

    • 22.

      21 Motorsound

      3:20

    • 23.

      22 Überprüfe, ob wir am Boden sind

      6:04

    • 24.

      23 Motorabschaltung

      2:59

    • 25.

      24 Vorwärts und rückwärts

      4:06

    • 26.

      25 Bewegen Sie sich nach rechts und links

      2:30

    • 27.

      26 Umdrehen

      2:51

    • 28.

      27 Helli-Rakete

      2:05

    • 29.

      28 Raketengeräusche

      4:58

    • 30.

      29 Raketenexplosion

      2:40

    • 31.

      30 Fire-Rakete

      3:38

    • 32.

      31 Anzahl der Raketen

      4:22

    • 33.

      32 Nachladeraketen

      2:19

    • 34.

      33 Missile UI

      6:51

    • 35.

      34 Kreuzschier

      6:38

    • 36.

      35 Luftschutzpistole – Plan

      6:38

    • 37.

      36 Waffenheinchen ändern

      4:14

    • 38.

      37 Die Waffenhinnung berechnen

      7:10

    • 39.

      38 Luftabwehrpistole

      4:21

    • 40.

      39 Feuer die Waffen ab

      5:31

    • 41.

      40 Zufällige Richtung von Projektilen

      3:50

    • 42.

      41 Luftschutzpistole VFX

      3:37

    • 43.

      42 Schusswaffengelöst

      5:32

    • 44.

      43 Helli-Gesundheitssystem

      3:37

    • 45.

      44 Benutzeroberfläche der Gesundheitsleiste

      4:51

    • 46.

      45 Destroy Helli

      3:19

    • 47.

      46 Helli Tipp gegen Schäden

      4:54

    • 48.

      47 Projektile trifft Helli-Sound

      2:42

    • 49.

      48 Luftabwehrpistole zerstören

      4:54

    • 50.

      49 Behebung einer Kollision mit einer Luftschutzpistole

      4:17

    • 51.

      50 Hinterrotorbewegung

      2:01

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

16

Teilnehmer:innen

--

Projekte

Über diesen Kurs

wir werden alles über Räder lernen, wie man sie bewegt, rotiert und eine Handbremse benutzt

Als Nächstes lernen wir, wie man Fahrzeugbewegungskomponenten verwendet, um unseren Hubschrauber zum Fliegen zu bringen

dann fügen wir Niagara-Effekte hinzu, um die Entfernung zum Boden mit etwas Staub anzuzeigen

Als Nächstes verwenden wir einen Animationsentwurf, um die Flügel des Hubschraubers zu drehen

Für den Feind werden wir eine Luftabwehrpistole erstellen, damit sie auf unseren Hubschrauber schießen und ihn zerstören kann

Triff deine:n Kursleiter:in

Teacher Profile Image

Navid Ansari

Kursleiter:in

Hello, I'm Navid.

Vollständiges Profil ansehen

Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Promotion: In diesem Kurs werden wir ein Spiel entwickeln, mit dem wir einen Hubschrauber fliegen können. Wir beginnen mit der Erstellung eines Projekts. Wir werden das Rad-Setup durchführen. Also bewegen sich auch die Räder unseres Hubschraubers. Wir werden auch Handbremsen für diese Räder haben. Als Nächstes kümmern wir uns um die Triebwerksabstimmung, wie wir diesen Hubschrauber starten können. Und damit werden wir einige visuelle Effekte wie das rotierende Rotorblatt und visuelle Naga-Effekte für den Staub unter dem Hubschrauber werden wir auch einige Sounds haben, damit es natürlicher klingt In diesem Hubschrauber können wir nach links fliegen. Wir können nach rechts gehen. Wir können vorwärts und rückwärts gehen. Wir können auch nach rechts und links abbiegen. Danach werden wir ein Raketensystem einrichten, damit wir auf alles schießen können, was wir wollen. Und dafür brauchen wir einen Feind, wir schießen können. Also werden wir für den Feind einen Plan zur Luftabwehr erstellen. Damit können wir unseren Hubschrauber treffen und ihn zerstören. Dieses Luftabwehrgerät kann auf unseren Hubschrauber schießen , wenn der Hubschrauber in Reichweite ist, und es dreht sich, sodass es dem Hubschrauber zugewandt ist. Für die Luftabwehr werden wir visuelle Effekte haben. Und klingt auch. Und wann immer einige dieser Kugeln den Hubschrauber treffen, werden Sie auch das Geräusch hören , wie sie den Hubschrauber treffen Danach werden wir einige Benutzeroberflächen haben, zum Beispiel ihn, Fadenkreuz und die Anzahl der Raketen, die wir abfeuern können Lassen Sie uns also ohne weitere Umschweife beginnen. 2. 01 Projekt erstellen und Dateien importieren: Nein, um ein Helikopter-Spiel zu erstellen. Zuerst brauchen wir ein Spiel, und dafür möchte ich ein leeres Projekt verwenden. Ich verwende Aria Engine 5.5 0.3. Sie können dieselbe Version verwenden wie ich, aber wenn Sie andere Versionen verwenden, können Sie dies tun. Wenn Sie ein Anfänger sind, ist es besser bei der Version zu bleiben, die ich verwende. Sie sehen also die Änderung im Namen des Knotens nicht. Also nein, lassen Sie uns einfach ein leeres Projekt erstellen. Klicken Sie auf Leer. Wir wollen, dass es im Bauplan steht Du brauchst nicht den Startinhalt und den Namen des Projekts, ich möchte es Hölle oder Helikopter nennen Ich nenne es Hölle. Wo möchte ich es hinstellen? Ich möchte es in diesen Ordner legen, richtig. Und das war's, Kopf erstellen und es wird das Projekt für uns erstellen. Nein, wenn das Projekt zuerst geöffnet ist und wir zuerst dieses Level speichern müssen. Die Kopfkontrolle besteht also darin, es zu speichern. Ich möchte hier einen neuen Ordner erstellen, und ich möchte ihn Levels nennen, und ich möchte ihn dort ablegen. Ich nenne es einfach New Map, wähle Save, und das Level wird dort gespeichert. Als Nächstes möchte ich zu den Editor-Einstellungen bearbeiten gehen . Und hier möchte ich nach Öffnen suchen. Als Ort, an dem der Editor geöffnet wird, möchte ich, dass er sich im Hauptfenster befindet. Also wann immer wir etwas öffnen, wird es hier geöffnet. Als Nächstes möchtest du zur bearbeiten gehen und zu Karten und Modi gehen Projekteinstellung bearbeiten gehen und zu Karten und Modi gehen und die Editor-Startkarte auf eine neue Karte ändern , die wir gespeichert haben, und die Standardkarte des Spiels ebenfalls auf eine neue Karte ändern. Nur damit sind wir gerettet. Nichts Nächstes, was du tun willst. Wir wollen zum Plugin bearbeiten gehen. Und hier drin, suche nach Chaos. Geh runter, bis du das Chaos-Fahrzeug-Plugin erreichst. Überprüfe einfach die Köpfe und starte dein Projekt neu. Wisst, dass unser Projekt ein Neustart ist, was wir tun müssen. In der Beschreibung dieses Videos gibt es eine Zip-Datei namens Helly Dot Zep Laden Sie das einfach herunter. Leg es auf deinen Desktop. Sie können es öffnen, wenn Sie Windows Ten oder 11 verwenden. Wenn Sie jedoch nicht in Windows 10 oder 11 sind, können Sie die WinRAR-Software herunterladen, um diese Datei zu extrahieren In diesem Ordner können Sie sehen, dass es Anti-Argon und einen HeL-Ordner gibt Dass sich in jedem von ihnen ein Assets-Ordner befindet Dies sind alle Ressourcen, die Sie für dieses Projekt benötigen. Jetzt, wo das erledigt ist, können wir es einfach per Drag & Drop ziehen und auf den Desktop legen , um es zu extrahieren. Jetzt können Sie sehen, dass es extrahiert wird. Bei diesen beiden Ordnern müssen wir zu Areal Engine gehen, zur Inhaltsschublade gehen, auf den Inhaltsordner klicken, mit der rechten Maustaste darauf klicken und ihn im Explorer anzeigen Und es öffnet den Healy-Inhaltsordner, oder? Wenn das erledigt ist, müssen wir diese beiden Ordner Anti-Airgon und Hell in diesen Inhaltsordner ziehen diese beiden Ordner Anti-Airgon und Hell in diesen Inhaltsordner Das ist alles, was du tun musst. Wenn Sie jetzt zu Areal Engine gehen, können Sie hier sehen, dass es zwei neue Ordner gibt: AntiArgon Wir können einfach mit der rechten Maustaste darauf klicken und eine Farbe für sie festlegen zum Beispiel Grün verwenden, Ich möchte zum Beispiel Grün verwenden, weil es der Spieler ist, oder? Und Antiirgon möchte ich wieder, rechten Maustaste darauf klicken und die Farbe einstellen Diesmal möchte ich Rot verwenden, weil es der Feind ist, oder? Nein, wir haben die nötigen Ressourcen um unser Helikopter-Spiel zu entwickeln. 3. 02 So erstellst du einen Helli-Entwurf: Wisst, dass wir die nötigen Ressourcen haben, lasst uns einfach unseren ersten Plan für unseren Hubschrauber erstellen das zu tun, müssen Sie zunächst, wenn Sie in einen dieser Ordner gehen, in einen dieser Ordner gehen und diesen Assets-Ordner nicht sehen, schließen Sie einfach Ihre Al-Engine und öffnen Sie ihn erneut und Sie werden ihn dort sehen Gehen Sie jetzt zum Ordner, klicken Sie mit der rechten Maustaste hier, erstellen Sie hier einen neuen Ordner, und wir können ihn Blueprint nennen Also werden all unsere Pläne hier sein. Klicken Sie mit der rechten Maustaste hier rein, erstellen Sie eine Blueprint-Klasse. Und dieses Mal gehen Sie hier zu allen Klassen und suchen nach Wheeled Vehicle Pawn, Wheeled Vehicle Pan Selected Head Select und wir können es BP Hell nennen Okay. Das ist es. Lass uns einfach reingehen. Ich klicke darauf, um es zu öffnen. Hier haben wir eine Fahrzeugbewegungskomponente und wir haben ein Netz, und das ist ein Skelettnetz. Wir können es einfach anklicken und auf die Säure des Skelettnetzes klicken, wir können unseren Helikopter auswählen und Sie können es sich hier ansehen. Das sieht echt toll aus. Keine nächste Sache, die du tun willst. Wir wollen einen Federarm und die Kamera hinzufügen. Also klicken Sie auf das Mesh, klicken Sie auf AD und suchen Sie nach Federarm. Füge den Federarm hinzu. Klicken Sie anschließend auf den Federarm und dann auf AD und fügen Sie eine Kamera hinzu. Das ist sehr wichtig. Nein, als Nächstes möchte ich die Länge unseres Federarms ändern. Im Moment können Sie sehen, dass es zu klein ist. Klicken Sie also auf den Federarm und ändern die Zielarmlänge auf 2000. Okay, wenn du es erhöhen willst, kannst du es tun, aber so viel ist mehr als genug. Nein, Sie können sehen, dass der Federarm ein Start am Boden des Hubschraubers ist. Was ich tun möchte, ich möchte es ein bisschen erhöhen, einfach so auf 150, vielleicht in der Mitte des Hubschraubers, und das war's. Gehen wir einfach zum Kompilieren und Speichern. Schauen wir uns jetzt an, wie wir es erzeugen können. es zu spawnen, möchte ich hier eine neue Blueprint-Klasse erstellen , und ich möchte sie auf der Basis des Spielmodus erstellen Ich möchte sie GM für Spielmodus und BP für Blueprint nennen. Ich möchte es Hölle nennen. GM BP Hölle. Puppe draufklicken, um es zu öffnen. Und hier drin, das Einzige, was du ändern willst , ist Standard Punk last. Du willst es von der Standardfigur zur BP-Hölle ändern. Dieser Spielmodus wird also über der BP-Hölle erscheinen , da es PunLSS ist Jetzt kannst du ihn einfach speichern und schließen. Wenn Sie zur Karte gehen, können wir zur Worteinstellung gehen. Wenn Sie diese Worteinstellung nicht haben, gehen Sie zu Fenster und öffnen Sie die Worteinstellung, indem Sie hier klicken. Nein, der Spielmodus, den du überschreiben möchtest, heißt GM BP Hell Game Mode Blueprint Hell, oder? Nur damit, wenn wir sicher fahren und das Wild überfahren, können Sie sehen, nein, wir können unseren Hubschrauber mit der Kamera und dem Federarm sehen , die die Kamera zurückbringen Richtig. Das erste Problem , das Sie sehen können, die Räder es nicht sind. Okay, lass uns sehen, wie wir das Problem beheben können. 4. 03 Radeinstellung: Nein zum Reparieren der Räder eines Hubschraubers, der sich nicht dreht. Okay. Dafür gibt es hier eine Komponente der Fahrzeugbewegung , der wir sagen sollten , welcher dieser Knochen deine Räder sind, oder? Also lassen Sie uns einfach das Skelettgeflecht öffnen. Sie können sehen, dass hier vorne zwei und hinten einer ist. Gehen wir einfach zur Inhaltsschublade. Und hier will ich zu Acid gehen, zu Vigilante Content gehen, zu Vehicle gehen, zu West Healy gehen Und hier drin, öffne das Skelett, richtig? Das Skelett unseres Hubschraubers. Jetzt will ich hier nach der Hölle suchen und du kannst sehen, dass wir hier eine haben. Ich kann F drücken, um es zu vergrößern. Sie können sehen, dass dies der erste ist. Und danach haben wir ein echtes Radgelenk. Wenn wir F drücken, fahren wir dorthin und wir können es testen, indem wir es drehen, oder? Und wir haben Art Wheel Joint. Und wenn du F drückst, fahren wir dorthin und wir können es rotieren, um zu sehen, ob es okay ist. Wir haben also drei Räder Rthelgelenk, LF, Radgelenk und Hinterradgelenk Wir wollten diese Räder aufstellen. Also geh zu BP Healy. Hier drin haben wir drei Also lass uns einfach drei davon erstellen. Lassen Sie uns es jetzt einfach erweitern, um zu sehen, was es benötigt. Zuerst braucht es einen Fersenkurs. Danach braucht es einen guten Namen, oder? Lassen Sie uns einfach zuerst den Bone-Namen für alle Räder wählen , und danach werden wir eine Fersenklasse erstellen , falls dies erforderlich ist, oder? Gehen Sie also hierher, gehen Sie hier zu einem Skelett, und ich möchte es für das linke Radgelenk machen, klicken Sie mit der rechten Maustaste darauf. Kopiere den Namen des Knochens. Und wir können es einfach hier einfügen. Das ist es. Wir können für den nächsten zum nächsten gehen. Ich möchte das richtige Rtheljoint machen. Klicken Sie mit der rechten Maustaste darauf, kopieren Sie den Knochennamen und fügen Sie ihn Nein, ich will das Hinterrad machen. Also nochmal, lass uns einfach hierher gehen. Wir haben ein Hinterradgelenk, klicken Sie mit der rechten Maustaste darauf. Knochen kopieren. Und füge es hier ein. Und jetzt, um das zu testen, gehen wir einfach zu unserer Map, damit ich es rauswerfen kann, richtig? Wenn ich F 8 drücke und hier reingehe, kannst du sehen, dass das Vorderrad okay ist Es dreht sich nicht. Mach dir darüber keine Sorgen. Wir werden das reparieren. Aber das Hinterrad, man kann sehen, dass es am Himmel ist, also ist das ein Problem. Deshalb müssen wir eine Radklasse für das Hinterrad erstellen , oder? Und ich möchte auch eine Radklasse für das Vorderrad erstellen . Aber zuerst erstellen wir sie einfach für diese. Im Moment ist der Grund dafür , dass es am Himmel ist, weil die Radklasse nicht gut ist. Der Radius der Radklasse, die wir hier standardmäßig verwenden, ist nicht okay. Dafür ist er nicht gebaut. Schauen wir uns also als Nächstes an, wie wir dieses Problem beheben können 5. 04 Radradius: Nein, um das Problem zu lösen, dass das Hinterrad am Himmel ist. Mal sehen, wie wir das beheben können. das zu beheben, möchte ich zur Inhaltsleiste gehen, zum Hali-Ordner gehen und zu Blueprint gehen Und hier, rechts, klicken Sie auf Blueprint-Klasse erstellen, gehen Sie zu allen Klassen und suchen Sie nach Chaos, wir Rad des Chaos-Fahrzeugs. Also wollen wir eine Klasse für Überräder erstellen. Also klicken Sie auf Auswählen, und ich möchte es C ww für Chaos Vehicle Wheel nennen , und ich möchte es Hinterrad nennen. Okay, Hinterrad. Klicke nicht darauf, um es zu öffnen. Und hier drin kannst du sehen, dass wir einiges ändern können. Zum Beispiel der Radradius , der viel wichtiger ist. Einfach mit diesem Standardwert, wenn Sie hier hingehen und auf die Fahrzeugbewegungskomponente klicken und hier das CVWrar-Rad auswählen, das wir zusammen erstellen, lassen Sie uns sehen, was passiert, wenn Sie kompilieren und nein ausführen , Sie können wieder sehen, dass es am Himmel ist , was nicht gut funktioniert Nein, lass uns einfach hierher gehen und den Radradius zum Beispiel auf 20 ändern den Radradius zum Beispiel auf 20 Und wenn Sie damit erneut auf „Laufen“ klicken, können Sie sehen, dass es sich in Bodennähe befindet. Nein, ändern wir es einfach auf zehn und testen das aus. , wenn du ein Spiel überfährst und auswirfst, Nein, wenn du ein Spiel überfährst und auswirfst, kannst du sehen, dass es auf dem Boden liegt und das sieht wunderschön aus Die Vorderräder sind okay, aber ich möchte auch eine Klasse für sie erstellen Wenn wir sie also ändern müssen, können wir sie ändern, oder? Gehen Sie also zur Inhaltsschublade. Ich möchte auf dieses CVWrarWheel, Control D, klicken, es zu duplizieren, und ich möchte es in Vorderrad umbenennen , oder? Vorderrad. Und ich möchte vielleicht den Radius 10-30 ändern, oder? Gehen Sie kompilieren, speichern, gehen Sie zu oder BP, klicken Sie auf die Fahrzeugbewegungskomponente und ändern Sie die Radklasse für die Vorderräder von Chaos, Fahrzeugrad zu Vorderrad, das wir gemeinsam erstellen Also das auch, Vorderrad. Nein, sagen wir einfach „abrechnen“. , wenn wir das Spiel überfahren und auswerfen, Nein, wenn wir das Spiel überfahren und auswerfen, schauen wir es uns einfach an Nein, du kannst sehen, dass diese okay sind, und die sind auch okay Alles sieht wunderschön aus. Alles sieht natürlich aus, aber das Problem ist, dass sich die Hölle bewegt, aber unsere Räder drehen sich überhaupt nicht. Schauen wir uns also an, wie wir unsere Räder drehen können 6. 05 Raddrehung: Nein, um unsere Räder zu drehen, wann immer sich unser Hubschrauber bewegt, dafür müssen wir einen Animationsentwurf für das Helikopter-Skeletim erstellen Helikopter-Skeletim also mit der rechten Maustaste hier klicke, möchte ich dieses Mal zur Blueprint-Klasse gehen, um den Animations-Blueprint zu erstellen Ich möchte nach einem Fahrzeug suchen. Und wenn Sie untergehen, können Sie eine Fahrzeuganimationsinstanz sehen , weil wir ein Fahrzeug benutzen. Der Hubschrauber ist nur ein Fahrzeug. Wenn wir also einen Animations-Blueprint für ein Fahrzeug erstellen, müssen wir eine Fahrzeuganimationsinstanz erstellen Also wähle es Head Select, und hier will ich es ABP Halley nennen, will ich es ABP Halley nennen Hund, klicke darauf, um es zu öffnen. Ich werde dir sagen, dass es kein Skelettnetz hat. Willst du es einstellen? Du sagst ja und wählst das Skelettnetz des O-Hubschraubers und drückst Okay, das war's. Nein, machen wir es einfach, klicken Sie darauf, um es zu öffnen. Hier wollen wir als Erstes das Mesh f Pose oder Mesh Space, if Pose ermitteln. Dadurch erhalten wir alle Informationen über die Knochen in unserem Skelett. Danach müssen wir nach der Radsteuerung für Radfahrzeuge damit suchen Radsteuerung für Radfahrzeuge damit Sie müssen nichts tun, wenn Sie es nur mit dem Ausgangsposten verbinden Damit werden alle Räder einwandfrei funktionieren. Und wisse, dass wir das erstellen, wir müssen es in unserer BPHLly einrichten Klicke auf das Skelettnetz oder Helikopter und wähle die Anime-Klasse dafür aus Die Tierklasse dafür ist ABP Hell. Also lass uns einfach den Head-Compiled Save wählen und jetzt können wir das Spiel einfach überspielen Wenn wir jetzt auswerfen, können Sie sehen, wie sich beide perfekt drehen. Sie können sehen, wie sich jedes einzelne Fein dreht. Sie drehen sich alle gut. Aber das Problem, dass Sie gerade sehen können ist der Radius dieses Rades nicht gut. Es ist ein bisschen im Boden. Also können wir einfach zum Hinterrad, zu den CVWAr-Rädern gehen und es zum Beispiel wieder auf 15 ändern und den Kopf kompilieren, lassen Sie uns das einfach noch einmal testen Und lass uns einfach hierher gehen und das war's. Das funktioniert gut. 15 ist die gute Zahl, oder? Diese ist gut, und die vorderen sind gut und sie drehen sich. Und unser Hubschrauber sieht toll aus, oder? 7. 06 Nach unten schauen: Keine nächste Sache, die du tun willst. Wir wollten uns mit der Maus in unserem Hubschrauber umschauen können . Mal sehen, wie wir das machen können. das zu tun, möchte ich zur Inhaltsleiste gehen und hier im Hell-Ordner rechten Maustaste klicken, einen neuen Ordner erstellen und ihn Eingaben nennen. Okay? Ich klicke darauf , um es hier zu öffnen, Rechtsklick, gehe zur Eingabe. Das Erste, in dem wir erstellen wollen , ist ein Eingabe-Mapping-Kontext, und ich möchte ihn IMC-Hölle nennen, oder? Und klicken Sie nicht darauf, um es zu öffnen. Als Nächstes müssen wir eine Eingabeaktion erstellen. Ich möchte zuerst nach oben und unten schauen. Klicken Sie hier mit der rechten Maustaste, gehen Sie zur Eingabe und erstellen Sie eine Eingabeaktion. Ich möchte es nennen, ich schaue nach unten, richtig? Klicken Sie darauf, um es zu öffnen. Der Wertetyp soll Achse eins oder Float sein , denn entweder schauen wir nach oben oder wir schauen nach unten. Achse eins D ist also mehr als genug. Sie können es einfach speichern und schließen. Nein, wir müssen es innerhalb des Mapping-Kontextes zuordnen oder eingeben. Klicken Sie also hier, um ein neues Mapping hinzuzufügen, und wir wollen das, was ich suche, nach oben und unten zuordnen. Und hier drin mit dem, was wir rauf und runter suchen wollen, hier reinklicken, wir wollen es mit der Maus und der Maus Y machen . Das war's Nein, wir müssen zu BP Healy in der Eventgrafik gehen , wenn wir das Spiel starten Wir müssen diesen Mapping-Kontext hinzufügen. Wir müssen zuerst den Player-Controller besorgen , den Player-Controller besorgen. Und danach müssen wir erweiterte Eingaben daraus machen, Eingabekomponente daraus verbessern und den Mapping-Kontext hinzufügen. Mapping-Kontext hinzufügen, richtig? Der Mapping-Kontext , den Sie hinzufügen möchten , heißt AMC Hell Nein, wenn das erledigt ist, können wir hier reingehen und auf und ab nach IA L suchen, und es wird uns hier ein Ereignis geben Aber was wollen wir mit dieser Veranstaltung ändern? Wir wollen die Tonhöhendrehung um die Y-Achse ändern , oder? Also, wann immer es ausgelöst wird, wollen wir Controller hinzufügen, Tonhöheneingabe hinzufügen, weil wir die Tonhöhe ändern wollen , damit wir nach oben und unten schauen können, richtig, mit dem Aktionswert, richtig? Mal sehen, was genau damit passieren wird. Wenn du das Spiel überfährst, kannst du sehen, ich nicht rauf und runter gehen kann, aber die Tonhöhe des Controllers ändert sich definitiv. Was du mit der Controller-Steigung ändern willst , ist die Federarm-Neigung, oder? Die Federarm-Neigung, wir wollen, dass sie sich so ändert, oder? Wir wollten uns so ändern. Um das zu tun, müssen wir auf unseren Federarm klicken und ihm sagen, dass er die Drehung durch Wortspiel steuern soll Wenn das Steuerelement also nach oben oder unten schaut, schauen Sie auch nach oben und unten. Also benutze das. Verwenden Sie die Kontrollrotation für Ihre eigene Rotation. Nun, wenn Sie kompilieren, speichern und nein ausführen, können Sie sehen, ich kann rauf und runter schauen, aber es ist umgekehrt Wenn du es umgekehrt lassen willst, kannst du es machen, aber ich will es nicht so Um das zu beheben, möchte ich in die Inhaltsleiste gehen und die Option Ich suche nach oben und unten öffnen und hier den Modifikator hinzufügen Füge den Modifikator hinzu, den Typ, ich möchte, dass er negiert wird Also mit dem Negieren wird es das Gegenteil umkehren, oder? Also, wenn du das Spiel überfährst, kannst du sehen, ich kann normal rauf und runter schauen mit über Elch, nein, wir wollen nach links und rechts schauen nach links und rechts zu schauen, Um nach links und rechts zu schauen, müssen wir die Rotation um was herum ändern Um die Z-Achse herum heißt das ja. Denk einfach an dieses Zeug. Es ist wirklich wichtig, sich daran zu erinnern. Drehung um die Z-Achse wird Ya genannt, und die Drehung um die Y-Achse wird als Tonhöhe bezeichnet. Drehung um die X-Achse, also unser vorwärts gerichteter Vektor ist Zeile Also nein, es ist eine Herausforderung für dich. Versuchen Sie, die Eingabeaktion zu erstellen und zuzuordnen. Bei den meisten X wollen wir also die Drehung um die Z-Achse ändern. Also wollen wir den Controller so ändern , dass wir nach links und rechts schauen können. Du versuchst das zu tun. Das machen wir als Nächstes. 8. 07 Von links nach rechts schauen: Nein, wenn wir wie zuvor nach links und rechts schauen , brauchen wir Eingabeaufforderungen. Gehen Sie also im Heal-Ordner im Eingabeordner zur Inhaltsschublade, klicken Sie mit der rechten Maustaste hier hinein und gehen zur Eingabe und erstellen Sie die Eingabeaktion. Ich möchte es IA nennen. Unten links, rechts. Hund, klicken Sie darauf, um es zu öffnen. Der Wertetyp, wir wollen, dass er Achse eins D oder Float ist. Nein, wir wollen es zuordnen, also gehen Sie zur IMC-Hölle und fügen Sie ein neues Mapping Dieses Mal wollen wir den Look links und rechts machen und das erweitern Wir wollen bei den meisten nach links und rechts schauen, oder? Das ist es also. Und jetzt können wir im Avant-Diagramm zu BPLLi gehen und hier mit der rechten Maustaste klicken links und rechts nach A L suchen Dieses Mal wollen wir den Controller-Ya-Eingang hinzufügen , wie wir es im letzten Video erklärt haben. Die Drehung um die Z-Achse heißt Ya, Drehung um die Z-Achse um nach links und rechts zu schauen , wobei der Aktionswert ein Wert zwischen minus eins und eins ist, Gehen wir also einfach zum Kompilieren, Speichern und Ausführen. Jetzt kannst du sehen, ich kann nach links und rechts schauen. Das sieht toll aus. Aber ein Problem, das wir hier haben, können Sie standardmäßig sehen, dass sich unser Hubschrauber bewegt. Also, was ich hier machen will, ich möchte eine Handbremse hinzufügen Also, wann immer wir auf ein Leerzeichen treffen, stoppt diese Bewegung und unsere Räder bleiben stehen Mal sehen, was wir als Nächstes tun können. 9. 08 Handbremse: Nun wollen wir sehen, wie wir eine Handbremse benutzen können. Wir können es in jedem Fahrzeug haben, oder? Helikopter ist so. Gehen wir einfach zur Inhaltsleiste und dafür möchte ich eine Eingabeaktion erstellen. Gehen Sie also zur Eingabe und erstellen Sie hier eine Eingabeaktion, und ich möchte es einen Handbruch nennen , oder? Du musst es überhaupt nicht öffnen. Sie müssen es nur kartografieren, weil wir darin nichts ändern müssen. Gehen Sie also zu IMC Healy, erstellen Sie ein neues Mapping, und wir wollen das I Handbake mappen und wann möchten Sie passieren, klicken Sie einfach hier rein, drücken Sie die Leertaste, um dort eine Leertaste zu platzieren Also wann immer wir ein Leerzeichen hatten, sollte es Handbreak benutzen Gehe zur Datei, speichere alles. Gehen wir einfach zur BP-Hölle und klicken Sie hier mit der rechten Maustaste rein. Und suche nach I Hand Break, richtig? Also nein, innerhalb dieses Events wollen wir nicht den Trigger verwenden, wir wollen den Start und Abschluss verwenden. Wenn dieser Start passiert, wenn wir die Leertaste drücken, wird dieser Start passieren. Und wann immer wir das Leerzeichen loslassen, wird dieser Vorgang abgeschlossen sein. Damit wollen wir also eine Handbremse haben. Für eine Handbremse braucht man die Komponente für die Fahrzeugbewegung, und im Inneren befindet sich eine Handbremse Suchen Sie also nach einer Handbremse und setzen Sie die Handbremse Wenn wir die Leertaste drücken, drücken wir, um das Handbake zu aktivieren. Das ist Kopieren und Einfügen mit Strg C, Strg . Und wann immer wir den Weltraumkrieg auslösen, wollen wir die Handbremse lösen Aber mal sehen, ob es einfach so passiert. Wenn du das Spiel überläufst und zu O Wheels Hetaspace gehst , passiert nichts Warum nichts passiert. Das liegt daran, dass wir in unserem Rad, dem CVW-Vorderrad zum Beispiel, so lange warten wollen, bis es von einer Handbremse beeinflusst wird Also aktiviere einfach den Kopfschutz. Wir wollen die Handbremse für das Hinterrad nicht aktivieren, also mach dir darüber keine Gedanken Sie müssen sie nicht aktivieren. Wenn das erledigt ist, wenn du über das Spiel fährst und auf das Leerzeichen drückst, kannst du sehen, dass es nicht aufgehört hat, sondern dass es an der Stelle gestoppt ist. Also das sieht toll aus. Unsere Handbremse funktioniert einwandfrei. Wenn du das Spiel noch einmal überfährst und siehst, dass es sich bewegt, wenn ich das Leerzeichen treffe, wird es dort aufhören Und wir haben auch eine Sperre. Ziemlich cool. 10. 09 Input-Aktion für Auf- und Abwärtsbewegung: Nein, wir wollen uns tatsächlich bewegen. Mal sehen, wie wir das machen können. Um das zuerst zu tun, benötigen wir einen Input. Also hier mit der rechten Maustaste klicken, eine Eingabeaktion erstellen, und ich möchte sie IA nennen, nach oben nach unten gehen, richtig? Klicken Sie nicht darauf, um es vom Wertetyp zu öffnen, wir wollen, dass es Achse eins D ist. Sie können es also einfach auf Access one D setzen und es einfach schließen. Das brauchen wir nicht Und jetzt wollen wir es abbilden oder die IMC-Hölle und hier wollen wir wählen, ob wir rauf und runter fahren wollen und wie wir uns auf und ab bewegen Wir wollen es mit Linkshalt und Lift-Steuerung machen. Also klick hier rein, Kopf hoch, dann wird es da sein. Klicken Sie erneut hier, um eine weitere Eingabe hinzuzufügen, klicken Sie hier nach der Kopfsteuerung. Jetzt haben wir also Links-Shift- und Lift-Steuerung. Wenn wir also die linke Umschalttaste auf unserer Tastatur drücken, gibt uns die IA Move Up und Down eine. Aber jedes Mal, wenn wir die Liftsteuerung drücken, wollen wir, dass das IA Move Up and Down Event uns minus eins gibt. Also gehen wir runter, oder? Also hier drin, standardmäßig, wann immer wir die Kontrolle gelassen haben, gibt es uns auch eine. Aber wir wollen es mit einem Modifikator negieren, also gibt es uns minus eins Also klicken Sie hier rein, negieren Sie es, wissen Sie, was passieren wird. Immer wenn wir die linke Schicht hatten, wird es uns eine geben. Immer wenn wir die Kontrolle verlassen haben , bekommen wir minus eins. Lassen Sie uns einfach damit zu BPL gehen. Ich möchte etwas Freiraum haben. Richtig, hier reinklicken, nach IA suchen, bewegen und runter. Damit möchte ich die Drosseleingabe einstellen, die sich innerhalb oder in der Fahrzeugbewegungskomponente befindet, richtig Nein, lass uns einfach so eine Verbindung herstellen. Lass uns einfach kompilieren, um zu sehen, ob etwas passiert ist oder nicht. Lassen Sie uns zunächst einfach warten und links umschalten. Sie können sehen, dass nichts passiert. Wenn ich Control oder Shift verwende, passiert nichts. Damit Sie es besser sehen können, möchte ich eine Druckerzeichenfolge verwenden , um den Aktionswert wie folgt anzuzeigen. Und wenn du rennst, nein, wir wollen hochgehen. Also halte die linke Umschalttaste gedrückt. Du kannst sehen, es wird uns eins geben, aber es wird nicht steigen. Wenn ich die Kontrolle verlassen hätte, würden wir minus eins bekommen, aber es passiert nichts, oder? Um das zu reparieren, was wir brauchen, müssen wir zur Fahrzeugbewegungskomponente gehen und den Motor einrichten. Ich möchte ein weiteres Video erstellen nur um es in der Engine einzurichten. Wann immer Sie möchten, können Sie zu diesem Video zurückkehren und es sich erneut ansehen. 11. 10 Motor-Setup: Nein, lassen Sie uns sehen, wie wir unseren Motor einrichten können, damit er auf und ab fahren kann. Klicken Sie dazu auf die Komponente Fahrzeugbewegung. Gehen Sie hier runter, bis Sie das Trusser-Setup erreichen. Runter, und du kannst das Trusser-Setup sehen, richtig? Also klicken Sie hier, um das Triebwerk hinzuzufügen, wir brauchen nur eines. Zuerst der Traversen-Typ, weil der Motor sich überhaupt nicht bewegt, also haben wir ihn repariert Nein für den Namen Bone. Lass uns einfach zu einem Skelett oder einem Hubschrauber gehen. Der Knochen, den ich benutzen möchte, gehen wir runter, ist ein Zahnradgelenk, das sich in der Mitte unseres Hubschraubers und in dem sich alle Knochen befinden Deshalb möchte ich mit der rechten Maustaste darauf klicken, Knochen kopieren und sie in den Namen von Over Bone Name einfügen den Namen von Over Bone Name Also, was bedeutet das? Das heißt, jedes Mal, wenn wir den Kopf wechseln, wird dieser Etrotaleinfluss dem Knochen eine gewisse Kraft in die von uns gewünschte Richtung verleihen Knochen eine gewisse Kraft in die , richtig? Wir sagen ihm also nur, wohin diese Kraft hinzugefügt werden soll, oder? Die Vertrauensachse dorthin, wohin sie gehen sollte, ich möchte sie auf Z setzen. Das ist X Y Z. Das X und Y, wir wollen, dass es Null ist, aber das Z, wir wollen, dass es eins ist. Also, wann immer wir in die Richtung fahren, wird der Gashebel erhöht, und wir wollen ihn in Richtung des positiven Z erhöhen , also fahren wir hoch, oder? Also lass uns einfach wieder runter gehen. Als Nächstes möchte ich die Max Trust Force auf 25.000 erhöhen. Natürlich können Sie diesen Wert jederzeit ändern . Spielen Sie damit, oder? Nur damit, wenn du kompilieren und ausführen müsstest, Shift gedrückt halten, nein, du kannst sehen, damit geht es nach oben. Wenn wir die Kontrolle behalten, sollte es runter gehen. Du kannst es sehen. Nein, es geht runter. Und das ist es. Wir sind am Boden und können den Raum treffen , um anzuhalten. Du kannst sehen. Das ist echt cool. Aber das ist nicht alles, was wir wollen. Ich möchte auch die Drehmomentsteuerung hinzufügen. also die Drehmomentsteuerung aktivieren, möchte ich die Tonhöhendrehmomentskala auf eins und die Rolldrehmomentskala auf eins ändern . Also wann immer wir rollen wollen, können wir rollen. Und danach die Rotationsdämpfung, weil ich nicht möchte, dass sie sich stark dreht, werde ich auch eine hinzufügen. Als Nächstes möchte ich die Estabilierung oder den Helikopter aktivieren und den Höhenhaltewinkel Z auf 15 erhöhen Und diese Position und warum ich sie auf eins reduzieren will Das wird uns helfen, unseren Helikopter unter Wasser zu halten, sodass er sich nicht frei bewegen kann Natürlich sollten wir mit all diesen Werten spielen, bis wir das von Ihnen gewünschte Ergebnis erreicht Vielleicht willst du das Arcade-Spiel. Sie müssen diesen Wert ändern. Vielleicht willst du ein Simulationsspiel. Auch hier müssen Sie diese Werte stark ändern , und das war's. Oder das Motor-Setup ist gut. Lassen Sie uns das jetzt einfach noch einmal testen . Wenn du Shift gedrückt hältst, kannst du sehen, wie schön es läuft und nein, es hat mehr ES-Stabilisierung. Wenn du nach unten gehst, kannst du sehen, dass es etablierter ist und im Moment können wir nicht nach links und rechts gehen Aber wir haben hier einige Dinge hinzugefügt, um die Tonhöhe zu ändern, vorwärts zu gehen und rückwärts zu gehen und die Reihe zu ändern, um nach rechts und links zu gehen 12. 11 Rotorknochen ändern: Wir gehen rauf und runter, aber das Problem ist, dass es nicht gut aussieht. Die Klingen drehen sich nicht. Der Rotor dreht sich nicht, oder? Lassen Sie mich Ihnen zunächst zeigen, was die Klinge ist. Wenn wir hierher gehen, können Sie das sehen, wir nennen es Blatt oder Rotor. Wenn also der Motor anspringt und hochgeht, sollten sich diese Rotoren, diese Rotorblätter drehen Und dafür müssen wir zu Animation Blueprint gehen. Lassen Sie mich in Animation Blueprint etwas Platz schaffen. Der Knoten, den Sie verwenden möchten, heißt Modify Bone. Suchen Sie also nach Modify Bone. Und hier ist der Knochen , den wir verändern wollen. Und wie wir das finden können. Wenn du zu einem Skelett gehst und hier drin nach Rotor suchst. Sie können sehen, dass es viele davon gibt: Rotor, Hauptgelenk. Und wenn Sie das um die Z-Achse drehen, können Sie sehen, dass wir genau das drehen wollen. Du kannst es sehen. Das ist cool. Nun sehen wir uns das Hauptgelenk des Knochenrotors an. Also lass es uns einfach benutzen. In dieser Notiz müssen wir den Knochenrotor, den Rotor und das Hauptgelenk wählen , richtig? Wir müssen die Übersetzung nicht ändern, also können wir zum Detailbereich gehen und dass es nicht als Stecknadel angezeigt werden soll. Wir müssen den Maßstab nicht ändern, also machen Sie das nicht als Stecknadel sichtbar, sondern wir möchten die Drehung ändern. Und den Rotationsmodus wollten wir der Existenz hinzufügen, wollten wir der Existenz hinzufügen denn wenn er eine Rotation von früher hat, sollte er sie erweitern, oder? Der Rotationsraum, ich möchte, dass er Bonusraum ist, also dreht er sich korrekt, oder? Denn dort kann der Hubschrauber rollen, die Tonhöhe ändern und viele Dinge tun. Wenn Sie es also in das Bonusfeld legen, dreht es sich entsprechend seinem übergeordneten Element, oder? Es geht nicht um die Rotation. Klicken Sie mit der rechten Maustaste darauf und teilen Sie den Hubstift auf. Wir müssen die Drehung um die Z-Achse ändern. Wenn ich hier zum Beispiel 45 einfüge und kompiliere, kannst du sehen, dass es 45 ist, nein, oder? Ich will es nicht so machen, was ich machen will. Ich möchte das zusammenfassen und zu einer Variablen machen. Und ich möchte das Rotorwert nennen, oder? Das ist der Rotorwert. Kopf kompilieren. Nein, lassen Sie uns einfach den Rotorwert in einem beliebigen Vorschau-Editor hier ändern , damit Sie sehen können, dass er korrekt rotiert. Das sieht wirklich wunderschön aus, oder? Aber wie wir es machen wollen, wir wollen es innerhalb unseres Bauplans machen Und von Anfang an wollen wir zuerst langsam starten, wollen wir zuerst langsam starten weil der Motor langsam anspringt, oder? Nach 1 Sekunde sollte er die Höchstgeschwindigkeit erreichen, oder? Am Anfang wollten wir also langsam und gleichmäßig rotieren , und nach 1 Sekunde wollten wir die Höchstgeschwindigkeit erreichen. Und dafür müssen wir diesen Wert verwenden. Aber um diesen Wert zu berechnen, was er sein sollte, möchte ich W Blueprint oder BP Hell verwenden Und mal sehen, wie wir das als Nächstes machen können 13. 12 Rotordrehung: Nein, wir haben einen sehr guten Innen- oder Animationsentwurf, mit dem wir uns über die Klinge drehen können Aber schauen wir uns an, wie wir ihn im Blueprint Blueprint Helikopter drehen können im Blueprint Blueprint Helikopter Also dafür möchte ich Eventiquu verwenden, aber ich möchte dieses Eventiquu nicht durcheinander bringen Deshalb möchte ich ein benutzerdefiniertes Event erstellen. Also suche ich hier nach einem benutzerdefinierten Ereignis und ich möchte es Engine Manager nennen. Richtig? Wir werden eine Menge Sachen machen, aber ich nenne es Engine Manager. Und ich möchte dieses benutzerdefinierte Ereignis in unserem EventQueeCution-Pfad aufrufen dieses benutzerdefinierte Ereignis in unserem EventQueeCution-Pfad Was auch immer wir mit diesem benutzerdefinierten Ereignis hier verbinden, es ist, als ob wir es mit Eventiquu verbinden , oder Also, jetzt hier drin wollen wir eine Variable haben Damit drehen wir die Klingen nach rechts. Die Variable, die ich erstellen möchte, nenne ich Rotorgeschwindigkeit, okay? Und diese Rotordrehzahl möchte ich jedes Mal erhöhen Das ist also nicht der Endweg. Ich werde es später ändern. Aber jetzt schauen wir es uns einfach an. Zum Beispiel jedes Mal, wenn ich fünf hinzufügen möchte , richtig, jedes Bild. Und mit diesem Wert wollen wir das Otoraped darauf einstellen, richtig, also so Und wisse, dass wir diese Rotordrehzahl haben, was passieren wird. jedem Frame wird diese Rotordrehzahl um fünf Einheiten erhöht, oder? Und wenn das erledigt ist, gehen wir einfach zu unserem Animations-Blueprint im Event-Graph Und hier wollen wir als Erstes einen Startplatz für das Event erstellen Damit erhalten wir die BPL, sodass wir auf die darin enthaltenen Variablen zugreifen können Also müssen wir das Event hier abspielen und wir wollen den Hauptdarsteller dieses Animations-Blueprints casten Zwei BP Healy, richtig? Und danach wollen wir für diese beiden Variablen werben, und ich möchte sie BP Healy nennen Das ist mehr als genug. Jetzt, im Update-Event hier drin, wollen wir unseren BP Healy Wir wollen überprüfen, ob er gültig ist. Die Suche nach ist also gültig. Wenn es gültig ist, wollen wir Rotordrehzahl, Rotor und Drehzahl ermitteln und es als Rotorwert festlegen, oder? Stellen Sie es mit der Rotordrehzahl ein, richtig? Das ist es. Nein, der Rotordrehzahlwert jeden Frame wird innerhalb des Rotorwerts gespeichert. Und weil wir den Rotorwert mit diesem modifizierten Knochen verbinden , sollte er sich drehen, oder? Wenn du ein Spiel überfährst, kannst du sehen, dass es sich ständig dreht, oder? Das ist nicht gut. Wir wollen wissen, ob der Motor an ist oder nicht, ob er gestartet ist oder nicht, ob er abgeschaltet ist oder nicht. wir zum ersten Mal die Kopftaste oder Steuerung auf unserer Tastatur drücken, wollen wir das langsam drehen, oder? Und nach 1 Sekunde wollen wir, dass es die Höchstgeschwindigkeit erreicht. Diese Art, es zu tun, ist also nicht gut genug. Deshalb müssen wir auch wissen, wann der Motor gestartet wurde und wann der Motor abgeschaltet ist. Schauen wir uns also an, wie wir das nächste Video machen können. 14. 13 Engine Manager: Nein, wir drehen die Klingen, aber das Problem ist, dass sie sich ständig drehen, oder? Mal sehen, wie wir das beheben können. Man kann hier sehen, dass es ständig rotiert. Es spielt keine Rolle, ob du am Boden bist, ob du raufgehst oder ob du runtergehst. Es ändert sich nichts, oder? Die Geschwindigkeit ändert sich nicht. das zu beheben, müssen wir über den Zustand des Motors Bescheid wissen, ob er vorher gestartet wurde oder ob er gerade startet oder ob er abgeschaltet ist. Und dafür möchte ich eine Variable erstellen. erste Variable, die wir erstellen wollen heißt Motorstart, oder? Und die nächste Variable , die wir erstellen wollen, heißt Engine Started, richtig? Und die nächste Variable , die wir erstellen wollen ist Engine abgeschaltet, richtig? Wisst ihr mit diesen Variablen, was ich hier machen will, wenn wir Shift, Ctrl oder Tastatur drücken, wollen wir überprüfen, ob der Motor von früher angelassen wurde oder nicht. Also starte die Engine und ich möchte hier einen Zweig wie diesen verwenden die Ausführung mit ihr verbinden Wenn der Motor von früher angelaufen ist, mach einfach alles normal Stellen Sie einfach den Gaseingang wie zuvor auf den Aktionswert ein, oder? Aber wenn der Motor nicht gestartet wurde, nein, wir wollen ihn starten, oder? Um den Motor zu starten, müssen wir zuerst den Motor hier starten, den Motorstart einstellen. Wenn der Motor nicht gestartet wurde und der Motor abgeschaltet auf Falsch gesetzt wurde, weil wir ihn gestartet haben, dann sollte das Abschalten des Motors falsch sein. Und nach einer gewissen Verzögerung, zum Beispiel 1 Sekunde, wollen wir sagen, dass der Motor gestartet wurde. Nach einer Sekunde wollen wir also sagen, dass der Motor gestartet den Wert True hat, oder? Stimmt. Das ist es. Lass es uns einfach so verbinden. Danach kannst du den Gashebel wechseln, oder? Das ist alles was wir tun müssen. Gehen wir einfach kompilieren, speichern. Es ist nichts passiert, weil wir nur einige Variablen ändern. Aber nein, mit diesen Variablen möchte ich in diesem Engine-Manager, der mit Eventiq verbunden ist, überprüfen der mit Eventiq verbunden ist, , ob dieser Motor anspringt, ob er wahr wird Wir können das mit der Filiale überprüfen. Wenn es wahr sein sollte, können Sie in diesem Fall die Klingen drehen, oder? Gehen wir einfach zum Kompilieren, Speichern und Überspielen des Spiels. Sie können standardmäßig sehen, dass es sich nicht dreht, aber wenn wir Shift hätten, nein, Sie können, dass sich die Klingen drehen, und das sieht toll aus, oder? Nein, die Klinge hat eine konstante Geschwindigkeit. Wir wollen nicht, dass es so ist. Wir wollen die Geschwindigkeit langsam ändern. Lass es uns einfach im nächsten Video machen. 15. 14 Unterschiedliche Rotorgeschwindigkeit: Unsere Klingen drehen sich immer dann, wenn wir Shift oder Control auf unserer Tastatur hatten, oder? Es dreht sich nicht von selbst, oder? Das ist ein guter Schritt in die richtige Richtung. Aber wenn wir den Kopf wechseln, wollen wir diese Rotordrehzahl langsam ändern und nach 1 Sekunde wollen wir die Höchstgeschwindigkeit erreichen, oder? das zu tun, wollen wir hier Um das zu tun, wollen wir hier also diese fünf ändern. Also am Anfang, bei der Rotatorgeschwindigkeit, wird jeder Frame mit jedem Frame um fünf erhöht, oder? Wir wollen in der Lage sein, diese fünf um einen gewissen Wert zu ändern. Als Erstes können wir überprüfen, ob der Motor gestartet ist, oder? Also hier drin können wir bei der Filiale nachfragen. Natürlich will ich es am Ende nicht so machen. Also tu es nicht. Schau zu, richtig? Wenn der Motor gestartet wurde, möchten wir diesen Wert beispielsweise auf 25 erhöhen. Aber wenn der Motor nicht gestartet wurde, wird dieser Fehler passieren, und ich möchte C und V so steuern , dass alles hier eingefügt wird. Bei Stürzen wollen wir, dass es um fünf steigt. Lassen Sie uns nun sehen, was passieren wird. Kompiliere, speichere und überspiele das Spiel. Und wenn ich weiß, wenn ich die Shift-Taste gedrückt halte , siehst du am Anfang , dass die Geschwindigkeit niedriger ist, und wenn der Motor nach einer Sekunde anspringt, steigt sie plötzlich der Motor nach einer Sekunde anspringt, auf 25 pro Frame. Jeder Frame 25 wird der Rotation hinzugefügt. Sie können sehen, wie es aussieht. Schauen wir es uns noch einmal an. Am Anfang ist die Geschwindigkeit weniger sichtbar. Und nach 1 Sekunde wird sie erhöht. Und das ist mit dieser Verzögerung, die wir hier zwischen Motorstart und Motorstart haben , richtig? Motor starten und Motor gestartet, richtig? Aber ich will es nicht mit der Filiale machen. Es sieht nicht gut aus, oder? Also, was ich machen will, ich will es mit einem Dolmetscher machen Diese Notiz interpretiert diesen Wert problemlos von beispielsweise Null bis 25. Aber dafür möchte ich nur dafür ein weiteres Video erstellen. Schauen wir uns also an, wie wir das nächste Video machen können 16. 15 Finterp zu: Nein, du weißt, was wir machen wollen. Wir wollen die Drehzahl ändern, je nachdem , ob der Motor gerade gestartet wurde oder ob er gestartet wurde. Wissen, was wir tun wollen. Wir wollen die Drehzahl und die Drehzahl beim Starten des Motors stufenlos ändern , oder? das zu tun, müssen wir diese 25, die wir hier haben, so ändern , dass jeder Frame, den wir zur Drehgeschwindigkeit hinzufügen, gleichmäßig auf 25 erhöht wird. Zu Beginn, wenn der Motor anspringt, sollte er also Null sein. Und nach 1 Sekunde wollen wir das problemlos auf 25 ändern, oder? Dafür benötigen wir also eine Variable. Hier möchte ich mit der rechten Maustaste auf „Zur Variablen heraufgestuft“ klicken und das als Rotordrehzahl bezeichnen. Okay? Also hier drin können wir einfach den Wert angeben, den wir wollen. Aber wir wollen, dass es passiert, wir wollen diese Rotordrehzahl stufenlos auf die Höchstgeschwindigkeit ändern diese Rotordrehzahl , die über 25 liegt. In der Standardeinstellung wollen wir also, dass sie Null ist. Nein, wenn das erledigt ist und wir hier auf „Ausführen“ klicken, können Sie sehen, dass sich nichts ändert, wenn ich die Umschalttaste gedrückt habe. Ich kann sehen, dass sich nichts ändert , weil diese Rotordrehzahl Null ist und sie die Drehgeschwindigkeit mit jedem Frame um Null erhöht. Nichts ist passiert. Also, was willst du tun? Wir wollen diese Rotordrehzahl bei sanftem Motorstart auf 25 ändern. Und das können wir mit dem Knoten machen , der Interp Two heißt Und weil wir einen Float-Wert auf 0-25 ändern wollen, müssen wir F Interpreter benutzen hier drüben ist , F Dieser Knoten benötigt einen aktuellen Wert. Der aktuelle Wert , den Sie ändern möchten , ist Null. Standardmäßig ist er Null, und es ist unsere Drehgeschwindigkeit. Wir möchten diese Drehgeschwindigkeit auf den Zielwert 25 ändern . Und dieser Knoten benötigt Delta-Zeit. Dafür können wir uns das Wort Delta-Sekunde und danach das Interpeed Für die Zwischengeschwindigkeit möchte ich sie auf 0,5 setzen, aber wir sollten mit diesem Wert spielen Was uns dieser Knoten also bei jedem Frame gibt, ist, dieser F-Interpreter den Wert der Rotordrehzahl überprüft und ihn auf der Grundlage dieser Interpos-Geschwindigkeit langsam in Richtung des Zielwerts ändert langsam in Richtung des Zielwerts , richtig Und bei jedem Frame müssen wir diesen Wert speichern, den uns dieser Effin-Rasen auch innerhalb des Rotors gibt , also so, oder? Also verbinde den Ausführungsstift so damit und verbinde diesen Rückgabewert mit der Rotordrehzahl Lassen Sie uns jetzt einfach sehen, was passieren wird. Wenn Sie das Spiel überfahren, können Sie sehen, dass es standardmäßig ausgeschaltet ist. Wenn Sie die Umschalttaste gedrückt halten, können Sie sehen, dass die Rotordrehzahl langsam erhöht wird , bis die Höchstgeschwindigkeit erreicht ist. Nein, du siehst, wie schön es aussieht. Schauen wir es uns noch einmal an, standardmäßig passiert nichts. Wenn Sie die Umschalttaste gedrückt halten , wird die Drehgeschwindigkeit langsam geändert , bis sie jedem Frame 25 erreicht, und das war's. Auf diese Weise können wir die Drehgeschwindigkeit langsam und stufenlos auf einen Maximalwert ändern. 17. 16 Schweben: Wir wollen unserem Helikopter nicht noch die Fähigkeit hinzufügen , zu schweben, oder? Immer wenn wir Schichten loslassen, wenn wir hochfliegen, wollen wir auf dieser Höhe schweben Und wann immer wir die Kontrolle behalten und nach unten gehen und die Steuerung wieder loslassen, wollen wir auf dieser Höhe schweben Schauen wir uns also an, wie wir unseren Helikopter um unsere Fähigkeiten erweitern können unseren Helikopter um unsere Fähigkeiten das zu tun, müssen wir jedes Mal, wenn wir Umschalt- oder Strg-Taste auf unserer Tastatur loslassen, Um das zu tun, müssen wir jedes Mal, wenn wir die Umschalt- oder Strg-Taste auf unserer Tastatur loslassen, die Höhe speichern, in der wir uns befanden, oder? Um das zu tun, kann ich einfach den Standort des Schauspielers ermitteln. Und wenn das auf einem gespaltenen Asteroidenstift steht, entspricht dieser Z-Wert der Höhe unseres Hubschraubers, oder? Wenn wir ihn also speichern, wenn wir die Shift-Taste für unser Schlüsselwort loslassen, was passiert, es wird die Höhe in dem Moment speichern, oder Also können wir sie zu einer Variablen heraufstufen, deren Z, und ich kann sie Höhe nennen, um bei ihr zu bleiben, richtig? Und wenn wir es speichern, wenn wir Umschalt- oder Strg-Taste auf unserer Tastatur loslassen, wird die Höhe in unserer Variablen gespeichert, oder? Damit wissen wir, dass eine Höhe gibt, die wir beibehalten sollten, dass wir auf dieser Höhe schweben sollten, oder? Lassen Sie uns nun sehen, wie wir dort schweben können. Für Hering möchte ich den Gaseingang nach oben und unten ändern, damit wir auf dieser Höhe bleiben Und wie wir das machen können, ich will es hier machen In diesem Engine-Manager-Event , das mit Eventiq verbunden ist Am Ende möchte ich zunächst bei einer Filiale nachfragen, ob es möchte ich zunächst bei einer Filiale nachfragen irgendwelche Eingaben gibt oder Also hier drin kann ich das Ich rauf und runter bewegen. Damit werde ich den Aktionswert hier rein bekommen, den Aktionswert, den diese IA nach oben bewegt und uns nicht gibt. Wenn er gleich Null ist, wenn er gleich Null ist, bedeutet das, dass es keine Eingabe gibt. Wenn es also keine Eingabe gibt, können wir die Höhe beibehalten , die wir in dieser Variablen speichern, oder? Also nein, im Fall von true wollen wir den Gaseingang so ändern, wollen wir den Gaseingang so ändern dass er entweder nach oben oder nach unten geht, also behalten wir diese Höhe bei. Steuersatz kopiere das und füge es hier ein. Aber welchen Wert wollen wir hier hineinlegen? Wenn wir hier eins eingeben, wird es steigen und wenn wir minus eins auf diesen Gashebel drücken, wird es sinken. Wie können wir das schaffen, wie können wir die Drosselklappe so ändern, dass sie auf der Höhe bleibt, die wir wollen. Dazu wollen wir die aktuelle Höhe unseres Helikopters und die Höhe, auf der er bleiben soll, überprüfen . Um die aktuelle Höhe unseres Hubschraubers zu ermitteln, können wir den Standort des Schauspielers erneut abrufen, den Standort des Schauspielers ermitteln. Und wenn wir damit direkt einen Felsbolzen teilen entspricht dieses Z der aktuellen Höhe unseres Hubschraubers, richtig? Ich möchte das von der Höhe abziehen so zu bleiben, um zu sehen, was der Unterschied ist Wenn die aktuelle Höhe größer ist als die Höhe , auf der wir bleiben sollten, müssen wir den Gashebel verringern, damit der Hubschrauber abstürzt, oder? Aber wenn der Hubschrauber hier unten ist und Höhe, auf der wir bleiben wollen, hier oben ist, heißt das, wir sollten den Gashebel erhöhen, damit der Hubschrauber auf diese Höhe fährt , um dort zu bleiben, richtig? Bei dieser Subtraktion haben wir nun den Unterschied zwischen der Höhe Mit diesem Wert möchte ich einen Knoten verwenden, Map Range Clamped heißt, oder? Also überprüfen wir den Unterschied zwischen der Höhe , die wir derzeit haben der Höhe, die beibehalten werden soll Wenn sie zwischen Null und -15 liegt, wollen wir die Drosselklappe mit einem Wert von 0-0 auf 0,7 ändern Das ist es. Ich brauche eine Hinrichtungsnadel. Geben wir ihm einfach das. Lass es mich noch einmal erklären. Nehmen wir an, unser Helikopter ist hier oben und die Höhe, auf der wir bleiben wollen, ist hier drin. Höhe unseres Hubschraubers abzüglich der Höhe, auf der wir bleiben sollten, ergibt einen positiven Wert. Zum Beispiel zehn. Zehn hier ist nicht zwischen A und B im Bereich. Es wird nicht zwischen diesen beiden liegen, also wird es auf Null gesetzt, weil es näher an Null ist. Am Ausgang gibt es uns die Drosselung auf Null. In diesem Fall wird die Schwerkraft den Hubschrauber auf diese Höhe herunterbringen , damit er weiterfliegen kann. Aber in anderen Fällen, wenn die Höhe unseres Hubschraubers geringer wäre als die Höhe, auf der wir bleiben sollten, was passiert dann? Höhe des Hubschraubers abzüglich der Höhe, auf der wir bleiben sollten ergibt einen negativen Wert. Zum Beispiel minus zehn. Minus zehn ist also ein Wert dazwischen im Bereich A und B, oder? Diese Kartenbereichsklemme gibt uns also einen Wert von 0-0 bis 0,7. Zum Beispiel 0,5 und 0,5 für Gaspedal, das bedeutet, dass der Hubschrauber langsam hochfährt bis er die Höhe erreicht hat, auf der er bleiben kann, richtig? Aber nehmen wir an, die Höhe bis zum Anhalten ist mit der aktuellen Höhe unseres Helikopters der aktuellen Höhe unseres Helikopters identisch. Was wird passieren? Höhe über dem Hubschrauber abzüglich der Höhe, auf der wir bleiben müssen, ergibt Null. Wenn die Reichweite also Null wäre, würde uns das Null geben, und es gäbe keine Drosselung. Lassen Sie uns einfach ein Runw-Spiel kompilieren und speichern. Wenn wir hochgehen, wenn wir so nach oben gehen und die Umschalttaste loslassen, kann man sehen, wie es ein bisschen nach oben geht, und danach bleibt es an Ort und Stelle, du kannst sehen Die Höhe eines Hubschraubers ändert sich momentan überhaupt nicht. Es wird schweben. Es geht zurück, weil unser Hubschrauber rotiert, weil wir momentan die Tonhöhe nicht ändern können, also können wir vorwärts und rückwärts Aber Sie können sehen, dass sich die Höhe nicht ändert. Wenn wir wieder nach oben gehen und die Umschalttaste loslassen , wird diese Höhe beibehalten. Und wenn wir wieder nach unten gehen, wird diese Höhe beibehalten. Das ist echt cool. Nein, damit haben wir die Funktion, über dem Hubschrauber zu schweben 18. 17 Höhe mit Strichzeichnungen überprüfen: Nein, ich möchte dem Hubschrauber mehr Effekte hinzufügen. Zum Beispiel der Staub, wenn der Motor anspringt, wir wollen, dass etwas Staub drunter über dem Hubschrauber ist. Mal sehen, wie wir das machen können. das zu tun, möchte ich hier ein Niagara-Effekt, okay, ein Niagara-Partikelsystem okay, ein Niagara-Partikelsystem Ich möchte es Dust Fix nennen, oder? Und damit wird das Nagar-System, das ich da einsetzen möchte, NS Hell Ground Dust genannt . Lass es uns einfach da hinstellen Gehen Sie zu unserem Viewport und hier, genau jetzt, können Sie sehen, dass nichts passiert, weil es eine Benutzereingabe gibt , die als richtige Geschwindigkeit bezeichnet wird Wenn wir die Geschwindigkeit erhöhen, können Sie sehen, dass dort etwas Staub sein wird Wenn wir ein Spiel mit diesem Wert überfahren, können Sie sehen, dass dort Staub ist Anhand der Entfernung zum Boden und der Rotordrehzahl können wir also entscheiden, welche Geschwindigkeit die richtige sein sollte. Wenn wir zum Beispiel wollen, dass es 100 ist oder ob wir wollen, dass es 500 ist oder was auch immer, richtig, wie hoch es sein soll. Standardmäßig möchten wir, dass es Null ist, da der Motor standardmäßig nicht gestartet wird. Schauen wir uns also an, wie wir das machen können. Dazu müssen wir zunächst wissen, wie groß die Entfernung zwischen unserem Hubschrauber und dem Boden ist . Stimmt das? Also dafür will ich das bei jedem Frame machen. Also will ich diesen Event nicht noch einmal vermasseln. Deshalb werde ich ein weiteres benutzerdefiniertes Ereignis erstellen, und ich möchte dieses nennen Lassen Sie uns einfach ein benutzerdefiniertes Ereignis erstellen. Ich möchte es Dust Manager nennen, oder? Und danach stellen wir einfach eine Verbindung zum Eventiqu her und ich möchte ihn Dust Manager nennen, oder? Das ist es Lass uns einfach hierher gehen. Lassen Sie uns zunächst sehen, wie wir die Entfernung zwischen unserem Hubschrauber und dem Boden messen können . Dafür möchte ich eine Notiz verwenden , die als Line Trace by Channel bezeichnet wird, oder? Diese Linienverfolgung nach Kanal benötigt eine Startposition und eine Endposition. Wenn es auf etwas trifft, wird es einen Tyrann geben und am Ende wird es uns sagen, dass du etwas getroffen hast, richtig? Startort wollte ich also in der Mitte unseres Helikopters starten Also lass uns sehen. So kriegen wir die Mitte unseres Helikopters. Der Standort des Helikopters 00 befindet sich ganz unten. Das ist nicht das, was ich will. Was ich will, ist die Mitte unseres Hubschraubers. Und wenn du dich erinnerst, haben wir den Federarm in der Mitte unseres Hubschraubers platziert. Das ist gut. nun für die Startposition Lassen Sie uns nun für die Startposition einfach diese Position des Federarms verwenden. Um das zu tun, können wir den Federarm nehmen und das Wort Position daraus entfernen, richtig? Das ist der Startpunkt. Und von diesem Startpunkt aus wollen wir überprüfen, ob wir eine Linie von der Mitte unseres Hubschraubers nach unten ziehen. Wenn wir auf den Boden treffen, wie groß ist dann der Abstand zwischen dem Hubschrauber und dem Boden, richtig? Für die Endposition möchte ich diesen Wert also um einen großen Wert in Z-Richtung verringern. Es sollte nur in Z-Richtung sein, also überprüfen wir die Richtung von unten nach unten, richtig? Also gebe ich hier zum Beispiel 50.000 ein, ein wirklich großer Wert für den endgültigen Standort. Damit du es besser siehst, möchte ich zur Zeile Debug type gehen und sagen, dass sie für einen Frame angezeigt werden soll Lassen Sie uns nun sehen, was passiert, wenn wir kompilieren und ausführen. Jetzt können Sie sehen, dass es am Start in der Mitte zwischen dem Hubschrauber und dem Boden eine Linie gibt. Wenn wir hochgehen, weil sich am Ende ein Quadrat befindet, können Sie sehen, wie es auf den Boden trifft. Wenn wir hochgehen, wenn wir genug hinaufgehen, werdet ihr sehen, dass das Quadrat verschwindet weil wir immer weiter weg sind, oder? Die letzte Entfernung wird 50.000 sein. Natürlich dauert es zu lange, bis das erreicht ist. Aber nein, auf der Grundlage des Ergebnisses, das uns dieser Linienverlauf liefert, wollen wir entscheiden, welche Geschwindigkeit der Staub-VFX angemessen sein sollte Und wenn wir das Ergebnis per Drag-and-Drop herausziehen und das Ergebnis unterbrechen, erhalten wir die Entfernung zwischen der Startposition in der Mitte unseres Hubschraubers und der Stelle, an der er den Boden getroffen hat Es wird uns diese Entfernung geben. Mal sehen, wie wir diese Entfernung nutzen können , um die richtige Entfernung zu ändern 19. 18 Dust VFX Standort: Nein, auf der Grundlage dieser Entfernung und der Rotordrehzahl wollten wir die richtige Geschwindigkeit für unseren Staubeffekt ohne Grafik unter unserem Helikopter ändern ohne Grafik unter unserem Staubeffekt ohne Grafik unter unserem Helikopter Aber das erste Problem , das wir hier haben ist die Position unseres Nagraphc das zu sehen, klicken wir einfach auf Dust Vafix und ändern die richtige Geschwindigkeit auf 250, damit Sie es besser sehen können Wenn Sie das Spiel überfahren, können Sie sehen, ob ich hochgehe. Sie können sehen, dass sich der Affix wieder am Boden unseres Hubschraubers befindet Also das Erste, was wir tun müssen, müssen wir es immer auf den Boden legen Und wie können wir das machen, wir können es mit diesem Einschlagspunkt machen , an dem diese Linienspuren auf den Boden treffen, richtig? Also müssen wir hier eine Filiale benutzen, um das zu überprüfen. Wenn es auf etwas trifft, setze den Nagar-Effekt da rein, oder? Also lassen Sie uns einfach den Staubzusatz hier reinbringen, wir wollen das Wort Standort drauf setzen Und der Ort, den wir verwenden wollen, ist der Ort , an dem es auf den Boden gefallen Das ist es. Lass uns einfach kompilieren, speichern. Im Moment kannst du sehen, dass da etwas Staub drin ist. Wenn Sie mit der Maus darüber fahren, können Sie sehen, dass es immer auf dem Boden liegt. Das wollen wir, dass es passiert. Der Staub sollte immer auf dem Boden sein. Also das funktioniert gut. Das eine Problem ist behoben. Jetzt wollen wir noch ein paar Sachen überprüfen. Wir wollen die richtige Geschwindigkeit auf der Grundlage der Rotordrehzahl und der Entfernung zum Boden ändern . Mal sehen, wie wir das als Nächstes machen können. 20. 19 Staubprobe Geschwindigkeit: Weißt du, basierend auf der Entfernung zum Boden, die die Hölle hat. Und anhand der Drehgeschwindigkeit wollen wir entscheiden, was die richtige Geschwindigkeit ist, wie viel Staub oder ein Hubschrauber erzeugen sollte, oder? das zu tun, müssen wir also einen Parameter oder Staubvax einstellen , der als richtige Geschwindigkeit bezeichnet wird Lassen Sie uns zunächst sehen, wie wir diesen Parameter im Blueprint festlegen können diesen Parameter im Blueprint festlegen Machen Sie etwas Platz. Ich möchte es am Anfang dieses Staubmanagers machen. Wenn du zu Dust VFX kommst und einen Float-Parameter dafür einstellst. Das eingestellte Float-Prometer, das ist ein untergeordnetes Partikelsystem, oder Lassen Sie mich damit auch hier den Execution-Pin daran anschließen auch hier den Execution-Pin daran Nun, dieser Dust-VFX enthält einen Parameter , der Prop-Geschwindigkeit genannt wird, richtig? das bezieht sich auf die Rotordrehzahl, nicht auf die Drehzahl, weil Rotordrehzahl auf einen sehr hohen Wert ansteigt, sodass das Blatt rotiert Aber die Rotordrehzahl ist ein Wert von 0-25 Der Maximalwert ist 25, oder? Also, basierend auf der Rotordrehzahl, multipliziert mit dem Faktor Entfernung zum Boden unseres Hubschraubers, wollen wir die richtige Geschwindigkeit einstellen, oder? Was die Entfernung zum Boden angeht, können wir die Entfernung nicht einfach mit hier verbinden , denn Sie sehen, wir haben eine Entfernung für dieses andere Ergebnis, oder? Aber wir können diese Entfernung nicht verwenden. Hope, wir wollen sie nutzen. Ich möchte eine Variable erstellen und sie Höhe nennen. Faktor, richtig? Faktor Höhe. Mit dem Höhenfaktor, multipliziert mit einer Drehgeschwindigkeit, wollen wir also multipliziert mit einer Drehgeschwindigkeit, die richtige Geschwindigkeit ermitteln. Lass mich das klären, richtig? Wenn also die Drehgeschwindigkeit Null ist, bedeutet das, dass sich die Klinge überhaupt nicht dreht, oder? Also sollte es keinen Staub geben, oder? Also Null multipliziert mit dem Höhenfaktor spielt keine Rolle, was der Höhenfaktor ist. Das gibt uns Null für die richtige Geschwindigkeit, und es wird kein Staub mehr sein. Aber nehmen wir an, die Drehgeschwindigkeit ist 25. Nach 1 Sekunde startete der Motor und die Drehzahl beträgt 25. 25 wird mit dem Höhenfaktor multipliziert, aber was ist der Höhenfaktor Wir wollen, dass der Höhenfaktor so ist. Wenn sich der Hubschrauber unter der Erde befindet, soll der Höhenfaktor einen Höchstwert haben, sodass er viel Staub erzeugt , weil er sich in Bodennähe befindet. Aber wenn der Hubschrauber wirklich hoch am Himmel steht. Wir wollen, dass dieser Höhenfaktor Null ist, weil er wirklich hoch ist, er sollte keinen Staub erzeugen, oder? Dieser Höhenfaktor wird also umgekehrt zur Entfernung sein. Wenn die Entfernung zunimmt, der Höhenfaktor ab Aber wenn die Entfernung zum Boden abnimmt, der Höhenfaktor, den wir wollen , erhöht werden, und wie wir das erreichen können. Mit dieser Entfernung können wir es schaffen, oder? Aber bevor wir das tun, werden diese Stürze passieren, wenn diese Linienspur auf nichts trifft . Das bedeutet, dass wir richtig high sind. Also müssen wir diesen Höhenfaktor auf Null setzen. Das ist es. Das ist wirklich wichtig, oder? Als Nächstes wollen wir die Entfernung überprüfen und ich möchte die Map Range Clamp verwenden. Ich möchte sagen, wenn die Entfernung 0-3.000 betrug, geben Sie uns einen Wert 100-0 Also, was bedeutet es? Das heißt , wenn die Entfernung zum Boden Null wäre, bedeutet das, dass wir am Boden sind, oder? Also gib uns 100, richtig? Aber wenn die Entfernung zum Boden beispielsweise 1.500 beträgt, erhalten wir bei diesem Rückgabewert 50, oder? Und wenn die Entfernung zum Boden 3.000 oder mehr als 3.000 beträgt , erhalten wir Null. Null multipliziert mit der Drehzahl zu Beginn. Es wird Null sein und es wird keinen Staub geben, oder? Das ist es. Wir wollen diesen Höhenfaktor mit diesem Wert wie folgt festlegen , und das ist alles, was wir tun müssen. Lass uns einfach kompilieren und ausführen. Und jetzt können Sie sehen, dass kein Staub mehr vorhanden ist, weil die Rotordrehzahl Null ist und sich das Blatt nicht dreht. Aber wenn wir rotieren, schauen Sie sich das an, da ist viel Staub, weil wir am Boden sind und die Rotordrehzahl bei maximal 25 liegt, oder? Wenn Sie nun die Höhe erhöhen, gehen wir einfach nach oben. Nein, Sie können sehen, dass die Menge an Staub, die dadurch entsteht, immer weniger wird. Du kannst sehen, wie viel es ist. Jetzt, wo wir mehr als 3.000 erreicht haben, können Sie sehen, dass sich kein Staub auf dem Boden befindet. Aber wenn wir uns dem Boden wieder nähern , wird es Staub geben. Sie können sehen, wenn wir zu Boden gehen, Sie können sehen, dass es Staub geben wird. Ein Problem, das ich hier gesehen habe, , dass die Rotation von visuellen Effekten nicht in Ordnung ist Deshalb gehen einige von ihnen unter die Erde. Mal sehen, wie wir das wirklich schnell beheben können. Du erinnerst dich, dass wir hier das Wort „Ort des Staubs Affix“ eingegeben haben. Was möchtest du tun? Wir wollen das Wort Position und Rotation von Staub festlegen , richtig? Also lass mich es so verbinden, es so verbinden und dieses löschen, richtig? Für den Standort können wir, wie Sie wissen, einfach diesen Standort verwenden, der mit hier verbunden ist. Aber für die Rotation möchte ich diesen Ort verwenden und rot von s verwenden, um eine Rotation unseres Aufprallorts zu erhalten, den Ort, an dem wir den Boden getroffen haben, richtig? Das ist es. Das ist alles was wir tun müssen. Lassen Sie uns jetzt einfach kompilieren und ausführen. Jetzt kannst du sehen, ob wir hochgehen. Sie können sehen, dass die Rotation unseres Staubs in Ordnung ist und dass alle Stäube unterirdisch sind Wenn Sie nun zunehmen, können Sie sehen, dass der Staub in Ordnung ist, und wenn Sie die Höhe erhöhen, können Sie sehen, dass er weniger Staub enthält und weniger, bis er Null erreicht Wenn wir runtergehen, können Sie sehen, dass es Staub geben wird. Und wenn Sie den Boden erreichen, wird es mehr Staub geben, wenn wir die Höhe unseres Hubschraubers verringern. Jetzt kannst du sehen, wie cool es aussieht. Das ist wirklich wunderschön. 21. 20-Engine-Meta-Sound: Nein, was das Motorengeräusch angeht. Im Moment haben wir die rotierende Klinge. Wir haben den Staub repariert, aber wir haben nicht den Motorsound. Mal sehen, wie wir das machen können. Dafür möchte ich zu Contender InhaliFolder gehen. Ich möchte mit der rechten Maustaste klicken, einen neuen Ordner erstellen und ihn Sound nennen Doppelklicken Sie mit der rechten Maustaste darauf, öffnen Sie es, klicken Sie mit der rechten Maustaste hier rein. Gehe zu Audio und erstelle eine Metasundquelle. Ich möchte es S All Engine nennen, richtig? Doll, klicken Sie darauf, um es zu öffnen. Und hier drin möchte ich einen Wave-Player erstellen, oder? Spieler der ersten Welle, die im Spiel ist, wir wollten ihn spielen. Aber was wir spielen wollen, wir wollen den Hubschrauber im Schwebeflug spielen, oder? Das ist es. Wähle es einfach dort aus. Wir wollen, dass es in einer Schleife läuft und den Otmano mit dem Otmano verbindet Wenn du es jetzt spielst, kannst du sehen, dass es sich nur um die Sonne eines Hubschraubermotors handelt nur um die Sonne eines Hubschraubermotors , oder? Das sieht toll aus. Aber als Erstes, wenn der Motor nicht gestartet ist, sollte er kein Volumen haben, oder? Das ist das Erste , was wir tun wollen, und wir wollen die Lautstärke und die Tonhöhe sanft ändern , wenn der Motor anspringt, oder? das zu tun, möchte ich einen weiteren dieser Wave-Player erstellen, genau das Gleiche mit demselben Wave-Act, aber ich möchte, dass es nach einer Sekunde passiert. Also, wann immer wir diese MS Hell Engine spielen , was wollen wir dann passieren? Zuerst wollen wir, dass es passiert, aber nach einer Sekunde können wir es mit Trigger, Delay machen. Nach einer Sekunde wollen wir, dass es passiert, oder? Und wie wir beides zusammen haben können, können wir hier einen Mixer benutzen, Mischpult zwei, richtig? In Null wollen wir, dass es dieser ist. In Eins möchte ich, dass es dieser ist, und wir wollen beide mischen, um das Ergebnis zu erhalten. Wisse, was passieren wird. Wenn wir das zuerst spielen , wird das passieren. Du kannst es sehen und nach einer Sekunde wird es sich ergänzen, richtig, hör auf damit. Als Nächstes wollte ich in der Lage sein, die Tonhöhe und die Verstärkung oder Lautstärke zu ändern , richtig? Also brauchen wir etwas Input. Also hier werde ich Input erstellen. Ich nenne es Volumen. Stimmt? Und ziehen Sie es per Drag & Drop. Stell es hier hin. Wir wollten die Lautstärke einfach so ändern können. Und als nächstes wollen wir es zu einem anderen machen. Ich möchte es Pitch & Drag & Drop nennen und es verbinden, um beide zu pitchen, richtig? Jetzt, wo das erledigt ist, lass uns einfach spielen, um zu sehen, was passieren wird. Es passiert nichts , weil die Lautstärke Null ist. Wenn Sie die Lautstärke auf eins erhöhen, können Sie sehen: Nein, es klingt eher so, als würde ein Hubschrauber ihn mit seinem Motor starten. Schauen wir es uns einfach noch einmal an. S. Danach änderst du die Tonhöhe nur noch so, wie sie gebaut wurde. Jesse, es klingt eher so, als würde der Motor starten. Und ich möchte, dass die Tonhöhe zwischen 1 und 5 liegt Und lass uns einfach damit aufhören und nochmal rennen. Wenn ich die Lautstärke auf eins erhöhe und die Tonhöhe ändere, sehen Sie, wir ändern die Tonhöhe. Was passieren wird, es ist, als würde die Klinge viel schneller bewegen. Damit haben wir nun ein Metason, das wir für den Motor unseres Hubschraubers verwenden können , wenn er startet und wenn er mit dieser Lautstärke und dieser Tonhöhenverschiebung die Höchstgeschwindigkeit erreicht mit dieser Lautstärke und dieser Tonhöhenverschiebung die Höchstgeschwindigkeit 22. 21 Motorsound: Jetzt haben wir einen Metasund, den wir für den Motor unseres Hubschraubers verwenden können Schauen wir uns also an, wo wir ihn einsetzen wollen? Um es zu verwenden, fügen wir einfach ein Audio hinzu, oder? Es sollte ein Kind des Netzes sein, und wir sollten wissen, dass wir hier unseren Metasund wählen wollen Es heißt MS Longine. Leg es einfach da hin. Jetzt, wo das erledigt ist. Bei diesem Motormanager wollen wir auch den Motorsound kontrollieren, oder? Lassen Sie mich nach dem Start des Motors hier etwas Platz schaffen , richtig? Also mach ein bisschen Platz. Was Sie tun möchten, wir möchten zuerst diesen Namen ändern. Ich wollte es Engine Audio nennen, und ich ziehe es per Drag-and-Drop hierher und stelle einen Float-Prometer ein Sie können sehen, dass es hier zwei davon gibt. Diejenige, die besagt, dass das Ziel die Audiokomponente ist, ist die, die Sie verwenden möchten. Also wähle das aus. Das Erste, was Sie ändern möchten, heißt Lautstärke. Stellen Sie also die Lautstärke dort ein. Und wir wollen die Lautstärke auf der Grundlage der Rotordrehzahl ändern . Das ist ein Wert von 0-25, oder? Und da wir diese Lautstärke ändern wollen, möchte ich einen Kartenbereich verwenden Ich habe diesen Knoten in diesem Kurs oft benutzt, oder? Also der Eingangsbereich ist 0-25, aber der Out-Bereich, ich möchte, dass er 0-2 ist, oder? Ich möchte nicht, dass es mehr als zwei sind. Wenn also die Rotordrehzahl zu Beginn Null ist, ergibt das für die Lautstärke Null. Aber wenn die Rotordrehzahl bei maximaler Geschwindigkeit 25 wäre. Der O-Bereich wird zwei und die Lautstärke zwei sein. Es ist nicht nur die Lautstärke. Wir wollen einen weiteren Prometer einstellen. Also lassen Sie uns das einfach kopieren und auch hier einfügen und den Ausführungspin damit verbinden Verbinde den Ausführungspin auch mit diesem. Mach hier etwas Platz. Und jetzt wollen wir auch die Tonhöhe ändern. Also gib den Pitch-Namen dort ein. Nein, nochmal, ich möchte diese Map Range Clamp benutzen . Nein, das wissen wir. Auch hier liegt die Rotordrehzahl bei 0-25, aber der Bereich, der Pitchwert auf dieser Drehgeschwindigkeit basiert, liegt bei 0-5 einfach sicher, dass in Ihrem Metasound alle Standardwerte Null sind, einfach so Stellen Sie sicher, dass Sie alles speichern. Und nein, wenn wir das Spiel überfahren, können Sie sehen, dass kein Ton zu hören ist, aber wenn wir Cheat gedrückt halten, hören Sie es sich einfach Du kannst sehen, wie schön es aussieht, oder? Motor s ist jetzt da und noch besser. Wir haben einen Motor, der mit der Geschwindigkeit der Klinge sein Volumen und seine Tonhöhe ändert. Schauen wir es uns noch einmal an. Shift gedrückt halten. Siehst du, auch die Tonhöhe nimmt zu. Und ich denke, das sieht aus. Das klingt großartig. 23. 22 Überprüfe, ob wir am Boden sind: Nichts Nächstes, was wir tun wollen. Wir wollten den Motor abschalten können. Sehen wir uns in diesem Video an, wie wir das machen können. Dazu benötigen wir zunächst eine Eingabe. Gehen wir einfach zum Eingabeordner, klicken mit der rechten Maustaste hier hinein und erstellen Sie die Eingabeaktion. Ich möchte es IA nennen. Motor abstellen, oder? Du musst nichts daran ändern. Wir müssen es einfach in der IMC-Hölle abbilden. Also hier, füge das Mapping hinzu, geh runter und ordne die IA-Shutdown-Engine zu, richtig? Und hier, wie wir die Engine abschalten wollen, möchte ich O auf unserer Tastatur benutzen. Also klicken Sie hier rein, drücken Sie O auf Ihrer Tastatur und klicken Sie auf Speichern. Jetzt können wir zur BP-Hölle fahren und hier drin, was ich machen will, ich will das IA-Shut-Engine-Event bekommen. Immer wenn wir das drücken, benutzen wir einfach eine Druckerzeichenfolge. Ich möchte sagen, Motor abschalten, oder? Und mal sehen, ob es funktioniert oder nicht. Wenn ich rauf und wieder runter gehe Oh, sieh mal, da heißt es Motor abstellen. Die Veranstaltung funktioniert also einwandfrei. Aber wie wollen wir den Motor abschalten. Zuerst müssen wir überprüfen, ob Sie Untergrund sind oder nicht, und wie wir das machen können. Ich möchte es mit einer Variablen machen. Ich will es vor Ort nennen, oder? Und die Art davon, ich möchte, dass es bullianisch ist und ich möchte, dass es standardmäßig wahr ist, weil wir standardmäßig im Untergrund sind, oder? Nein, wo wollen wir das ändern? Wenn du dich erinnerst, wir haben eine Linie von der Mitte von oder von der Hölle nach unten, richtig? In diesem Fall, wenn die Linienspur auf den Boden trifft, wird das wahr sein. Lass mich hier etwas Platz schaffen. Und hier wollen wir die Entfernung verringern. Wenn sie fast gleich Null ist, bedeutet das, dass wir unterirdisch sind, oder? Wenn also die Entfernung von der Mitte des Hubschraubers zum Boden fast gleich Null wäre, bedeutet das, dass wir uns unter der Erde befinden, und wir können die Bodenvariable einstellen, sie mit diesem Wert hier drüben setzen, richtig? Wenn die Entfernung also Null wäre, wäre das wahr. Aber wenn die Entfernung nicht Null wäre, wäre das falsch. Es gibt jedoch eine Fehlertoleranz. Warum ich fast gleich verwendet habe, weil wir von der Mitte des Hubschraubers aus messen. Deshalb möchte ich etwas Toleranz hinzufügen. Zum Beispiel zehn, zehn Zentimeter, oder? Wenn es also gleich Null ist oder fast gleich Null , mit einer Toleranz von positiven oder minus zehn, können wir sagen, wir befinden Damit du es besser sehen kannst, möchte ich zu Event TK gehen und es mit der Printestring zeigen Also hier benutzt du einen Testring zum Drucken mit einem Schlüssel, der das Kilo hinzufügt, es wird Sie können zum Beispiel alles hineinlegen, was Sie wollen. Und hier will ich die Bodenvariable zeigen . Und das ist es. Wenn du das Spiel jetzt überfährst, kannst du sehen, dass es immer falsch sagt, warum es falsch sagt. Der Grund dafür, dass es immer falsch sagt, wenn du hier runtergehst, ist die Toleranz zehn. Aber wo ein Hubschrauber, wie Sie sehen können, die Liter von der Mitte bis zum Boden mehr als zehn Liter. Mal sehen, was das ist Damit du siehst, was ich machen will, möchte ich auch hier einen Druckerring verwenden und die Entfernung anzeigen, richtig? Zeig mir die Entfernung hier drüben, und ich möchte die Verbindung für kein Spiel trennen und Runo spielen Wenn wir am Boden sind, kann man die Torane sehen, es sind etwa 140 Also müssen wir 140 oder etwas mehr als diesen Wert angeben Lass uns das einfach wieder verbinden. Organisiere ein bisschen. Nein, dieser Toleranzwert, wir wollten ihn auf 150 setzen, oder? Nein, wenn das erledigt ist, brauchen wir diesen Druckerring nicht, also löschen wir ihn einfach und verbinden ihn mit der Filiale. Nein, du siehst, dass es wahr ist. Wenn wir in die Spionage gehen, heißt es falsch, und dann gehen wir zurück. Sam, richtig? Damit wissen wir also, wo wir uns unter Erde befinden und wo wir uns im Himmel befinden Und das wollen wir nutzen, um zu entscheiden, wann wir den Motor abschalten können Also lass uns einfach zu unserer Veranstaltung hier gehen. Immer wenn wir ein Stichwort hören, wollen wir hier einen Zweig verwenden. Und ich will sagen, wenn wir unter der Erde sind, benutzen wir einfach einen Druckerring, um zu sagen, Motor abstellen. Und wenn es falsch ist, benutzen Sie wieder einen anderen Drucker. Ich möchte sagen, dass der Motor nicht abgeschaltet werden kann weil wir nicht am Boden sind, oder? Das ist es. Und ich möchte es rot machen, damit du es besser sehen kannst. Wenn wir auf Run drücken und hier 01 oder Tastatur eingeben, kann es den Motor abschalten. Aber wenn du am Himmel bist und Oh, du kannst sehen. Ich werde sagen, der Motor kann nicht abgeschaltet werden. Siehst du, es ist egal, wie oft du da bist. Ich werde den Motor nicht abstellen können, aber wenn du am Boden bist, oh, da steht, du kannst den Motor nicht abstellen. Nein, wir zeigen es mit dem Ring mit den Fingerabdrücken. Und im nächsten Video wollen wir den Motor tatsächlich abschalten. 24. 23 Motorabschaltung: Nein, weil ich den Motor tatsächlich abgeschaltet habe. Wir prüfen, ob Sie unterirdisch sind oder nicht. Lassen Sie uns also einfach sehen, wie wir das machen können. Wenn wir hier im Untergrund sind und auf unsere Tastatur gehen, wollen wir die Engine abschalten. Und wie wir das machen können, können wir die Engine wechseln, abschalten, sie auf True setzen und die Engine auf Falsch setzen. Das ist alles. Damit wissen wir, wann wir den Motor abstellen müssen. Schauen wir uns also an, wie wir diese beiden Variablen verwenden können. Du erinnerst dich, dass wir hier die Drehgeschwindigkeit auf 0-25 ändern Wenn der Motor abgeschaltet wird, wollen wir die Drehzahl von einem beliebigen Wert auf Null ändern beliebigen Wert auf , genau wie wir es hier gemacht haben Also muss ich etwas Platz schaffen. Dieser Teil ist zum Schweben vorgesehen, also können wir ihn als Hetson oder Tastatur auswählen und den Hovermodus dort platzieren Wir haben da also eine Notiz, kommentieren Sie dort. Nein, ich möchte hier etwas Platz schaffen. Bevor wir die Rotordrehzahl auf 25 ändern, wollen wir das mit einem Zweig überprüfen. Auf diese Weise wollen wir überprüfen, ob der Motor abgeschaltet ist oder nicht. Wenn der Motor abgeschaltet wird, wird das wahr sein. Wenn der Motor jedoch nicht abgeschaltet wird, bedeutet dies, dass er gestartet ist. Also sollten wir es so mit dem Falschen, Richtigen verbinden. Wenn der Motor abgeschaltet ist, wollen wir das alles hier oben machen. Also drücken Sie C-Steuerung , um es hier einzufügen. Wenn der Motor abgeschaltet ist, wollen wir die Rotordrehzahl stufenlos auf Null setzen. Das ist alles was wir tun müssen. Und danach können wir auch mal Haring schauen , oder? Das ist es. Lassen Sie uns einfach kompilieren, speichern und erneut ausführen, um zu sehen, ob es gut funktioniert oder nicht. Wenn es Orgs danach gestartet hat, gehen wir runter und wir auf Ihrer Tastatur, nein, Sie können sehen, dass die Engine abgeschaltet wird Sie können sehen, wie schön es aussieht, und der Staub wird auch verschwinden , wenn der Drehschlag auf Null geht, und Sie können es sehen. Gut, nein, oder? Wir können hochgehen. Das Ding funktioniert gut, kann den Hubschrauber abschalten. Aber wenn Sie auf dieser Seite sind und wir versuchen, den Hubschrauber abzuschalten, können wir das nicht tun. Aber wenn du am Boden bist und es auf deiner Tastatur ist, nein, du kannst sehen, dass der Motor abstellt. Das ist es. Wir schalten den Motor korrekt ab Und der Sound funktioniert einwandfrei, und die Drehzahl der Klinge funktioniert auch einwandfrei 25. 24 Vorwärts und rückwärts: Nein, ich denke, von nun an wird alles viel einfacher und lustiger sein, wenn ich vorwärts und vorwärts und rückwärts zu gehen, möchten wir die WS-Taste auf unserer Tastatur verwenden Damit ändern wir also die Tonhöhe. Also gehen wir so vorwärts und wir gehen so rückwärts, richtig Also schauen wir uns an, wie wir das machen können. Um das zu tun, müssen wir eine Eingabeaktion erstellen. Klicken Sie also mit der rechten Maustaste in den Eingabeordner und gehen Sie zu Eingabe, Eingabeaktion erstellen Ich möchte sie IA nennen. Gehen Sie vorwärts, rückwärts, richtig? Klicken Sie nicht darauf, um es zu öffnen. Der Wertetyp soll Axis one dy oder float sein. Das ist mehr als genug. Du kannst es einfach schließen. Gehen Sie zu IMC Healy, fügen Sie ein neues Mapping hinzu, damit wir das zuordnen können, bewegen Sie sich vorwärts und rückwärts, bewegen Sie sich vorwärts und rückwärts, klicken Sie hier rein und wählen Sie „Vorwärts und Rückwärts bewegen“ Wir wollen, dass das mit der W-Taste passiert, also klicken Sie hier rein, drücken Sie W auf Ihrer Tastatur und fügen Sie eine weitere Eingabe hinzu Klicken Sie hier rein, Werbung. Mit W und S wollen wir also vorwärts und rückwärts gehen Standardmäßig gilt für beide , dass, wenn du sie triffst, ein Treffer passiert wird Aber wir wollen, dass jedes Mal, wenn wir W drücken, passieren , wir wollen eins bestehen. Immer wenn wir S drücken, wollen wir minus eins passieren. Im S wollen wir also einen Modifikator hinzufügen, um es so anzuordnen, dass der Wert negiert und minus eins übergeben Das ist es. Jetzt, wo wir diese Veranstaltung haben. Lass uns einfach hier reingehen , wo wir etwas Platz haben. Sucht vorwärts und rückwärts nach IA, bewegt euch vorwärts und rückwärts, richtig? Immer wenn wir W oder S auf unserer Tastatur drücken, befindet sich innerhalb der Fahrzeugbewegungskomponente ein Knoten , der als Pitch-Eingabe bezeichnet wird Suchen Sie nach Tonhöheneingabe oder stellen Sie die Tonhöheneingabe ein, und wir können die Tonhöheneingabe mit diesem Aktionswert einstellen. Und wissen Sie, dass jedes Mal, wenn wir W oder S auf unserer Tastatur loslassen, komplett passiert, und wir wollen diese Tonhöheneingabe wieder auf Null setzen , was das bedeutet. Wenn wir die Tonhöhe ändern, bedeutet das, dass sich die Tonhöhe im Laufe der Zeit ändert. Es wird also die Tonhöhe kontinuierlich ändern. Irgendwann müssen wir ihm sagen, dass es die Tonhöhe nicht ändern soll, wenn wir das W oder S auf unserer Tastatur loslassen und sie auf Null setzen. Damit verbinden wir das einfach mit Target, Headcompe, Save Run Over Game Wenn wir jetzt in den Himmel fliegen, können wir genauso vorwärts gehen, Kasia Und wir können das auch tun. Wenig Zeit für eine Biografie. Und damit können wir so runtergehen und bei Space Bro den Motor runterfahren. Nun, was ich tun möchte, zwei Dinge, die ich tun möchte. Ich möchte alle Druckerzeichenfolgen löschen. Also stelle ich hier Control F ein, Druckerzeichenfolge, suche nach Druckerzeichenfolge. Und welche Druckerzeichenfolge wir auch haben, wir wollen sie löschen. Nein, wir hatten hier einen Zeilenverlauf mit dem Typ Draw Debug , den wir jetzt einfügen wollen Wir haben also viel saubereres Spiel, mit dem wir arbeiten können, oder? Nein, noch einmal, wir sollten in den Himmel steigen und sehen, dass es bereit ist, und dort bleiben. Das sieht alles. Das sieht toll aus. Nein, es ist an der Zeit, zu stornieren und zu leben. Das versuchst du vor der nächsten Rechnung. 26. 25 Bewegen Sie sich nach rechts und links: Nein, wir wollen in der Lage sein , nach links und nach rechts zu gehen. Ich hoffe, du könntest es alleine machen. rechten Maustaste hier in den Eingabeordner, erstellen Sie eine neue Eingabe, und ich möchte sie IA nennen und mich nach links bewegen. Rechts. Das ist es. Klicken Sie nicht darauf, um es zu öffnen. Der Wertetyp, ich möchte, dass er Axis One Day ist. Sie können es einfach speichern und schließen. Wir brauchen diesen Metasund nicht. Wir brauchen diese Räder nicht, oder? Nein, wir müssen es kartografieren. Also half IMC bei der Erstellung eines neuen Mappings. Hier gibt es jede Menge Mapping. Lass es uns einfach für IA machen nach links und rechts bewegen. Und wir wollen das mit D machen. Also klicken Sie hier rein, fügen Sie D hinzu und fügen Sie eine neue Eingabe und klicken Sie hier rein, Kopf A. Immer wenn wir D drücken, wollen wir eine weitergeben. Immer wenn wir A drücken, wollen wir es negieren und minus eins passieren lassen Das ist es. Oder die Eingabeaktion ist bereit, wir können sie verwenden. Lass uns hierher gehen, damit wir etwas Platz haben. Sucht nach einer Bewegung nach links, rechts. Aber wo Sie dieses Ereignis benennen, spielt keine Rolle. Es ist okay. So wie wir es schon einmal gemacht haben. Dieses Mal wollen wir rollen. Wir wollen die Drehung um die X-Achse ändern. Das nennt man Roll. Also noch einmal, wir brauchen eine Komponente für die Fahrzeugbewegung. Und suche nach Roll-Input. Stellen Sie die Rolleneingabe nach dem Aktionswert ein, richtig? Und wann immer wir D oder A auf unserer Tastatur loslassen, passiert das Ganze, und wir wollen diese Rolle auf Null setzen, sie wieder auf Null setzen. Wenn wir es hier auf Null setzen, braucht es auch ein Ziel. Das ist alles was wir tun müssen. Lass uns einfach kompilieren, speichern und ausführen. Lass uns zum Spion gehen. Ich sehe den Staub, es ist richtig, lass uns gehen und alles ist in Ordnung. Das nächste, was wir tun, wollen wir in der Lage sein, alles in Ordnung zu bringen. Wann immer wir E hatten, wollen wir an der Stelle nach rechts abbiegen. Immer wenn wir auf Q zusteuern, wollen wir an der Stelle nach links abbiegen. Du versuchst das zu tun. Wir werden es als Nächstes tun. 27. 26 Umdrehen: Nein zum Abbiegen nach links und rechts. Dafür benötigen wir wiederum die Eingabeaktion, erstellen die Eingabeaktion hier und ich möchte sie aufrufen, ich biege links nach rechts ab. Klicken Sie darauf, um es zu öffnen. Und der Wertetyp, wir wollen, dass er wie zuvor Float ist, und wir müssen ihn hier zuordnen , weil wir hier viel Mapping haben. Wir müssen diese Scrollbr verwenden und das, was wir zuordnen wollen, heißt links und rechts abbiegen Nochmals, lass uns einfach hier reingehen. Wie wir links und rechts abbiegen wollen, wir wollen es mit E machen. Also klick hier rein, füge E hinzu, füge eine weitere Eingabe hinzu. Dieses Mal klicken Sie hier rein, Kopf Q. Immer wenn wir Q drücken, wollen wir minus eins übergeben, also fügen Sie einen Modifikator vom Typ Negieren Das ist alles, was wir dabei tun müssen. Wir können also einfach die Eingabeaktion schließen, sie aber vorerst offen lassen. Jetzt wollen wir mit der rechten Maustaste auf die Suche nach IA klicken und links und rechts abbiegen. Und damit gibt es wieder einen Knoten innerhalb der Fahrzeugbewegungskomponente, mit dem wir die Drehung um die Z-Achse ändern können. Wie es heißt, heißt es Ya. Also suchen wir nach Ya und geben Ya anhand des Aktionswerts ein. Lass es uns einfach da hinstellen. Nein, wenn wir das Q oder E auf unserer Tastatur loslassen, passiert das Ganze und wir wollen die Ya-Eingabe auf Null setzen. Das ist es. Jetzt, wo das erledigt ist, wenn du das Spiel überläufst und zu einem Skype gehst, ist das. Oh, sieh mal, es rotiert nicht. Und damit es sich um die Zs drehen und drehen kann, müssen wir zur Fahrzeugbewegungskomponente gehen. Sie erinnern sich, dass wir die Pitch-Turky-Skalierung und die Roll-Turky-Skalierung gemacht haben , und beide funktionieren einwandfrei. Aber wir haben die Truthahn-Skalierung nicht durchgeführt. Wir müssen das auf einen Punkt bringen. Deshalb lasse ich das für später stehen, damit Sie die Wirkung dieser Eingaben sehen werden. Jetzt, wo ich einen reinlege, sollte es funktionieren. Lass uns einfach kompilieren, speichern und ausführen. Nein, wenn du in den Himmel gehst, kannst du sehen, dass er sich an seinem Platz drehen kann. Das sieht toll aus und du kannst es dir leisten , wenn du vorwärts gehst. Siehst du, ich kann jetzt alles drehen. Ich denke, es ist Zeit zu schießen, um Raketen abfeuern zu können , oder? Das ist es. Wenn wir uns umdrehen, ist alles in Ordnung. 28. 27 Helli-Rakete: Nein, wir wollen tatsächlich Raketen abfeuern, weil, weißt du, jeder Kampfhubschrauber hat einige Raketen Raketen abzufeuern, brauchen wir also eine Rakete. Also gehen wir einfach zur Inhaltsschublade und dann zum Blueprint-Ordner im Heli-Ordner Klicken Sie hier mit der rechten Maustaste, erstellen Sie eine Blueprint-Klasse vom Typ Akteur, und ich möchte sie BP, Heli-Rakete, nennen Ich klicke darauf, um es zu öffnen. Hier möchte ich als Erstes ein Skelettnetz hinzufügen, weil Rakete ein Skelettnetz ist. Machen Sie es zur Standard-Sinwurzel und klicken Sie hier rein und wählen Sie oder SK West Missile 26, richtig? Wähle es dort aus. Nein, du kannst es sehen. Ich möchte einige Niagara-Effekte hinzufügen, oder? Also füge das Niagara hier hinzu. Die, die ich benutzen möchte, heißt NS West Missi 26. Du kannst es sehen Nein, ich möchte dort eine Steckdose platzieren. Die Buchse, die ich verwenden möchte, heißt Wurzelgelenkpfanne. Nun kann man sehen, wenn man sie an der richtigen Stelle anbringt, dass die Positionierung und Rotation der ist. Man kann es sehen Jetzt, wo das erledigt ist, müssen wir es abfeuern können. Um es abzufeuern, verwende ich eine Komponente zur Projektilbewegung. Und hier muss ich eine Initialisierungsgeschwindigkeit wie 20.000 eingeben Initialisierungsgeschwindigkeit Und die Höchstgeschwindigkeit soll 50.000 sein, richtig? Sie können das später ändern, wenn Sie möchten. Um es jetzt richtig zu sehen, gehen wir einfach dahinter und klicken auf Simulation. Sie können sehen, wie gut es aussieht, oder? Nein, ich will, dass die Rotation der Geschwindigkeit folgt. Also die Rotation ist immer dahin, wo sie hingeht, richtig? Nochmals, lassen Sie uns einfach sagen, dass alles gleich sein wird, aber es wird wieder viel besser aussehen. Nein, bei dieser Rakete müssen wir etwas Sound hinzufügen. 29. 28 Raketengeräusche: Nein, wir haben eine Rakete, aber unsere Rakete hat keinen Ton. Mal sehen, wie wir Sound hinzufügen können. Dafür möchte ich zu Contender oder Helfolder gehen Gehe zum Sound-Ordner. Klicken Sie hier mit der rechten Maustaste, gehen Sie zu Audio und erstellen Sie eine Metasundquelle Ich möchte es Rakete nennen, oder? Hund, klicken Sie darauf, um es zu öffnen. Hier möchte ich zuerst einen Wave-Player erstellen, oder? Art von Mono. Sie können auch eine Stereoanlage machen. Verbinde das Spiel, um es abzuspielen. Der Sound, den wir zuerst spielen wollen ist Rocket und PT, dieser hier, richtig? Lassen Sie uns einfach das OT-Mono mit hier verbinden und spielen. Du kannst sehen, es ist wie ein Start unserer Missi, oder? Wir können das einfach benutzen, aber ich will es besser machen. Wie ich es besser machen will, ich möchte einen weiteren Wave-Player erstellen, oder? Und damit will ich dieses Mal Rocket Engine spielen . Und wir müssen beide spielen. Also kann ich hier einen Mixer benutzen. Mixer zwei ist mehr als genug. Es wird beide in Mono mischen, und wir müssen das Spiel überhaupt nicht ändern. Aber wenn du dieses Spiel spielst, lass mich auf diese Lupe klicken und es spielen Sie können sehen, es klingt, als wären es zwei Sekunden, drei Sekunden nach dem Abfeuern der Rakete, oder? Also müssen wir die Auslösung verzögern. Wie wir das hier machen können, können wir nach einer Verzögerung im T-Gang suchen. Und sagen wir, nach einer Sekunde wollen wir diesen spielen, richtig? Und wir wollen, dass dieser in der Endlosschleife läuft. Was passiert nun, wenn du das zuerst spielst, es wird schießen und nach einer Sekunde wird es die kontinuierliche Raketentriebwerk abspielen. Also das wollen wir, dass es passiert. Nein, fügen wir es einfach zu unserer Hubschrauberrakete hinzu und fügen ein Audio Es sollte ein Kind des Skelettnetzes sein. Ich möchte es Motor nennen. Ton. Es ist Raketensound, aber ich nenne es Motorsound , weil es einfacher zu verstehen ist, oder? Engine One, die du spielen willst, klicke hier rein und hier rein, wähle MS Missile, richtig? Nur damit, wenn wir hier simulieren, lass mich F sagen. Wenn wir hier simulieren, wird es keinen Ton geben, oder? Aber wenn du auf unsere Karte gehst und sie uns einfach hier drüben lässt, ist das unser Spielerstart. Und wenn du eine der Raketen hier reinstellst, lass mich diese hier reinstellen und sie um 180 Grad drehen, sie ein bisschen so nach oben bringen und sie so nach oben drehen, richtig? Wenn wir es schießen lassen und das Geräusch hören können. Das Problem ist jedoch, dass es weiter von uns entfernt ist, aber wir können den Ton vollständig hören Und wie wir dieses Problem beheben können , ist die Einstellung der Dämpfung Wenn Sie zu unserer BP-Rakete gehen und auf Motorsound klicken, können Sie sehen, dass hier die Dämpfung eingestellt ist Um das zu ändern, möchte ich zum Sound-Ordner in Sight oder HelFolderR gehen . Klicke hier rein, gehe zu Audio und erstelle eine Ich möchte es SA Missile nennen, oder? SA für Schalldämpfung, Kumpel. Und hier haben wir einen inneren Radius und einen abfallenden Radius. Wenn Sie sich innerhalb des inneren Radius befinden, können wir den Ton vollständig hören. Und ich möchte das auf 10.000 ändern. Es ist ungefähr 100 Meter, richtig, weil es in Zentimetern ist, und je nach Entfernung oder Fall des Radius möchte ich es auf 80.000 setzen, möchte ich es auf 80.000 setzen Sie können mit diesen Werten spielen. Nein, mit dieser Schalldämpfung können wir zu Over-Hell-Rakete wechseln, auf Motorsound klicken und als Dämpfungseinstellung Testrakete wählen Dämpfungseinstellung Testrakete Weißt du, wenn wir zurückgehen, kannst du sehen, dass wir einen inneren und einen äußeren Radius haben Wenn Sie sich innerhalb des inneren Radius befinden, können wir ihn vollständig hören. Aber wenn wir uns weiter davon entfernen und in den äußeren Radius gelangen, hören wir es linear weniger, Jetzt, wo das erledigt ist, wenn wir unser Spiel spielen, verstehst du? Es schießt, und wenn es von uns weggeht, können wir es nicht mehr hören. Aber wenn ein Spieler weiter von uns entfernt ist, kann er es hören, richtig, wenn die Rakete in seine Nähe kommt 30. 29 Raketenexplosion: Ich weiß, wo die Rakete arbeitet, sie hat Geräusche, aber wenn sie auf etwas trifft, passiert nichts. Lass uns das einfach testen. den Hafer zu testen, lass mich ihn so anbringen und ihn in Richtung Boden drehen Wenn wir schießen und sehen, wird er unter die Erde gehen. Mal sehen, wie wir das beheben können. Geh zu BP Hell Missile, klicke auf das Skelettnetz, geh runter. Bis Sie das Kollisions-Preset erreicht , ist es momentan keine Okklusion Deshalb wird es auf nichts treffen. Was ich damit machen will, ich will das so ändern, dass nur noch Bauern ignoriert Wenn Sie jetzt hier hingehen, können Sie sehen, dass es die Pfanne ignoriert, das Fahrzeug ignoriert Okay? Aber es wird alles blockieren. Wenn Sie das nun kompilieren, speichern und ausführen, können Sie sehen, dass ich in den Untergrund gehe und es wird dort aufhören. Lass uns einfach weitermachen. Wir haben hier ein Gesetz. Also wird es dort aufhören. Wann auch immer die Rakete stoppt, wir können einiges tun. Wenn ich zum Beispiel auf Projektilbewegung klicke, haben wir Projektilstopp Klicken Sie darauf, um das Ereignis zu erstellen , und hier wollen wir das Ergebnis der Wirkung unterbrechen, richtig, erweitern Sie es wie folgt Das Erste, was wir tun wollen, wenn oder Projektil, schauen wir bei etwas vorbei Wir wollen eine Explosion erzeugen, das System am Standort spawnen Und das System, das du spawnen willst, ist eine Staubexplosion. Lass es uns einfach da hinstellen Der Ort, wir wollen den Ort verwenden , an dem es dort aufhört, richtig? Und das ist es. Lass uns einfach kompilieren und ausführen. Siehst du, weißt du, es hat eine Explosion gegeben. Als Nächstes wollen wir etwas Sound erzeugen. Also Spa-Sound vor Ort, richtig? Den Sound und den Ort des Spas, ich möchte ES Grand Explosion verwenden, ich möchte ES Grand Explosion verwenden, und den Ort, an dem das passiert, können wir diesen Ort verwenden. Aber ich möchte das erweitern und die Dämpfungseinstellung verwenden , die wir für die Rakete einrichten, oder? Wenn es also weiter von uns entfernt explodiert, hören wir es nicht. Danach können wir die Rakete einfach zerstören. Suchen Sie also nach Destroy Actor und zerstören Sie die Rakete. Wenn du jetzt dran bist, kannst du sehen, dass es auf den Boden fällt. Wir haben eine Explosion. Wir haben Explosionsgeräusche und die Rakete wurde ebenfalls gelöscht und zerstört. 31. 30 Fire-Rakete: Nein, die Over-Rakete ist bereit. Wir wollten es erschießen können. Mal sehen, wie wir das machen können. das zu tun, möchte ich zu einem Level gehen und diese Höllenrakete aus dem oberen Level löschen. Wir brauchen es nicht mehr. Gehen Sie zum Heli-Ordner, gehen Sie zum Ordner Inputs und erstellen Sie eine Eingabe für das Abfeuern der Rakete also eine Eingabeaktion erstelle, möchte ich es Feuer nennen Klicken Sie nicht darauf, um es zu öffnen. Wir müssen hier nichts ändern, also können wir es einfach schließen. Schließ auch diesen. Schließ auch diesen. Wir brauchen es nicht. Geh zur IMC-Hölle. Wir wollen es innerhalb IMC-Hell-Input-Mapping-Kontextes zuordnen Lassen Sie uns also einfach ein neues Mapping erstellen, und hier heißt das, das Sie zuordnen möchten, iAFRE . Also legen wir es einfach da hin Und wann wollen wir hier drin, dass es passiert? Immer wenn wir die Taste ganz links drücken. Also klicken Sie hier rein , danach klicken Sie auf die Schaltfläche „Am meisten heben“ und wir platzieren die Schaltfläche ganz links dort. Das ist es. Nein, damit geh nicht zu BPLly, such dir etwas Platz. Wir können diese beiden auch einfach schließen. Diese Nein hier drin, wann immer wir die Lift Most-Taste drücken, wird dieses IA-Feuer ausgelöst. Und wann immer wir es drücken, wollen wir eine Rakete starten, richtig? Also, wie wir es spawnen wollen. Wenn du zum Viewport gehst, kannst du sehen, dass wir die rechte Seite und wir die linke Seite haben Wir wollen es also sowohl vom Raketensystem auf der rechten als auch von der linken Seite aus abfeuern können sowohl vom Raketensystem auf der rechten als auch von der linken Seite Also zuerst eine von der rechten Seite, zweite von der linken Seite, richtig? Also, wann immer wir auf den Start gehen, möchte ich hier Flip-Flop benutzen, Flip-Flop-Node Was das tun wird, wenn wir zum ersten Mal die Taste ganz links drücken, Beim zweiten Mal, wenn wir die Taste ganz links drücken, passiert das B, beim dritten Mal, wenn wir die Taste ganz links drücken, wieder das A, richtig Es wird nacheinander passieren. Also was wir machen wollen, wir wollen Schauspieler aus dem Unterricht hervorbringen Und welcher Schauspieler heißt Missile, richtig? Also, heilende Rakete, leg sie einfach da hin und verbinde sie mit A. Aber sie zu transformieren, wo sie erweitert werden kann, ist wirklich wichtig Wo willst du sie spawnen? Wenn du zum Skelett oder Hubschrauber gehst und nach einer Rakete in den Knochen suchst Sie können sehen, dass wir einen linken Raketensockel und einen rechten Raketensockel haben. Wir brauchen die Namen von ihnen. Also klicken Sie mit der rechten Maustaste auf Socket umbenennen. Klicken Sie erneut mit der rechten Maustaste darauf und kopieren Sie den Namen für den LPH-Ordner Lass es uns einfach für den IF machen. Wir wollen die Transformation dieses Sockels auf unserem Skelett bekommen . Wir brauchen also das Netz. Socket-Transformation, Socket-Transformation abrufen. Wir müssen den Namen angeben. Wir haben es kopiert, also drücke V, um es hier einzufügen und es mit der Spawn-Transformation zu verbinden, richtig? Das ist für den linken. Lass uns einfach alles kopieren und einfügen und es hier auch für das rechte einfügen. Das einzige, was wir hier ändern müssen , ist dieser Name. Gehen wir einfach zu einem Skelett. Wir wollen es auch für den richtigen Raketensockel machen. Benennen Sie es um, drücken Sie C, um den Namen zu kopieren und hier einzufügen. Das ist es. sollte alles einwandfrei funktionieren Damit sollte alles einwandfrei funktionieren, wenn Sie kompilieren, speichern und ausführen müssten. Lass uns einfach in den Himmel gehen. Und schieß. Und es ist auch schwer. 32. 31 Anzahl der Raketen: Nein, wir schießen unsere Rakete ab, aber das Problem ist, dass wir unsere Rakete unendlich abfeuern können Wir brauchen also ein System, wir die Anzahl der Raketen, die wir abfeuern können, begrenzen können Und dafür möchte ich eine Variable erstellen. Also hier drin, erstelle eine Variable. Ich möchte es die Nummer der Rakete nennen, richtig? Und der Typ, ich möchte, dass es eine Ganzzahl ist, weil es nicht 1,5 oder 0,5 sein kann, oder? Wir haben keinen Dezimalwert. Als Nächstes möchte ich das duplizieren, ich benötige eine weitere Variable. Und ich will das eine maximale Anzahl an Raketen nennen, richtig? Maximale Anzahl der Raketen. Lassen Sie uns einfach kompilieren und die maximale Anzahl von Raketen speichern. Ich wollte es auf zehn setzen, richtig. Als Erstes, was Sie damit machen wollen, möchte ich hier zum Event gehen und ich möchte die Anzahl der Raketen mit der maximalen Anzahl von Raketen zu Beginn des Spiels festlegen . Wann immer wir spielen, werden alle Raketen da sein. Wir haben jede Menge Raketen, oder? Die Anzahl der Raketen zu Beginn des Spiels wird also zehn sein. Und damit Sie es sehen können, möchte ich es hier bei Eventq mit einem Druckerring zeigen bei Eventq mit einem Druckerring Aber dieses Mal möchte ich ein benutzerdefiniertes Ereignis zum Debuggen erstellen , oder? Klicken Sie mit der rechten Maustaste hier rein, suchen Sie nach einem benutzerdefinierten Ereignis, oder? Und ich möchte das Debug nennen , oder? Und hier möchte ich diesen Debug mit unserem EventQeecution-Pfad verbinden Debug mit unserem EventQeecution-Pfad Also lege den Debug dort hin. Nein, was auch immer wir mit diesem Debuke verbinden, es ist, als würden wir es mit Eventq verbinden Ich möchte hier einen Druckerring verwenden, Druckerring, und damit möchte ich ihm einen Schlüssel geben Wir wollten die Anzahl der Raketen anzeigen . Sie können für diesen Schlüssel eingeben, was Sie wollen. Es ist nur so, dass keine Engine weiß, dass dieses Printesin dauerhaft sein sollte und es sollte nicht den Bildschirm damit füllen, Nein, ich möchte einen Formatierungstext verwenden, Text formatieren, und ich möchte sagen, dass die Raketennummer gleich der Zahl der geöffneten und geschlossenen geschweiften Klammern ist Zahl der geöffneten und geschlossenen geschweiften Klammern oder was auch immer Sie in diese geschweiften Klammern setzen möchten. Es wird eine Stecknadel dafür erstellt, sodass wir die geschweiften Klammern durch die Zahl darin durch die Stecknadel ersetzen können die geschweiften Klammern durch die Zahl darin durch die Stecknadel ersetzen , die wir haben. Diese geschweiften Klammern mit der Zahl werden durch das ersetzt, was wir mit diesem Zahlenstift durch das ersetzt Der Grund, warum es Nummer heißt weil wir hier die Nummer eingegeben haben Der Name ist hier wirklich wichtig, oder? Die Zahl, die wir zeigen wollen, ist die Anzahl der Raketen, die hier angeschlossen sind, und sie mit einer Kette verbinden. Einfach so, Head kompiliert, speichert. Wenn Sie das Spiel überfahren, können Sie sehen, dass die Anzahl der Raketen zehn ist, also funktioniert es einwandfrei Jetzt, wo wir die Anzahl der Raketen angezeigt haben, wollen wir hier hin. Und wenn wir mit der Taste ganz links auf unserer Tastatur auf das Feuer gehen , wollen wir die Anzahl der Raketen verringern Also subtrahieren Sie die Anzahl der Raketen um eins und speichern Sie sie wieder in sich, richtig? Also verringern wir es, indem wir es so mit hier und hier verbinden. Wenn wir nun kompilieren, können Sie sehen, dass wir zehn Raketen haben. Wenn wir schießen, haben wir neun, acht, sieben, sechs, fünf, vier, drei, zwei, eins und null. Sie können sehen, dass es auch minus sein kann. Wir wollen also nicht, dass es minus wird. Also was wir tun können, wir können die Anzahl der Raketen hier überprüfen. Also überprüfe es bei der Filiale und damit wollen wir sagen, wenn die Anzahl der Raketen größer als Null war, kannst du die Rakete abfeuern. Nun, wenn Sie save and run we game and shoot kompiliert haben, können Sie sehen, dass wir nur zehn schießen können . Und danach können wir nicht mehr schießen, egal wie oft Sie die Taste ganz links drücken wollen , wir können nicht 33. 32 Nachladeraketen: Nein, zum Nachladen oder Raketen. Lass uns sehen, wie wir das machen können. Um das zu Beginn des Spiels zu tun, gehen wir einfach zum Startspiel. Wenn wir die Anzahl der Raketen festlegen, wollen wir einen Timer einstellen. Also stellen Sie hier einen Timer für ein Ereignis ein, richtig? Und dieser Timer soll alle 1,5 Sekunden passieren. Also müssen wir 1,5 eingeben und es in eine Schleife umwandeln. Also passieren alle 1,5 Sekunden immer wieder, oder? Und was passieren wird, dieses benutzerdefinierte Ereignis wird passieren. Also können wir das benutzerdefinierte Ereignis hinzufügen, und ich möchte Reload sagen Diese Reload-Ausführung erfolgt also alle 1,5 Sekunden. Und jetzt wollen wir überprüfen, ob die Anzahl der Raketen unter der maximalen Anzahl von Raketen lag, also müssen wir beide holen und überprüfen Wenn die Anzahl der Raketen unter der maximalen Anzahl von Raketen liegt , wollen wir sie erhöhen. Wir sollten das mit Branch überprüfen. Wenn also die Anzahl der Raketen unter der maximalen Anzahl von Raketen liegt, wollen wir sie erhöhen, oder? Und wie wir sie erhöhen können, können wir unsere Anzahl an Raketen ermitteln, ihr eine hinzufügen und sie dann in sich speichern. Damit erhöhen wir sie also. Speichere es so, verbinde es so und verbinde es mit True. Das ist es. Wenn wir beim Kompilieren, Speichern und Überspielen des Spiels helfen , können Sie sehen, dass die Anzahl der Raketen bei zehn bleibt. Aber wenn wir einige von ihnen erschießen, können Sie sehen, dass es fünf sind. Jetzt sind es sechs, nein, es sind sieben, nein, es sind acht. Jetzt sind es neun, und jetzt sind es zehn, und es wird nicht mehr als zehn steigen. Jetzt haben wir ein Nachladesystem, richtig, wir die Rakete komplett überschießen können, und nach 15 Sekunden haben wir alle Raketen zurück Und Sie können sehen, dass wir die Raketen nachladen. Nein, wir können wieder schießen, oder? Nein, wenn das erledigt ist, ist unser Reload-System okay. Nein, es ist an der Zeit, eine Benutzeroberfläche hinzuzufügen, damit wir sie auch in unserer Benutzeroberfläche sehen können, nicht nur mit einer Zeichenfolge 34. 33 Missile UI: Keine nächste Sache, die du tun willst. Wir wollen eine Widget-Blueprint-Benutzeroberfläche für unser Raketensystem erstellen für unser Raketensystem Schauen wir uns also an, wie wir das machen können. Gehen Sie zur Inhaltsschublade, gehen Sie zum Ordner Hell, klicken Sie mit der rechten Maustaste hier hinein, erstellen Sie einen neuen Ordner und nennen Sie ihn Widgets. Gehen Sie ins Fenster, um es zu öffnen, klicken Sie mit der rechten Maustaste hier hinein, gehen Sie zur Benutzeroberfläche und erstellen Sie einen Widget-Blueprint vom Typ eines Benutzer-Widgets Ich möchte es WBP UI nennen, oder? Klicken Sie nicht darauf, um es zu öffnen, oder gehen Sie nicht ins Internet, um es zu öffnen, oder? Als erstes , was Sie hinzufügen möchten, wollen wir zum Panel im Canvas-Bedienfeld in diesem Canvas-Bedienfeld gehen Canvas-Bedienfeld in diesem Canvas-Bedienfeld Ich möchte zuerst ein Bild nach dem X und danach eine Zahl zeigen , richtig? Dazu möchte ich dort oben standardmäßig ein horizontales Feld erstellen , aber ich möchte den Anker in die untere rechte Ecke ändern und die Position X und die Position Y Jetzt können Sie sehen, dass es an der oberen linken Ecke ausgerichtet ist. Ich möchte es an der unteren, rechten Ecke ausrichten. Geben Sie also eins und eins für die Ausrichtung ein, sodass es in der unteren rechten Ecke angezeigt wird. Jetzt möchte ich etwas Polsterung mit den Positionen -50 und -50 hinzufügen -50 und -50 Wir haben also etwas Abstand zwischen unserer horizontalen Box und dem Rand Als Nächstes möchte ich ein Bild hinzufügen. Gehen wir also einfach nach oben, fügen ein Bild wie dieses hinzu und wählen ein Bild aus. Klicken Sie in Brush auf das Bild, und das Bild, das Sie hinzufügen möchten, ist Rakete. Die Suche nach einer Rakete ist also das. Nein, man sieht, dass es dehnbar ist. Wir müssen auf das horizontale Feld klicken, um es zu sagen. Denken Sie an die Größe des Inhalts, den Sie haben, oder? Kannst du sehen? Nein, die Größe der Rakete ist gut, aber sie ist zu groß. Also was ich tun möchte, ich klicke auf das Bild, gehe zur Bildgröße und teile das Y durch zwei. Teile es durch zwei. Ich denke, das sieht viel besser aus, oder? Damit müssen wir auch einen Text in ein horizontales Feld einfügen . Sie können sehen, dass es hinter dem Bild her sein wird. Und für den Text möchte ich ein X wie dieses verwenden, und ich möchte, dass es so zur Mitte ausgerichtet ist. Das kannst du sehen. Ich möchte die Farben zu etwas mehr Schwarz wie diesem ändern . Aber du entscheidest, was du willst, nein, ich möchte hier noch einen Text hinzufügen. Sie können auch hier sehen, dass es danach sein wird, und ich möchte, dass es so in der Mitte ausgerichtet wird. Und ich möchte dort einen Wert angeben, zum Beispiel zehn, um zu sehen, ob es gut aussieht oder nicht. Nein, was ich tun möchte, ich möchte auf das X klicken und etwas Abstand hinzufügen Zum Beispiel Pad nach links, fünf Einheiten und Pad nach rechts, ebenfalls fünf Einheiten. Was ich machen möchte. Ich möchte die Größe der Zehn ändern , weil wir sie vielleicht sehen können. Gehen Sie dazu zu Erscheinungsbild, gehen Sie zur Schriftart und ändern Sie sie nach Belieben. Ich möchte es auf 88 setzen, damit wir es besser sehen können. Ich finde, das sieht gut aus. Ich möchte diesen Text nach der Nummer des Raketentextes benennen. Okay? Und ich möchte , dass es eine Variable ist, damit wir es später ändern können. Kopf, kompilieren, speichern. Wenn du jetzt zum Graphen gehst, was ich hier machen möchte, möchte ich eine Funktion erstellen. Mit dieser Funktion können wir also die Anzahl der Raketentexte in OUI aktualisieren , richtig? Ich nenne diese Funktion Zahl der Raketen aktualisieren“ und damit wollen wir den Text für die Anzahl unserer Raketenabschüsse festlegen. Also nimm die Variable, setze Text drauf und schon ist sie da unten, setze Text. Damit können wir den Text für die Anzahl unserer Raketenabschüsse festlegen . Aber womit? Mit der Eingabe dieser Funktion. Also klicken Sie auf die Funktion, gehen Sie runter und erstellen Sie eine Eingabe diese eine Zahl und deren Typ anrufen, wie Sie wissen, ich möchte, dass es eine Ganzzahl ist, oder? Kopf kompilieren, speichern und diese direkt hier verbinden, richtig? Wisse, dass wir das haben, wir haben eine Benutzeroberfläche und wir haben eine Funktion, um diese Benutzeroberfläche zu aktualisieren. Mal sehen, wie wir es verwenden können. Um es zu benutzen, müssen wir zur BP-Hölle bei BMP gehen. Sie können sehen, nachdem wir die Anzahl der Raketen hier eingegeben haben, wollen wir zuerst ein Widget erstellen. Also hier sagen wir Widget erstellen, richtig. das Widget, das Sie erstellen möchten, HeliUI heißt , wählen Sie es Nein, wir wollen es zuerst auf eine Variable hochstufen und ich möchte es Hell UI nennen, oder? Ich brauche den Hinrichtungs-Pin. Also geben wir ihm einfach den Ausführungs-Pin. Und danach wollen wir diese beiden Viewports hinzufügen, damit wir es sehen können, richtig, das Viewport hinzufügen und danach können wir den Timer für das Nachladen der Raketen einstellen, können wir den Timer für das Nachladen der Raketen einstellen Wenn Sie jetzt bei Teton auf Kompilieren, Speichern und Ausführen klicken, können Sie sehen, dass die Raketen-Benutzeroberfläche da ist und wir sie sehen können. Das ist gut Aber es ist nicht aktualisiert. Mal sehen, wie wir es aktualisieren können. Wann immer wir die variable Anzahl der Raketen ändern, brauchen wir die Höllen-Benutzeroberfläche. Und kodieren Sie die Aktualisierungsnummer der Raketenfunktion. Das ist es. Das ist alles, was wir tun müssen, genau mit der Anzahl der Raketen. Und das müssen wir kopieren und am Ende hier einfügen. Wenn wir am Ende unsere Rakete abfeuern, wollen wir die Anzahl der Raketen wieder aktualisieren, oder? Also Kontrolle, wir fügen es hier ein. In beiden Fällen spielt es keine Rolle , welcher passiert. Wir wollen wieder die Anzahl der Raketen aktualisieren, oder? Einfach so. Weißt du, am Anfang überprüfen wir zuerst, ob die Anzahl der Raketen größer als Null war, wir reduzieren sie um eins, und wir schießen sie ab und spawnen sie Danach aktualisieren wir die Benutzeroberfläche. Lassen Sie uns nun sehen, ob es gut funktioniert oder nicht. Wenn Sie das Spiel überfahren, können Sie sehen, dass die Raketennummer zehn ist und sie in der unteren rechten Ecke angezeigt wird. Lass mich in den Himmel fliegen, damit du ihn besser sehen kannst. Und schieß, du kannst sehen, ich schieße und nein, du kannst sehen, dass sich die Anzahl der Raketen du kannst sehen, dass sich die Anzahl der Raketen völlig ändert. Also nein, wir brauchen diesen Text nicht, diese Drucktests, oder? Die Benutzeroberfläche der Rakete funktioniert einwandfrei. Also nein, die Raketen-Benutzeroberfläche funktioniert einwandfrei. Wir können das einfach trennen. Wir brauchen es nicht mehr. Es war nur, um dir zu zeigen, wie es funktioniert. 35. 34 Kreuzschier: Wisst, dass wir unsere Rakete abfeuern können und dafür gibt es eine Beschränkung, und wir haben ein Nachladesystem Wir brauchen eine Benutzeroberfläche. Damit wissen wir also, worauf wir schießen, wo unsere Rakete nach ein oder zwei Sekunden sein wird, oder? tun, möchte ich zur Inhaltsleiste gehen einen weiteren Widget-Blueprint erstellen Klicken Sie also mit der rechten Maustaste hier rein, gehen Sie zum Benutzer-Widget und erstellen Sie das Benutzer-Widget rechts, Widget Blueprint Danach klicken Sie auf Benutzer-Widget. Ich möchte es WBP AM nennen, richtig, oder wie auch immer du es nennen willst Das einzige , was ich hier hinzufügen möchte, ist nur ein Bild Mach dir über nichts Sorgen. Das Bild, das ich da einfügen möchte , heißt Fadenkreuz, oder? Das ist es. Du musst nichts ändern. Ich möchte den Farbton auf eine solche schwarze Farbe ändern. Aber wenn du das nicht tun willst, lass es einfach so wie es ist Einfach mit diesem Kopf kompilieren, speichern und schließen. Jetzt müssen wir die BP-Hölle durchgehen und hier ein Benutzer-Widget hinzufügen. Klicken Sie also auf AD, suchen Sie nach einem Widget und fügen Sie ein Widget hinzu. Und ich möchte es auch 1:00 Uhr nennen, wir können es MI nennen, oder? Klicken Sie auf die MUI und ändern Sie den Abstand zwischen Wort und Bildschirm Wir sehen es also immer, richtig. Danach wollen wir die Widget-Klasse auf die Klasse ändern , mit der wir WBPAM erstellen, und die Größe soll 100 mal 100 sein, oder? Das ist es. Aber du sagtest kompilieren, speichern. Und das Runo-Spiel, du kannst sehen, dass das Widget da ist. Das sieht gut aus Wir haben es nicht auf Schwarz geändert, aber lassen Sie mich Ihnen etwas zeigen. Wenn wir die WBPA erneut öffnen, können wir auf Bild klicken Und ändere die Tönungsfarbe auf Schwarz. Aber zuerst möchte ich die Opazität ändern, damit es ein bisschen transparent Nun, wenn du das Spiel überfährst, kannst du sehen, dass es viel besser aussieht, aber mein Geschmack ist so, es in Schwarz zu ändern, oder? Ich denke, bei unserem Kampfhubschrauber ist Schwarz viel besser, besser geeignet, oder? Aber Sie können sehen, dass die Position von AUI oder Fadenkreuz nicht in Ordnung ist Also lass mich dir zeigen, wie du das ändern kannst. Wenn du zu BP Hali gehst, was willst du dann machen? Wir wollen bei jedem Tick sehen, wohin unser Helikopter schaut und das Fadenkreuz oder AM-Widget dort ändern, richtig zu tun, möchte ich hier unten ein benutzerdefiniertes Ereignis erstellen , oder Wir haben hier etwas Platz. Lassen Sie uns einfach ein benutzerdefiniertes Ereignis erstellen, und ich möchte es KI-Manager nennen. AMUI-Manager, und wir wollen ihn auch mit Eventq verbinden Hier werden wir also den UI-Manager ziehen und erstellen und nach ihm suchen Das ist alles was wir tun müssen. Nein, was du hier machen willst, ist, dass wir eine Linienverfolgung verwenden , die Zeile für Kanal verfolgt wird. Wie Sie wissen, muss es einen Start- und einen Endpunkt haben. Am Anfang möchte ich, dass er sich in der Mitte unseres Hubschraubers , sodass wir dafür einen Quellgarten nutzen können , weil er sich in der Mitte unseres Hubschraubers befindet. Also lass uns das einfach benutzen. Ich nehme unseren Quellgarten und entferne das Wort Standort daraus, hole mir das Wort Standort. Das ist der Startpunkt wie dieser. Als nächstes der Endpunkt, wir wollen, dass er auf unseren Hubschrauber vor unserem Hubschrauber ausgerichtet ist, wo es etwas gibt oder nicht, oder? das zu tun, müssen wir also zuerst Um das zu tun, müssen wir also zuerst diesen Federarm nach vorne bewegen. Suchen Sie also nach dem G-Vorwärtsvektor. Und weil das eine Länge von eins ist, müssen wir sie mit einem Wert multiplizieren. Also multipliziere es mit einem wirklich großen Wert. Also ändere das in einen Float und setze 99999999 dort ein, richtig, das Welchen Wert Sie auch immer hier eingeben, er sollte einfach groß sein Und jetzt möchte ich die Startposition, die wir haben, zur oder Vorwärtsrichtung hinzufügen . Und das ist unser Ende, oder? Damit du es sehen kannst, möchte ich diesen Droid-DVC-Typ für einen Frame ändern diesen Droid-DVC-Typ für einen Und damit wollen wir einfach sehen, was passieren wird. Wenn Sie kompilieren, speichern und ausführen gehen, können Sie sehen, nein, es gibt eine Linie von der Mitte des Hubschraubers zur Vorderseite. Wenn wir in den Himmel fliegen, können Sie sehen, ob es auf etwas trifft, es gibt uns diesen Ort, dieses Quadrat. Mit diesem Quadrat wollen wir also die Position, wo Mui oder hier kreuzen, auf diese Position setzen . das zu tun, müssen wir diese Head-Ergebnisse aufschlüsseln, also kaputtmachen. Damit wollen wir zuerst überprüfen, ob es auf etwas trifft oder nicht. Also überprüfe es bei der Filiale. Wenn es auf etwas trifft, es uns einen Aufprallpunkt oder den Ort, an dem es auf etwas trifft, richtig? Wir können beide verwenden. Damit können wir jetzt unsere MUI abrufen und das Wort Standort festlegen . Okay, das ist es. Verbindet man die Wahrheit damit, ist der Impact-Point mehr als ausreichend. Nun, falls es nichts getroffen hat, wollen wir das Wort „ Ort“ wie folgt setzen. Wenn es nichts mit der Spur trifft , wo die Spur endet, das Ende der Linie, die wir zusammen gesehen haben, richtig? Nein, nur damit, wenn du kompiliert, ein Runo-Spiel speichern drückst, kannst du die Position von oder Kreuzkopf sehen, nein ist okay Du kannst sehen, ob wir in den Himmel fliegen, du kannst sehen, dass jedes Mal okay ist und dass es an der richtigen Stelle ist und wir dort schießen können, Weil wir umziehen, wird es nicht gut sein, aber Sie können sehen, es funktioniert gut, oder? Also schalten wir den Motor aus. Schieß. Nein, du kannst sehen, es nähert sich ihm. Es ist okay. Denn mit diesem Hubschrauber werden wir Schäden am App-Radio haben, richtig? So sollte es funktionieren. Das sieht also toll aus. Nein, wir haben eine Benutzeroberfläche. Was ich tun wollte, ich möchte diesen Draw-Deba-Typ auf None deaktivieren diesen Draw-Deba-Typ auf , weil wir ihn nicht mehr benötigen Wir wollen, dass unser Spiel sauber aussieht. Du siehst nein, es ist viel sauberer, oder? Sie können sehen, dass alles gut und wunderschön funktioniert. 36. 35 Luftschutzpistole – Plan: Unser Helikopter ist bereit, einiges zu zerstören, aber wir haben nichts Schauen wir uns also an, wie wir einen Feind erschaffen können , der sich wehren kann. das zu tun, möchte ich zur Inhaltsleiste gehen, zu Anti IrgonFolder gehen und hier rechten Maustaste einen neuen Ordner erstellen und ihn Blueprint nennen Oder Blaupause. Und ich klicke darauf, um es richtig zu öffnen, klicke hier rein, erstelle eine Blueprint-Klasse vom Typ Schauspieler, und ich möchte es BP Anti Air Gun nennen, Klicken Sie darauf, um es zu öffnen. Hier möchte ich zuerst und zuerst ein Skelettnetz hinzufügen. Also füge es dort hinzu und setze es als Standardsyndroot, indem du es per Drag-and-Drop in die Standardszene ziehst, danach hier reinklicken und Standardszene ziehst, danach das SK East-Bild auswählen Du kannst es hier sehen. Damit wollen wir den Hubschrauber angreifen. Vielleicht können wir es zerstören. Als nächstes, weil wir ihn drehen wollten , ist er weg und gegen den Hubschrauber gerichtet, wir brauchen einen Animations-Blueprint dafür das zu tun, möchte ich zu Content Drawer gehen, rechten Maustaste hier reinklicken, zur Animation gehen und einen Animations-Blueprint erstellen Für die Scale East RT, ausgewählt, hilf bei der Erstellung und ich möchte sie ABP ti Air Gun nennen, oder? Ich klicke auf den oberen Teil und auch auf diesen. Hier wollen wir den Netzraum R-Pose hinzufügen Dadurch erhalten wir alle Informationen über die Knochen, und wir müssen sie auch mit der Pose verbinden. Es ist noch kein Anti-Ergon-Blueprint fertig. Lass uns einfach einen von ihnen zu unserem Level hinzufügen. Klicken Sie neben Spielerstart auf Outliner auf Spielerstart, Kopf F. So gelangen Sie zum Spieler-Start Ich möchte Over-Antirgon erstellen , indem ich einen von ihnen hier nach oben ziehe, richtig? Das ist es. Es ist mit dem Gesicht über den Spieler gerichtet. Ich möchte nicht, dass es mit dem Gesicht über dem Spieler liegt. Lassen Sie uns einfach zu der gewünschten Rotation wechseln. Mit dem Animationsplan wollen wir also die Drehung ändern, sodass er über den Hubschrauber schaut und ihn angreift, richtig? Also nicht als Nächstes, was wir tun wollen, wir wollen ihm sagen, was Ihr Ziel ist das zu tun, möchte ich zu BP Anti Airgon gehen, zu AventGrap gehen und hier auf Event BM Play, ich möchte ihm sagen, dass die BP-Hölle dein Feind ist Und wenn es in Reichweite ist, schieß darauf, richtig? Um das zu tun, brauchen wir hier die Spielerbauern, und damit bekommen wir die Spielfigur , die diese Spieler starten , automatisch spawnen Es wird ihn hier drüben spawnen. Und damit wollen wir es in die BP-Hölle werfen. Okay. Wenn die Würfe erfolgreich sind, bedeutet das, dass das Ziel da ist und wir darauf schießen können, oder? Wir können also mit der rechten Maustaste darauf klicken, während BP Heli zu einer Variablen hochgestuft hat, und ich möchte sie Target nennen Das ist also unser Ziel, oder? Das nächste, was wir mit diesem Ziel machen wollen, wir wollen prüfen, ob es sich um eine Reichweite handelt. Wenn wir darauf schießen können und wie wir das machen können, wollen wir sagen, wenn die Entfernung zwischen dem Tiegon und der Taya oder BP Holly zum Beispiel 100-8 Tausend beträgt, können Sie darauf schießen, aber wenn es nicht in dieser Reichweite ist, schießen Sie nicht darauf, weil Sie es nicht Also, wenn ich das hier mache, will ich es nicht bei jedem Bild machen Ich möchte einen Timer verwenden, also stellen Sie den Timer nach Ereignis ein. Wir wollen alle 1 Sekunde nachschauen. Wir wollen jede Sekunde überprüfen, ob der Hubschrauber in Reichweite ist oder nicht, ob wir darauf schießen können oder nicht. Stellen Sie also Timer für Ereignis ein, geben Sie uns ein Ereignis und wir können ein benutzerdefiniertes Ereignis damit verbinden. Suchen Sie also nach einem benutzerdefinierten Ereignis, und ich möchte diesen einen Check-In-Bereich nennen, richtig? Du kannst es nennen, wie du willst. Dieser Check-In-Bereich erfolgt einmal nach 1 Sekunde. Aber wenn wir die Schleife aktivieren, wird dieser Prüfbereich jede Sekunde überprüft. Und mit diesem Prüfbereich wollen wir die Entfernung ermitteln. Also lasst uns einfach nach der Entfernung suchen. Zwischen zwei Vektoren, dem Entfernungsvektor, wollen wir die Entfernung zwischen Antiergon und dem Ziel überprüfen zwischen Antiergon und dem Ziel Wenn es in Reichweite ist, schieß darauf, richtig? Also braucht es zwei Vektoren. Erster Vektor, wir können einfach den Standort des Schauspielers ermitteln, der uns den Ort in der Welt von zu viel Ergon Als Nächstes wollen wir das Ziel und auch den Standort des Schauspielers ermitteln, also Standort des Schauspielers über dem Ziel Nein, das gibt uns die Entfernung zwischen ihnen. Aber bevor wir das tun, müssen wir überprüfen, ob dieses Ziel gültig ist oder nicht. Die Suche nach ist also gültig, richtig, so. Wenn es gültig ist, ermitteln Sie die Entfernung zwischen dem Antagon und dem Ziel , die über der Hölle liegt, richtig Also hier drin wollen wir überprüfen, ob es in Reichweite ist. Suchen Sie also nach Reichweitenflüssigkeit, weil es sich um eine Flüssigkeit handelt Wir wollen sagen, wenn es 100-8.000 sind, ist sie in Reichweite, oder? Wenn das Ziel also gültig ist, wollen wir hier einen Zweig verwenden und prüfen, ob er in Reichweite ist oder nicht Und hier will ich, nur für den Fall, einen Testring benutzen. Und wenn es wahr ist, bedeutet das, dass es in Reichweite ist. Sagen wir also in Reichweite, das ist es. Und wenn es wieder falsch ist, verwenden wir einfach einen Drucktestring und sagen das Ziel nicht in Reichweite ist. Und damit Sie es sehen können, möchte ich die Farbe dieses Testrings auf Rot ändern und den Kopf in Ordnung bringen. Wenn Sie nun das Spiel kompilieren, speichern und überspielen, können Sie sehen, dass das Ziel nicht in Reichweite ist , weil wir nicht in der Nähe sind. Aber wenn wir uns dem nähern, schauen wir mal, was passiert. Solltest du näher gehen? Nein, du kannst sehen, dass wir in Reichweite sind. Wenn du davon wegkommst, lass uns sehen, was wieder passieren wird. Sie können sehen, dass es in Reichweite ist, und nein, es ist nicht in Reichweite. Anhand der Entfernung entscheiden wir also, ob es sich in Reichweite befindet oder nicht. Dies ist der erste Schritt in Richtung unseres Ziels, auf unseren Hubschrauber zu schießen. 37. 36 Waffenheinchen ändern: Nein, wir wissen, wann sich das Ziel in Reichweite der Luftabwehr befindet. Aber als Erstes wollen wir, dass sich das Antiirgon den Hubschrauber anschaut, oder ? Sieh es an, damit es darauf schießen kann, richtig? Stimmt? Nein, es zeigt in diese Richtung, aber wir wollen, dass es so dreht, dass es dem Ziel zugewandt ist. spielt keine Rolle, wo es ist, es spielt keine Rolle, ob es sich wohin bewegt, oder? Dafür müssen wir also einen Animations-Blueprint verwenden, und der Node, den wir verwenden wollen, heißt Modify Boon, oder? und der Node, den wir verwenden wollen, heißt Modify Boon, Und bei diesem modifizierten Knochen müssen wir die Rotation von Over Gun ändern Also müssen wir die Übersetzung nicht ändern, also können wir ihr sagen, dass sie nicht als PIN veröffentlicht werden soll, oder? Und wir müssen den Maßstab auch nicht ändern. Also werden sie ihm sagen, dass er nicht auch als Stift sichtbar sein soll, aber wir wollen die Drehung ändern. Und den Rotationsmodus wollten wir zur Existenz hinzufügen . Wenn es also bereits eine Rotation gibt, wird sie erweitert und danach wird der Bonspace ausgewählt, richtig? Sie können es auch einfach als Komponente im Weltraum belassen. Nun, hier drin, den Knochen , den Sie modifizieren wollen, können wir hier drüben platzieren. Aber schauen wir uns an, welchen Knochen wir drehen wollen. Wenn du hier reinklickst, öffnet sich das Skelett von Over Gun, richtig? Hier drin haben wir eine Pistole, mit der wir sie hoch und runter bewegen können. Du kannst es sehen. Und wir haben ein Turmgelenk, mit dem wir es um die Z-Achse drehen können Diese Drehung um die Z-Achse wird Yaw genannt, und die Drehung um die Y-Achse wird Pitch genannt Wir müssen also die Neigung von Übergeschütz und die Gierneigung von Überturm ändern Übergeschütz und die Gierneigung von Überturm Okay? Das ist unser Turm und wir müssen seinen Kiefer wechseln Es gibt also zwei Knochen, die wir bei jeder Umdrehung ändern müssen Zuerst das Geschützgelenk, die Tonhöhe und das Turmgelenk, ja Also lass uns sehen, wie wir das machen können. Lassen Sie uns das zunächst einfach für Turret tun, oder? Sucht nach Turret Da steht Torrent. Es ist ein Irrtum. Mach dir darüber keine Sorgen. Torrent-Restaurant. Und hier möchte ich mit der rechten Maustaste auf diese Drehung klicken und den Stroqm teilen Wir müssen die Rolle und die Tonhöhe nicht ändern. Wir müssen nur das Ya ändern. Zum Beispiel, wenn ich es auf 40 ändere und kompiliere. Nein, du kannst sehen. Die Rotation hat sich geändert. Auch hier können wir es auf 90 setzen, zum Beispiel Head Compile, nein, Sie können sehen, ich habe es um 90 Grad gedreht. Ich will es nicht einfach so machen. Ich möchte es zu einer Variablen heraufstufen. Ich will es Gun Y nennen, leg es auf Gun Ya. Wir müssen nicht Tretyo sagen weil wir das Tret ya ändern Aber die Pistole, ich meine die Luftabwehrpistole, richtig? Deshalb nenne ich es Gun Ya. Und danach müssen wir das kopieren und einfügen. Wir müssen das auch für das Geschützgelenk selbst tun. Der Knochen, den wir modifizieren wollen, heißt Pistolengelenk. Also lass es uns einfach da hinstellen. Was wir jetzt ändern wollen, ist die Tonhöhe. Wenn ich also zum Beispiel 45 einfüge und kompiliere nein, kannst du die Tonhöhe um 45 Grad ändern. Auch hier möchte ich mit der rechten Maustaste auf diese Datei klicken, zu einer Variablen heraufgestuft wurde, und ich möchte sie Gun Pitch nennen, richtig? Das müssen wir ändern. Gun Pitch und Gun Ya. Um sie in einem Vorschau-Editor zu testen , können wir sie einfach testen. zum Beispiel die Tonhöhe ändern möchten, können Sie sehen, dass ich sie live ändere. Und ich kann das Ya so gut ändern , wie du es hier sehen kannst. Ich sehe es mir an, du kannst es besser sehen. Siehst du, mit diesen Variablen können wir unsere Waffe drehen und ihre Tonhöhe ändern, um nach oben und unten zu schauen. Jetzt haben wir also eine Möglichkeit, unser Geschütz zu drehen und seine Tonhöhe zu ändern, sodass wir nach oben und unten schauen können . Mal sehen, wie wir im nächsten Video berechnen können , was die Tonhöhe und was das U sein sollte. 38. 37 Die Waffenhinnung berechnen: Nein, wir wissen, wie wir unsere Waffe in die gewünschte Richtung drehen können , oder? Aber nein, wir wollen das Ziel überprüfen und die Drehung je nach Ziel ändern, also auf AMAT oder Target abfeuern Um das zu tun, möchte ich hier zu BP ti Airgun gehen. Anstatt einfach das zu verwenden , was ich tun möchte , möchte ich eine Variable erstellen und sagen, ob sie im Bereich liegt oder Nennen Sie es also im Bereich. Wenn sich das Ziel in Reichweite befindet, möchten wir dies auf true setzen. Das Ziel ist in Reichweite. Wenn Sie sich erinnern, überprüfen wir die Entfernung zwischen dem Antigon und dem Und wenn es in Reichweite ist, wird das wahr sein, und wir wollen sagen, dass es in Reichweite ist Wenn es uns danach „Falsch“ gibt, wollten wir sagen, dass dieser Zweig nicht im Bereich liegt, weil wir dadurch falsch sind. Aus diesem Grund kommt dieses False oft vor und wir sagen, dass es im Bereich falsch ist. Nun, da das auf Aventq bei jedem Frame läuft, wollen wir die Drehung des Übergeschützes so ändern, dass es auf den Helikopter oder das Ziel schaut, oder? Das Erste, was wir hier tun müssen, zunächst zu überprüfen, ob das Ziel gültig ist Suchen Sie also so nach I valid und verbinden Sie den Ausführungs-Pin damit. Als Nächstes wollen wir überprüfen, ob es gültig ist oder nicht, also holen wir es uns und überprüfen es mit dem Zweig wie diesem. Nein, in diesem Fall müssen wir die Kanonenhöhe und das Geschütz berechnen, also schaut es sich unseren Hubschrauber an und wie wir das machen können. Zuerst müssen wir die Rotation von unserer Luftabwehrkanone zum Ziel bringen . Was ist diese Rotation? Wenn der Hubschrauber seine Position geändert hat, welche Drehung sollte unser Geschütz haben? Und dafür gibt es einen Knoten namens Find Look at Rotation. Dieser feine Blick auf die Rotation benötigt also eine Start - und Zielposition, und er berechnet die Drehung, die das Geschütz haben sollte, damit es auf das Ziel zielt. Die Startposition ist oder Anti-Argon, also können wir sie ermitteln, indem wir den Standort des Schauspielers ermitteln Das ist es. Nein, was den Zielort angeht, wenn du zu unserer BPL gehst, möchte ich, dass sie auf die Mitte unseres Hubschraubers abzielt Oder standardmäßig ein Hubschrauber, dessen Standort 000 hier unten ist, richtig? Aber ein Federarm startet in der Mitte des Hubschraubers. Deshalb möchte ich die Federarmposition verwenden. Um zu sagen: Das ist dein Ziel, ziele auf die Mitte unseres Hubschraubers. unserer Luftabwehrkanone wollen wir also unser Ziel und seinen Federarm erreichen. Also suche nach Spring Guard. Und mit diesem Spring Guard wollen wir das Wort „Standort“ herausfinden. Holen Sie sich also den Ort des Wortes. Und nein, dieser Knoten gibt uns die Drehung , die unser Geschütz haben sollte, also ist es auf unseren Hubschrauber gerichtet. Nein, unsere Waffe hat bereits eine Rotation. Und das können wir mit der G-Schauspieler-Rotation erreichen, oder? Wir wollen den Unterschied zwischen diesen beiden Rotationen berechnen und ihn für Gun-Pitch und Gun Yeah berechnen. Und wie wir das machen können, es gibt einen Knoten namens Delta-Rotator, der uns den Unterschied zwischen der Rotation , die das Luftabwehrgeschütz haben sollte, damit es auf den Hubschrauber zielt, damit es auf den Hubschrauber zielt und der Rotation, die es bereits hat, gibt, oder? Ich gebe uns diese Rotation. Wir können einfach mit der rechten Maustaste darauf klicken und eine Strichflosse teilen. Damit brauchen wir nur noch den Pitch-Wert und den Ya-Wert. Wir können also mit der rechten Maustaste auf den Pitch-Wert klicken , der zu einer Variablen heraufgestuft wurde, und ich kann ihn Gun-Pitch nennen. Das ist die Tonhöhe, die unsere Waffe haben sollte. Wir müssen die Tonhöhe des Geschützes speichern , indem wir den Ausführungsstift daran anschließen, damit der Geschützabstand darin gespeichert wird. Wir brauchen auch den Ya, und ich will ihn Gun Yao nennen Und auch mit dem Execution Pin verbunden. Und jetzt haben wir die Gun-Pitch und die Pistole. Lassen Sie uns sehen, wie wir es in unserem Animationsplan verwenden können. Gehen Sie zu Animation Blueprint, gehen Sie zum Event-Graph, und hier müssen wir zuerst unsere BP-Luftabwehrpistole holen Also klicken Sie bei der Veranstaltung mit der rechten Maustaste, beginnen Sie mit dem Spiel und wir müssen den Hauptdarsteller finden . Also so und wirf es auf Anti-Ergon und dann auf Anti-Luftgewehr, richtig Wenn das Casting erfolgreich ist, können wir es auf variabel hochstufen Und ich möchte es einfach BP Anti Air Gun nennen, richtig? In dieser BP-Anti Ergon, was wir haben, haben wir das Geschütz und die Kanonenyacht, die wir berechnen, richtig Also hier brauchen wir den Besitzer der Trig-Spielfigur nicht, weil der Besitzer dieses Animations-Blueprints ein Schauspieler ist Deshalb haben wir Eigendarsteller benutzt, richtig? Und hier müssen wir zuerst überprüfen, ob dieser Plan zur Luftabwehr gültig ist oder Die Suche nach ist also gültig. Wenn es gültig ist, wollen wir einfach den Ausführungspin anschließen. Wir müssen das Geschütz rausholen. Suchen Sie also nach Gun Pitch und wir brauchen auch die Waffe. Pistole dich so. Das sind die Werte, die wir hier berechnen. Das sind diese, richtig? Aber wir wollen es verbinden oder in diesen Variablen speichern, sodass wir es in unserem Animations-Blueprint haben Also können wir unsere Kanonenhöhe ermitteln und sie hier mit dem Wert angeben, den wir von unserer Luftabwehrkanone erhalten , die wir zusammen berechnen, richtig? Und nochmal, wir sollten es auch für Gun Ya tun. Stellen Sie es hier hin mit dem Wert, den wir von über Anti Ergon Blueprint bekommen . Das ist es. Jetzt, wo das erledigt ist. Wir müssen zu Antirgon gehen, auf unser Skelettbild klicken Wir haben vergessen, den Anime-Kurs dort abzuhalten. Also klicken Sie hier rein und wählen Sie ABP Anti Ergon. Also werden dieser Bauplan und dieser Animationsentwurf miteinander verbunden sein, richtig? das erledigt ist, nein, wenn du das Spiel überfährst und in den Himmel gehst, lass uns sehen Es sollte seine Rotation je nach unserem Standort ändern. Jetzt kannst du es sehen. Es steht uns gegenüber. Geh vorwärts. Sie können sehen, oder Antiergon schaut uns an und es wird seine Rotation ändern, also wird es uns ansehen Lass uns wieder einfach in den Himmel gehen. Es spielt keine Rolle, wohin wir gehen, du siehst, es folgt uns korrekt. Jetzt, wo es uns korrekt verfolgt, müssen wir die Waffen auf unseren Hubschrauber abfeuern. Mal sehen, wie wir das machen können. Als Nächstes. 39. 38 Luftabwehrpistole: Nein, damit unsere Luftabwehrkanone auf unseren Hubschrauber schießen kann, benötigen wir ein Projektil Lassen Sie uns also zuerst ein Projektil erstellen und danach schießen wir es ab, richtig? dazu zur Inhaltsschublade, gehen Sie zum Blueprint-Ordner in Anti Airgun und klicken Sie mit der rechten Maustaste hier hinein, erstellen Sie eine Blueprint-Klasse vom Typ Schauspieler, und ich möchte sie BP-Luftgewehr-Projekt-Kachel nennen BP-Luftgewehr-Projekt-Kachel Puppe darauf klicken, um es zu öffnen. Und hier drin möchte ich nur eine Kugel hinzufügen , weil sie so schnell vergeht, dass wir sie nicht sehen können. Wir brauchen dafür kein Dachgeschossbild. Nur eine Kugel ist mehr als genug. Ich kann es als Standard-Syn-Root indem ich es dorthin ziehe und dort ablege Damit möchte ich nun auch eine Projektilbewegung hinzufügen Füge eine Projektilbewegung hinzu. Und die Geschwindigkeit, die Initialisierung einer Geschwindigkeit, ich möchte, dass sie 40.000 ist, aber Sie sollten mit diesem Wert spielen bis Sie das gewünschte Ergebnis erreicht haben Die maximale Geschwindigkeit, ich möchte, dass sie 50.000 beträgt, oder? Und jetzt, wenn ich in die Richtung gehe und auf Simulieren drücke, können Sie sehen, ob sich das Projektil bewegt Als Nächstes möchte ich die Größe des Projektils ändern Um das zu tun, klicken Sie auf Kugel. Die Größe für alle möchte ich bei 2,15 ändern, oder? Deshalb habe ich diese Symbole ausgewählt, sodass sie sich alle zusammen ändern 0,15 ist mehr als genug , weil es ein kleines Projektil ist, oder? Die Farbe dafür, ich möchte ein Material erstellen Also werde ich hier auf Material erstellen klicken. Ich nenne es Rot. Das ist es. Ich klicke darauf, um es zu öffnen. Und hier möchte ich einen ganzen Baum auf unserer Tastatur ganz links unten haben, um einen konstanten Vektor zu erzeugen, mit dem wir die Farbe ändern können, wenn Sie die Grundfarbe angeben Jetzt können wir hier reinklicken und Rot wählen. Füge einfach Rot hinzu. Du kannst sehen, nein, es ist eine rote Kugel, aber ich möchte, dass sie auch ein bisschen leuchtet. Deshalb brauchen wir die Emissionsfarbe. Wir können sie einfach mit der Emissionsfarbe verbinden, aber sie leuchtet nicht so stark Lass es uns einfach sehen und anschauen. Man kann sehen, dass es ein wenig leuchtet. Aber wenn du das mit einem wirklich großen Wert, sagen wir mal 200, multiplizierst wirklich großen Wert, sagen wir mal 200, und es mit einer Farbe verbindest, nein, du kannst sehen, dass es stärker leuchtet Stellen Sie sicher, dass Sie es speichern und zu AntiIrgonPjectile gehen, auf die Kugel klicken und das Material in Rot Also setzen wir das Rot dort hin, oder? Damit möchte ich die Kollision ändern. Im Moment blockiert es die gesamte Dynamik. Ich möchte dies in eine benutzerdefinierte Voreinstellung ändern und alles blockieren. Aber wenn es Kollisionen ermöglicht, möchte ich, dass es nur Abfragen gibt, sodass es nicht physisch pusht oder per Helikopter fliegt, sondern eine Menge Bots erzeugt. Deshalb wollen wir es nur als Abfrage verwenden. Und der Objekttyp soll dynamischer sein und wir wollen alles blockieren. Das war's, das war für die Kollision. Gehen wir jetzt einfach zum Speichern und Kompilieren. Geh hier zu Aventurap, wann immer unsere Projektilbewegung gestoppt ist, können wir runtergehen und das auf Projektilstopp setzen Wir haben also immer ein Ereignis oder ein Projektil Hier drin können wir einfach das schlimme Ergebnis rausnehmen und damit wollen wir Schaden anrichten, wenn es auf etwas trifft, oder? Also sag Schaden anrichten. Ich möchte den Schaden, den dieser anrichten soll, vorerst auf 0,5 setzen, aber wir werden ihn später ändern. Und dem Schauspieler, dem wir Schaden zufügen wollen, ist der Schauspieler, den wir treffen. Also lass den Hauptdarsteller per Dragondrop hierher fallen. Nachdem wir einen Schaden angerichtet haben, können wir ihn einfach zerstören, oder? Zerstöre den Schauspieler. Das ist alles was wir tun müssen. Nein, lass uns einfach kompilieren, speichern. Nichts wird passieren, weil wir noch nicht laichen. Aber nochmal, wenn du zu unserem Viewport gehst und die Simulation aufrufst, kannst du sehen, wie es aussieht Du kannst es sehen. Nein, lass uns sehen, wie wir es spawnen können. Wir werden es als Nächstes tun 40. 39 Feuer die Waffen ab: Nein zum Laichen oder Projektil und schieß auf unseren Helikopter zu Lass uns einfach zu unserem BPN Tigon gehen und sichergehen, sichergehen Und hier wollen wir, wann immer das Ziel in Reichweite ist und wir es auf Reichweite setzen, in Reichweite ist und wir es auf Reichweite setzen, einen Timer einstellen Stellen Sie hier also einen Timer ein. Je nach Ereignis, alle 0,05 Sekunden, soll dieses Ereignis in einer Schleife ablaufen, und dafür ist ein benutzerdefiniertes Ereignis erforderlich Fügen wir also einfach das benutzerdefinierte Ereignis hinzu. Ich möchte es Feuer nennen. Mit diesem Timer schießen wir also alle 0,05 Sekunden über die Pistole Entweder die rechte Seite oder die linke Seite. Sie können sehen, dass hier zwei Fässer drin sind. Also ist eins von beiden egal, oder? Nein, wir haben diesen Timer. Wir können ihn einfach auf eine Variable hochstufen, weil wir diesen Timer irgendwann beenden müssen. Und ich möchte diesen Fire Timer nennen, oder? Und wenn das Ziel außerhalb der Reichweite ist, wollen wir unseren Feuertimer holen und hier eine Kröte entfernen, den Timer löschen und für ungültig erklären Nein, wenn das erledigt ist, verwenden wir einfach eine Druckerzeichenfolge für nein und sagen fire, right, und beim Kompilieren und Speichern, um zu sehen, was passieren wird Im Moment, weil der Hubschrauber nicht in Reichweite ist, würde ich nichts sagen, aber wenn wir uns ihm nähern, schauen wir mal, was passiert. Es heißt, Feuer, Feuer, Feuer, und wenn wir wieder die Reichweite verlassen, stoppt der Timer. Schauen wir es uns einfach an. Nein, Sie können sehen der Timer stehengeblieben ist und nein, er feuert nicht auf uns. Damit wissen wir, dass es versucht, auf uns zu schießen, wenn wir in Reichweite sind, und es wird nicht auf uns schießen, wenn wir nicht in Reichweite sind. Nein, wir wollen keinen Drucker benutzen. Wir wollen eine Kugel, ein Projektil hervorbringen. Um das zu tun, müssen wir die Position an der Spitze dieser beiden Fässer ermitteln, richtig An der Spitze dieser Waffen. Wie wir das machen können, es gibt viele Möglichkeiten. Ich möchte dir einen neuen Weg zeigen. Hier können wir einfach auf Skelettnetz klicken und hier eine Szenenkomponente hinzufügen. Das ist nur für den Standort. Das hier, ich will es für die linke Waffe benutzen. Einfach links drauflegen. Und weil es ein untergeordnetes Element eines Skelettnetzes ist, können wir ihm eine Buchse zuweisen. Also hier drin möchte ich es dem Gun Joint zuordnen. Jetzt können Sie sehen, dass es auf unser Geschützgelenk ausgerichtet ist. Wir können es hochziehen und es an die Spitze der linken Waffe legen. Der linke Betrüger ist dieser, oder? Also lass es uns einfach auf die richtige Position bringen. Es sind 230 minus zehn, oder? Also, lassen Sie uns das einfach duplizieren und es auch für die richtige Waffe tun. Also steuere D, um es zu duplizieren und ändere den Namen in Right Go, richtig? Nochmals, der Hauptsockel, wir wollen, dass er so eine Pistolenverbindung hat, und wir wollen ihn auf diese Seite bringen, richtig? Jetzt können Sie sehen, dass sich die rechte Waffe an der richtigen Stelle befindet und die linke Waffe ebenfalls an der richtigen Stelle. Jetzt haben wir die Orte, an denen wir Feuer oder einen Spawn oder ein Projektil abschießen Feuer oder einen Spawn oder ein Projektil Nein, damit gehen wir einfach hierher. Bei diesem Feuer wollen wir doch einen Flip-Flop benutzen, oder? Beim ersten Mal wollen wir auf der linken Seite spawnen, zweiten Mal wollen wir auf der rechten Seite spawnen Deshalb wird der Flip Flop gut funktionieren. Also nein, lass uns zuerst den linken machen. Hier drin möchte ich einen Schauspieler aus dem Unterricht hervorbringen. Der Schauspieler, den du spawnen willst, heißt Projektil. Da ist ein Projektil drin, Flugabwehrprojektil Für Transformation, weil wir es für die linke Waffe machen wollen, wir die linke Waffe und damit bekommen wir das Wort transformieren, nehmen wir die linke Waffe und damit bekommen wir das Wort transformieren, das Wort transformieren und wir können es einfach mit hier verbinden Das Gleiche wollen wir mit dem B oder dem rechten Lauf oder dem rechten Lauf machen. Also Control C Control V, um es hier einzufügen und diese mit B zu verbinden Ändere einfach den linken Pfad, den wir hier drin haben rechts weg, um das Wort Transformation daraus zu entfernen, oder? Lassen Sie uns nun sehen, was passieren wird. Wenn wir kompilieren und ausführen. Nein, wenn wir uns dem nähern, schauen wir mal, was passiert. Wenn wir gehen. Nein, du kannst sehen, dass es uns trifft, oder? Aber es gibt keine Wirkung. Es trifft uns nur mit einer Kugel. Es ist kein Ton zu hören. Es gibt nichts. Und du kannst sehen, wenn ich davon wegkomme, wird es nicht in der Lage sein, auf uns zu schießen. Sie können sehen, dass es auf uns schießt. Es ist Feuer auf uns. Nein, weil wir davon wegkommen, kann es nicht auf uns schießen weil wir nicht mehr in Reichweite sind. Nein, das Problem mit diesem Ansatz ist, dass er zu genau ist. Es trifft uns immer. Wir müssen einen Weg finden, es in einen Kegel zu schießen. Also treffen uns nicht alle Kugeln. Also sollte es natürlicher aussehen , ein paar Kugeln zu verpassen, oder? Das echte Anti-Argon-Mittel ist so. Es gibt eine gewisse Toleranz, und im nächsten Video werden wir diese Toleranz hinzufügen 41. 40 Zufällige Richtung von Projektilen: Nein zum Verteilen dieser Projektile , die wir gerade spawnen, weil es zu Es kann uns zerstören , wenn es mehr als eines davon gibt, oder? Es sollte nicht so genau sein. Also, um ihre Genauigkeit zu ändern, was ich zuerst tun möchte, machen wir es einfach für das linke Fass. Ich möchte hier ein Thema einbringen und was ich tun möchte. Ich möchte die Verbindung trennen und mit einem Rechtsklick auf diesen Rückgabewert hier den Felsnagel teilen und damit auch hier eine Transformation vornehmen. Mach hier unten eine Transformation, richtig? Wenn wir also einfach alles von Ort zu Ort und Rotation zu Rotation und Maßstab zu einer Skala verbinden und Rotation zu Rotation und , wird sich nichts ändern. Schauen wir es uns einfach an. Nichts wird sich ändern. Es wird in der Lage sein, uns mit großer Genauigkeit völlig einwandfrei zu treffen . Sie können sehen, wie genau es uns trifft, oder? Aber was ich tun möchte, ich möchte die Rotation ändern , um eine gewisse Toleranz zu haben, die Rotation ändern. Ich möchte weder die Position noch den Maßstab ändern. Ich möchte nur die Rotation ändern. Und dafür möchte ich zuerst den Vorwärtsvektor daraus entfernen und ich möchte diesen Vorwärtsvektor randomisieren, sodass er ein bisschen nach diesen links, rechts, oben und unten schaut , mit dem Knoten, der zufälliger Einheitsvektor genannt wird , in einem Kegel in einem Radius, richtig Also, das ist unser Vorwärtsvektor, er wird ihm in einem Kegel, einem Kegel, der so ist, ein bisschen Toleranz hinzufügen , richtig Die Toleranz, die ich hinzufügen möchte, ist, dass sie wirklich gering ist, denn wenn es hier ein Grad ist, ist es viel weiter weg, oder? Also werde ich es auf 0,08 setzen, ein wirklich kleiner Wert Also was dieser Knoten tun wird, er fügt dem Vorwärtsvektor nach dem Zufallsprinzip jedes Mal eine gewisse Toleranz hinzu , sodass er überall hin schießt Er wird die Projektile verteilen. Danach können wir daraus einen Rotator bauen. Wir können Rotator von X aus sagen, oder? Das ist es X ist ein Vorwärtsvektor. Aus diesem Grund funktioniert es, wenn wir aus X einen Make Rod erstellen , und wir wollen es mit der Rotation verbinden. Wenn wir also auf „ Laufen“ drücken und uns ihr einfach nähern, sollte uns das rechte Geschütz genau treffen, aber das linke Geschütz, Sie können sehen, es trifft überall, und das linke Geschütz hat weniger Genauigkeit. Wenn wir uns ihr nähern, wird es natürlich mehr Genauigkeit geben. Aber wenn wir davon wegkommen, können Sie sehen: Nein, es gibt viel Toleranz, und sie kann uns nicht immer treffen. Nein, ich möchte dasselbe auch für die rechte Seite tun. Also lass mich das alles hier reinbringen. Ich möchte das löschen, alles kopieren, C-Steuerung und C-Steuerung hier einfügen. Ich möchte nur diese linke Waffe ändern , die du gegen die rechte austauschen willst. Nein, lass uns das einfach aussprechen. Wenn du das Spiel startest und näher dran kommst , lass uns sehen, was passiert. Es wird alle Kugeln verteilen. Sie können sehen, dass es uns nicht immer trifft. Das sieht viel realistischer aus. Im echten Leben ist es so. Es ist nicht so genau. Lass es mich hier noch einmal sehen. Wenn du ihm zu nahe kommst. Und du kannst sehen, dass es uns in alle Richtungen schießt. Wenn es uns mit Genauigkeit und Punktgenauigkeit direkt auf uns schießt , werden wir in kürzester Zeit sterben Deshalb habe ich all diese Toleranz hinzugefügt, damit es natürlicher aussieht 42. 41 Luftschutzpistole VFX: Nein, es ist Zeit, einige visuelle Effekte hinzuzufügen. Mal sehen, wie wir das machen können. Für einige visuelle Effekte gehe ich zur Inhaltsleiste im Assets-Ordner. Wenn wir zu Vehicle East Art in Effet gehen, können Sie sehen, dass es hier ein ***** System gibt , mit dem wir es für visuelle Schießereien oder Waffeneffekte verwenden können für visuelle Schießereien oder Waffeneffekte Warten wir, bis es kompiliert ist und jetzt können Sie sehen, wie schön Es hat alles für uns. Sie können sehen, dass das wirklich toll aussieht . Das wollen wir nutzen, oder? Gehen wir also einfach zu unserem Antiirgon. Ich möchte auf die richtige Waffe klicken und dort das Niagara-System hinzufügen . Das ist es Das Nagara-System hat es automatisch dort platziert, weil wir es hier ausgewählt haben Deshalb hat es es automatisch dort abgelegt. Aber ich möchte es richtige Schnauze nennen, oder? Rechte Schnauze. Und es hat es richtig hingestellt Die Feuerrate ist mehr als ausreichend. Nein. Wenn du es dir ansiehst, kannst du sehen, dass es es da unten hervorbringt Aber weil es ein Kind der richtigen Waffe ist, können wir die Position einfach auf Null und Null und Null setzen Jetzt können Sie sehen, dass es sich an der richtigen Position befindet. Das sieht toll aus, oder? Und Sie können sehen dass auch einige Granaten ausgeworfen werden Das sieht wirklich toll aus. Das Gleiche wollen wir auch für die linke Waffe tun. Also steuere D, um zu duplizieren. Und das hier möchte ich linke Schnauze nennen. Also sollte ich das ändern, um die Schnauze zu öffnen und sie als linke Waffe hier rein zu legen Und noch einmal, klicken Sie darauf, ändern Sie die Position auf Null, Null und Null Und wenn Sie jetzt hierher gehen, können Sie sehen, beide an der richtigen Position einwandfrei funktionieren. Beide schießen. Alles sieht gut aus, aber wenn wir Wild überfahren, wird immer geschossen. Du siehst, es wird immer geschossen. Wir wollen nicht, dass es so ist. Wir wollen, dass es immer dann, wenn es tatsächlich gedreht wird, diesen visuellen Effekt hat. Und wie wir das machen können, es ist eigentlich einfach. Also hier, standardmäßig für die linke Schnauze und die rechte Schnauze, wollten wir sagen, dass sie standardmäßig nicht aktiviert sind Ändern Sie also die automatische Aktivierung auf Falsch, und jetzt können Sie sehen, dass es dort keinen Effekt gibt Und wenn Sie ein Spiel ausführen, können Sie sehen, dass es dort keinen Effekt gibt. Aber wenn es anfängt zu feuern, müssen wir sie aktivieren. Also können wir beide auf diese Art und Weise aktivieren, aktiv machen auf diese Art und Weise aktivieren, , fertig. Und wir wollen es aktivieren. Und wenn der Hubschrauber in Reichweite ist und wir anfangen wollen zu feuern, oder? Wir wollen beide, dass es aktiv ist. Und wir können das einfach kopieren und einfügen und hier einfügen. Nein, wir brauchen etwas Platz. Lassen Sie mich das alles auswählen und hier etwas Platz hinzufügen. Und wenn das Ziel nicht in Reichweite ist, schießen wir nicht darauf, also wollen wir diese beiden visuellen Effekte deaktivieren, oder? Und das ist alles was wir tun müssen. Lass uns einfach kompilieren, speichern und ausführen. Sie können sehen, dass es dort standardmäßig keine visuellen Effekte gibt. Aber wenn man sich dem nähert. Mal sehen, was passieren wird. Nein, du kannst sehen, es schießt auf uns und es gibt auch visuelle Effekte, und das funktioniert gut. Nein, visuelle Effekte funktionieren gut, aber es gibt keinen Ton ab , wenn es eine Waffe abfeuert. Feuer, es ist eine Waffe. Lassen Sie uns nun sehen, wie wir etwas Sound hinzufügen können. 43. 42 Schusswaffengelöst: Nein, es gibt einige visuelle Effekte gegen Argon, aber wir haben keinen Ton Mal sehen, wie wir den Sound erzeugen können. Gehen Sie zur Inhaltsleiste und hier runter zu Argon Klicken Sie hier mit der rechten Maustaste und erstellen Sie einen neuen Ordner Ich möchte es Sounds nennen. Okay. Doppelklicken Sie darauf, um es zu öffnen, rechts, klicken Sie hier rein, gehen Sie zu Audio und erstellen Sie eine Metasundquelle Ich möchte es Sti Air Gun Fire nennen, oder? Doppelklicken Sie darauf, um es zu öffnen. Und hier drin möchte ich einen Wave-Player benutzen. Wie immer beginnen wir mit einem Wave-Player. Die Welle, die du spielen möchtest, heißt 50 BMG, wenn du sie spielst Es ist einfach so, oder? Und als Nächstes wollen wir Oat Mono mit Oat Mono verbinden . Und dieses Mal, unfertig bis unfertig, oder? Wenn wir etwas wiederholen, sollten wir das Unfertige überhaupt nicht verbinden Aber wenn du etwas nicht in einer Endlosschleife wiederholst und wir wollen, dass etwas passiert, sobald wir das Unvollendete mit dem Unfertigen verbinden Nein, weil wir hier nur ein Geräusch haben, wird es nicht so gut klingen Deshalb möchte ich die Tonhöhe nach dem Zufallsprinzip ändern. Also werde ich hier nach Random Float suchen, richtig? Und dieser zufällige Float gibt uns einen Wert von 0-1. Ich möchte nicht, dass es so ist. Ich möchte, dass es zwischen 0,1 und zwei liegt, oder? Es wird nach dem Zufallsprinzip ein Gleitkommawert ausgewählt. Und gib es uns hier rein und wir legen es als Pitch fest. Also jedes Mal, wenn dieser Metal-Sound gespielt wird, wird er eine andere Veränderung erfahren. Nein, diese benötigen eine Baumnadel, also geben wir ihr einfach die Baumnadel und spielen danach den Sound ab. Nun, wenn Sie spielen würden, können Sie sehen, dass es gut funktioniert. Nein, lassen Sie uns einfach in Sicherheit gehen und sehen, wie wir es nutzen können. Geh zurück zu BP Anti Argon. Und hier wollen wir in beiden Fällen Sound am Ort erzeugen, Sound am Ort . Und der Song, den wir spielen wollen, heißt msonTirgnfre. Als Standort können wir den Ort verwenden, den wir an diese Span-Projektilnote übergeben, Wir können das einfach per Drag-and-Drop verschieben und kaputt machen und seinen Standort verwenden, oder? Als Nächstes möchte ich eine Dämpfungseinstellung hinzufügen Wir haben es von früher. Die SA-Rakete funktioniert auch für diesen. Also lass es uns einfach da hinstellen. Jetzt, wo das erledigt ist, möchte ich diesen hier auch für die richtige Waffe kopieren und einfügen . Ich brauche einen Standort. Wir können das einfach unterbrechen und seinen Standort als Standort verwenden. Und die Schalldämpfung ist auch okay. Nein, lass uns einfach testen. Wenn du das Spiel kompilieren, speichern und überspielen müsstest. Im Moment ist kein Ton zu hören, wenn Sie sich dem nähern. Sie sehen, es gibt eine Tonnote. Und wenn Sie davon wegkommen, wird auch die Lautstärke des Sounds geändert. Ich möchte ein paar Dinge ändern. Diese Schalldämpfung , die wir hier verwenden, ist nicht genug, sie ist nicht gut Lassen Sie uns einfach nur dafür eine Schalldämpfung erstellen . Klicken Sie mit der rechten Maustaste hier, gehen Sie zu Audio und erstellen Sie eine Schalldämpfung Ich möchte es Waffenfeuer nennen, oder? Klicken Sie nicht darauf, um es zu öffnen. Und diese Werte, lass es uns einfach mit diesen Werten testen. Gehen Sie zurück zu BPT Airgon und wählen Sie die Schalldämpfung, die wir gemeinsam erzeugen, und auch hier muss die Schalldämpfung auf Gewehrfeuer umgestellt Lassen Sie uns das jetzt einfach testen. Sie uns das Spiel starten, Lassen Sie uns das Spiel starten, kommen wir einfach näher ran. Sie können sehen, es ist kein Geräusch zu hören, aber wenn wir uns dem nähern, können wir es nicht hören. Sie können die Schalldämpfung gerade sehen , sie ist zu hoch Es sind 400, das ist viel weniger als wir wollen. Vielleicht sind 1008 Tausend besser für den Innenradius und den Außenradius Lass uns das einfach testen, nein. Wenn wir das Spiel übergehen und es aufrufen, ist ein bisschen Sound zu hören, und der Sound wird immer lauter und Sie können sehen, dass das, glaube ich, viel besser klingt, oder? Die 1008 Tausend sind also mehr als genug. Du kannst es einfach schließen Eine andere Sache, die ich hier machen möchte , weil wir hier einen Timer benutzen. Auch bei diesem Feuer möchte ich überprüfen, ob das Ziel gültig ist oder nicht. Wenn wir das nicht tun, kann es manchmal zu einem Fehler kommen. Also bekommen wir das Ziel und prüfen, ob es gültig ist oder nicht, oder? Und verbinde es so. Wenn es gültig ist, können wir darauf schießen. Aber wenn es nicht gültig ist, feuern wir nicht, und was wir tun wollen, wir wollen den visuellen Effekt deaktivieren. Drücken Sie C, Control V, um diese visuellen Effekte bei Fehlern wie diesem neu einzufügen . Wenn das Ziel also zerstört wird und dieser Timer nichts davon weiß, gibt er uns einige Warnungen. Ich möchte nicht, dass du diese Warnungen bekommst. Deshalb prüfen wir bei jedem Brand, ob es gültig ist. Das wird viele Bugs verhindern. 44. 43 Helli-Gesundheitssystem: Keine Antigone trifft uns. Lass uns sehen, wie wir ein Gesundheitssystem haben können , das das zeigt, um die Gesundheit unseres Hubschraubers zu verringern, richtig? das zu tun, möchte ich zu BP Hell gehen und hier zum Event Graph gehen und etwas Platz suchen. zum Beispiel hier rechten Maustaste auf Event A Damage, richtig? Und ich möchte hier einen Drucker verwenden, um den Schaden zu zeigen, den er uns zufügt, richtig? Wenn du unser Spiel weiterspielst und dich unserer Abwehr näherst, lass uns sehen, wie viel Schaden sie Jedes Mal 0,5, oder? Das klingt nicht gut. Also, was wir tun können, wir können zu Event Craft gehen und diesen Grundschaden nach dem Zufallsprinzip Also, was ich hier machen möchte, einen zufälligen Float verwenden Aber ich will, dass es in Reichweite ist, oder? Ich möchte nicht, dass es zu viel ist. Ich möchte, dass es zwischen 0,3 und 0,8 liegt, oder? Einfach so, lass uns einfach kompilieren und speichern und wissen, ob du das Spiel überläufst, jedes Mal wird es uns einen anderen Schaden zufügen, richtig, zufällig. Und du kannst sehen, dass es ein Wert zwischen 0,3 und 0,8 ist, und du kannst sehen, wie viel er uns gibt, oder? Nein, dafür brauchen wir diese Druckerzeichenfolge nicht. Was ich tun möchte, ich möchte ein Gesundheitssystem einrichten. Lassen Sie uns einfach eine Variable erstellen und ich möchte sie Gesundheit nennen. Stimmt das? Und die Art davon soll es schwimmend sein. Als Nächstes erstellen wir einfach eine weitere. Dieses möchte ich Max Health nennen, oder? Nein, Max Health, ich will, dass es für nein ist. Sagen wir einfach 80, oder? Welchen Wert Sie auch immer wollen, Sie können ihn eingeben. Und was die Gesundheit angeht, ich will, dass es 40 sind, oder? Und das ist es. Jetzt, wo das erledigt ist. Zuerst wollen wir überprüfen, ob der Zustand mehr als Null ist. Also überprüfen wir hier, ob der Zustand größer als Null ist, benutzen wir einfach einen Zweig. So wie das hier. Wenn die Lebenspunkte größer als Null sind, können wir sie auf diese Weise verringern, sie erhalten, subtrahiert von dieser Schadenszahl Speichern Sie es danach in sich selbst. Speichere es hier so. Cool. Danach wollen wir den Zustand auf diese Weise überprüfen. Wenn es kleiner oder gleich Null ist, wollen wir mit dem Zweig speichern. Dass es zerstört ist. Und hier verwenden wir einfach eine Druckerzeichenfolge. Verdammt, zerstört. Wir wollen es jetzt nicht zerstören, aber Sie sehen den Sinn im Gesundheitssystem, oder? Nun, wenn Sie save kompiliert haben und was ich tun möchte, möchte ich in die Datenbank gehen, das Debugging, das wir erstellen, wir die Raketennummer Dieses Mal will ich zeigen, wie gesund es ist, oder? Und den Wert hier, ich möchte da Null reinsetzen, damit wir ihn für andere Dinge verwenden können, richtig? Und für den Schlüssel füge ich einfach eine Zeichenfolge ein. Und das ist es. Nein, wir wollen zeigen, dass es gesund ist. Also setzen wir einfach Gesundheit da rein und verbinden den Execution Pin damit. Lass uns einfach kompilieren und ausführen. Man kann sehen, dass die Gesundheit bei 14 liegt. Wenn wir näher ran gehen, können Sie sehen, wie es abnimmt. Man kann sehen, dass es 25 sind und nein, es ist eine, die er zerstört hat. Oder die Gesundheit des Hubschraubers nimmt ab, bis er zerstört ist. Jetzt, wo wir ein Gesundheitssystem haben, müssen wir eine Benutzeroberfläche dafür erstellen. Wir werden es als Nächstes tun. 45. 44 Benutzeroberfläche der Gesundheitsleiste: Nein zum Hinzufügen eines Gesundheitsbalkens. Lass uns sehen, wie wir das machen können. Wo möchte ich das machen? Lassen Sie mich im Widget zum Hali-Ordner gehen. Wir hatten eine WBPHAUI. Ich möchte hier oben eine Gesundheitsleiste hinzufügen. zu tun, brauchen wir also Um das zu tun, brauchen wir also einen Fortschrittsbalken, der dem Canvas-Stapel hinzugefügt wird. Der Ankerpunkt sieht gut aus. Ich möchte etwas Polsterung hinzufügen, 50 und 50, finde ich gut Wir haben also etwas Polsterung oder einen Zwischenraum zwischen der Grenze und unserer Gesundheitsbehörde Also, was die Größe angeht, möchte ich, dass es 800 mal 20 so groß ist. kannst du sehen. Und lassen Sie uns einfach die Prozentzahl auf 0,5 ändern. Sie können sehen, dass der Prozentsatz ein Wert von 0-1 ist. Wenn Sie dort 0,5 eingeben, ist die Hälfte voll Nun, was die Farbe angeht, wollte ich es auf Grün setzen. Also setze das Grün auf eins und das Blau auf Null. Es wird uns also einen grünen Wert geben. Wir können es etwas dunkler machen, damit es schöner aussieht. Das ist es. Nein, damit es besser aussieht, will ich in der Verwandlung untergehen. Zuallererst möchte ich den Pivot auf Null und Null ändern , oder? Standardmäßig befindet sich der Drehpunkt in der Mitte, aber ich wollte ihn mit Null und Null in der oberen linken Ecke platzieren , oder? Danach möchte ich es ein bisschen so teilen , 35, oder? Ich finde das sieht toll aus. Jetzt, wo das erledigt ist, müssen wir ihm einen Namen geben. Ich möchte es Gesundheitsbar nennen, oder? Und wir brauchen es als Variable damit wir ihren Wert aktualisieren können. Gehen wir also einfach zur Grafik. So wie wir es für dieses Set gemacht haben, übernimmt es die Anzahl der Raketen. Wir müssen auch für diese eine Funktion erstellen, und ich möchte sie Update Health nennen, richtig? Und die Eingabe dafür ist ein Float-Wert. Also ändere den Typ in Float und ich möchte es Health nennen, oder? Dieser Zustand sollte einen Wert von 0-1 haben, weil wir den Fortschrittsbalken für den Zustand so einstellen wollen Fortschrittsbalken für den Zustand so festgelegter Prozentsatz ist, dieser Wert, oder? So verbunden. Wir sollten uns also daran erinnern, dass diese Gesundheit ein Wert von 0-1 ist Damit du dich daran erinnerst, können wir auf die Funktion klicken und zur Beschreibung hier gehen, um zu sagen, dass Gesundheit 0-1 ist, oder? Leg es da hin, kein Kopf, kompiliere, speichere. Jetzt, wo wir das haben, wenn du das Spiel überläufst, kannst du das Gesundheitspanel sehen, aber es wird nicht aktualisiert. Wenn wir in unsere Blutdruckhölle gehen, wo auch immer wir die Gesundheit ändern, müssen wir auch die Gesundheit aktualisieren. Wo wir hier die Gesundheit verändern. Nachdem wir die Gesundheit geändert haben, müssen wir die Gesundheit aktualisieren. Lass mich hier etwas Platz schaffen. Wir haben die LUI, also hol sie dir, und es gibt eine Funktion darin, sie heißt Update Health, und wir wissen, dass der Zustand ein Wert von 0-1 ist oder ein HelUI, weil es nur eine Person ist Aber im Moment ist die Gesundheit ein Wert von 0 bis 80, weil der Wert für maxf 80 ist, also ist die Gesundheit ein Wert von 0 bis also ist die Gesundheit Wie können wir diese Gesundheit auf der Grundlage der maximalen Gesundheit von 0-80 auf Null bis eins ändern der maximalen Gesundheit von 0-80 auf Null bis eins Wie wir das tun können, können wir unsere Gesundheit auf diese Weise durch die maximale Gesundheit dividieren lassen , geteilt durch die maximale Gesundheit, und das ergibt uns einen Wert von 0-1 Wenn die Gesundheit Null ist, Null, geteilt, was auch immer sie uns gibt, dann ist Gesundheit gleich Null Wenn die Gesundheit 40 ist , also standardmäßig 4040/80, ergibt das 0,5 und die Gesundheit wird 0,5 betragen Aber wenn die Gesundheit 80 und die Maxelf 80, 80/80 ist, erhalten wir Eine weitere Sache, die ich tun möchte, ich möchte dieses kopieren und beim Start des Spiels das Startspiel hier suchen Wir wollen die Gesundheit vor all dem auf den neuesten Stand bringen, oder? Wir wollen den Zustand mit dem Wert aktualisieren, den er hat. Drücken Sie V, um es hier einzufügen und den Zustand zu aktualisieren. Wenn ich jetzt die Gesundheit 40-20 ändere und das Spiel kompilieren und überführe, nein, du kannst sehen, dass der Fortschrittsbalken oder der Gesundheitsbalken bei 20% liegt Keine Leine kommt uns zu nahe, bis sie uns vernichtet. Man kann sehen, wie die Gesundheit abnimmt, und danach heißt es: Heilen, Zerstören Das sieht also toll aus. Wir haben eine Gesundheitsleiste, und nein, wenn die Gesundheit Null erreicht, wollen wir unseren Hubschrauber zerstören . Mal sehen, wie wir das machen können. Als Nächstes 46. 45 Destroy Helli: Nein für die Zerstörung unseres Hubschraubers , wenn die Gesundheit Null oder weniger als Null erreicht Mal sehen, wie wir das machen können. Dafür benötigen wir zunächst einen zerstörten Hubschrauber. Gehen wir einfach zur Inhaltsschublade in Blueprint. Ich möchte mit der rechten Maustaste auf Create a blueprint class this time of actor klicken, und ich möchte es BP damaged Healy nennen Ich klicke darauf, um es hier zu öffnen. Ich möchte aesticmsh hinzufügen, weil der beschädigte Hubschrauber in estaticmsh ist Also füge ein statisches Netz hinzu. Ich möchte es ziehen und als Standard-Szenenstamm festlegen. Und hier heißt das statische Mesh , das ich verwenden möchte , Hell Damage SM West Heli Damaged, und du kannst es hier sehen. Nun, ich möchte ein Kaskadenpartikelsystem hinzufügen, es dort hinzufügen, und das Kaskadensystem, das du erzeugen willst , ist diese eine PS-Wrackhölle Leg es einfach da hin. Nun, das ist der Plan, den wir verwenden wollen, wann immer unser Hubschrauber zerstört wurde Aber klicken Sie auf das statische Netz und sagen Sie ihm, dass es auch Physik simulieren soll Wenn du also in einem Himmel bist und wir diesen zerstörten Hubschrauber spawnen, wird er danach auf den Boden fallen Nein, lass uns einfach kompilieren, speichern und du kannst das einfach schließen Wenn du jetzt zu BPHLI gehst, möchte ich ein benutzerdefiniertes Event für Destroying oder Helicopter erstellen . Also klicke ich hier mit der rechten Maustaste auf „Ein benutzerdefiniertes Ereignis erstellen“ und speichere Destroy Hale, richtig Zerstöre es, Hali. Und das Erste, was ich hier tun möchte, ist, ein System vor Ort zu spawnen, richtig Erzeuge eine Explosion und das System, das ich benutzen möchte , heißt Niagara-Staubexplosion Wenn wir den Standort ermitteln, können wir den Standort des Schauspielers ermitteln, den aktuellen Standort des Schauspielers ermitteln , den uns das geben wird und mit dem wir eine Verbindung herstellen. Als Nächstes möchte ich einen Sound erzeugen, also den Sound an einem Ort Und der Sound, den wir verwenden wollen, heißt ES Grand Explosion Das ist es. Und den Ort, an dem sie können wir benutzen . Und das war's. Nein, das Nächste , was ich tun möchte. Die letzte Sache, ich will den Schauspieler hervorbringen , den wir erschaffen haben und der Damaged Helicopter heißt , richtig? Also klick hier rein und suche nach Damage Damage Hell. Stell es einfach da hin. Für die Span-Transformation können wir den Schauspieler einfach so transformieren lassen. Und nach all dem können wir unseren Hubschrauber komplett zerstören. Es wird also einen weiteren Akteur hervorbringen und den Haupthubschrauber zerstören Gehen wir einfach kompilieren, speichern. Nein, statt dieser Druckerzeichenfolge , die wir Heli Destroy sagen, wollen wir Destroy Healy verwenden, nicht Destroy Actor, Destroy Mal sehen, was passieren wird. Kopf kompilieren, speichern und Spiel überspielen. Gehen wir einfach näher an die höhere Stufe heran, damit du sehen kannst, dass es uns zerstört hat, und du kannst sehen, wie schön es aussieht. Das ist echt genial. Kein Hubschrauber kann zerstört werden. 47. 46 Helli Tipp gegen Schäden: Nein, ich will unseren Helikopter zerstören , wann immer er überrollt Lass mich dir zeigen wo. Wenn wir in den Himmel fliegen und das tun, wollen wir, dass auch der Hubschrauber zerstört wird. Also wie können wir das machen. das zu tun, möchte ich zum Viewport gehen, damit Sie die Klingen sehen können Ich möchte bei einer Kapselkollision auf Mesh klicken und die Kapselkollision hinzufügen Und ich will ihm keinen Namen geben. Ich möchte eine Mutterpfanne des Rotorhauptgelenks verwenden. Jetzt kannst du es hier oben sehen, oder? Ich möchte es so um 90 Grad um die Yax-Linie drehen. Es bedeutet die Tonhöhe, oder? Damit weiß ich, dass ich es besser positionieren, es so ansprechen und den Stopp ändern will es so ansprechen , bis es zum Beispiel hier angekommen ist , oder? Und damit ich weiß, was passiert, wenn ich hier hingehe und sage, dass es nicht im Spiel versteckt werden soll? Es wird sich mit der Klinge drehen. Sie können es hier sehen. Es ist auf unserer Klinge. Wenn wir den Motor starten, können Sie sehen, dass er sich vollständig mit unserer Klinge dreht. Ich möchte, dass es im Spiel versteckt ist. Ich weiß also, wann immer diese Kapselkollision auf den Boden trifft, wollen wir sagen, den Hubschrauber zerstören, oder? Also hier drin, ich will zum Entlüftungsdiagramm gehen und hier rein, runter. Bis Sie das Kollisions-Preset erreicht haben, möchte ich es auf Benutzerdefiniert ändern. Wir wollten sagen, alles überlappen, aber keine Überschneidung mit dem Fahrzeug. Und die Kollision, ich möchte, dass es kollisionsfähige Abfrage und Physik gibt. Das ist es. Nein, wenn das erledigt ist, können wir runter gehen und die Komponenten beginnen, sich zu überlappen, oder? Einfach so. Lass uns einfach einen Druckerring benutzen , um zu sehen, ob er gut funktioniert oder nicht. Druckerring. Sag Hallo, richtig? Wenn wir Wild überfahren und umkippen, schauen wir mal, was passiert. Es sagt nichts aus, weil unser Level oder unsere Landschaft die Kollision damit ignoriert Um das zu beheben, klicken Sie auf die Landschaft danach im Detailbereich nach unten, Gehen Sie danach im Detailbereich nach unten, bis Sie hier den Kollisionsbereich unserer Landschaft erreichen , und weisen ihn an, ein Überlappungsereignis zu erzeugen, oder? Sagen Sie ihm, dass es generiert werden soll, und das war's. Nun, wenn wir auf Speichern klicken und Spiel ausführen, nein, wenn du umkippst, lass uns sehen, was passiert Es sollte Hallo sagen, oder? Es heißt Hallo sagen. Man kann es sehen. Nein, wir wissen, dass unsere Kapsel erkennt, ob du zu Boden kippst, oder? Aber eine andere Sache, die ich machen möchte, ich möchte diesem anderen Schauspieler dass diese Kapsel mit zwei BP-Luftabwehrgeschossen kollidiert , während ich das mache, weil die Luftabwehrpistole auf uns schießt und wenn eine Kugel durch diese Kapsel geht, wird sie unseren Hubschrauber zerstören Wir wollen nicht, dass das passiert. Wir schauen also bei dieser Besetzung nach. Wenn es sich um ein Luftgewehrprojektil handelt, tun Sie nichts. Aber wenn es kein Luftgewehrprojektil ist, wenn es was auch immer ist, können Sie den Hubschrauber zerstören, oder? Zerstöre in diesem Fall Hel. Wenn du also Wild überfährst und dich unserem Antiirgon oder Anti-Ergon näherst, kannst du auf uns schießen und unsere Gesundheit verringern Ihr könnt sehen, dass es unsere Gesundheit verringert und den Hubschrauber zerstört, aber es zerstört ihn nicht weil es auf die Klinge schießt Wenn du jetzt umkippst, werden wir sehen, was passiert. Und Sie können sehen, nein, wenn wir umkippen, zerstören wir den Hubschrauber. Das Problem dabei ist momentan , dass die Hilfe nicht aktualisiert wird, wenn wir ihn zerstören, und die Anzahl der Raketen ist da. Schauen wir uns also an, wie wir das beheben können. das Problem zu beheben, wo wir den Hubschrauber hier vor dem Zerstören des Schauspielers zerstören, wollen wir die Benutzeroberfläche bekommen und die Sichtbarkeit darauf einstellen, dass die Sichtbarkeit nicht vollständig sichtbar ist, oder? Um versteckt zu werden. Wir müssen die Gesundheit nicht auf Null stellen. Ändere es einfach auf versteckt, oder? Nun, wenn du kompiliert und ausgeführt und umgekippt hast , lass uns sehen, was passieren wird. Sie können sehen, wie die Gesundheitsbalken verschwinden. Nein, wir haben einen Drucker , den wir abschalten wollen, weil ich möchte, dass mein Spiel sauber ist. Also das zeigt die Gesundheit. Nein, das ist es. wenn ein Hubschrauber umkippt, wird er ebenfalls zerstört. 48. 47 Projektile trifft Helli-Sound: Als Nächstes will ich nicht tun, wann immer uns diese Kanonenabwehrraketen treffen, wir wollen ein Lied haben das zu tun, bevor ich das Projektil zerstöre Um das zu tun, bevor ich das Projektil zerstöre, möchte ich am Ort ein Geräusch erzeugen, richtig? am Ort ein Geräusch erzeugen An welcher Stelle am Einschlagspunkt, wo es den Hubschrauber getroffen hat, richtig Das Geräusch, das du spielen willst, wenn du untergehst, nennt man Metal Hit. Wenn du es spielst, kannst du sehen, das ist es. Das wollen wir verwenden. Und ich möchte die Tonhöhe randomisieren damit das Rad natürlicher aussieht Also hier möchte ich einen zufälligen Float-in-Bereich verwenden, und ich möchte, dass er zwischen 0,1 und zwei liegt, richtig? Nein, wenn das erledigt ist, wenn du auf Kompilieren und ein Runo-Spiel speichern klickst, lass uns sehen, was passiert Wenn wir in den Himmel steigen, kannst du sehen, dass es ein Geräusch gibt, wenn es uns trifft , aber es gibt viele dieser Geräusche Es ist nicht okay. Was ich tun möchte Ich wollte, dass einige dieser Geräusche passieren und andere nicht. Und wie wir das machen können, wollen wir sehen. Ich möchte einen dieser Random Float in Range Generator-Knoten wie diesen Random Float in Range verwenden . Und ich möchte, dass dieser Wert 0-100 ist, damit Sie ihn besser verstehen Also was ich tun möchte, ich möchte diese Zufallszahl jedes Mal überprüfen , wenn sie den Hubschrauber trifft Und wenn sie größer als 80 ist, wollen wir sie mit einer Filiale überprüfen. Richtig? Wir wollen den Sound abspielen, den Sound erzeugen Aber wenn es falsch wird, zerstöre einfach den Schauspieler, zerstöre das Projektil und spiele keinen Ton ab Also, was wird damit passieren? In 20% der Fälle ist ein Geräusch zu hören, wenn das Projektil den Hubschrauber trifft Aber in 80% der Fälle, in denen das Projektil den Hubschrauber trifft, kein Geräusch zu hören, und es klingt auf diese Weise natürlicher Wenn du ein Spiel startest und es dir ansiehst, lass uns es einfach näher Sie können sehen, manchmal passiert es und manchmal passiert es nicht. Und das klingt meiner Meinung nach sehr natürlich. Aber wenn du willst, dass es immer passiert, kannst du das einfach direkt hier verbinden. Du musst das nicht tun. 49. 48 Luftabwehrpistole zerstören: Nichts Nächstes, was wir tun wollen. Wir wollten in der Lage sein, die Luftabwehrkanone mit unserem Hubschrauber zu zerstören. Im Moment kann Antivirgon uns zerstören und wir können uns auch selbst zerstören Aber wir können das Anti-Airgon nicht zerstören . Lass uns sehen, wie wir das machen können. Dazu möchte ich zur Inhaltsschublade gehen, zu AntiIrgonFolder gehen und zuerst zu Blueprint gehen Wir müssen die beschädigte Luftabwehrpistole herstellen, oder? Also klicken Sie hier mit der rechten Maustaste und erstellen Sie eine Blueprint-Klasse für den Akteurtyp , und ich möchte sie BP nennen Beschädigtes Luftabwehrgewehr, richtig? Klicken Sie nicht darauf, um es zu öffnen. Hier möchte ich ein statisches Mesh hinzufügen. Einfach so, ich möchte es trocknen und fallen lassen und es als Standard-Snroot Das statische Netz, das Sie da einfügen wollen, heißt SMEs Art Damaged, oder? Das ist der eine. Das ist nur irgendein Material, oder? Damit müssen wir jetzt auch einen Niagara-Effekt hinzufügen Und der Effekt, den Sie vergrößern wollen, heißt NS East RT beschädigt. Und das ist es Das ist der Plan , den du für ein beschädigtes Luftabwehrgewehr erstellen willst für ein beschädigtes Luftabwehrgewehr erstellen Nein, wenn das erledigt ist, müssen wir unserer Luftabwehrpistole tatsächlich etwas Schaden zufügen. Und wenn die Rakete das Antiirgon trifft, wollen wir das beschädigte Antiirgon erzeugen Um das zu tun, müssen wir in den Ordner Hell gehen, zu Blueprints gehen und unser Raketensystem öffnen, richtig, die Rakete richtig Bevor ich alles spawne, möchte ich hier einen Raum schaffen Was willst du tun, wenn das Projektil stoppt? Wir wollen Funkschaden anrichten. Suchen Sie also zu Beginn dieser Veranstaltung nach dem Funkschaden anwenden , richtig? Der Ort, an dem dieser Schaden angerichtet werden soll, ist der Ort, an dem das Projektil oder die Rakete stoppt, oder? Der Standort ist also mehr als ausreichend. Der Grundschaden hat nur einen gewissen Wert angegeben, zum Beispiel 25. Den Schadensradius möchte ich auf 600 setzen. Bei diesem Schadensradius wird also, wenn diese Rakete in einem Radius von 600 Zentimetern oder sechs Metern in der Nähe unseres Anti-Ergons explodiert , das Anti-Argon zerstört, oder ? Als nächstes ignorieren sie Schauspieler. Ich möchte eine Selbstreferenz auf mich selbst erstellen und daraus ein Array machen, ein Array nur mit dieser Eingabe erstellen und es anweisen, sich selbst zu ignorieren. Und als Schadensverursacher wollten wir auch diese Höllenrakete verwenden, richtig Wenn das erledigt ist, wenn Sie zum Beispiel zur Luftabwehr gehen und hier etwas Platz finden und nach Funkschäden suchen, haben wir einen Funkschaden, richtig? Also, lassen Sie uns einfach eine Druckerschnur benutzen und sagen Luftabwehrkanone, zerstören Sie sie, richtig? Und ich will es rot machen, damit du es besser siehst, als ob es ein überfahrenes Spiel ist. Wenn wir jetzt in einem Radius von 600 in seine Nähe schießen , wird es zerstört. Aber im Moment können Sie sehen, dass wir es treffen, aber das heißt nicht, dass die Flugabwehr zerstört wurde. Der Grund dafür, dass das nicht passiert, ist der radiale Schaden, sondern das Skelettnetz. Wenn Sie in das Detailfenster gehen, können Sie sehen, dass es keine Kollision gibt. Ändern Sie es einfach auf Benutzerdefiniert , weil es keine Kollision ist, oder? Und zuerst, Kollision aktivieren, wir wollen, dass es Kollision zu Kollision aktiviert, und wir wollen den Objekttyp von Wort statisch auf Wort dynamisch ändern von Wort statisch auf Wort dynamisch weil Aploal Damage mit diesem Wort statisch nicht funktioniert Es wird es ignorieren, oder? Wenn das erledigt ist, kompilieren, speichern und testen wir es noch einmal. Wenn wir in den Himmel gehen und es erschießen, nein, Sie können sehen, dass es sagt, das Luftabwehrgewehr ist zerstört. Und Sie können sehen , dass es gut funktioniert. Nein, wir wollen nicht einfach sagen, dass die Luftabwehrkanone zerstört wurde. Was wir tun wollen, wenn die Rakete in ihre Nähe kommt, wir wollen einen Spieler spawnen oder beschädigen, oder? Also suchen wir hier nach einem beschädigten, beschädigten Luftabwehrflugzeug, und wenn wir es transformieren wollen, können wir den Akteur transformieren lassen Und nachdem wir das gespawnt haben, können wir es einfach zerstören, oder? Zerstöre den Schauspieler Wenn wir ein Spiel spielen, schauen wir uns das an, um zu sehen, was passiert. Man kann sehen, dass es zerstört wurde. Kannst du es sehen? Das sieht toll aus. Wir haben das Antiargon zerstört 50. 49 Behebung einer Kollision mit einer Luftschutzpistole: Wir haben ein paar Probleme. Lass uns sehen. Wenn wir das Spiel überfahren und gegen Irgon vorgehen, können Sie sehen, dass es Geräusche gibt, aber die Hilfe nimmt nicht ab Was ist das Problem? Wenn wir zu Anti Ergon gehen, erinnern Sie sich, dass wir auf Skeleton Mesh geklickt haben, und wir sind runtergegangen und haben die Kollision geändert Und weil wir alles blockieren, auch das Projektil Also, was ich tun möchte, um das zu beheben, ich möchte ihm sagen, dass es alles ignorieren soll Thematisches Geflecht dieses Anti-Ergon, ignoriere alles, oder? Einfach damit, wenn wir in den Himmel fliegen, sieh ihn dir an. Nein, es kann uns wieder treffen, du siehst, ich kann uns treffen und wir können es auch zerstören. Aber es ist schwer, es zu zerstören , weil die Gesundheit nicht zu hoch ist. Gehen wir zur BP-Hölle und ändern wir das MxL auf beispielsweise 300 und die Gesundheit auf 200, oder? Wir haben also etwas Hilfe, mit der wir spielen können. Also, wenn du ein Spiel überfährst, lass es uns einfach zerstören. Um zu sehen, ob es zerstört wird, kannst du sehen, nein, es ist zurück und die Hilfe wird reduziert, aber wir können es auch zerstören. Wir brauchen diese Kollision nicht, um alles zu blockieren, also können wir sie treffen, oder? Nein, das ist gut. Lass uns einfach noch mehr hinzufügen. Halten Sie die Alt-Taste gedrückt, ziehen Sie die Maus und legen Sie sie ab und erstellen Sie eine weitere. Halten Sie die Alt-Taste erneut gedrückt, ziehen Sie sie und legen sie ab, erstellen Sie eine weitere, geben Sie ihr etwas Platz, also nicht alle. Erschieß uns richtig, so. Nein, wenn das erledigt ist. Lass uns einfach ein Spiel spielen. Gehen Sie einfach näher ran. Jetzt kannst du dir das hier ansehen, und viele von ihnen heizen uns auf. Ich habe einen von ihnen zerstört. Lass uns einfach hin und zurück gehen. Einer von ihnen ist zerstört. Das sieht gut aus. Ich weiß , was ich tun möchte. Ich möchte zum beschädigten Hubschrauber fliegen. Lass mich ihn finden. Geh zur Inhaltsschublade, fahr zur Hölle, geh zum Blueprint und in den beschädigten Hubschrauber Wenn wir den beschädigten Hubschrauber spawnen, bedeutet das, dass das Spiel vorbei ist und der Hubschrauber zerstört ist Also was ich tun möchte, ich möchte hier für jedes Ereignis einen Timer einstellen hier für jedes Ereignis einen Timer und nach zwei Sekunden das Spiel neu starten Also nach 2 Sekunden wird dieses benutzerdefinierte Ereignis passieren. Lassen Sie uns also einfach ein benutzerdefiniertes Ereignis erstellen und das Level neu laden. Ich nenne es Reload Level für unser benutzerdefiniertes Event. Und was ich hier machen möchte, ich möchte das Level namentlich öffnen Das Level, das ich öffnen möchte, heißt New Map. Also legen wir es einfach in die neue Map, nein, damit, wenn du kompilierst, speicherst, lass uns einfach in den Krieg ziehen. Und hier ist die beste Strategie, von links nach rechts zu gehen, aber das ist okay. Es ist nicht zerstört. Nein, ich habe einen von ihnen zerstört. Sie zerstören mich, oder? Geh weg von ihnen und geh zurück. Um sie aus der Ferne zu erschießen, drehe dich so. Und versuchen wir einfach, aus der Ferne zu schießen. Das ist es. Ja, dieser ist auch zerstört. Lass uns einfach wieder zurückgehen, so wie es gedreht ist. Und lass uns einfach noch einen nehmen. Und wir wurden zerstört. Nach 2 Sekunden werden wir antworten, oder? Das ist gut. Das Level wird neu geladen Nochmals, lass uns diesen einfach zerstören. Dieser ist zerstört. Gehen wir einfach zu diesem. Zerstöre diesen. Und dieser ist auch zerstört. Nur noch einen haben wir. Gehen wir näher ran, damit er auch auf uns schießen kann. Es gibt nur einen von ihnen, also ist es einfach, darauf zu schießen, oder? Das sieht perfekt aus. Wir haben sie alle vernichtet. Wir gratulieren. 51. 50 Hinterrotorbewegung: Eine Sache, die wir unserem Hubschrauber hinzufügen sollten, aber wir haben es nicht getan. Lass uns einfach sehen. Wenn wir unser Spiel ausführen, können Sie sehen, dass sich der hintere Rotor nicht dreht. Wenn wir hochfahren, können Sie sehen, dass der hintere Rotor ein Problem darstellt. Mal sehen, wie wir das beheben können. Um das zu beheben, gehen Sie zum Animations-Blueprint. Und hier, wie Sie sehen können, haben wir das Hauptgelenk gedreht Nein, wir wollen den hinteren Rotor drehen Wenn Sie hier reinklicken, gelangen wir zu einem Skelett, und wenn Sie hier nach Rotoren suchen, können Sie sehen, dass es viele davon gibt. Aber das, was wir wollen, heißt Hinterrotor-Hauptgelenk. Also wollen wir das drehen, oder? Lassen Sie uns das zunächst einfach duplizieren, Bond, Control C, Control V modifizieren , um es hier einzufügen. Und wenn du das hier einfügst, verbinde die Ausführung, pinne sie an, richtig, so. Wir wollen die Steigung des hinteren Rotors ändern. Wählen wir zunächst einfach den Rotor aus, den wir drehen möchten, hinteren Rotor, das Hauptgelenk, oder? Danach können wir diesen Rotorwert für die Steigung unseres hinteren Rotors verwenden , richtig, denn es sollte Pitch sein. Wenn du hier draufklickst, suche einfach nach Rotor, hinterem Rotor-Hauptgelenk, Kopf F, damit du dich darauf konzentrieren kannst. Und du kannst sehen, dass dieses grüne Feld das Spielfeld ist. Nun, wenn wir den Eran oder das Spiel hier testen und Sie sehen können, dass es gut funktioniert Der Dreh ist es nicht. Aber das können wir reparieren, es ist einfach. Wir können zur ABP-Hölle gehen und es mit einem bestimmten Wert multiplizieren. Also zum Beispiel fünf, rechts, und das mit dem Spielfeld verbinden Lass uns jetzt einfach tätowieren. Wenn wir hier das Spiel überfahren und in die Mannschaft gehen, kannst du sehen, dass es schneller okay ist