Transkripte
1. Einführung: Der Einstieg in Unril
Engine ist super aufregend. Du kannst eine Landschaft formen, verschiedene Modelle
auf das Level
ziehen, mehr Zeug
hineinlegen, noch mehr, noch
mehr Vertragsmodelle, bis du am Ende
etwas hast, das du selbst geschaffen hast Aber es ist statisch. Es
macht nichts. Das einzige, was es
tut, ist hübsch auszusehen. Und so
merkt man ziemlich bald, dass Baupläne, die Grundlage
dynamischer Funktionen
, der Schlüssel sind, um
Spiele spielbar zu machen, und man
führt Spielmechaniken ein, um Rendern von
Filmen
dynamische Ereignisse die sie zum Leben erwecken, oder in meinem Fall sogar
eine vollständig dynamische
Shooter-Simulation zu erstellen, eine vollständig dynamische
Shooter-Simulation die
für ein Theaterstück verwendet wird Hallo. Ich bin Jordi. Ich bin ein
digitaler Kreativer und verwende UNRLEngine für
alle möglichen Projekte, von Videospielen
bis hin zu Filmrenderings
und UNLEngine hat Hunderte
verschiedener Anwendungen,
aber unabhängig davon, wofür
Sie die Engine verwenden, möchten Sie
irgendwann lernen
, wie man Blueprints erstellt Nun, genau damit werde
ich dir in diesem Kurs
helfen Mein Ziel ist es, Ihnen
die Logik hinter dem
Blueprint beizubringen , damit Sie verstehen, was
Sie tun, und nicht einfach hirnlos
nachahmen, was Deshalb werden wir Schritt für Schritt
vorgehen, lustige Kleinigkeiten
kreieren
und einige der wichtigsten Hinweise darauf, was sie
bewirken und wie sie
funktionieren, wirklich untersuchen was sie
bewirken und wie sie
funktionieren Und wir werden auch Fehler
machen und bei Dingen
hängen bleiben
, weil das Teil der Reise ist. Aber gemeinsam werden wir diese Fehler
lösen, und ich werde dir einige wirklich
gute Techniken zeigen, wie du
Probleme lösen kannst , damit
dein Plan irgendwann funktioniert Am Ende dieses
Kurses wirst du
ein solides Verständnis dafür haben, ein solides Verständnis dafür wie Blueprints und
Unreal Du wirst in der Lage sein, deine
Ideen in einen funktionierenden Plan umzusetzen und
schließlich dein Traumspiel zu Dieser verrückte Kurzfilm oder
irgendein anderes unwirkliches Projekt, du hattest eine Realität im Sinn Dieser Kurs richtet sich an alle
, die mit der Erkundung von
UnRel Engine begonnen haben und jetzt bei Blueprints nicht weiterkommen . Klingt
das nach dir? Nun, dann freue ich mich riesig, dir zu helfen und ich hoffe, dich in meiner Klasse zu
sehen. Lassen Sie uns gemeinsam die
Programmierung von Unreal Engines angehen und lernen,
die grundlegenden
Grundlagen von Blueprints zu verstehen die grundlegenden
Grundlagen von Blueprints
2. Die Blueprint-Schnittstelle: Hallo Leute, willkommen
und ich
freue mich riesig, dass ihr
mit diesem Kurs angefangen habt Wir werden
in die Welt der
Baupläne für die Unreal Engine eintauchen ,
die für einige
ein gruseliges Monster sein wird, das es zu Aber sobald Sie
die grundlegende Idee verstanden haben ,
wie ein Blueprint funktioniert, ist
es eigentlich ziemlich
einfach und macht viel Spaß Ich kann Stunden damit verbringen, interaktive Systeme
herauszufinden, und es ist so lohnend,
wenn Lassen Sie uns also einen Plan erstellen. im Inhaltsbrowser Klicken Sie im Inhaltsbrowser mit der
rechten Maustaste und
Sie werden sehen, dass wir aus eine
Blueprint-Klasse erstellen
können Dadurch wird ein
Fenster geöffnet, in dem wir aufgefordert werden, auszuwählen, welche Art von
Blueprint wir erstellen möchten Und ganz oben befinden sich
die gängigsten. Wir werden sie zwar erweitern
, aber wenn wir alle Klassen
erweitern, können
wir über 1.000 weitere finden Lassen Sie sich davon jetzt nicht
überwältigen. Es gibt sehr spezifische Blueprint-Klassen, die
sinnvoller sein
werden , sobald Sie
die allgemeine Idee
hinter den Entwürfen verstanden haben die allgemeine Idee
hinter den Entwürfen Wir werden darauf zurückkommen
, wenn das mehr
Sinn ergibt Sie also vorerst einfach das Fenster
zusammenklappen und schauen wir uns die gemeinsame Klasse
an. Die Schauspielerklasse wird am
häufigsten verwendet. Wie die Beschreibung schon sagt, können Sie damit
etwas bauen und
es in der Welt platzieren. Lassen Sie uns also mit diesem beginnen und später in diesem Kurs einige der anderen
erkunden. Und ich werde ihn BP
Underscore Interactive Cube nennen. BP steht für Blueprint, und es ist eine Möglichkeit, in Ihrem Projekt
organisiert zu bleiben Jetzt können wir weitermachen und es in das Level
ziehen,
und es wird das Widget
des Akteur-Typ-Blueprints angezeigt Es ist natürlich leer. Wir können also
entweder im Outliner auf Bearbeiten klicken oder einfach auf die
Blueprint-Klasse
doppelklicken in Ihrem Inhaltsbrowser Hand, hier ist es. Das Fenster , in dem du
die meiste Zeit verbringen wirst. Lassen Sie uns also untersuchen, was wir
sehen und wofür es verwendet wird. Auf der linken Seite haben
wir die Komponenten. Und hier können wir Komponenten hinzufügen , mit denen wir
etwas anfangen wollen. Ich kann also auf at klicken und aus einer
langen Liste von Artikeln auswählen. Und fangen wir
mit einem einfachen Würfel an. Das ist übrigens derselbe
Würfel, den du direkt zu deinem
Level
hinzufügen würdest . Er hat ein eigenes Darstellungsfenster und du kannst ihn bewegen, skalieren und drehen, genau wie
du es in deinem Level tun würdest. Und interessant ist, dass wir den Würfel jetzt auch wieder
im Level sehen
können , seit wir ihn dem Blueprint
hinzugefügt haben Es ist sehr wichtig
zu verstehen , dass, wenn wir den
Würfel im Level bewegen, wir tatsächlich
den gesamten Bauplan verschieben Im detaillierten S-Bereich können
wir den Würfel sehen
, den wir hinzugefügt haben Dies spiegelt das
Komponentenfenster im Blueprint wider. Und wir könnten
dort einen Würfel auswählen , um diesen Akteur gezielt zu
bewegen, aber das ist keine gute
Methode, weil es die Position des Würfels
im
Blueprint nicht mehr widerspiegelt Würfels
im
Blueprint Tatsächlich wird eine
erneute Änderung der
Position im Blueprint im Level nicht
mehr aktualisiert. Lassen Sie uns also das, was wir
gerade im Outliner gemacht haben, zurücksetzen. Wir machen uns an die Arbeit und bauen alles innerhalb
des Blueprints selbst In Ordnung, lass uns
etwas mit diesem Würfel machen. Lassen Sie uns unseren ersten
funktionalen Entwurf erstellen. Und es gibt zwei Stellen, an denen
wir mit der Skripterstellung beginnen können, entweder im
Konstruktionsskript oder im Ereignisdiagramm Das Konstruktionsskript ist alles, was im Editor
passiert Ziehen wir zum Beispiel den Würfel in das
Konstruktionsfenster. Genau hier befindet sich ein
Verweis auf den Würfel, und von dort aus können wir klicken
und ziehen, um
ihn mit einem Knoten zu verbinden. Unreal zeigt mir eine Liste
aller Knoten, mit denen ich den Würfel
verbinden kann, zeigt
im Grunde alle Funktionen
des Würfels Als ob alle
Transformationsoptionen da drin sind. Von hier aus könnten wir den Würfel skalieren, positionieren oder
drehen. Jetzt wollen wir natürlich
die Position oder den
Maßstab oder was auch immer festlegen . Wenn Sie Get wählen, kehren Sie
zur aktuellen Position zurück, was
für andere Dinge nützlich ist. Lassen Sie uns vorerst die Option Position
festlegen wählen. Sie können sogar danach suchen. Du wirst Verwandtes und Welt sehen. Das Relative ist die Position innerhalb des Blueprints,
die bei Null liegt Die Weltposition ist die
Position und die Ebene selbst. Wählen wir also vorerst einen
Verwandten aus, und Sie können sehen, dass dieser Knoten es uns ermöglicht,
eine neue Position einzugeben. Zum Beispiel 100 Einheiten
höher auf der Z-Achse. Und das Letzte, was wir
tun müssen, ist
den Konstruktknoten mit
dem Standortknoten zu verbinden . Wenn Sie die
Änderungen im Level sehen möchten, müssen
wir auf dem Blueprint auf die
Schaltfläche „Kompilieren“ klicken also bei fast jeder
Änderung in Ihrem Node
immer darauf, Klicken Sie also bei fast jeder
Änderung in Ihrem Node
immer darauf,
um das Ergebnis zu sehen Und das gleicht die Position aus. Hey, dein erster Plan
hat dir gesagt, dass es einfach ist. Schauen wir uns den Knoten jetzt
genauer an. Jeder Knoten hat Eingänge auf der linken Seite und Ausgänge
auf der rechten Seite. Und um einen Knoten zu aktivieren, benötigt
er immer eine eingehende
Ausführungsverbindung, und das beginnt mit dem
Konstruktionsskript. Die anderen Optionen wie Ziel, neuer Standort und
so weiter sind Werte Manchmal muss
etwas damit verbunden sein. Manchmal tust du das nicht. Zum Beispiel kann ich den Würfel vom
Ziel
trennen, indem ich bei gedrückter Alt-Taste auf den Wert klicke. den Blueprint
jetzt kompiliere,
erhalte ich einen Fehler in den
Notizen, weil
versucht wird erhalte ich einen Fehler in den
Notizen, weil , den Befehl auszuführen, um den Speicherort zu ändern,
aber wovon Es wird nicht gesagt, für welches Ziel es
den Standort ändern muss, und das gibt mir einen Fehler Unten und in den
Compiler-Ergebnissen können
wir mehr über den
Grund des Fehlers selbst lesen Das ist also großartig, um herauszufinden, wo und
was genau der Fehler ist Meiner Meinung nach sehr benutzerfreundlich
. Lassen Sie uns den Würfel erneut verbinden und kompilieren, um den Fehler zu beheben. Einige Werte in der Eingabe können direkt
eingegeben werden ,
wie die Position, sodass keine Eingabe erforderlich ist,
aber wir können es tun, wenn wir
wollen. Lass uns das machen. Ich werde eine neue
Komponente hinzufügen, diesmal eine Kugel. Und vom Viewport werde
ich es an eine
andere Position ziehen Gehen Sie jetzt zurück zum
Konstruktionsskript. Ich möchte den Würfel an
die gleiche
Position wie die Kugel bringen . Also muss
ich als Erstes den Wert der Position der Kugel ermitteln und
ihn dann in die neue
Position des Würfels eingeben . Ziehen Sie also die Kugel in
den Node-Editor und verbinden Sie sie mit einem Knoten zum Abrufen der
relativen Position. Interessant ist jetzt, dass
die Farbe des Knotens der Farbe
des eingegebenen Positionspins
ähnelt. Das ist auch ein Hinweis darauf
, dass wir eine Verbindung hergestellt haben. Klicken Sie auf Compile and
Boom. Es funktioniert. Und das bringt mich zum
Unterschied zwischen
dem Konstruktionsskript
und dem Event-Graph. Sie sehen, alles, was wir
im
Konstruktionsskript erstellen , ist statisch. Alle Funktionen, die wir
benötigen, bevor wir
das Spiel starten oder mit der Simulation
beginnen, können hier erstellt werden. Ein gutes Beispiel sind Vorlagen. Und ich habe ein Beispiel, eine Reihe von Assets, die ich erstellt habe. Das sind auch Blueprint-Akteure. Ich kann einen in mein Level ziehen. Und wenn ich in
den Blueprint selbst gehe, kannst
du sehen, dass er auch
einige Akteure im
Komponentenfenster hat einige Akteure im
Komponentenfenster Wir haben die
Leuchte selbst. Lichter und einige andere Netze
, aus denen das Licht besteht. Und wenn ich in das
Bauskript gehe, wirst
du hier eine ganze
Reihe von Knoten sehen Lassen Sie mich jetzt zu
meinem Level zurückkehren und
einen Bauplan auswählen , um mir das Detailfenster
anzusehen. Und all diese Optionen, die
Sie hier sehen innerhalb
des Konstruktionsskripts
individuell erstellt Ich kann die
Farbe des Lichts,
die Intensität und mehr ändern . Das alles ist
in diesen Notizen erledigt. Und ich ermutige Sie, sie Schritt für Schritt
durchzugehen. Sie können leicht lesen, was
vor sich geht , und Sie werden es
verstehen. Wie bei der ersten Änderung ändern wir
die Intensität des Lichts, also die eingestellte Intensität. Wir sagen, welches Ziel, und dann wählen wir
die Intensität. Und das ergibt sich aus den Optionen, die wir
im Detailbereich haben. Wie ich bereits sagte, können wir hier
nur statische
Dinge erstellen, wie zum Beispiel das Ändern einer Option. In dem Moment, in dem wir
etwas Dynamisches wollen, müssen
wir diese
Notizen im Event-Graph erstellen. Und Sie können sehen, dass ich dort auch eine Menge Notizen
habe,
weil eine der
Optionen, die ich im Detailbereich habe , darin besteht, Flackern
zu aktivieren,
und Sie können sehen, dass es
nichts bewirkt, weil Flackern Es funktioniert nur, wenn
wir das Level spielen. Also klicke auf Play und du wirst jetzt sehen, dass das
Licht flackert Bevor wir diese Lektion beenden, möchte
ich Ihnen zeigen, wie das
Ereignisdiagramm aussieht Lassen Sie uns den
Cube-Blueprint erneut öffnen und dieses Mal auf das Ereignisdiagramm oben
klicken Und statt einer Notiz zum
Konstruktionsskript , die wir zu Beginn haben, erhalten
wir eine Reihe von Begriffen wie Event Begin Play und Event Tick Und ich würde
dir gerne zeigen, welche das sind. Das Event Play wird
ausgeführt, sobald wir das Spiel gestartet haben, und ich werde
es mit einer gedruckten Textnotiz verbinden. Dies ist eine sehr einfache Notiz
, die viel Zeit benötigt, um Dinge
herauszufinden und mögliche Probleme zu
finden. Hier steht auch, nur
Entwicklung. Es ist also nicht wirklich
für ein Abschlussprojekt vorgesehen. Ich werde den
Text auf Spielstart ändern. Und die einzige Möglichkeit, es jetzt in
Aktion zu sehen , besteht darin, das Level auszuführen. Übrigens habe ich dieses Mal nicht
kompiliert, weil Unreal das automatisch macht
, wenn du das Level ausführst Aber du kannst jetzt sehen, dass
es den Text angefordert hat. Klicken Sie auf Stopp und gehen Sie
zurück zum Blueprint. Ich möchte den
Text mit dem Event-Häkchen verbinden
und die Verbindung zum Event trennen und mit
der Wiedergabe beginnen Schau dir an, was jetzt passiert? Mit jedem neuen Häkchen oder Frame wird
dieser Text ausgegeben. So können Sie bei jedem einzelnen Frame
etwas aktualisieren. Aber es gibt mehr Ereignisse wie die Überschneidung der Schauspieler als hier. Wir können immer dann
irgendeine Aktion ausführen, wenn wir uns überschneiden oder auf
diesen Plan Zum Beispiel rennen wir mit unserem
Charakter in den Würfel, und dann muss
sich der Würfel in eine Kugel verwandeln Klingt nach etwas, das
Spaß macht. Nun, schauen wir uns in der nächsten Lektion an, wie wir das
machen können. Denken Sie zunächst daran,
dass wir
Komponenten hinzufügen können , die wir in einem Blueprint verwenden
möchten Vom Viewport aus können
wir
diese Dinge dann sehen und auch ihre Eigenschaften
ändern Und dann haben wir zwei Stellen, an tatsächlich eine
Blueprint-Funktionalität erstellen können, denen wir
tatsächlich eine
Blueprint-Funktionalität erstellen können, nämlich das
Konstruktionsskript für statische Dinge wie ein
Optionsmenü für ein Licht und schließlich das
Ereignisdiagramm für dynamische Features Und das ist auch der Ort
, an dem wir die meiste Zeit arbeiten
werden .
Danke fürs Zuschauen.
3. Ereignisse in der Unreal Engine: Wenn Sie
einen Blueprint entwerfen, wissen
wir, dass
es zwei Möglichkeiten
gibt , dies zu tun: entweder statisch, wodurch
einem Blueprint Funktionen hinzugefügt werden, die nur im Editor
selbst verwendet
werden können, oder dynamische Funktionen
, die selbst verwendet
werden können, oder dynamische Funktionen durch ein Ereignis ausgelöst Das bedeutet also
, dass etwas
passieren muss, um unsere
Reihenfolge von Knoten in Aktion zu setzen Und das kann natürlich nur
funktionieren, wenn wir das Level ausführen. Öffnen wir also unseren interaktiven Cube-Blueprint erneut
unseren interaktiven Cube-Blueprint und navigieren wir
zum Event-Graph Standardmäßig sehen wir hier drei
verschiedene Ereignisse. Aber kein Problem, wenn Sie
zum Beispiel
das Event-Häkchen löschen würden . Du kannst es jederzeit
wiederfinden, indem du mit der rechten Maustaste klickst und
dann ein Ereignis hinzufügst
, in dem du alle
verfügbaren Ereignisse findest, einschließlich des Event-Häkchens. Jetzt kann ein bestimmtes Ereignis
nur von einer Notiz aus eintreten. Wenn ich hier eine weitere
Häkchennotiz hinzufügen würde, würden Sie sehen, dass sie
nur
die aktuelle hervorhebt .
Ist das ein Problem? Nun, lassen Sie uns etwas
auf dem Event-Häkchen erstellen. Ich möchte
meinen Würfel so drehen , dass er sich
ständig dreht. Und so
willst du das angehen. Überlegen Sie, welche Immobilie wir für die Rotation benötigen
würden. Nun, das wird
eine festgelegte Rotation sein. Suchen wir also nach der
festgelegten relativen Position, und es
wird automatisch der Würfel vorgeschlagen
, den wir bereits
im Blueprint haben Und so
zielt es automatisch auf den Würfel ab. Wenn dies nicht der Fall ist oder Sie das Ziel
gelöscht
haben, können Sie
Ihr Würfelnetz jederzeit
aus dem
Komponentenfenster in das Ziel ziehen . Okay, also werde ich
den Event-Tick mit
den Rotationsknoten verbinden . Jetzt wird also mit jedem Frame die Drehung des
Würfels aktualisiert. Großartig. Aber wofür? Ich kann nur manuell eine neue Drehung
eingeben, aber dadurch
wird sie nicht gedreht. Also müssen wir einen Weg finden den aktuellen
Rotationswert
auf eins
zu nehmen und ihn
wieder in die neue Drehung einzufügen. Auf diese Weise fügen wir mit jedem Häkchen
einen hinzu und der Schuss dreht sich Lassen Sie uns dieses
Mal also eine neue Notiz erstellen , indem wir die
relative Rotation wählen Aber warte, wir finden heraus
, dass es nicht da ist. Nun, das nervt. Gibt es vielleicht einen anderen Ansatz , um die aktuelle
Rotation zu ermitteln Nun, wenn ich meinen Würfel auswähle, kann
ich sehen, dass die
Rotationseigenschaft Teil der Transformationsgruppe
ist. Also vielleicht können wir es dort
finden. Okay, klicken Sie mit der rechten Maustaste
und suchen Sie nach Get a relative transform.
Und ja, es ist da. Das Problem ist jetzt
jedoch, dass diese Notiz alles in einem Wert
zurückgibt. Das gilt für die Drehung, die Position und die Skala. In solchen Fällen
können wir einfach mit der rechten Maustaste auf
den Wert klicken und
Split Struct-Pin wählen, wodurch die T-Werte angezeigt werden. Dies ist sehr häufig bei der
Arbeit mit Blueprints der Fall. Manchmal möchten Sie mehrere
Werte in einem Pin haben, manchmal möchten Sie
etwas Bestimmtes, und dann können Sie die Werte einfach
aufteilen Tatsächlich werde
ich auch mit der rechten Maustaste auf
den Rotationswert klicken und ihn erneut
teilen, da ich nicht alle drei
Rotationsachsen benötige. Ich benötige nur die Z-Achse. Und so bekommt man es. Ich kann jetzt dasselbe mit der
Eingabe für die eingestellte Rotation tun. Jetzt kann ich also die
Z-Achse in die Z stecken Offensichtlich
wird das nichts bewirken. Wir müssen mit jedem Häkchen einen hinzufügen. Lassen Sie uns also den
Stift trennen, bei gedrückter Alt-Taste klicken und
den Z-Wert an eine Stelle ziehen ,
um einen neuen Knoten hinzuzufügen. Dann suchen wir nach Hinzufügen und finden einen
unter Operatoren. Also nehmen wir den aktuellen
Wert und addieren ihn um eins. Das Ergebnis davon geht
in die eingestellte Rotation ein. Ordnung, lassen Sie uns weitermachen und das
ausführen. Und sieh dir das an Wir haben einen rotierenden Würfel.
Ist das nicht unglaublich? Also, wie Sie sehen können, ist es
nicht so kompliziert. Ich habe keine
Ahnung von mehr als 90% all
dieser verschiedenen Notizen. Wenn ich etwas erreichen will, versuche
ich logisch zu denken Welche Schritte sind erforderlich
, um das zu erreichen, was ich schaffen
möchte Und ich benutze einfach die Suchleiste , um nach sinnvollen Notizen
zu suchen, sie
auszuprobieren und zu
sehen, ob sie funktionieren. Wenn sie nicht versuchen, nach einem anderen zu
suchen. Mein Ziel ist es, Ihnen logisches
Denken
und Blaupausen beizubringen , damit Sie
alles erstellen können, was Sie wollen ohne blind einem Tutorial
folgen zu müssen Es ist sehr wichtig, dass du verstehst,
was du tust Das ist reine Programmierung, aber Blueprints macht
das visuell, was Anfängern den Einstieg in
die Programmierung erleichtert Alles klar, also welche anderen
Veranstaltungen haben wir? Wenn dir etwas einfällt,
versuche danach zu suchen. Ich möchte zum Beispiel die Taste drücken, was
etwas Cooles auslösen muss. Also, suche in der
Suchleiste danach. Nun, da ist es. Es gibt Ihnen sogar zwei
mögliche Ereignisse, wenn Sie die Taste
drücken oder wenn Sie sie loslassen.
In Ordnung, das ist cool Ich möchte diese Taste drücken und dann den rotierenden Würfel auslösen Trennen Sie also das Event-Häkchen
und setzen Sie es dann auf die Taste. Lass uns das ausführen und die Taste drücken. Aber was ist das?
Es passiert nichts. Wie ist das? Nun, das liegt an
etwas, das man Besitz nennt. Und einfach ausgedrückt, ich
kontrolliere den Würfel nicht. Er sitzt irgendwo im
Level und lebt von selbst. Manche Ereignisse wie ein
Tastendruck können nur passieren wenn ich den Würfel kontrolliere oder, anders
ausgedrückt, ihn besitze Nun, das wollen wir in
der nächsten Lektion lernen.
4. Steuerbare Entwürfe – Pfand- und Charakterklassen: Wenn ein Bauplan in deinem Level
existiert, lebt
er Wir können es nicht kontrollieren. Wir können
Ereignisse wie das Häkchen oder
beim Start nur ausführen , wenn das Level
geladen wird oder wenn wir darauf stoßen. Aber das bedeutet, dass wir zuerst über einen Plan verfügen
müssen, wir tatsächlich kontrollieren können, um auf das quadratische Netz zu
stoßen Jedes Mal, wenn wir auf das Problem
stoßen, dass wir einen Plan kontrollieren oder
besitzen
müssen, fangen wir mit dem Einfachsten an, und vielleicht haben Sie schon damit
herumgespielt In meinem Inhaltsbrowser klicke ich
auf AD und
wähle dann Funktion hinzufügen
oder Inhaltspaket Und auf Anhieb können
wir aus
einer Reihe verschiedener
Blueprint-Vorlagen wählen einer Reihe verschiedener
Blueprint-Vorlagen Sie können eine beliebige auswählen, aber zur
besseren Veranschaulichung wähle
ich die Vorlage für eine
dritte Person und sage dann Zum Projekt hinzufügen Sie können
dieses Fenster dann schließen und in
Ihrem Inhaltsbrowser einen neuen Ordner
suchen. Und wir sind speziell
an einem Element aus der Vorlage interessiert . Öffne den
Ordner Blueprints und dort findest
du den Charakter BP in der dritten
Person Und das können wir
in die Szene ziehen. Ich werde den
Bauplan öffnen und ihn ein wenig untersuchen. Und wenn du portierst,
siehst du verschiedene Komponenten die benötigt werden, um
uns einen spielbaren Charakter zu geben, wie den Charakter selbst, aber auch eine Kamera,
die dem Charakter folgt und die
Sicht erzeugt, die der Spieler Es gibt einen Kameraboom, der
sicherstellt, dass
die Kamera
dem Charakter folgt , wenn er herumläuft Aber wie rennen wir dann herum? Wenn wir uns das
Bauskript ansehen, ist
es völlig leer, und
wir verstehen jetzt, warum? Weil es völlig dynamisch ist. Wenn wir also
das Ereignisdiagramm öffnen, finden
Sie alle
Notizen, die
die Bewegung des Charakters ausmachen .
Nun, das ist großartig. Lass uns den Plan schließen
und auf „Ausführen“ klicken. Aber warte Ich kontrolliere
den Charakter immer noch nicht. Ich habe es noch nicht besessen
. Was ist los? Nun, Sie können jeweils nur
einen Bauplan besitzen. Und wenn Sie
sie einfach in Ihrem Level haben, weiß
das Projekt nicht , welches Sie eigentlich kontrollieren
möchten Und die Art und Weise, wie
wir das definieren, ist ein
Spielmodus-Blueprint Es ist eine andere Art von Blaupause. Nun, da die
Vorlagen für Dritte mit einer dieser Vorlagen geliefert wurden, haben
Sie sie wahrscheinlich schon gesehen Ich werde darauf doppelklicken. Nun, wir haben hier nicht wirklich all diese verschiedenen Tabs, wie den Event-Graph und so, weil ein
Spielmodus-Blueprint sehr einfach ist Es ist eine Datei, die
die Standard-Blueprints
für ihr Level festlegen wird die Standard-Blueprints
für ihr Unter den Standardklassen findest
du also etwas, das als
Standardbauerklasse bezeichnet wird. Und das ist der Plan
, der geladen wird,
um die Kontrolle darüber übernehmen
zu können Also werde ich das schließen und nach meinen Welteinstellungen suchen Dies sind die allgemeinen Einstellungen
für dein gesamtes Level, und du findest hier eine Einstellung für
den Spielmodus. Du kannst sie aus einem
Drop-down-Menü auswählen oder einfach den Spielmodus-Blueprint
in diese Einstellung
ziehen Die Welt sagt also: Schau dir
diesen Spielmodus-Blueprint an ,
wenn du das Spiel startest Und der Spielmodus Hey, sieh dir den Bauplan
für den
Charakter in der dritten Person an, über den der Spieler die Kontrolle
übernehmen kann Das bedeutet, dass wir für einen Bauplan, über den wir die Kontrolle
übernehmen, diese
im Level nicht benötigen Also lösche ich es einfach und starte
das Spiel, und los geht's. Der Charakter-Blueprint wird geladen und
in das Level gespawnt Und wenn du möchtest, dass er
an einem bestimmten Ort erscheint, kannst
du deinem Level einen
Spielerstart hinzufügen Ist das nicht cool? Also, was wir jetzt tun können, ist den Würfel wieder zu
öffnen und etwas Lustiges zu kreieren wo wir auf den Würfel stoßen. Ich mache einen
Rechtsklick und
suche nach etwas wie Event Colt, vielleicht, und ich kann so etwas nicht wirklich
finden Scrollen wir also zu
den Ereignissen hoch und schauen , ob wir
so etwas wie einen Event-Hit haben Hm, und da ist es. Und es
heißt, dass dieses Ereignis ausgelöst wird, wenn dieser Schauspieler
auf einen anderen Schauspieler trifft Das ist genau das, was wir brauchen. Und ziemlich cool ist, dass wir hier
eine ganze Reihe von Optionen haben. Selbst je nachdem , wo wir es von
der Trefferstelle aus getroffen
haben, könnten wir verschiedene
Arten von Funktionen erstellen. Aber lassen Sie es uns vorerst
einfach halten. Ich werde meinen Würfel in
das Ereignisdiagramm ziehen , weil ich
damit etwas anfangen möchte. Was ist, wenn wir das
Netz von einem Würfel in ein
anderes ändern , wenn wir darauf
stoßen ? Das wäre großartig. Also lass uns nach Mesh suchen
und sehen, was wir haben. Und ich sehe, dass wir einen
Knoten namens Set Static Mesh haben. Nun, das
wird wahrscheinlich funktionieren. Und ich kann aus diesem Drop-down-Menü ein anderes
Mesh wählen,
etwas, das in meinem Projekt enthalten ist Ich kann viele finden, die aus
verschiedenen Paketen in
der Engine selbst stammen , aber lassen Sie uns nach Sphere suchen und einfach alles nehmen.
Spielt hier eigentlich keine Rolle. Und natürlich
wollen wir
diesen Befehl ausführen, wenn der Blueprint aufgerufen
wird. Also verbinde das Also gut, versuchen wir es mal. Drücke auf Play und lass uns zum Würfel
rennen. Und bumm, wir haben eine Kugel. Großartig. Es funktioniert. Aber lassen Sie uns zu dem
ursprünglichen Problem zurückkehren, das wir hatten. Ich lösche den
Event-Hit und erstelle ein Tastatur-Event für die Taste und verbinde es mit
dem statischen Mesh-Knoten. Damit das funktioniert, muss
ich die Kontrolle
über diesen Entwurf übernehmen Okay, klingt einfach, oder? Wir navigieren zurück zum
Spielmodus-Blueprint. Öffne ihn und
ich wähle aus der
Standardbauernklasse meinen interaktiven Würfel aus, aber ich kann ihn nicht finden Hmm. Nun, denken Sie daran, als
wir unseren Entwurf erstellt haben Ich mache das ganz schnell nochmal. Wir haben uns für eine Schauspielerklasse entschieden. Aber wie du siehst, gibt es auch eine Bauernklasse oder eine
Charakterklasse, die ähnliche Eigenschaften hat Nun, heißt das, dass wir den gesamten Entwurf noch
einmal neu erstellen Nun, mach dir keine Sorgen. Wenn Sie zu meinem interaktiven
Würfel Blueprint zurückkehren, finden
Sie oben eine Schaltfläche , um zu
den Klasseneinstellungen zu gelangen Und hier findest du
die übergeordnete Klasse, die momentan auf Schauspieler gesetzt ist, aber wir können sie bei der Suche in
Spielfigur ändern Sie können also jederzeit
den Typ des von Ihnen erstellten Blueprints
ändern den Typ des von Ihnen erstellten Blueprints Wenn wir nun
zum Spielmodus
Blueprint zurückkehren und aus
der Standardfigur unseren interaktiven Würfel
auswählen, unseren interaktiven Würfel
auswählen starten
wir das Spiel
und schauen uns das Wir sind ein Würfel. Offensichtlich können wir damit nicht
herumlaufen weil wir keine
Spielersteuerung für den Würfel haben. Dafür müssen wir zuerst
alle Eventgrafiken erstellen, aber wir werden von diesem
Plan aus in die Szene gespawnt,
und das bedeutet, dass ich ihn besitze Wenn ich meine Taste drücke, verwandelt sich
das Netz in eine Kugel Ich kann es nicht wirklich sehen, weil
ich mich jetzt in der Kugel befinde. Also lass uns hier ganz
schnell etwas tun. Öffne den Cube-Blueprint, gehe zum Viewport
und ich
füge den Komponenten eine Kamera Ziehen wir die
Kamera etwas weiter nach hinten und
starten wir das Spiel Wir sehen den
Würfel jetzt durch die Kamera, aber wir befinden uns immer noch in
demselben Bauplan Wenn ich also L drücke, können
wir sehen, wie sich die Kugel zu einer Kugel verändert Zusammenfassend lässt sich sagen, dass es
nur einen Plan gibt , über den
wir die Kontrolle übernehmen können Mit diesem Bauplan für die Spielfigur
oder den Charakter können
wir jedoch mit
anderen normalen oder handelnden
Bauplänen im Level interagieren ,
und es gibt
verschiedene Arten von Ereignissen, die wir
direkt kontrollieren oder mit
ihnen interagieren Sie sind nicht so
kategorisiert, aber wir müssen das
im Hinterkopf behalten Einige von Ihnen
denken vielleicht schon, aber Jordan, Sie möchten in der Lage sein,
mehrere Blaupausen
gleichzeitig zu steuern , zum Beispiel ein paar Lichter in
meiner Szene zu haben und
verschiedene Tasten zu drücken, sie ein- oder auszuschalten Nun, das ist eine großartige Frage, und dafür gibt es eine Lösung, aber das ist für die nächste Lektion
5. Durchsuchen des Level-Blueprints: Ich habe ein neues
Level namens Lichter erstellt, und was ich hier drin habe, ist
ein Flugzeug mit einigen Säulen, und ich habe drei Lichter
hier drin , über die ich gerne die Kontrolle
übernehme Wir haben hier einen blauen Scheinwerfer, eine Art fluoreszierendes
grünes rechteckiges Licht
und schließlich ein
warmfarbiges Punktlicht. Das sind keine Baupläne. Ich habe diese Lichter einfach
direkt in mein Level gebracht. , sie in Es ist nicht sinnvoll, sie in
einen Plan aufzunehmen,
da wir die
Kontrolle über sie übernehmen wollen , indem wir
eine Taste drücken , um sie ein- oder auszuschalten Jetzt ist es auch keine Option, einen
Plan für die Teichklasse zu erstellen,
da dadurch der
Bauplan in der Szene erscheint Wir haben also eine sehr schlechte Kontrolle darüber, wo sie positioniert
werden Außerdem können wir nur die
Kontrolle über einen Plan übernehmen. Also müssen wir einen anderen Weg finden
. Also, hier ist etwas
Interessantes. Das Level selbst hat auch
einen Plan. Oben hier findest du eine
Schaltfläche, die
alle Pläne auflistet , die
speziell mit dem Level verknüpft
sind speziell mit dem Level verknüpft Einer davon ist der Spielmodus
, den wir schon einmal gesehen haben Wir haben
es sozusagen mit dem gesamten Level verbunden. Aber wie Sie sehen können,
gibt es auch eine Option um den Level-Blueprint zu öffnen Und
das Interessante an diesem Blueprint ist, dass er auf der höchsten
Hierarchieebene läuft,
was bedeutet, dass wir ihn
automatisch besitzen Dies ist jedoch keine
normale Blueprint-Klasse. ist
standardmäßig immer vorhanden, aber wie Sie sehen können, gibt es weder
ein
Komponentenfenster noch ein Darstellungsfenster noch ein
Konstruktionsfenster Das liegt daran, dass es sich bei den
Komponenten im Grunde all das handelt, was sich in
deinem Level befindet , wie zum Beispiel die Lichter Wir können einem Level keine
Eigenschaften hinzufügen, daher gibt es keinen Konstruktions-Tab, sondern nur irgendein Event-Diagramm, das anzeigt,
wann das Spiel läuft. Und so wird es jetzt sehr einfach. Wir können einfach die
Lichter aus dem Level auswählen und sie in
den Level-Blueprint ziehen Und ich werde die Ereignisse für
die Tasten Nummer
12 und drei
auf meiner Tastatur erstellen Tasten Nummer
12 und drei
auf meiner Tastatur der ersten muss das Punktlicht
eingeschaltet werden, und es gibt verschiedene
Möglichkeiten, das zu tun, und der beste Weg, das herauszufinden
, besteht darin, einfach
die Punktlichter in Ihrem Level auszuwählen die Punktlichter in Ihrem Level und sich das Detailfenster anzusehen Experimentieren Sie mit den
Eigenschaften, um
herauszufinden, welche Einstellung für den Blueprint am besten geeignet Also ja, wir können die Intensität
nutzen. Weißt du, im Grunde genommen auf
Null setzen und dann wieder
auf etwas anderes. Aber dann
codieren wir etwas fest, was eine schlechte Praxis ist, und Sie möchten diese harte
Codierung so weit wie möglich vermeiden . der Hartcodierung werden
Sie Werte in den Bauplan
einfügen Stellen Sie sich vor, wir würden im Bauplan das
Lumen bei
eingeschaltetem Licht auf 1.000 einstellen eingeschaltetem Licht auf 1.000 Aber dann kehre ich zu
meinem Level zurück und fange an zu optimieren und beschließe,
die Helligkeit des
Lichts wieder auf 100 zu setzen die Helligkeit des
Lichts wieder auf 100 Das bedeutet, dass
ich auch zu
meinem Level-Blueprint zurückkehren und dort
die Intensität ebenfalls
auf 100 setzen muss ein Wert fest codiert ist
, ist diese Zahl fest Anstatt das zu tun, suchen
wir nach einer Eigenschaft, mit
der
das Licht einfach ein- oder ausgeschaltet werden kann der
das Licht einfach ein- oder ausgeschaltet anstatt
den Intensitätswert zu ändern. Und unter Rendern
finden wir eine solche Option
namens sichtbar. Wie Sie sehen können, gibt es einen einfachen Schalter, die Komponente angezeigt oder in der
Höhe angezeigt wird In diesem Fall
das Licht zum Leuchten bringen oder nicht. Fantastisch. Gehen wir zurück
zum Level-Blueprint Ziehen wir nun vom
Punktlicht aus
den Pin heraus, um ihn mit der Knotensichtbarkeit
zu verbinden Und
hier gibt es etwas
sehr Interessantes , das sogenannte
Umschalten der Sichtbarkeit Und Sie haben heute Glück
, denn wir haben nicht immer für
jede
Immobilie eine Option zum Umschalten Normalerweise nur eine festgelegte Option, und dann müssen wir manuell
einige Notizen
dazu erstellen ,
damit sie umgeschaltet wird Aber im Moment können wir den Umschalter
verwenden,
also verbinden Sie Ihre Taste, wenn Sie ihn ausführen
, mit der Umschalttaste Und ich werde dasselbe
für das rechteckige Licht tun. Auch hier können Sie die Sichtbarkeit umschalten. Und schließlich schaltet das
Spotlight auch die Sichtbarkeit um und verbindet
den Schlüsselbaum mit dieser Notiz Gehen wir zurück und starten das Spiel. Und Sie werden feststellen, dass
wir diese Lichter jetzt mit
dem entsprechenden Schlüssel ein- und ausschalten können . Sogar ein bisschen Disco
effektiv machen. Das machst du schnell. Nun, ich habe eine
kleine Aufgabe für dich, bevor wir zur nächsten Lektion
übergehen. Wenn ich mit meinem Level anfange, möchte
ich, dass alle Lichter aus sind,
aber ich möchte nicht, dass sie in meinem Level ausgeschaltet werden . Also muss der Blueprint das tun. Sie müssen starten,
wenn ich das Spiel starte, und dann kann ich
sie
durch Drücken meiner Taste ein- oder wieder ausschalten Es ist sehr einfach. Denke über die richtigen Ereignisse nach, die erforderlich sind
, um
den Status des Lichts einzustellen ,
wenn ich das Spiel starte und ich werde dir die
Lösung in der nächsten Lektion zeigen.
6. Einfache Spielmechanik - Bombenlegungssystem: Hey, willkommen zurück. Also meine Lichter sind derzeit
im Level-Designer an. Ich werde mein Spiel starten und wie du sehen kannst, sind
sie jetzt aus. Ich kann sie wieder ein- oder
ausschalten , indem ich meine
speziellen Tasten drücke Und ich hoffe auch
, dass das für dich funktioniert. Interessanterweise gibt es zehn verschiedene Möglichkeiten, dies zu tun. Ich habe es wahrscheinlich
anders gemacht als du. Schauen wir uns also
den Level-Blueprint an. Was ist
hier los? Zunächst einmal der Schalter zwischen Tastendruck und Sichtbarkeit immer
noch gleich Ich verwende die Option Ereignisse beginnen ,
um die
Startsichtbarkeit einzustellen Ich gehe davon aus, dass du das auch benutzt. Lassen Sie mich nun den
Sequenzknoten für einen Moment entkoppeln. Und interessant ist, dass
wir den
Beginn der Ereignisse auch mit dem Umschalten der
Sichtbarkeit verbinden können Beginn der Ereignisse auch mit dem Umschalten der
Sichtbarkeit Das bedeutet, dass es
zwei verschiedene Ereignisse gibt , die sich um die
Ausführung der Noten kümmern können: das Drücken
der Taste und das Abspielen der
Ereignisse beginnt Das Problem besteht nun darin, dass
ein Ereignis nur auf einem anderen
Knoten
ausgeführt werden kann , wie Sie sehen können. Also müssen wir ein bisschen kreativ sein. Eine Sache, die wir hätten
tun können, war,
alle
Sichtbarkeitsnotizen auszuwählen , sie zu kopieren und sie dann hier einzufügen, und wir können die
Startplatte mit der ersten Notiz verbinden, dann die Ausgabe dieser
Notiz mit der zweiten und schließlich diese mit
der dritten Wir bilden eine Kette. Und wenn ich das starte, funktioniert
es auch. Mein Licht ist aus.
Aber wie Sie sehen können, gibt es viele Notizen für so
etwas Einfaches. Wir machen es komplex. Wir verwenden eine Kopie von etwas
, das bereits da ist, daher ist es eine gute Praxis, immer
zu versuchen mit so wenig
Notizen wie möglich zu arbeiten. Also werde ich
all das löschen und mein Startspiel mit
dem Sequenzknoten
verbinden. Dadurch wird jeder Befehl
nacheinander in einer Sequenz ausgeführt. Es funktioniert genauso, aber ein bisschen sauberer. In Ordnung, lassen Sie uns alles schließen. Ich werde
mein Würfel-Level wieder öffnen und ich werde auch den
Spielmodus-Blueprint öffnen und den Standard-Schwenk
wieder auf den Charakter aus der dritten
Person
ändern wieder auf den Charakter aus der dritten
Person Denn so können wir die
Teile umgehen und uns so bei der nächsten Sache helfen
, die wir gerne erstellen würden Ich würde gerne irgendwo auf der Welt eine
Bombe platzieren. Dann geh weg, und wenn
ich eine bestimmte Taste drücke, sollte
die Bombe explodieren Wir werden einen
sehr einfachen Ansatz wählen, also mach dir nicht zu viele Sorgen Ich klicke mit der rechten Maustaste
auf meinen Inhaltsbrowser und wähle, ob ich ein neues
Niagara-System hinzufügen Dies ist ein
sehr leistungsstarkes und
überwältigendes Simulationssystem für Partikel und
Flüssigkeiten , aber machen Sie sich keine Sorgen Wir können aus einer Vorlage wählen, und da ist etwas
ziemlich Lustiges
drin , ein sogenannter Konfetti-Burst, perfekt für die Explosion Also lasst uns auf Create klicken und es Confetti Burst
nennen. Was die Bombe selbst angeht, können
wir einen Würfel oder
etwas anderes verwenden , das sich
bereits im Motor befindet Wenn Sie möchten, können Sie
Ihr eigenes Vertragsmodell importieren ,
das ist eigentlich egal. Da die gesamte Aktion also innerhalb
des Charakters
stattfindet, werden
wir den Aufbau des Charakters öffnen und
innerhalb des Charakters arbeiten . Lass einfach alle Notizen, die sich um die Bewegung
kümmern, in Ruhe Das kannst du einfach ignorieren. Wir werden an der Seite arbeiten. Wir werden also Schritt für Schritt
logisch denken. Wir werden auf
Probleme stoßen und sie dann lösen. Als Erstes drücken wir
eine Taste, um die Bombe zu platzieren. Also werde ich ein
Tastatur-Event für den Buchstaben B erstellen. Wenn dieser abgefeuert wird, sollte
vor
dem Charakter
auf dem Boden ein
Netz erscheinen, das die Bombe darstellt sollte
vor
dem Charakter
auf dem Boden ein
Netz erscheinen, das die Bombe . Gehen wir zum Viewport
und zu einer Würfelkomponente. Wir können es
ein wenig skalieren und neu positionieren , sodass es
vor dem Charakter sitzt das jetzt ausführen, können wir sehen dass sich der Würfel vor dem Charakter befindet,
der sich
weiterbewegt, weil der gesamte Bauplan gesteuert
wird Aber das ist gut so,
denn das bedeutet, dass der Würfel immer an der richtigen Stelle ist, wenn wir ihn pflanzen Das einzige Problem ist
, dass der Würfel in dem Moment, in
dem er
hineinfällt oder sichtbar
wird, dem Charakter nicht mehr
folgen sollte Sonst bekommen wir
Konfetti ins Gesicht. Nun, es gibt eine nette Option, um zu überschreiben, dass ein Objekt dem Charakter folgen
soll,
und zwar einfach, indem man die Physik aktiviert Wir können
diese Eigenschaft einfach
im Detailbereich überprüfen , wenn Sie Ihren Würfel
ausgewählt haben Jetzt haben wir also einen Würfel, der
herunterfällt und an Ort und Stelle bleibt. Wir können sogar darauf stoßen, was Spaß macht. Wir haben Physik
aktiviert. Zu Beginn wollen
wir natürlich auch die
Sichtbarkeit des Würfels deaktivieren. Nicht alles
muss programmiert werden. Manchmal können Sie einfach einige Optionen
umschalten. Aber der folgende Staub, wenn wir die B-Taste drücken, sollte
der Würfel sichtbar werden Das haben wir schon einmal gemacht,
also sollte das einfach sein. Ziehe den Würfel in
das Event-Diagramm und verbinde ihn mit der
eingestellten Sichtbarkeitsnotiz. Wir müssen zu diesem
Zeitpunkt nicht umschalten und müssen
natürlich sicherstellen, dass die neue Sichtbarkeit
auch stimmt Ordnung, jetzt
müssen wir sicherstellen, dass der Würfel
vor dem Charakter Und obwohl er von Anfang an
unsichtbar ist, erscheint
er am Anfang immer noch direkt vor dem
Charakter Aber dann laufen wir herum und drücken auf den Biki, um es sichtbar
zu Offensichtlich erscheint
es einfach dort, wo es schon war. Also, okay, wir müssen
eine Position für den Würfel festlegen ,
und das können wir tun. haben wir schon einmal gemacht.
Nimm einfach den Würfel und verbinde ihn mit einem
festgelegten Standort auf der Welt. Übrigens, wenn Sie Schwierigkeiten
haben, den Unterschied
zwischen einer Welt oder einem
relativen Ort zu verstehen , ist
dies ein großartiger
Moment, um es auszuprobieren. Sie werden sehen, dass
ein Verwandter nicht funktionieren wird Das ist
die Position
innerhalb des Entwurfs Während wir herumlaufen, ändert sich
die Position
des Charakters
in der Welt, aber nicht im Bauplan Die relative Position
bleibt gleich. Aber was ist dann die neue
Weltposition des Würfels? Nun, offensichtlich, wo
der Charakter steht. Nehmen wir also den Charakter, das Skelettnetz ist, und ermitteln wir seinen Standort in
der Welt. Verbinde das mit
dem neuen Standort. Großartig. Starte das Spiel und
ich werde ein bisschen herumlaufen und dann die
Bombe platzieren. Oh, was ist das? Es erscheint tatsächlich genau an derselben Stelle
wie mein Charakter. Weißt du, es
sollte vor mir sein. Und hier wird es schwierig. Wir werden ein Problem lösen
müssen. Wie wir bereits gesehen haben,
können wir die Pins
des Standorts aufteilen. Theoretisch könnten wir also das X mit
dem X verbinden und dann das Y
mit einem
Addierknoten verbinden und einen Wert von, sagen
wir, 200 hinzufügen und
diesen Wert an die
nächste Y-Position setzen . Und schließlich das Z.
Nein, es bleibt gleich. Also, okay, theoretisch haben
wir jetzt einen Offset. Lassen Sie uns das
Spiel starten, herumlaufen und
ein paar Mal die B-Taste drücken. Und wir wissen, dass dieser Offset davon abhängt, wohin der
Charakter schaut. Das ist also keine wirklich
gute Option. Wir können die
Position des Netzes nicht einnehmen. Ich lösche das alles und klicke mit
der rechten Maustaste auf meine Pins, um
sie wieder miteinander zu kombinieren. Wir benötigen die Position
von etwas, das
sich vor dem Charakter befindet. Hmm. Was ist, wenn wir da einfach
etwas hinzufügen, zum Beispiel eine Kugel
zu den Komponenten hinzufügen, und ich werde diese
Kugel vor meinen Charakter ziehen Kugel vor meinen Charakter Solange ich die Physik
nicht aktiviere
, folgt mir diese Kugel einfach und bleibt genau
vor dem Charakter. Das Einzige, was ich tun muss,
ist ihre Sichtbarkeit zu deaktivieren. Es gibt allerdings ein Problem. Auch wenn es unsichtbar ist, kann
ich trotzdem auf andere Objekte
stoßen Also müssen wir auch
die Kollision deaktivieren. Sie können nach Kollisionen suchen. Es gibt
hier nicht wirklich eine Option , um das zu aktivieren oder zu deaktivieren, aber ich sehe, dass es ein
Preset gibt, das Block A sagt,
und interessant ist, dass es hier
eine Option gibt , die
besagt, dass es keine Kollision gibt. Hm, ich frage mich, was das bewirken wird. Nun, es hat mein Problem behoben. Also jetzt kommt alles zusammen. Wir nehmen diese Kugel, ermitteln ihre Weltposition und verbinden sie mit der
neuen Position des Würfels. Und Bm, wir haben den
Bombenplatzierungsmechanismus zum Laufen gebracht. Ein Problem ist allerdings, dass wir einen Bug im Spiel
haben. Weißt du, Spieler können
endlos auf die Bombe reagieren, und das macht Sinn Jedes Mal, wenn wir die B-Taste
drücken, wird ein neuer Standort in der Welt festgelegt Es gibt nur eine Bombe, also sollte das nur einmal passieren. Um dieses Problem anzugehen,
werden wir es noch einmal
Schritt für Schritt angehen. Wenn der Spieler also B drückt, die Bombe
und wir müssen uns daran erinnern, dass
der Spieler diese Aktion ausgeführt hat, sodass wir sie kein anderes Mal
ausführen können Weißt du, es ist so,
wie Menschen arbeiten. Wenn Ihr Kind einen
Keks stiehlt, Sie ihn aber nicht sehen,
kann es so viele
Kekse nehmen, wie es möchte Aber wenn Sie gesehen haben, wie sie einmal einen Keks
genommen
haben, speichern Sie das in Ihrem Gedächtnis, und Sie können Ihren Kindern sagen, dass sie
keinen weiteren Koch nehmen sollen Und Kinder machen das.
Sie hören sehr gut zu. Also müssen wir das auch
im Speicher des Spiels speichern ,
und da kommen
Variablen ins Spiel. Wir finden es wieder hier unten links
im Blueprint-Editor Wir haben schon ein paar.
Das sind die Komponenten , die wir bearbeiten, wie die
Kugel und den Würfel. Wir können aber auch eine neue
erstellen. Klicken Sie auf das Plus und geben Sie
der Variablen den Namen planted. Und standardmäßig heißt es, dass
die Variable ein boolescher Wert ist. Dies ist der Variablentyp. Wir können alle
möglichen Dinge in einem Speicher speichern. Ein boolescher Wert ist einfach eine
wahre oder falsche Aussage. Wir könnten
es aber auch in eine Ganzzahl ändern. Das ist eine Zahl. Wir können eine Textvariable
haben. Es gibt auch eine Vektorvariable. Das sind drei Werte, mit anderen
Worten XYZ Um
also einen Standort zu speichern, und um die Sache noch schlimmer zu machen, gibt es etwa 7.000
weitere Variablentypen Aber keine Sorge, genau wie
bei Blueprint-Klassen werden
Sie nur die
gängigsten verwenden, werden
Sie nur die
gängigsten verwenden es sei denn, Sie sind bereits mit
Unreal
vertraut und Sie arbeiten an einem größeren Projekt, das sehr spezielle Anforderungen
hat Jetzt ist ein Edelmetall in
Ordnung, wahr oder falsch. Ziehen Sie diese Variable
in das Diagramm und wir müssen
zwischen Get oder Set wählen Speichern wir einen neuen Speicher oder schauen
wir uns an, was
wir zuvor gespeichert haben? Wir beginnen mit dem
Setzen der Variablen. Wenn ich also die Taste B drücke, müssen
wir zuerst sicherstellen, dass wir alle Aktionen ausführen, um die Bombe
zu platzieren Ziehen Sie
also den gesetzten Knoten an das Ende, verbinden Sie ihn und
setzen Sie ihn auf true. Gehen Sie jetzt zurück zum Anfang. Wenn ich den Biki drücke bevor ich die gesamte
Aktion ausführe und die Bombe platziere, werde
ich zuerst überprüfen ob wir das schon getan
haben Also nehmen wir dieses Mal
die Get Planted. Und das können wir mit einem einfachen Zweig überprüfen , einer Notiz, die Sie auch häufig
verwenden werden. Wenn du programmieren magst, ist das im Grunde eine IL-Anweisung. Wenn eine Bedingung
wahr ist, dann tu das. Das ist eine IL-Aussage. In Wirklichkeit ist es ein bisschen anders. Es heißt Filiale. Es prüft die Bedingung, und wenn sie wahr ist,
folgt sie diesem Ausführungs-Pin. Wenn es falsch ist, folgt
es dem anderen. Eine hervorragende Möglichkeit, den Fluss
Ihrer Notizen
je nach Zustand aufzuteilen . Es ist bereits installiert,
wenn es wahr ist, dann tun wir nichts. Oder wir könnten
einen gedruckten Text hinzufügen , der besagt, dass die
Bombe bereits platziert wurde. Wenn es falsch ist, bedeutet
das, dass wir noch keine Bombe
platziert haben. Dann könnten wir
die gesamte Reihenfolge der Notizen zum Platzieren der Bombe machen. Und wenn wir das Spiel ausführen, können wir jetzt
sehen, dass es perfekt funktioniert. In Ordnung, die Bombe ist platziert. Nehmen wir
jetzt etwas Abstand und lassen es explodieren. Wir können die Explosion
verschiedenen Tasten zuweisen oder dieselbe
verwenden Weißt du, wir
haben hier schon eine Filiale, das heißt,
wir könnten die Explosion selbst
einleiten ,
wenn die Explosion wahr ist. Ziehen Sie also den
Konfetti-Burst in den Bauplan
und schon können
wir
in den Sichtfenstern sehen, dass das
Konfetti explodiert und schon können
wir
in den Sichtfenstern sehen, dass das Außerdem geht es los, wenn wir das
Spiel spielen. Schauen wir uns also das
Detailfenster an. Gibt es hier etwas
, das diese Simulation automatisch aktiviert? Nun ja, das gibt es. Die automatische Aktivierung ist aktiviert. Also lass uns das ausschalten. Im Ereignisdiagramm bedeutet das, dass wir uns das Konfetti ansehen und es mit einem festgelegten Aktivierungsknoten verknüpfen
müssen Ich lese also nur
die Eigenschaften einer Komponente, die immer als Notiz
zurückkommt So einfach ist das. Wenn Sie nicht wissen,
wie man etwas macht, schauen Sie sich
einfach die Eigenschaften an. Dies sind alle Optionen, die Sie erhalten und die Sie ändern können. Jetzt müssen wir auch
die richtige Position einstellen. Also werde ich das
etwas schneller besprechen,
da wir jetzt verstehen sollten, wie das funktioniert. Konfetti hat den
Standort der Welt festgelegt, verbunden. Dann nimm den Würfel oder die Bombe, ermittele ihre Weltposition und setze diesen Wert in die
neue Position des Konfettis Und schließlich, wenn
deine Bombe explodiert, ist
sie auch weg Nehmen Sie also vielleicht den Würfel und verbinden Sie ihn erneut mit einem festgelegten
Sichtbarkeitsknoten, aber lassen Sie die Sichtbarkeit
unmarkiert. In Ordnung, versuchen wir es. Ich platziere meine Bombe, renne ein bisschen weg und lasse sie
dann explodieren Juhu, Konfetti. Aber genau wie bei der Bombe wollen
wir nicht, dass der Spieler sie spawnen
lässt oder in diesem Fall wieder
explodiert, weil das passieren
wird, wenn ich mir meine aktuellen
Notizen ansehe Nichts hier sagt
mir, dass der Spieler das Konfetti nicht reaktivieren
sollte Aber ich bin mir sicher, dass du inzwischen weißt,
wie das geht. Also das ist wieder eine kleine
Aufgabe für dich. Und wie zuvor werde ich Ihnen in
der nächsten
Lektion die Lösung zeigen . Danke fürs Zuschauen.
7. Treffererkennung mit Zeilenverfolgung: Wir lernen, dass
Sie
mit gesundem Menschenverstand wissen, welche Art von Notizen Sie wählen und miteinander
verbinden müssen. Manchmal musst du
ein paar verschiedene Notizen ausprobieren , um die zu finden, die
für deinen Zweck geeignet ist. Und ein guter Tipp ist, es einfach
mit etwas wie HatChipt zu fragen, was Sie tun möchten und welche Note Sie dafür auswählen
müssen Es ist ein unglaubliches Tool, das dir
bei solchen Dingen hilft. Aber es gibt ein paar
Notizen in Unreal, die auf den ersten Blick vielleicht nicht so
offensichtlich sind, aber es
ist sehr wichtig, sie zu kennen Und einer davon ist
etwas komplexer. Also möchte ich
das zusammen mit erforschen. Aber schauen wir uns zunächst die Lösung aus
der vorherigen Lektion an. Wenn wir also eine Bombe platzieren, aktiviert
sie immer das Konfetti Und dieser war sehr einfach. Wir mussten nur
eine weitere Variable erstellen. Ich nenne es explodiert
und werde überprüfen, ob
explodiert wahr ist Wenn nicht, dann werden wir das
Konfetti aktivieren. Und wenn es wahr ist, tun wir
nichts. Dann, am Ende
dieser Notizserie, haben wir natürlich Exploded auf True gesetzt Es ist genau das Gleiche wie beim
Platzieren der Bombe. Und weil wir diese
Werte und eine Variable haben, könnten
wir darauf weiter aufbauen. Wisst ihr, der Spieler
könnte zum Beispiel eine neue Bombe
aufheben und wir setzen beide Variablen
wieder auf Folds zurück, sodass der Spieler wieder eine Bombe
platzieren kann. Das ist die Stärke der
Arbeit mit Variablen. Ich bleibe im Blueprint
meines Charakters, klicke mit der
rechten Maustaste in ein
leeres Feld und suche nach Trace by Channel Und wir haben hier ein paar
verschiedene Optionen, Box, Kapsel, Linie usw. Sie sind alle gleich, bis
auf die Form der Spur. Lassen Sie uns vorerst eine Linie ziehen. Es wird gleich mehr
Sinn machen. Als erstes erstelle
ich
ein Tastendruck-T-Ereignis und verbinde
es mit der Linienverfolgungsnotiz Auf diese Weise können wir es
auslösen, wenn ich drücke Was macht das und
warum ist es so wichtig Nun, wir können eine Linie abfeuern. Jetzt müssen wir
die Start- und
Endposition dieser Linie definieren . Wenn Sie also diese
Linie aus dem Charakter herausschießen wollen, müssen
wir damit
beginnen Standort
des Charakters auf der Welt zu ermitteln. Und das haben wir schon
oft gemacht. Was die Endposition angeht, könnten
wir
dieselbe wie die Startposition nehmen, aber mit einer zusätzlichen Notiz verbunden. Dadurch können wir 100
zur aktuellen Position hinzufügen. Weißt du, dann verbinde
es mit dem Ende. Also, wenn wir das überprüfen würden, würden
wir nichts sehen. Das liegt daran, dass die Linie nicht sichtbar sein
sollte. Aber während wir daran arbeiten, können
wir die Zeichnung
Dbuk auf sichtbar setzen Und wählen wir die Dauer so aus, dass die Linie lange genug
sichtbar bleibt Okay, ich werde es testen. Wenn ich eine T-Taste drücke, siehst
du, dass
von dem Charakter aus eine Linie erscheint. Jedes Mal, wenn ich die Taste drücke. Und das
Interessante ist, dass wir diese Zeile
jetzt verwenden
können, um sie
mit etwas zu treffen , und
dann dynamisch eine bestimmte
Aktion gegen diesen Treffer ausführen können. Und eines der Dinge, an die
wir sofort denken, ist ein Shooter-Spiel. Weißt du, du feuerst eine Kugel ab, die
von dieser unsichtbaren Linie gestützt wird, und wenn sie einen anderen
Spieler trifft, stirbt sie. Aber es geht
viel weiter. Ich möchte Ihnen ganz schnell
ein Projekt zeigen , an dem ich gerade arbeite. Das ist für ein Theaterstück. Unreal Engine wird
als Projektion
im Hintergrund verwendet als Projektion
im Hintergrund Und ich habe dieses Spielzeug, das ich so modifiziert habe, dass
beim Abfeuern der Waffe ein Knopf gedrückt
wird Und von dort lasse ich es eine Linie von oben
ziehen, und wo es dann auf den Boden
trifft, lasse
ich einen Feuerfunken entfachen. Wenn du das machst, kann ich es
dynamisch machen , weil die
Bodenoberfläche nicht gerade ist. Ich weiß also nicht, wo ich den Funken platzieren
soll. Da kommt die
Linienverfolgung ins Spiel. Sie müssen diese Notiz also als
ein unglaubliches Tool ansehen, um
jede Art von dynamischen Ereignissen zu erstellen, egal ob es sich um Spiele,
interaktive Anwendungen oder
Filmrenderings handelt, bei denen Sie
Simulationen haben , die bei jedem Export
anders ausfallen Aber okay, genug gequatscht. Lass uns etwas erschaffen,
etwas Einfaches für den Anfang. Ich möchte zu einer
Wand gehen und ein
paar Graffitis genau
vor mir auf die Wand sprühen paar Graffitis genau
vor mir auf die Wand Also als
Erstes werde ich eine einfache
Wand aus einem Würfel
erstellen Ich werde es etwas
ausdehnen,
sodass wir eine hohe und lange Mauer bekommen. Viel Platz
für das Graffiti. Und dann brauchen wir Graffiti. Und ich nehme an, Sie kennen sich
bereits mit FAP aus, dem Marktplatz
für unwirkliche Wenn Sie nach Graffiti suchen und den Preis auf kostenlos
setzen, werden
Sie welche finden,
und Sie sollten idealerweise nach Aufklebern
suchen,
und Quickle hat einige davon und Sie sollten idealerweise nach Aufklebern
suchen, und Quickle Ich füge einfach den ersten
in mein Projekt ein. Sehr einfach. Ziehst du ein solches
Material auf deine Ebene, projiziert es sich
in Richtung dieses Pfeils auf eine beliebige Oberfläche. Okay, also zurück zu unserem Bauplan. Als Erstes
wollen wir
sicherstellen , dass die Linie korrekt
herausragt Es begann am unteren Rand
des Charakters. Also werden wir das auf Brusthöhe etwas nach
oben bewegen. Also addiere ich die Startposition
und füge 150
in die Z-Achse ein. Es sind tatsächlich 150 Zentimeter, was
für einen Charakter Sinn macht. Das wird auch durch die Endposition erreicht, da sie direkt
schießen muss. Das Problem werden nun
die X- und Y-Werte sein die X- und Y-Werte ,
denn das hängt davon ab, in welche Richtung
der Charakter blickt. es ganz schnell testen, können
Sie sehen, dass
es auf der X-Achse immer
in dieselbe Richtung schießt. Also müssen wir einen
Weg finden, es jederzeit vor dem
Charakter
schießen zu lassen . Jetzt können wir eine komplette
mathematische Berechnung durchführen, aber zum Glück gibt es dafür eine
einfache Notiz, den
sogenannten Get Forward-Vektor. Er gibt einen
kleinen XYZ-Wert der auf der Richtung
basiert, in
die die Figur zeigt, sodass wir diesen
Knoten mit einem Multiplikationsknoten verbinden können. Der Wert
wird immer eins oder weniger sein. Wenn du X plus
Y machst, bekommst du eins. So können wir also die Vorwärtsrichtung
herausfinden. Aber diesmal müssen wir multiplizieren,
anstatt zu addieren. Und da der
Vorwärtsvektor eine kleine Zahl ist, also eine relative Position, müssen
wir ihn zur
Weltposition des Netzes hinzufügen. Und schließlich wollen wir
150 zu beiden Z-Achsen hinzufügen , um sie etwas zu vergrößern Verbinde die normale
Weltposition mit
dem Start und die Weltposition mit dem hinzugefügten Offset
vom Vorwärtsvektor bis zum
Ende. Lass es uns versuchen. Und es funktioniert irgendwie,
aber es funktioniert auch nicht. Irgendwie springt es von der Website
aus, und ich habe tatsächlich einige Zeit gebraucht, um es
herauszufinden. Aber wenn Sie zum Blueprint zurückkehren
und das Mesh auswählen, werden
Sie feststellen, dass
es gedreht wurde Jetzt können wir es nicht einfach auf Null
zurückdrehen , weil
der Blueprint auf diese Weise eingerichtet wurde Denken Sie daran, dass bei uns auch die
Spielersteuerung aktiv ist, sodass wir nicht wirklich
zu viel mit diesen Ressourcen herumspielen zu viel mit diesen Ressourcen Nehmen wir stattdessen
die Kapselkomponente. Es kapselt alles ein,
wie den Charakter, die Kamera usw. Und es ist tatsächlich die Komponente , die vom Spieler
gesteuert wird Und ja, das funktioniert. Die Linie ist allerdings etwas
zu hoch, und das liegt daran, dass
der Ankerpunkt in der
Kapsel
nicht unten liegt,
wie beim Netz, sondern der Ankerpunkt in der
Kapsel
nicht unten liegt, in der Mitte Also reduziere es einfach auf
etwa 70 oder so. Also zeige ich dir diese Dinge
, auf die ich auch stoße. Auf diese Weise können Sie den Prozess
sehen, den ich durchlaufe, um ein Problem zu lösen. Wie dem auch sei, wir haben die
Linienverfolgung zum Laufen gebracht. Am Ausgang des
Line-Trace-Knotens haben
wir eine Out-Hit-Eigenschaft, und ich klicke mit der rechten Maustaste
darauf und wähle Split the Pin Sie werden sehen, wie viel tatsächlich drin
ist. Es gibt viele
verschiedene Möglichkeiten, wie wir
überprüfen können , wie es auf etwas
innerhalb des Levels trifft. Bei einem Kampfspiel kannst
du sogar
die Knochen im Skelettnetz des
Gegners lokalisieren . Aber was uns
interessiert, ist der Ort des Treffers. Dies wird auch
die am häufigsten genutzte Immobilie sein weil wir den
Graffiti-Aufkleber an
einer bestimmten Stelle platzieren wollen , also an
der Stelle, an der
die Linienspur mit der Wand in Kontakt
kommt Also ja, lassen Sie uns den Graffiti-Aufkleber hinzufügen
. Und Sie
denken vielleicht, dass
wir, wie zuvor, den Komponenten ein Abziehbild hinzufügen, es in den Blueprint
ziehen
und seine Position festlegen, genau wie wir es mit dem
Würfel in der vorherigen Lektion getan haben Das bedeutet jedoch, dass
wir nur mit einem Decal arbeiten können. Wenn Sie diesen Weg
gegangen wären, hätten
Sie tatsächlich bemerkt
, dass Sie darauf hängen geblieben sind Also müssen wir einen Weg finden
, jedes
Mal, wenn ich meine Taste drücke,
ein neues Abziehbild
in das Level hineinragen zu lassen ein neues Abziehbild jedes
Mal, wenn ich meine Taste drücke,
ein neues Abziehbild
in das Level hineinragen Auf diese Weise kann ich
mehrere Graffitis auf die Wand sprühen mehrere Graffitis auf Mal sehen, ob es dafür
einen Knoten gibt. Klicken Sie mit der rechten Maustaste und suchen Sie nach Spawn. Und ich kann sehen, dass es mehrere Dinge
gibt, die wir tatsächlich in das
Level spawnen
können, was wirklich cool ist Das könnte dir ein paar
Ideen geben, was möglich ist. Und zu meiner Überraschung ist
da tatsächlich eines
drin, mit dem wir an einem bestimmten Ort
ein Decal erzeugen können ,
und das ist genau das, was wir brauchen Ordnung, also müssen wir das Decal-Material
einstellen, und
das wird das sein, das
ich heruntergeladen habe das wird das sein, das Wir können das Material tatsächlich einfach in
die
Notizeigenschaft ziehen Material tatsächlich einfach in
die
Notizeigenschaft Manchmal ist es einfacher. Wir
müssen eine Größe festlegen. Andernfalls können wir den Aufkleber nicht
sehen, und Sie sollten
zu diesem Punkt vor und zurück gehen,
um herauszufinden, wie Sie die
Werte korrigieren können. Ich erspare dir den Schmerz Ich habe einfach 100 und
jedes Skalenattribut genommen und die X-Drehung auf 90
und den Rest auf Null gesetzt. Was die Position angeht,
so wird das
die Trefferposition
der Linienspur sein . Und schließlich müssen wir
nur noch sicherstellen, dass der Knoten
nach der Linienverfolgung ausgeführt wird. In Ordnung, schauen wir uns an,
was das macht. Es funktioniert super. Ich stelle jedoch
einige Probleme fest. Der Aufkleber ist auch
auf dem Charakter selbst sichtbar. Weißt du, es sollte nur an der Wand sichtbar
sein. Und wenn die Linienspur
nicht auf ein Objekt trifft, die Graffitis auch gesprüht Es befindet sich an einem seltsamen Ort,
da es keine Treffer-Position gibt.
Das ist normal, weil die Notiz immer ausgeführt
wird,
egal was passiert Also müssen wir diese beiden
Probleme lösen. Fangen wir mit dem
Aufkleber auf dem Charakter an. Ich wähle
mein Skelettnetz aus und suche im Detailbereich nach einem
Aufkleber Und wie ich dachte,
haben wir hier eine Option , die sicherstellt, dass es
keine Aufkleber erhält Toll. Das war eine einfache Lösung. Jetzt das zweite Problem. Also nur wenn der
Linienverlauf ankommt, wollen
wir auf Span dekalieren Und vom Line-Trace-Knoten haben
wir unten einen
Rückgabewert Dies gibt einfach „true“ zurück, wenn die Linie getroffen wird, oder „fällt“,
wenn es keinen Treffer gibt. Wir können also einfach
einen Verzweigungsknoten
dazwischen hinzufügen und diese Prüfung
nutzen. Also nur wenn der Treffer wahr ist, erzeugen
wir das Decale Sonst tun wir nichts. Wenn ich also nicht
nah genug an der Wand stehe,
wird das Graffiti nicht
gesprüht,
sondern nur, wenn ich nah genug dran bin und die Linie trifft Wenn alles wie gewünscht
funktioniert, solltest
du natürlich den Draw-Debug deaktivieren damit die Spieler diese Linienspur nicht wirklich
sehen Das ist also nur ein Beispiel von 1.000, wie Sie die Trace-Notiz
verwenden können Ich kann
Ihnen nur empfehlen, mit
dieser Notiz herumzuspielen und zu sehen,
welche anderen dynamischen Dinge Sie erstellen können. Erkunden Sie auch
die Kugel und die Würfelspur. Sie sind exakt identisch, aber stattdessen
eine andere Form was dir vielleicht mehr Optionen für die Dinge bietet, die du unterwegs bist. Bisher waren es ein paar
lange Lektionen,
also machen Sie eine Pause
von diesem Kurs, üben Sie ein bisschen mit all den Dingen, die Sie
bereits gelernt haben, und dann machen wir später mit
einer sehr unterhaltsamen Simulation
weiter , die wir gemeinsam
erstellen werden .
Danke fürs Zuschauen.
8. Dynamische Simulationsereignisse: Wir haben viel am
Charakterentwurf für
die dritte Person gearbeitet Charakterentwurf für
die dritte Person Also dachte ich, ich sollte für diese Lektion etwas
anderes machen. Also habe ich ein einfaches Level mit
einigen Wänden erstellt und ein
paar Stecknadeln hinzugefügt. Jetzt haben wir
drei Bälle oben drauf. Das sind nur Kugeln, für die
ich die Schwerkraft aktiviert habe, du weißt schon, Physik.
Das haben wir schon einmal gesehen. Und interessant ist, dass jedes Mal, wenn
ich das Spiel starte, wir jedes Mal, wenn
ich das Spiel starte,
ein anderes Ergebnis erzielen werden. Weißt du, diese Bälle werden
nie auf die gleiche Weise abprallen. Sie werden immer woanders
landen. Das nennt man
Simulation, und man könnte viele
Simulationen innerhalb eines Spiels haben,
aber auch beim Rendern von Filmen oder irgendetwas anderem, das die Unreal
Engine verwendet Das bedeutet, dass jede
Aktion, die wir erstellen wollen, dynamisch sein muss Es muss auf
die Simulation reagieren, und genau hier kommen
Blueprints ins Spiel Also habe ich die Idee, die Farbe
dieser Stifte zu
ändern , wenn eine der
Kugeln gegen sie stößt,
und wenn sie mehrere Unebenheiten bekommen, ändert sich
ihre Farbe ständig Eine Beule
macht sie zum Beispiel grün, eine zweite gelb
und eine dritte Als Erstes
wollen wir also alle Dosen entfernen , weil wir sie
durch eine Blaupause ersetzen Lassen Sie uns also eine
Blueprint-Schauspielerklasse erstellen, und ich nenne sie Und innerhalb der Komponenten füge
ich den Zylinder hinzu und möchte ihn ein wenig neu skalieren,
sodass der Stift länger ist Und Sie können den Blueprint bereits in
Ihre Szene
ziehen , um
besser zu verstehen wie stark Sie ihn skalieren
müssen Es ist immer besser,
das eigentliche Mesh zu skalieren als den Blueprint Ich drehe es
und verschiebe es an seinen Platz. Und wenn ich fertig bin, lassen Sie uns diesen Blueprint
ein paar Mal duplizieren, indem wir die Alt-Taste
gedrückt halten und
ihn dann an eine andere Position ziehen Okay, wir können jetzt zum Pin-Blueprint gehen und anfangen Wir wollen also einen Weg finden, ein Ereignis
auszulösen, wenn
der Zylinder getroffen wird Das erste, was wir tun können,
ist nach einem solchen Ereignis zu suchen. Und bei einer Kollision
gibt es tatsächlich ein Ereignis, das als Event-Hit bezeichnet wird. Das haben wir schon einmal
gesehen. Und eine gute Möglichkeit, zu testen
und zu sehen, ob es funktioniert, besteht darin, es
mit einem gedruckten
Text oder einer Saitennotiz zu verbinden. Lass uns das Spiel starten. Und
leider funktioniert es nicht. Und jetzt
erspare ich dir die Mühe. Wenn jedoch
ein gewünschtes Ereignis nicht ausgelöst
wird, kann
es sich in der Regel nicht ausgelöst
wird, um eine Einstellung
in den Netzeigenschaften handeln. Wählen Sie also den Zylinder aus und
gehen Sie zum Detailbereich. Hier unter Kollision gibt es eine Einstellung namens Simulation
Generate Hit Events, die standardmäßig deaktiviert ist Also einfach aktivieren. Der Grund, warum einige dieser Optionen standardmäßig
deaktiviert sind ,
ist der Leistung geschuldet. Wenn Sie
den Event Hit nicht verwenden, sollte
er auch nicht
registriert werden, denn obwohl Sie
einige dieser Event-Notizen nicht verwenden, erhalten diese Ereignisse
unter der Haube jedes Mal einen Ping. Und beim Aufbau
einer großen Welt könnte
das zu
Leistungseinbußen führen. Überprüfen Sie also immer die Komponentendetails, wenn
etwas darin enthalten ist , das aktiviert werden
muss. Bevor wir weitermachen, gibt es
eine wichtige Sache, die Sie wissen sollten. Weißt du, vorher mussten
wir das Mesh als Ziel in einer Notiz angeben. Diesmal
müssen wir das nicht tun. Das bedeutet, dass der Event-Treffer immer dann
ausgelöst wird , wenn
der Blueprint getroffen wird Wenn ich hier mehrere
Meshes hätte und ich den Treffer gezielt für ein bestimmtes Mesh auslösen
möchte, können
Sie dieses Mesh auswählen. Wenn Sie dann mit der
rechten Maustaste hier klicken,
können
Sie sehen, dass wir
ein bestimmtes Ereignis für dieses Mesh Wenn Sie dann mit der
rechten Maustaste hier klicken,
können
Sie sehen, hinzufügen können ein bestimmtes Ereignis für Und bei einer Kollision können wir getroffene Komponente für den Zylinder ermitteln Das ist also genau dasselbe Ereignis. Einer ist für das Mesh spezifisch. Der andere ist für alles, was
im Blueprint enthalten ist. Okay, wir haben es jetzt zum Laufen gebracht. Der Bildschirmtext sagt
Hallo, wenn eine Stecknadel gedrückt wird. Also wollen wir
die Farbe des Pins ändern. Und um
das zu tun, müssen wir dynamische Änderungen am
Material
vornehmen. Deshalb werde ich ein
neues Material erstellen und es Pin nennen. Die Erstellung von Materialien
erfolgt ebenfalls knotenbasiert. Es funktioniert sehr ähnlich
wie mit Bauplänen, und wir können alle
möglichen Dinge tun und das hier mit verschiedenen
Materialeigenschaften verbinden. Wir können hier auch
Texturen einfügen, denn wenn Sie möchten, dass der Stift wie
eine Holzstange oder was auch immer aussieht, werde
ich es
vorerst einfach halten und einfach
die Grundfarbe
der Materialeigenschaft selbst auf Weiß ändern die Grundfarbe
der Materialeigenschaft selbst auf Weiß Und dann gehe ich zurück
zum Bauplan, wähle den Zylinder aus und
ändere sein Material in Stift, den wir gerade erstellt Ordnung, ich nehme
den Zylinder und ziehe ihn in den Lassen Sie uns von dort aus sehen, ob
wir einen Knoten finden können, um den
Grundfarbparameter seines Materials zu ändern Suchen Sie nach Material und
durchsuchen Sie die Liste Ich benötige eine feste Notiz,
und hier ist etwas, das funktionieren könnte, Farbparameterwert für das
Material
festlegen. Nehmen wir das. In Ordnung, also fordert es mich auf, den Parameternamen zu
definieren. Der Parameter heißt
Grundfarbe, oder? Also lass uns das hier eintippen. Als Nächstes können wir einen neuen
Parameterwert oder eine neue Farbe wählen. Weißt du, lass es uns grün machen. Und schließlich verbinden Sie
das Ereignis dieser Notiz, sodass es bei einem Treffer ausgelöst
werden kann. In Ordnung, probieren wir es aus. Hmm. Das hat nicht funktioniert. Vielleicht ist der
Parametername nicht korrekt. Vielleicht müssen wir etwas
anderes mit dieser Immobilie machen. Gehen wir zurück zum Material
und schauen uns die Eigenschaft der
Grundfarbe an. Klicken wir mit der rechten Maustaste darauf und
sehen, welche Optionen wir haben. Oh, interessant. Wir können
es zu einem Parameter hochstufen. Hmm. Das ergibt Sinn Diese Materialeigenschaften
sind genau das. Eigenschaften, und wir können nur Änderungen daran
vornehmen,
was
vor den Eigenschaften passiert vor den Eigenschaften die wir eine Farbe oder Textur festlegen. Wir nennen diese Parameter
und sie gehen in die Eigenschaft ein. Das bedeutet, dass wir zum Beispiel auch den Namen
des Parameters in
pincolor
ändern zum Beispiel auch den Namen
des Parameters in
pincolor Das macht es viel
besser, damit zu arbeiten. Und dadurch
verstehen wir auch besser , dass
wir bei
sehr komplexen Materialien Änderungen an
einem bestimmten Parameter vornehmen können, wodurch sich Schmutz und
Wasser oder die Reflexion im Glas verändern können. Ordnung, ich ändere
das auf Weiß, die Standardfarbe Und in meinem Blueprint wird
dieser Parametername
jetzt zur Pinfarbe Sie haben hier 100 Notizen, es ist auch viel
sinnvoller, die
Pin-Farbe
als die Basisfarbe zu sehen Pin-Farbe
als die Basisfarbe Ordnung, führe die Simulation und super. Das funktioniert Jetzt geht es darum, die Farbe dreimal zu
ändern. Und dafür gibt es verschiedene
Möglichkeiten. Eine Möglichkeit besteht darin,
einen numerischen Wert zu erstellen und ihm jedes Mal, wenn das
Ereignis ausgelöst wird, einen
hinzuzufügen. Dann überprüfen wir
, was diese Zahl ist, und auf dieser Grundlage ändern wir
die Farbe entsprechend. Aber das ist eine Menge Code
für etwas, das wir mit einer D-Note
vereinfachen können . Sie können tatsächlich
eine ganze Reihe von Knoten zur
Flusskontrolle finden , wenn Sie danach suchen. Wir haben bereits einige angesprochen. Der dN-Knoten, bei dem N
für eine von Ihnen festgelegte Zahl steht, führt eine Aktion so oft aus, wie Sie es wünschen. Das können wir also
im Eingabewert definieren. Der Zähler am Ausgang
gibt uns die Nummer
, an der sich der Knoten befindet. Wenn es also das zweite
Mal ist, dass es abgefeuert wird, ist
die Ausgangsnummer zwei. Und anstatt
eine ganze Reihe von Verzweigungen durchzuführen und zu überprüfen,
ob es die Nummer eins, zwei oder drei ist, können wir einen Switch-Knoten
verwenden. Und genauer gesagt,
schalten Sie es ein,
wo es für eine Ganzzahl
oder einen numerischen Wert steht, und dann können wir so viele
Ausgangspins hinzufügen, wie wir wollen. Also werde ich für jede Zahl
einen hinzufügen. Jetzt
beginnt der Endknoten mit Eins, also lassen wir
die erste Null einfach leer. Wir könnten
den Materialknoten
dreimal duplizieren und die
Farbe ändern lassen. Aber auch das ist keine gute
Programmierung. Zu viele Notizen. Sie möchten
es einfach halten, dafür sorgen, dass es funktioniert und
sich in Zukunft leicht anpassen lässt. Ich klicke mit der rechten Maustaste auf
den Parameter „Farbe“ und wähle „Zur Variablen
heraufstufen“. Dadurch wird es
der Variablenliste hinzugefügt. Diesmal ist es kein
Edelmetall, mit dem wir zuvor gearbeitet haben, sondern es ist eine lineare
Farbtypvariable Funktioniert genauso. Variablen können
abgerufen werden, wie wir es hier tun. Wir erhalten den Wert der Farbe, können
aber auch die Farbe festlegen. Ziehen Sie also einfach die Variable in den Blueprint und wählen Sie Set, und das machen wir dreimal Sie können den Set-Knoten übrigens auch einfach kopieren und
einfügen. Verbinden Sie nun die
Ausgänge von eins, zwei und drei und ändern Sie schließlich
die Farbe jedes einzelnen. Wir können dann die
X-Ausgänge jedes Knotens in
den
Farbparameterknoten bringen , sodass er tatsächlich ausgelöst wird,
und die Farbe ändern. Lass es uns versuchen.
Bei Yippie. Es funktioniert Wir beginnen also zu verstehen , dass
wir zwar
mit ein paar Notizen viel erreichen können, aber auch sehr
schnell zu einem Chaos werden. Hier ist übrigens genau das Gleiche,
ohne
die Do and Switch-Notiz zu verwenden, nur ein Haufen von Verzweigungen, Schecks und manuellen Zählern Es macht genau das Gleiche. Aber
wenn Sie in einem komplexeren Projekt all
Ihre Funktionen auf diese Weise planen,
entsteht ein großes Durcheinander Schauen Sie sich die
Hinweise zur Flusskontrolle also etwas genauer an, um sich mit ihnen
vertraut Am Anfang ist es definitiv
überwältigend, aber wenn Sie erst einmal
verstanden haben, wie
sie funktionieren, sind sie viel besser. Hier ist die Sache. Mir
gefällt wirklich, was ich gerade erstellt habe, und ich möchte diesen
Farbwechsel in meinem Projekt viel
häufiger verwenden . Und wenn man
über Skalierung nachdenkt, ist
selbst diese kurze
Notenstruktur zu viel. Und hier kommen
Funktionen ins Spiel. Aber das ist für die nächste Lektion.
9. Blueprint-Funktionen – Wiederverwendbarer Code: Ich glaube, wir haben gerade
ein fantastisches Feature geschaffen, bei dem diese Spins ihre Farbe ändern wenn ein anderes Objekt
damit kollidiert Ich möchte es öfter verwenden, aber
diese Notizen kopieren und einfügen zu müssen, wird zu einem Chaos Und ich möchte auch, dass diese Notizen
einfacher angepasst werden können, insbesondere wenn es um
Eigenschaften wie die Farbe geht . Nun, hier kommen
Funktionen ins Spiel, und Sie können es sich
als benutzerdefinierte Notiz ansehen. Auf der linken Seite findest
du einen
Funktionssap, von dem aus wir auf das Plus klicken können,
um eine neue Funktion zu erstellen, und wir nennen sie Color Change
oder so ähnlich. Wurde automatisch geöffnet. Es hat seinen eigenen Arbeitsbereich, und Sie können hier sehen, dass wir zum Ereignisdiagramm zurückkehren
können. Und wenn Sie Ihre Funktion schließen, können
Sie sie jederzeit wieder
öffnen indem Sie
einfach im
Blueprint-Bereich auf
Ihre Funktion doppelklicken im
Blueprint-Bereich auf
Ihre Funktion Also gehe ich zurück zu meinem Event-Graph und füge tatsächlich alles in diese Funktion ein,
außer dem Event-Knoten, was nicht möglich ist Sie müssen es mit
einer eingehenden Ausführung verbinden , die
ein Ereignis nicht hat, denn
dort beginnen die Dinge. Ich steuere X, was ausgeschnitten ist, und
füge
dann in die Funktion den Knoten ein. Wir verbinden den Start der
Funktion mit dem D N-Knoten. Gehen Sie dann zurück zum Ereignisdiagramm, und genau wie bei einer Variablen kann
ich diese Funktion
in meinen Blueprint ziehen Und wie Sie sehen können, ist es
nur ein einfacher Knoten. Sie können
es gewissermaßen als Container
für alle anderen Knoten sehen . Wenn Sie die Komponentenhits mit
dieser Funktion verbinden , funktioniert
alles genauso. Und das Coole ist, dass ich diese Funktion so
oft
wiederverwenden kann , wie ich möchte. Ich gehe zum Beispiel
zu meinem Sichtfenster und dupliziere diesen Zylinder
, sodass wir zwei davon haben. Und um es uns einfacher zu machen, benennen
wir diese Zylinder in Stift eins und Stift zwei
um. Gehen wir dann zurück zum
Ereignisdiagramm und erstellen einen Komponententreffer auch für den
zweiten Pin. es ausgewählt ist, klicken Sie mit der rechten Maustaste bei einem Kollisionsereignis
auf eine Komponente. Und wir können
dieselbe Funktion
jetzt auch mit diesem Ereignis verbinden . Und es funktioniert irgendwie,
aber nicht wirklich. Weißt du, bei meinem zweiten
Mülleimer ändert
sich die Farbe nicht . Warum ist das so? Schauen wir uns die
Knoten in der Funktion noch einmal an. Und hier ist etwas
, das mir auffällt. Wenn wir die Farbe ändern, zielen
wir auf Pin eins ab. Für den anderen Pin müssen wir also auch diesen
ins Visier nehmen. Also brauchen wir einen Parameter in der Funktion
, den wir ändern können, und das ist einfach zu bewerkstelligen. Wählen Sie die Funktion aus und
gehen Sie zum Detailbereich. Hier können Sie unten sehen, dass wir einen Eingabe- und
Ausgabeparameter
hinzufügen können . Lassen Sie uns eine Eingabe erstellen, und diese sind die gleichen
wie die Variablen. Das bedeutet, dass wir ihr einen Namen wie
Target
geben und dann
den Variablentyp wählen können. Und wenn Sie diesen Variablentyp nicht kennen
, können
Sie den
Parameter, in diesem Fall die Farbknoten, jederzeit mit
der Maus bewegen,
denn das
zeigt Ihnen , um welche Art
von Parameter es sich handelt, und genau das wollen
wir dynamisch machen Es ist eine
Objektreferenz für eine Netzkomponente. Das ist also genau das, was wir als Variablentyp
festlegen werden. Bevor ich etwas anderes mache, gehen
wir zurück
zum Event-Graph. Sehen Sie, dass die Funktion einen
Eingabe-Pin hat,
der jetzt Target heißt den, den
wir gerade erstellt haben. So können wir den
Pin One Mesh mit
dem ersten Funktionsziel und
Pin zwei mit der zweiten Funktion verknüpfen dem ersten Funktionsziel und . Obwohl wir dieselbe Funktion
verwenden, haben wir sie dynamisch gemacht,
indem wir die Funktion
für verschiedene Ziele verwenden können. Und das ist das
Tolle an Funktionen. Wir wählen aus, wie viele Optionen oder Eigenschaften wir
als Eingabe oder Ausgabe verfügbar machen
möchten , und das ist genau das
Gleiche wie bei jeder anderen Notiz. Sie können es sich tatsächlich
als benutzerdefinierte wiederverwendbare Notiz ansehen. Aber wir sind noch nicht fertig. Gehen wir zurück zur Funktion. Zu Beginn
wurde das Ziel also im Ereignisdiagramm definiert. Jetzt müssen wir nur noch
sicherstellen, dass es
zum eigentlichen Ziel
des Farbknotens geht . Löschen Sie also Pin eins und verbinden Sie unseren Zieleingang mit dem
Ziel der Farbknoten. In Ordnung, probieren wir es aus. Das hat das Problem definitiv
gelöst. Beide Pins
ändern jetzt einzeln ihre Farbe, aber sie ändern
ihre Farbe nur einmal. Es sollte gelb und dann rot werden. Was ist hier
los? Nun, lassen Sie uns ein bisschen debuggen. Mit dieser Technik können Sie
herausfinden, wo das Problem liegt. Ich möchte sehen, ob mein
Endknoten tatsächlich hochgezählt wird, denn das ist letztendlich das, was
die Farbe definiert. Also benötige ich die Ausgabe
des Zählerwerts
aus der Funktion. Dafür erstellen wir
eine Ausgabevariable. Und wir nennen es Counter, und der Variablentyp
wird eine Ganzzahl sein. Ich kann das sofort erkennen, wenn die Farbe
des Zählerstifts
ansehe. Irgendwann wirst du diese Dinge auch
wissen. Nun, das gibt
uns einen Rücksendeschein. Wir müssen den letzten
exakten Pin mit dem Return verbinden und den Zähler in
die Zählervariable der
Funktion
ausgeben , um ihn weiterzuleiten. Wenn wir jetzt
zum Ereignisdiagramm zurückkehren, werden
Sie feststellen, dass die
Funktion einen Ausgangspin hat, wir in
Kombination mit einer
Textnotiz verwenden können . Aber anstatt dass der
Text Hallo sagt, wollte
ich den
Wert des Zählers anzeigen. Automatisch wird
eine Variablenkonvertierung
von einer Zahl in einen Text hinzugefügt . Lassen Sie uns die Simulation ausführen. Und wie ich dachte,
ja, es gibt nur einen aus Es zählt nicht weiter. Also haben wir das Problem
durch Debugging lokalisiert. Ich verwende den gedruckten Text ständig
, um herauszufinden,
was in
meinem Blueprint vor sich geht, und um Probleme zu
lokalisieren, auf die ich stoße. Was ist dann das Problem? Wenn Sie Ihre
Ergebnisse an She GPT weitergeben, wird
es Ihnen sagen, dass eine
Funktion jedes Mal
zurückgesetzt wird , wenn
sie ausgelöst wird Ablaufsteuerung, bei es sich beispielsweise
an
die Höhe der eingezahlten Beiträge erinnern muss ,
wird auf eins zurückgesetzt, und das macht Sinn Diese Endnote
war zwar toll , um meine
Notizen übersichtlicher zu halten, mit jeder Funktion, aber wir können sie nicht
verwenden. Und das ist okay. Wir
verwenden bereits eine Funktion, bei der es
sich um eine einzelne wiederverwendbare Notiz handelt. Innerhalb dieser Funktion ist
es kein Problem, mehr Knoten zu haben und
es ein bisschen chaotischer zu machen. Löschen Sie also diese DO-Knoten und lassen Sie uns dieselbe Funktionalität manuell erstellen Erstellen Sie eine neue Variable namens Counter und stellen Sie sicher, dass sie
vom Typ Integer ist. Ziehen Sie sie dann auf den
Blueprint und wählen Sie Set. Verbinde die genauen Pins, und anstatt eine Get-Variable des Zählers in die
Auswahl des Switches einzubinden, können
wir einfach den
Ausgang des gesetzten Knotens verwenden Es ist genau dasselbe. Da diese Knoten
so nahe beieinander liegen, können
wir das tun, ohne
ein Chaos zu verursachen. Jetzt müssen wir nur noch
jedes Mal einen hinzufügen, wenn er ausgelöst wird. Rufen Sie also
den Zählerwert ab und führen Sie
ihn über einen Add-Node durch. Wir fügen einen hinzu und
verbinden ihn dann mit dem festgelegten Knoten. Wir nehmen also die
aktuelle Zählernummer, fügen ihr eins hinzu, was zwei ergibt, und speichern diese in der Variablen
mit dem gesetzten Knoten. Beim nächsten Lauf erhalten wir
wieder
den Zählerwert , der jetzt zwei ist. Wir fügen eins hinzu, was drei
ergibt und so weiter. Also haben wir die
Do-Notiz im Grunde neu erstellt. Lass es uns ausprobieren und
super. Es funktioniert perfekt. Jetzt möchte ich der Funktion
eine weitere Erweiterung
hinzufügen , aber das wird eine Aufgabe für Sie
sein. Ich werde dir die Lösung
in der nächsten Lektion noch einmal geben. Ich möchte also, dass beide Pins
ihre Farben unterschiedlich ändern. Pin eins geht von Grün über Gelb
zu Rot, aber Pin zwei sollte zu Blau,
Lila und Orange
oder etwas anderem gehen . Ich überlasse die kreative
Farbauswahl dir. Aber stellen Sie sicher, dass
es dieselbe Funktion hat. Viel Glück damit und wir
sehen uns in der nächsten Lektion.
10. Best Practices für Blueprint-Organisationen: Schauen wir uns die Lösung
an. Wir mussten
drei weitere Eingabeparameter erstellen, Variablen vom
Typ lineare Farbe. Ich habe diese Farben
eins, zwei und drei genannt. Und anstatt
diese Farben in ihrer
jeweiligen Variablen festzulegen , verbinden
wir diese Eingänge. Dann kehren
wir
zum Ereignisdiagramm zurück und können jetzt die Farben
für jede Instanz
der Funktion festlegen . Der erste Pin
wird also standardmäßig grün, gelb und rot sein, und
für den zweiten Stift wird
er blau,
lila und orange sein. Und wenn wir die
Simulation ausführen, funktioniert sie. So
funktionieren Funktionen und so
können Sie bestimmte
Parameter trotzdem dynamisch gestalten. Und diese Lektion wird
nicht viel bringen, aber vielleicht eine gute Idee
, Ihrem Gehirn nach
all diesen neuen Informationen
eine kleine Pause zu gönnen. Stattdessen werden wir unseren Bauplan ein wenig
bereinigen. Wenn wir jetzt zu unserer Funktion übergehen, sehen
wir ein riesiges Durcheinander Es ist überhaupt nicht angenehm
, darin zu arbeiten. Hier sind einige Dinge
, die wir für den Anfang tun können Sie können
auf eine Zeile zwei an
einer Stelle doppelklicken und diesen Punkt dann verschieben
, um uns einen besseren
Überblick darüber zu
verschaffen , wohin die Verbindungen führen Und das Schöne an einer
Funktion ist, dass wir
auch wählen können , wo sich die
Eingabevariablen befinden sollen Also ziehe
ich das
Ziel vom Detailbereich aus nach unten,
sodass ich den Farbknoten und
die damit verbundene Linie besser
positionieren kann indem ich auch einen Punkt
hinzufüge. Wir können natürlich mehrere Knoten
und Punkte
auswählen , um
sie zusammen zu verschieben. Sie können auch
einen Punkt oder einen Knoten auswählen und sie mit
den Pfeiltasten bewegen Und auf diese Weise
möchten Sie sicherstellen, dass sich keine Linien überlappen oder
hinter
anderen Notizen zurückbleiben Wenn Sie jemals
zurückkommen müssen, um Anpassungen vorzunehmen, erhalten
Sie einen viel besseren
Überblick darüber, was die Logik in Ihrem Blueprint bewirkt,
anstatt herausfinden
zu müssen , wo
alles miteinander verbunden ist Ich möchte auch so viele
gerade Linien wie möglich sehen, und dafür gibt es einen einfachen
Weg Wählen Sie einfach die
Noten aus, die Sie ausrichten
möchten , und drücken Sie
die Kurztaste. F: Versuchen Sie, sich das zur Gewohnheit
zu machen wenn Sie
Ihre Knotenstruktur entwerfen Eine weitere Sache, die
ebenfalls etwas chaotisch ist, ist, wenn mehrere
Verbindungsleitungen in denselben Knoten
führen, wie bei der hier
eingestellten variablen Farbe Wenn Sie einen
Punkt auf einen Punkt bringen wollen, können
Sie den
anderen mit diesem Punkt verbinden Anstatt dass drei
Zeilen zu dieser Notiz führen, haben
wir jetzt nur noch eine. sind also einige der
Techniken, die wir
anwenden können , um die Struktur des
Entwurfs zu bereinigen, und es ist für jeden anders, wie weit er damit gehen
möchte Wenn ich an einem
echten Projekt arbeite, setzt
meine OCD immer und ich möchte, dass alles Ordnung, eine letzte Sache, die
wir tun können, ist Kommentare hinzuzufügen, und für größere Pläne wird
das sehr wichtig sein Stellen Sie sich vor, Sie haben Hunderte, wenn nicht Tausende von Notizen in
einem einzigen Blueprint, und Sie möchten eine
Änderung an einem bestimmten System vornehmen Wo habe ich das nochmal gemacht? Nun, du wählst eine Reihe
von Notizen aus und drückst die Ci-Taste, um sie herum ein
Kommentarfeld hinzuzufügen. Und hier
wäre es zum Beispiel der Trefferzähler. Sie können die Größe des Kommentarfeldes ändern, und wenn Sie es verschieben, wird auch alles
darin verschoben Wenn es ausgewählt ist, erhalten wir auch einige Optionen in einem Detailbereich Von hier aus können Sie
tatsächlich wählen,
ob die
darin enthaltenen Notizen mitverschoben werden sollen oder nicht. Sie können die Größe
des allgemeinen Textes ändern, und wir können sogar die Farbe
ändern. Und ich verwende diese
Farbetiketten oft. Wenn du ein Videospiel machst, könntest
du
die gesamte Fähigkeitslogik
haben, grüne Kommentare haben, die gesamte Kampflogik
erstellen ,
rote Kommentare, Bewegungen,
blaue Vorbereitungen usw. Du kannst sofort sehen, welche Art von Logik diese Gruppe
von Knoten Ich kann
Ihnen nur empfehlen, davon Gebrauch zu machen. Und schließlich können wir Kommentare
zu einzelnen Notizen oder
Verbindungslinien hinzufügen . Wenn du eine Notiz
auswählst, siehst du oben diesen kleinen
Schalter Wenn Sie darauf klicken, können Sie dieser Notiz einen Kommentar
hinzufügen. Ändern Sie beispielsweise die Grundfarbe des
Materials. Bei unkonventionellen Notizen könnte Ihnen dieser benutzerdefinierte Kommentar
wirklich helfen Und du kannst ihn jederzeit ausblenden, indem Kommentarfeld
umschaltest
oder ihn erneut einblendest. Es erinnert sich immer daran
, was Sie hier eingegeben haben. Wenn Sie also nicht das
Durcheinander all dieser Kommentare wollen, aber
einige Informationen für die zukünftige
Referenz haben möchten, ist das möglich Ich verwende es auch sehr gerne Ankerpunkte und
Verbindungslinien, besonders wenn sie eine lange Strecke zurücklegen oder ich am Ende
so viele verschiedene Linien habe. Es hilft mir, den
Überblick zu behalten, womit sie verbunden
sind und zu welchem
Zweck. Dies sind also einige
der Grundlagen, um
Ihren Entwurf sauber
und organisiert zu halten Ihren Entwurf sauber
und organisiert Richten Sie Knoten mithilfe der Tastenkombination aus, erstellen Sie Ankerpunkte, um Ihre
Verbindungslinien besser zu führen, und fügen Sie schließlich
gemeinsame Felder um Gruppen von Notizen
oder einen einzelnen Knoten Damit sind wir am Ende dieses
Kurses angelangt. Jetzt habe ich noch eine
abschließende Lektion übrig mit einer großartigen Übung, um all das, was Sie gelernt haben
, zu
üben.
11. Abschlussprojekte und Abschluss: Zunächst einmal herzlichen Glückwunsch
zum Abschluss dieses Kurses. Sie sind jetzt offiziell
bereit, mit dem
Blueprinting in der
Unreal Engine zu beginnen Blueprinting in der
Unreal Engine Und obwohl ich nur an der Oberfläche
gekratzt habe, verfügen
Sie
jetzt über fundierte
Grundkenntnisse darüber, wie Blaupausen Von hier aus können Sie
weiter experimentieren, neue
Techniken erforschen und erlernen Folgen von YouTube-Tutorials wird jetzt viel einfacher, da du besser
verstehst,
warum bestimmte Notizen verwendet
werden und wie
sie miteinander verbunden sind. Ich habe
gelernt,
Programmierung und Blueprints zu verstehen , indem ich mir einfach etwas ausgedacht
habe , das ich erstellen
wollte, und dann verschiedene Notizen und Debugging
ausprobiert haben,
bis ich es Und wenn ich HeChipt verwende, hilft es
mir manchmal, nach rechts zu kommen.
Nein, wenn
es zum Lernen ist, versuche diese
Tutorials zu vermeiden, die nur Notizen verbinden, ohne zu
erklären, was sie bewirken Du
lernst nicht wirklich viel daraus. Also hier ist eine letzte Aufgabe, eine Übung, um alles zu trainieren
, was du gelernt hast. Und ich habe zwei Aufgaben. Sie können diejenige auswählen, die zu dem passt, wofür Sie UnrelEngine verwenden, oder Sie können beides tun Die erste ist für die
Spieleentwicklung und die andere
für das Rendern von Filmen Für den Entwurf der
Spieleentwicklung würde
ich mir wünschen, dass du
ein Plattformspiel
wie in Squid Game erstellst , bei dem dein Charakter
die andere Seite erreichen
muss , indem er auf diese
Steine springt Jetzt wird von jeder Reihe von
Spielsteinen einer herunterfallen. Es ist also ein reines Glücksspiel dreimal
hintereinander auf das richtige Plättchen
zu springen Um es
für den Spieler schwieriger zu machen, werden die die
herunterfallen,
jedes Mal,
wenn wir das Spiel Steine, die
herunterfallen,
jedes Mal,
wenn wir das Spiel starten, zufällig ausgewählt Jede neue Instanz
des Spiels wird also anders
sein Denken Sie daran, dass eines
von jedem Plättchen in einer Reihe an Ort und Stelle bleiben
muss und das
andere fallen muss. Wenn der Spieler fällt, nimmt
der Bildschirm diese entsättigte rote Aber wenn wir das
Ende erreichen, wird Konfetti platzen. Hier noch einmal ein
Überblick über die Aufgabe und
versuche, diese mit so wenigen Notizen wie
möglich zu erstellen Die Projektdatei kann
heruntergeladen werden, wenn Sie nicht weiterkommen. Aber denken Sie daran, dass es
mehrere Möglichkeiten gibt, dies zu tun, und es gibt nicht wirklich
einen richtigen oder falschen Weg. Wenn Sie also Erfolg hatten und
es mit meinem vergleichen, Sie es mit Vorsicht. Viel Glück. Die zweite Aufgabe bezieht
sich auf das Rendern eines Films. Ich musste es sehr
einfach halten, weil ich ein Projekt
nicht
mit mehreren Objekten teilen kann Deshalb habe ich einen Wald
aus einfachen Formen erstellt. Ich habe auch eine Level-Sequenz
mit einer Kamerabewegung erstellt. Wenn wir in zufälligen Intervallen in die Simulation
gehen, leuchten
diese Baumstämme
auf und fallen langsam herunter Das ist völlig dynamisch und
wurde mit einem Bauplan erstellt. Also jedes Mal, wenn ich
die Simulation durchführe ,
wird es anders sein würde Tage dauern Die
eigentliche Animation
im Sequenzer würde Tage dauern, aber mit Hilfe
eines Blueprints konnte
ich
das in nur 5 Minuten erstellen Freuen Sie sich noch nicht zu sehr darauf. Das zu erstellen ist viel schwieriger als
das Plattformspiel. Du wirst
einige Notizen verwenden
müssen , die wir in diesem Kurs noch
nicht gesehen haben. Versuchen Sie also, logisch zu denken. Sehen Sie sich die Liste der Notizen an, um zu sehen, ob
Sie das finden, wonach Sie suchen. Hier noch einmal ein
Überblick darüber, was benötigt wird ein einfacher Baum, der
aus einem Zylinder und einem Kegel besteht. Und natürlich
können Sie auch ein Modell
eines echten Baums verwenden, wenn Ihnen das gefällt, und zu einem zufälligen Zeitpunkt muss
der Baum oder ein Teil des
Baums aufleuchten. Das geschieht im Material, und dann muss der
Baum langsam herunterfallen. Es ist eine echte Herausforderung, also ist
es in Ordnung, wenn Sie
HiPT dafür verwenden oder einen Blick
in die Projektdatei Das ist definitiv
eine Aufgabe der nächsten Stufe. In beiden Projektdateien habe
ich Kommentare hinzugefügt, um zu erklären
, Notizen ich verwende
und was sie bewirken. Also sind alle Antworten da drin. Aber versuche
es zuerst zu erstellen, ohne einen Blick in das Projekt zu werfen Ich möchte mich bei Ihnen
vielmals fürs Zuschauen bedanken
und hoffe wirklich, dass Ihnen dieser Kurs
gefallen hat Ich wünsche dir alles Gute auf
deiner Reise mit der Unreal Engine und viel
Glück bei den
Aufgaben. Bleib kreativ