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