Transkripte
1. Einführung in den Kurs: Willkommen bei UnreelEngine five,
Rapid Prototyping, Breakout Wenn du bereit bist, Spieleentwicklung zu
lernen, indem du echte Projekte
erstellst, bist du hier genau In diesem Kurs werden wir mithilfe der Unreel
Engine 5 und Blueprints
ein Spiel im Breakout-Stil von Grund auf neu erstellen Dieses Projekt ist Teil eins meiner
Rapid-Prototyping-Reihe hier auf Skillshare, wir direkt
in die Entwicklung von Spielen eintauchen und gleichzeitig wichtige Fähigkeiten zur
Spieleentwicklung erlernen Während wir bauen, lernst du grundlegende Konzepte
wie Levelmanagement, Arbeit mit
Kollisionserkennung und das Einrichten Alle grundlegenden Fähigkeiten, die in diesem Prototyp
erlernt wurden. Dieser Kurs ist
für Fortgeschrittene konzipiert, aber wenn Sie mit Unreal Engine noch nicht
vertraut sind, empfehle
ich Ihnen, mit meinem Kurs
Unreal Engine Five Blueprint
Fundamentals zu beginnen Five Blueprint Dort behandeln
wir alle Grundlagen. Sobald Sie
das verstanden haben,
können Sie mit diesem
Projekt beginnen. Und am Ende dieses Kurses wirst
du ein vollständiges,
spielbares
Breakout-Spiel haben und du wirst
ein solides Verständnis von
Apo-Potyping in Unreal haben ein solides Verständnis von
Apo-Potyping Wenn du also Lust hast,
schnell deine eigenen Spiele zu
entwickeln und praktische Erfahrungen
mit Unreal Engine Five zu sammeln, lass uns heute loslegen
und wir sehen uns in der Klasse
2. BreakOut-Projektübersicht: Also, willkommen im ersten Abschnitt
und im ersten P im A
Brigni Wir wollen wirklich nachts und einfach anfangen
. Eines der ersten
Dinge, die ich den Leuten immer
gerne beibringe,
wie man sie in
Unreal Engine macht , um sie
aufzuwärmen , ist das klassische
Breakout-Spiel Wenn du Breakout noch nicht
gespielt hast, empfehle
ich dir wirklich, dir einfach
etwas Zeit zu nehmen und es jetzt empfehle
ich dir wirklich, dir einfach
etwas Zeit zu nehmen zu spielen Ich werde einen Link zu der Version, die
ich
gerade spiele, auf dem Bildschirm platzieren und
ich denke, das
Wichtigste beim Entwickeln von Spielen
ist das Spielen von Spielen Wenn Sie
es also noch nicht gespielt haben, ist es ein nettes, einfaches Spiel, bei dem Sie nur
die Blöcke mit einem Ball zerbrechen
müssen , ganz einfach auf und ab
geht. Man lässt den Ball
untergehen, verliert ein Leben und macht weiter. Du bekommst einen Skorp an der Seite
und das Level ist vorbei, wenn du alle Blöcke abgeschlossen hast In Unreal
gibt es hier eine Version für einige Teile unseres Tutorials
. Wenn wir auf Play klicken, können wir auf Play klicken, wir können spielen und wir zerstören
die
linke rechte Mitte des Schwarzen Vielleicht siehst du auf der
linken Seite für ein Debugging, dass
wir einige Punktzahlen haben, aber nett und einfach Das
sollten Sie
erreichen können, indem Sie nur die Hälfte der Lektionen
machen
3. Breakout: Einrichten des Projekts + Ein Level erstellen: Der erste Teil bei der Entwicklung eines
Spiels besteht also darin, ein neues Projekt
zu erstellen Sie können das also tun,
indem Sie die gewünschte Version
des Editors auswählen
und Nats starten Es kann
etwas Zeit in Anspruch nehmen, dies zu tun. Sobald die
Unreal-Engine geladen ist, wird
sie mit einem
kleinen Projektbrowser aufwarten
, der diesem ähnlich sieht Ich möchte, dass du Spiele
auswählst, und ich möchte, dass du leer auswählst Was wir machen werden, nenne
ich Break Out. Ich werde es
mir auch erklären, damit ich genau weiß, wofür
das ist, und dann etwas kreieren. Ich überlasse
das dem Desktop, ich überlasse
es dem Maximum. Inhalt starten, ich
werde loslegen und nachverfolgen, ich
werde mich zurückziehen Ich möchte auch
sichergehen, dass es sich um eine Blaupause handelt. Okay. Großartig. Je nach
Computer kann es
wieder ein paar Minuten
dauern. Ich werde diesen Bildschirm erneut aufrufen. Hoffentlich sollte es nicht lange
dauern, da dies kein völlig
leeres Projekt ist. Jetzt bearbeiten wir es, sollte es geöffnet werden. Da es sich um ein leeres Projekt
handelt, wird die unreale
Standardwelt erstellt Das ist nicht etwas, was
wir brauchen, oder etwas, das wir ziemlich schnell
rausbekommen werden Ich würde empfehlen, dass wir,
bevor
wir etwas tun, sicherstellen, dass die
Texturen vorbereitet sind, nur weil es
unseren Computer verlangsamt , wenn wir versuchen
, etwas anderes zu machen. Wenn ich schon dabei bin, machen Sie sich
keine Sorgen, falls Ihr Bildschirm nicht
so aussieht. Das liegt nur daran,
wie ich meinen dargelegt habe. Laden wir einfach die
Standardeinstellung in das Layout. Sieht gut und einfach aus. Also, wir haben das alles startklar gemacht. Also ich
möchte zunächst
ein paar verschiedene Dinge
machen . Was ich zuerst tun werde,
ist ein brandneues Level zu erstellen. Also werde ich unsere Inhaltsleiste
aufrufen, was wir entweder tun können, indem wir unten links
klicken oder, wie ich möchte
, auf den Kontrollbereich klicken. Dadurch wird angezeigt, wo auch immer Sie sind. Das ist sehr praktisch. Was ich auch tun werde,
ist,
in meinem Inhaltsordner einen neuen
Ordner namens Levels zu erstellen. Was ich
tun werde, ist, mit der
rechten Maustaste auf Neue Ebene erstellen zu klicken. Ich werde das Level
eins nennen. Das sollte gut sein. Sie können auch eine weitere
Ebene erstellen, indem Sie mit
dem Tippen auf Datei und neues Level klicken oder Strg N drücken. Ich würde es
vorziehen, wenn Sie rechten Maustaste klicken und diese
Dialogoption hier oben öffnen. Ich möchte, dass du
es öffnest und wir einfach auf Speichern klicken. Es wird ein
komplett leerer Bildschirm angezeigt, was völlig in Ordnung ist. Was ich sofort tun
werde, um uns selbst zu schützen,
ist auf Bearbeiten auf Projekteinstellungen zu
klicken Ich gehe hier runter,
bis Karten und Modus gefunden sind. Ja, Karten und Modus,
richtig, ich fange an. Und was ich tun werde
, ist dort, wo es heißt, Editor-Startmap, ich werde sicherstellen, dass ich auch auf Level eins und auf meine
Standard-Spiel-Map Level eins klicke . Der Grund, warum wir das tun, ist,
dass jedes Mal, wenn wir Bedior jetzt öffnen wenn
das Spiel nach der Kompilierung geöffnet wird, es auf Stufe eins geöffnet wird und nicht auf einer
standardmäßigen unrealen Nun, das ist
vielleicht das erste Mal, dass wir den
Unreal-Editor verwenden Ich möchte mir einfach
ein
bisschen Zeit
nehmen für dieses Spiel, obwohl wir
an Fred arbeiten, wollen
wir eigentlich in To Deep arbeiten Also gehe ich zur Perspektive über, ich werde auf
Rechte Perspektive klicken. Und es
versetzt Sie automatisch in diesen
Wireframe-Modus, der wirklich nett und
einfach ist, von
dem aus Sie wechseln können Ich werde darauf klicken
und in den unbeleuchteten Modus wechseln. Also, wann immer wir hier etwas
reinbringen, wird
es ohne Licht zur Schau Was ich wirklich
machen will, ist die Arena. Das
Spiel I'll Breakout ist gerade dabei. Ich werde also auf diese
kleine Schaltfläche hier klicken, um schnell zum Projekt hinzuzufügen
und
das Place-Schauspieler-Panel zu öffnen Im Panel Place Actors
gibt es etwas, das Geometrie
genannt wird. Geometrie ist dafür
sehr, sehr praktisch. Also was ich tun werde, ich
werde eine Kiste hierher ziehen. Das ist jetzt eine Kiste in unserem Spiel. Ich werde sicherstellen, dass
das Null, Null, Null ist. Eigentlich könnte ich dafür sorgen, dass
es Null ist. Und ich werde das auch wieder auf Null setzen
, also ist es in der Mitte. Das ist wahrscheinlich der Punkt, an dem unser Spiel im
Mittelpunkt stehen
wird. Also könnte ich das
auf vielleicht 1.000 verschieben. Und dann werde
ich die Alt-Taste drücken. Ich werde das
auf etwa -1.000 erhöhen. Und jetzt haben wir zwei
verschiedene Würfel. Ich hole mir hier einen
dritten Würfel, drücke also noch einmal Alt und lege ihn
wieder in die Mitte. Das ist jetzt eine wirklich
schnelle und einfache Möglichkeit , alles zu duplizieren. Und wie Sie
feststellen werden, werden Sie
diese Ergänzungen in unserem Tliner Ich werde das
ganz nach oben verschieben. Ich könnte das auf etwa 2000 beziffern. Und das wird
unsere Blaupause in der Savi Arena sein. Und im Moment stehen da
nur drei Quadrate, und wir wollen sie so verformen, dass
es hilft Wenn Sie schon einmal mit
einer Fred-Software gearbeitet haben, möchten
Sie vielleicht sofort skalieren Du bist nur ein kleiner
Knopf hier oben. Damit können Sie Objekte skalieren.
Wir können es herausbringen. Das wollen
wir nicht tun. Skalierung von Dingen kann hier zu wirklich,
wirklich schlimmen Problemen
führen . Normalerweise ziehen sich Texas und auch einige
Colligen-Probleme legen die Was ich stattdessen tun werde,
ist, wenn es
um Pinseleinstellungen geht, werde
ich das in die Länge ziehen Das ist
hier falsch. Ich werde unsere Es auf etwa 2000 verschieben. Da wir diese
auf 1.000, 1.000 bis 1.000 festgelegt
haben, wissen wir, dass 2000 wahrscheinlich
die beste Wahl sein wird Vielleicht sollten
wir sogar 2.200 ansetzen, nur um die Toleranz
dieser Wir werden hier dasselbe tun.
Wir werden darauf klicken, runter zu den Sprüchen von Bush
scrollen, ich glaube, es ist Z, also
könnte ich hier 4.000 machen Und wir fangen an, diese
nette kleine Form hier zu bekommen. Wir haben jetzt eine kleine Arena, in
die wir wahrscheinlich Blöcke
legen könnten.
4. Breakout: LightingTheArena: Was wir jetzt auch
tun werden,
ist einfach ein paar Richtungslichter hinzuzufügen In diesem Beispiel werden
wir also zwei
Richtungslichter hinzufügen. Ich lasse den Motor
leuchten und wir
drehen sie so, wie
wir wollen. Also werde ich die Rotation einstellen. Ich werde es auf 90 setzen. Eigentlich werde ich es
auf -90 setzen. Oh, das könnte eine Perspektive sein. Sie sehen also, ich werde ein zweites davon
auf ein zweites
setzen , 390. Und das
sollten Sie jetzt, wenn wir
etwas Licht haben, wenn wir auf Perspektive klicken, sehen
Sie, dass beide
Seiten beleuchtet sind. Ja, aus irgendeinem Grund glaube
ich, dass es ein Problem mit der
Enthüllung dieses kleinen Abschnitts geben
könnte Wenn du
sichergehen willst, dass dein Haus beleuchtet ist, dann siehst du perspektivisch,
du kannst sehen, dass
es beleuchtet ist Aber auf unserer rechten Seite will es aus
irgendeinem Grund
nicht sein. Also lassen wir das für unsere Seite
einfach unbeleuchtet. Wenn du wie ich bist
und gerade
ein kleines Problem hast,
was du tun könntest, wird das
eigentlich keine
Probleme in gerade
ein kleines Problem hast,
was du tun könntest, wird das
eigentlich keine deinem Spiel verursachen, aber du kannst einfach auf eines
deiner Lichter klicken und dann eine Priorität für die
Vorwärtsverkettung hinzufügen, und das ändert nicht
wirklich viel, aber es wird dein
Spiel ein bisschen besser machen
5. Breakout: Ein Paddle erstellen: Jetzt, wo wir eine Arena haben, können
wir damit beginnen, dieser
Welt einige grundlegende Schauspieler
und Klassen hinzuzufügen dieser
Welt einige grundlegende Schauspieler
und Klassen Also, was ich tun werde
,
gehe zurück zu meinem Inhaltsbereich klicke mit der
rechten Maustaste auf Neuer Ordner. Ich werde diese
Blueprints melden. Öffne Add Up. Jetzt wollen wir dort ein paar
Baupläne hinzufügen. Genauer gesagt
möchte ich mit zwei beginnen. Als Erstes
klicke ich auf Blueprint Class. Ich werde die Basis verwenden, auf der Game Mode
steht. Und wir werden einen Spielmodus
machen. Und ich
nenne es Breakout oder ich nenne es
BP, Underscore, Breakout Ich gehe in den Spielmodus. Nun, es ist wirklich, wirklich
praktisch, sicherzustellen, dass wir Suffixe und Präfixe
verwenden Das macht es viel
einfacher, wieder nach Dateien zu
suchen, wenn
Projekte Wir wissen, dass es sich um einen
Blueprint-Kurs handelt weil wir BP
an den Anfang gestellt haben,
und wir wissen, dass es sich um einen Spielmodus handelt weil wir den
Spielmodus an dessen Ende gestellt haben Was ich auch tun werde, ist
, mit der rechten Maustaste zu klicken. Ich werde den Pan
Common Pairing-Kurs verwenden. Jetzt heißt es, ein Porno ist
ein Schauspieler, der
besessen sein kann und
Eingaben von einem Controller erhält Das ist es, was wir tun wollen. Und wir werden eine Figur mit BP,
Underscore, Paddle,
Underscore machen Underscore, Paddle,
Underscore Nun, wie wir wissen, ist
das ein
Blaupausenkurs, und es ist eine Solange wir hier sind,
wollen wir den Breakout-Spielmodus öffnen Nun, was ein Spielmodus
ist, ist quasi
die zugrundeliegende Spielregel Wenn ein Spielmodus festgelegt ist, hält
er sich dann an die
Regeln des Spielmodus. Was wir auch tun wollen und was der
Spielmodus für uns wirklich
hilfreich macht , ist, dass er Standardklassen
erstellt, die wir verwenden können So wollen
wir zum Beispiel sicherstellen, dass er
beim Start auch startet und eine bestimmte Spielfigur
erstellt Was wir also tun wollen, ist, dass wir
in der Standardbauerklasse die
Bauerklasse auswählen, die
wir gerade hier erstellt haben, nämlich
die BP Underscore
Paddle Underscore Pawn Bauerklasse auswählen, die
wir gerade hier erstellt haben, die BP Underscore
Paddle Underscore Ich werde speichern und kompilieren und dann
werden wir das
für 1 Sekunde schließen Möglicherweise stellen Sie fest, dass es sich um diese
kleinen Sternchen-Symbole handelt. Das bedeutet nur, dass es nicht gespeichert ist. Wir können sie also speichern,
indem wir einfach auf
beide klicken und dann S drücken
, um sie zu speichern. Jetzt haben wir hier einen Spielmodus, aber wir haben ONeal nicht gesagt , dass wir diesen Spielmodus verwenden
wollen Wir können das tun, indem wir
auf Bearbeitungen klicken, indem wir auf Projekteinstellungen und auf denselben Karten und
Modi, die wir zuvor verwendet haben, auf den
Standardspielmodus klicken
und den
BP-Breakout-Spielmodus verwenden Speichern. Das ist alles gut. Wir sind jetzt bereit, mit der Durchführung unseres Paddelkurses zu beginnen
. Wir werden jetzt das Paddel
machen,
und das ist eine Phase, in der wir den Spieler
tatsächlich etwas tun lassen, was wirklich, wirklich, wirklich großartig ist
und ein großer Meilenstein
für uns ist, den es zu Ich möchte also, bevor wir unsere BP-Paddelfigur
öffnen, zurück
zum Kontaktinhalt gehen und einen neuen Ordner erstellen, der
Input heißt Wenn Sie jemals On Real Four
verwendet haben, hätten
Sie die
Eingabe über die
Projekteinstellungen verwendet und eingerichtet Eingabe über die
Projekteinstellungen können wir zwar immer noch tun, Unreal Five bietet uns eine
brandneue Möglichkeit, unsere Eingaben zu erstellen und zu verwalten, die als
Eingabe-Mapping-Kontexte
und Eingabeaktionen bezeichnet Eingabe-Mapping-Kontexte
und Eingabeaktionen Und genau das
werden wir heute machen. Was wir tun werden,
ist, mit der rechten Maustaste in unseren Browser oder unsere Schublade zu klicken, und dann klicken wir auf Eingabe und dann
auf Eingabeaktion. Und wir werden
das IA Underscore Move nennen. IA steht für Input Action und Moves, das
ist die Aktion, die wir machen wollen Also öffnen wir uns. Ich werde diese
Eingabeaktion ausführen, um den Spieler zu bewegen. Das ist also nur
eine Beschreibung. Es ist etwas ganz Nettes und Praktisches, auf das man zurückblicken kann. Ich würde wirklich
empfehlen, mit dem Hinzufügen dieser
Beschreibungen
zu beginnen , wenn wir können. Diese Eingabeaktion
hat hier also ein paar Dinge. Und falls Sie
sich mit
den anderen Dingen über
Eingabeaktionen und IMCs befassen möchten , finden Sie in unserem
Einführungsabschnitt dieses Kurses Was sind IMCs Sie können zurückgehen
und sich das ansehen. Aber was wir
tun wollen, ist, dass wir
unser Paddel auf einer geraden Linie bewegen unser Paddel auf einer geraden Linie Nun, diese gerade Linie wird für
uns ein Float sein. Wir werden eine Achse mit einem
D verwenden. Sie hat nur eine Dimension. Wir werden von links nach
rechts gehen. Wir müssen in
dieser Eingabeaktion nichts weiter
tun. Wir müssen nur sicherstellen, dass
es auf Achse eins D eingestellt ist. Jetzt können wir tatsächlich
unsere Schublade mit
diesem kleinen Fenster öffnen . Ich klicke erneut mit der rechten Maustaste. Ich werde den
Eingabe-Eingabe-Mapping-Kontext verwenden. AMC, Ausbruch. Nun, das ist unser
Eingabe-Mapping-Kontext. Wir werden in diesem Prototyp eigentlich
keinen anderen
Eingabe-Mapping-Kontext verwenden . Wir können das also einfach als ziemlich allgemein
bezeichnen. Vielleicht möchtest du es auch so etwas wie
IMC, General, IMC default
nennen IMC, General, IMC Aber für uns nenne ich es einfach
IMC Breakout . Mach das Ich nenne das den
Standard-IMC für dieses Projekt. Ich glaube, ich buchstabiere das richtig. Das ist alles gut. Auf
diese Weise können wir nun IAs oder Eingabeaktionen zusammenfügen und dann Schlüssel zuweisen
, die dazu gehören. Also klicke ich auf
ein neues Eingabe-Mapping und
sammle IA Move. Wenn ich darauf klicke, kann ich damit beginnen, Schlüssel hinzuzufügen. Jetzt möchte ich zwei Schlüssel hinzufügen. Die erste, die ich
machen werde, ist die D-Taste. Jetzt können Sie
D eingeben und dann ganz
unten danach suchen. Was ich empfehlen würde, ist
dieser kleine Button hier. Wenn du darauf klickst und dann
auf D klickst, wird es zugewiesen. Der nächste wird A sein. Jetzt müssen
wir nur noch die Logik
ändern. Nun, mit einer D-Logik ist
das völlig in Ordnung. Wenn wir auf D klicken,
wird es auf eins gesetzt. Wenn wir auf A klicken,
möchten wir den Wert auf minus eins setzen. Was wir
hier also tun können, ist auf
Modifikatoren zu klicken und dann Negieren Das heißt
, wenn wir auf A klicken, bekommt
es eins, und manchmal um minus eins,
sodass
es Es ist wirklich nett und einfach. Wenn wir schon hier sind,
könnten wir Ihnen die
wahre Leistungsfähigkeit von IMCs zeigen, wir könnten auch damit beginnen,
weitere IMCs hinzuzufügen Also
habe ich zum Beispiel meine Rechte oder Linke, und mit einem AND-Klick mit
dem Links-Modifikator kann
ich Und wenn wir wirklich wollten, könnten
wir
hier wahrscheinlich sogar noch ein weiteres hinzufügen, das wäre ein Gamepad Das wäre kein Gamepad-Gamepad, und es wäre: Hier geht es Ich glaube, es ist VEX Axis.
Ich würde gerne singen. Ich kann das überprüfen, indem ich
einfach hier klicke. Und das ist VXXis. Ja. Nett und einfach. Darauf kann ich zurückkommen. So kann ich es dann
von links und rechts
ändern . Es ist nett und einfach. Das bedeutet jetzt, dass der
Spieler Sorry,
WASD oder Arachs oder den
Controller verwenden kann WASD oder Arachs oder den , um dieses Spiel zu spielen.
Das werden wir speichern. Lass uns jetzt unser Paddel öffnen. Wenn wir ein Paddel öffnen, sieht
es vielleicht so aus. Wenn es
so aussieht,
klicken Sie bitte einfach auf Vollständigen
Blueprint-Editor öffnen, aber es wird
wahrscheinlich eher so aussehen Das ist jetzt völlig in Ordnung. Und wir wollen zuerst ein
paar Dinge erledigen. Als erstes
möchte ich auf diese Registerkarte
klicken, auf der Event Graph steht. Und was wir hier tun werden, ist zuerst diese beiden zu löschen. Wir haben das Event gestartet. Also, wenn
dieser Schauspieler anfängt zu spielen
oder als Leben beginnt, löst es diese Event-Aktion aus. Ein Beispiel dafür:
Jede Logik, die an das Ende
dieses kleinen Knotens
gebunden ist , wird ausgelöst, wenn der Akteur entweder erscheint oder das Spiel beginnt Ja, wenn Sie jemals eine
andere Engine für verwendet haben, Sie diese vielleicht nicht als initialisierten oder
initialisierten Knoten Wir könnten später in diesem Kurs über den initialisierten
Knoten sprechen später in diesem Kurs über den initialisierten
Knoten Was werde ich tun? Ich
werde mich von hier wegziehen? Ich werde das eigentlich nicht
tun. Gets Player Controller werden wir nicht
machen. Also, was Get Player
Controller ist, steht über dem Schauspieler oder dieser Porno ist eine andere Klasse, die alle Eingaben
verarbeitet. Wir werden
später in diesem Kurs Player-Controller entwickeln, aber nicht für dieses Projekt oder zumindest
nicht für diesen
Prototyp, und wir werden dafür einfach
den Get
Player-Controller verwenden . Ich werde mir ein
erweitertes Subsystem für lokale
Spielereingaben besorgen erweitertes Subsystem für lokale
Spielereingaben Auf diese Weise können wir nun herausfinden
, was wirklich
ein Subsystem innerhalb dieser Klasse ist ein Subsystem innerhalb dieser Klasse , das die gesamte Eingabe verarbeitet Wenn Sie die Maus herausziehen und
auf Mapping-Kontext hinzufügen klicken. Auf diese Weise können
wir nun
den
gerade erstellten Zuordnungskontext zu dieser Spielfigur hinzufügen ,
sodass wir sie dann kontrollieren Klicken Sie auf Kompilieren und
Speichern. Nun, das hat die Eingabe für uns
vorbereitet, und wir werden etwas später
darauf zurückkommen , wenn wir tatsächlich anfangen,
etwas Logik hinzuzufügen. Aber lass uns auf
Viewpot klicken, wir wollen hier
tatsächlich ein paar Dinge
zu unserem Viewpot hinzufügen, okay Nun, auf der linken Seite sind hier unsere
Schauspieler-Komponenten. Das sind all diese
kleinen Komponenten , die im Schauspieler oder
in
dieser Pfanne untergebracht sind und an dieser Spielfigur
befestigt wann immer sie sich in
der Spielwelt befindet. Wir
werden ein paar hinzufügen Das Erste, was ich
tun werde, ist,
mich selbst zu verwahren. Ich werde Szene mögen. Ich
werde das unsere Wurzeln nennen und ich werde
diese Wurzel da raufziehen. Ich werde die
kleine Werbetafel loswerden. Das mache ich nur aus eigener Kraft. Ich werde auf Hinzufügen klicken. Ich werde einen Würfel machen. Das bringt uns zu einem kleinen Würfel. Und ich werde
jetzt eine Kamera hinzufügen. Nun, innerhalb dieses Systems, in diesem kleinen Teil hier, ist
es wirklich wichtig, dass
wir sie richtig verstehen. Im Moment wird
alles
ein untergeordnetes Element der Wurzel oder
der Hauptkomponente sein . Ich könnte die Kamera so anbringen ein Kind des Würfels ist,
aber das wollen wir nicht, weil
das
heißt , wenn sich der Würfel bewegt, bewegt sich auch die Kamera,
und wir wollen eigentlich nicht, dass sich und wir wollen eigentlich nicht die Kamera und der
Würfel zusammen bewegen,
wir wollen, dass sie sich getrennt bewegen. Also klicken wir auf
Kompilieren und speichern das. Wir könnten
es tatsächlich oft anders machen oder
es etwas anderes nennen. Aber im Moment nenne ich es einfach
so. Wir könnten das tatsächlich skalieren. Und wir sind tatsächlich dabei , daraus eine kleine
Paddelform zu machen Wir wollen, dass dieser Würfel im Grunde das
Paddel am Boden ist Und dann wollen wir die Kamera
wegbewegen. Also werde ich zuerst
die Kamera
auf -90 drehen Das könnten auch 270 Grad sein. Es wäre das Gleiche, aber ich
halte meinen Teil gerne innerhalb einer
180-Grad-Komponente , weil Mathe sich langsam
etwas zu verstecken
beginnt. Ich werde das vielleicht um 7.000 in die Länge ziehen. Wir können etwas später
damit herumspielen,
und ich werde das
auf vielleicht 1.000 erhöhen Sie werden jetzt sehen, dass diese
Kamera ziemlich weit weg ist. Wir werden auch
hier
einige Kameraeinstellungen ändern . Als Erstes werde
ich also das Seitenverhältnis
einschränken Ich möchte, dass diese Kamera irgendwie
diese Portraitansicht beibehält. Und das werden
wir tun, indem wir das
so ändern, dass wir zuerst
die 25 Grad, mein
Sichtfeld
, und etwa 0,55 Was wirklich
nett ist. Das ergibt alles, was unter
Null oder unter eins liegt, ergibt einen Bildschirm im Hochformat
, alles über eins erzeugt einen Bildschirm im
Querformat, und wenn man das als Bild hat,
entsteht ein Würfeleffekt. Und ein eingeschränktes
Seitenverhältnis bedeutet, dass selbst wenn unser Spielbereich größer ist oder
vielleicht eine andere Form hat, versucht
er, dieses Seitenverhältnis beizubehalten Testen Sie das sogar jetzt
gleich aus. Also , wenn
wir unsere Paddelfigur mit reinziehen und du jetzt tatsächlich in diesem kleinen Teil genau
hier
sehen kannst in diesem kleinen Teil genau
hier
sehen , kannst du sehen, wie Also
sollten wir vielleicht unsere Kamera
zurückziehen oder wir
können das runterholen Und um uns zu helfen, können
wir auf diese
kleine Stecknadel hier klicken und wir können sehen, wo wir uns Das wird nett sein Sie können sehen, dass es diesen
kleinen Fred-Effekt hat. Aber aufgrund der
Art und Weise, wie das funktioniert, arbeiten
wir hier in Tod, es funktioniert irgendwie
so. Nett und einfach Wir können das
für uns selbst behalten. Das wird uns sehr
helfen. Also, wenn dir nicht gefällt,
wie tief das unten ist, und ich mir im
Moment Sorgen darüber mache ,
wie viel Platz unten ist, können wir unser Paddel
öffnen,
wir können sogar anfangen, das nach oben zu
bewegen Wenn wir also eine CD mit 2000 hinzufügen, werden
Sie feststellen, dass
sie sich automatisch anpasst Also ich glaube, ich werde
etwa 1.800 machen, und ich werde das auch wieder
an die Spitze bringen . Was nett und einfach
ist Jetzt haben wir dieses
wirklich schöne Quadrat diese Art von proportionierten,
aufgeteilten Ebenen,
was wirklich, wirklich praktisch ist,
was toll ist, Jetzt müssen wir anfangen, uns nach links und rechts zu
bewegen. Nun, was wir tun werden
, ist, mein Paddel wieder zu öffnen
und zu kompilieren, zu
speichern, wenn wir können, und in das Evan-Diagramm zu
wechseln Ich möchte hier zwei Variablen
erstellen. Die erste wird
Alpha heißen. Und das wird der
variable Typ von Float sein. Und wir werden einen zweiten
machen. Also könnten wir erneut auf Plus klicken, weil unser letztes, was
wir gemacht haben, Float war ,
es wird ein weiteres erstellen ,
das automatisch Float ist, wir nennen
das unsere Geschwindigkeit. Nun, wir könnten hier
etwas
später die Geschwindigkeit erhöhen ,
aber das ist ein wirklich
netter, praktischer Ort. Alpha, wir werden
auf etwa 0,5 und unsere Geschwindigkeit auf 100 einstellen. Was wir auch tun können, wenn
du es wirklich möchtest,
ist, wenn wir auf diese Instanz klicken, die
beim Spawn verfügbar
ist und wir können einen
Schiebereglerbereich hinzufügen Also setzen wir
diese kleine Null auf 200. erlaubt uns jetzt, wenn
wir in den Editor gehen, Geschwindigkeit
zu ändern, die
wir machen wollen, aber wir werden
es jetzt bei 100 belassen. Wenn du also ein schnelleres,
schnelleres Paddel willst,
könntest du das vielleicht auch tun Also, was ist unser Alpha? Nun, was unser Alpha
wird da sein, um zu
verfolgen, wo sich
unser Paddel befindet Im Moment wollen wir
unsere Pfütze in der Mitte haben, und das ist 0,5 Wenn wir einstellen, ob Sie glauben, dass
die Pfütze
hier drüben überhaupt eins sein wird , wird die Pfütze hier
gleich Null sein Wir wollen es in der Mitte bei 0,5 haben. Deshalb haben wir diesen Wert
standardmäßig auf 0,5 gesetzt. Und was wir auch
tun wollen, ist, wenn wir schon mal hier sind, auf Klassenstandards zu
klicken
und wir wollen, dass Spieler
Null mitspielen Das heißt, weil wir das Paddel in
die Welt bringen, wollen
wir automatisch, dass
unser Spieler, wenn es ein Paddel auf dieser Welt gibt, dieses Paddel besitzt und benutzt Wir wollen nicht, dass das Spiel
ein neues Paddel macht und dass wir
versuchen, dieses zu benutzen, wir wollen Wenn du nun Probleme mit der Steuerung deiner Pfütze hast, stelle
bitte sicher, dass du
hier auf dein Paddel klicken
kannst , wenn Spieler Null automatisch besitzen aktiviert ist. Falls du dir dessen nicht bewusst bist, bezieht sich Spieler Null auf den ersten Spieler. In der Art von Codierung und
Scripting und Computerlogik Null gleich eins und
eins Wir beginnen mit dem Hochzählen bei der Basis Null.
Nett und einfach. Also lass uns unsere
Her-Klasse wieder öffnen. Und was wir jetzt tun können,
ist , dieser Aktion Logik
hinzuzufügen. Wenn wir also IA
underscore, move eingeben, erhalten
wir diesen
netten kleinen Teil
, der als Ereignis bezeichnet wird Nun, was dieses Ereignis bewirken wird
und wann diese Besetzung ist, wenn die erweiterte Eingabeaktion, die
ich filme, ausgeführt wird Jetzt können Sie sogar
viel mehr Logik in das Ganze einbauen, aber im Moment wollen wir nur,
wann es ausgelöst wird und welchen Wert die Aktion Also das
Erste, was ich tun möchte, ist, dies herauszuziehen und auf „Einstellen“ zu klicken. Was wir hier eigentlich tun ist, dass wir nur diesen Wert
ändern. Das ist alles, was wir hier tun. Das ist alles was wir tun. Und was wir tun werden
, ist,
von hier
wegzuziehen , ich werde eine Aufteilung machen. Und wir bekommen eine Division, indem wir
einen Schrägstrich machen , ergibt das Dividieren Was ich jetzt tun möchte,
ist die Geschwindigkeit in die Länge ziehen. Unsere Geschwindigkeit ist also 100.
Was hier also tatsächlich
passieren wird, ist, dass es einen beliebigen Wert
annehmen wird
, der entweder eins oder
minus eins sein
wird, und
ihn durch 100 dividieren, um 0,01 zu erhalten. Und was wir dann tun
werden, ist dann holen und wir werden plus machen. Es ist wirklich egal
, in welcher Reihenfolge wir das machen. Nun, was Sie vielleicht tun
möchten, ist eine Klammer hinzuzufügen, und ich würde das wirklich
empfehlen. Nun, eine Klammer
hält einen Wert innerhalb eines bestimmten Bereichs. Nun, wenn wir schon bei
eins wären und dann 0,01 addieren würden, würde
das einen Nullpunkt bekommen. Das wird
1,01 ergeben. Zahlen, ja Das ist nicht gut. Das
liegt außerhalb unserer Reichweite. Also, was wir tun werden,
ist, uns von hier
wegziehen und das Wort Klammer
eingeben. Wir werden Clamp Float bekommen. Und standardmäßig wird
es Null und Eins setzen,
und das ist eigentlich der Bereich, in dem
Sie es behalten möchten. Manchmal können Sie versuchen, diese Wertebereiche
festzulegen, aber ich würde wirklich empfehlen, das nicht zu tun, nur weil ich schon einmal Probleme mit DA
hatte. Ich ziehe den Turn-Wert
jetzt auf SAT. Also, wann immer IA
Move stattfindet, wird der Aktionswert diesen Wert setzen und
ihn plus eins addieren.
Wir können das testen. Wir werden das
testen, ohne etwas zu
versuchen,
indem wir es einfach
herausziehen und print string ausführen Was Prince string macht, ist, dass , wann immer es aufgerufen es, wann immer es aufgerufen wird, es als Textblock oben links in
unserer
Ecke platziert als Textblock oben links in
unserer
Ecke Und du kannst
das einfach direkt hineinziehen und es wird automatisch
konvertiert. Ich mache es zum Beispiel noch einmal. Konvertiere. Nett und einfach. Wir können das testen
und zum ersten Mal werden
wir
tatsächlich unser Spiel spielen. Also klicken wir auf Play. Und
wenn wir auf D und A klicken, sehen
Sie, wie diese Zahl steigt
und fällt. Das ist gut. Wir sind hier auf dem richtigen Weg. Wir lieben das. Und Sie können sehen,
dass es bei Null und Eins bleibt. Und was wir jetzt
tun müssen, ist wieder hier rein zu gehen. Wir werden ein
bisschen Hauswirtschaft machen, also werde ich das etwas offener
machen. Und ich werde das nach oben verschieben. Ich werde auf C klicken. Ich
werde einen Kommentar hinzufügen. Was Kommentare bewirken, ist wirklich nett. Das ist nur, um sicherzustellen, dass
wir jemals darauf zurückkommen, wir wissen, welche Logik hier
vor sich geht Nun, obwohl wir vielleicht
verstehen, hey, wir können hier einen
Mapping-Kontext erstellen, ist nur
das Hinzufügen von Eingaben.
Wir werden es eintippen. Also werden wir die
Standardeingabezuweisung festlegen. Zu Beginn. Weiß. Und jetzt ist
es ein Kommentar, wir können alles in einem einzigen
verschieben. Sie können sogar etwas
Farbe hinzufügen. Lass es uns blau machen, weil Blau cool ist. Ich mag Blau. Ich gehe jetzt. Ich werde das
jetzt in die Länge ziehen. Ich werde
New Adult Alpha und
Clamp to Range einstellen . Jetzt wissen wir,
was das macht. Wir könnten sogar, wenn du es wirklich
willst, Bewegungslogik machen. Wir können Kommentare dazu hinzufügen. Nehmen wir an, es wurde der
rote hinzugefügt und wir können anrufen und wir können AIGA daraus machen,
und wir können diesem sogar ein
gelbes hinzufügen Also jetzt haben wir das. Und
jetzt können wir überall umziehen. Wir müssen jetzt mehr Logik hinzufügen. Wir müssen
das Panel jetzt in Bewegung bringen. Und das können wir mit realistischerweise
zwei einfachen Knoten tun realistischerweise
zwei einfachen Knoten Der erste Knoten, den
wir erstellen werden, ist,
dass wir uns hierher ziehen
und wir werden die Position der Welt festlegen Und was wir tun werden
, ist die Position
der Welt, den Würfel, festzulegen . Dadurch wird
nur der Würfel bewegt. Was wird also
hier passieren, wenn ich hierher ziehe? Es wird die Kamera nicht
bewegen. Es wird nur einen Würfel bewegen. Und was wir mit ein bisschen
Scheck
machen wollen , ist, wir
wollen, dass ich
das ein bisschen nach oben schiebe. Wir werden uns bis hierher
schleppen. Am höchsten ist es also 650. Wir werden sehen, dass wir den Würfel
dorthin bringen, wo er am weitesten hingehen kann, und der
wird dort sein Also hier drüben werden wir vielleicht 670
sein, was wahrscheinlich
bedeutet, dass wir auch
670 auf dieser Seite machen wollen 670 auf dieser Seite Also für diesen Fall es 670 und meiner 670 sein. Für deinen hast du vielleicht
einen größeren oder einen kleineren, und du musst
das auf deine eigene Art machen. Also ich werde das,
was ich
tun werde, ist, das Ganze in die
Länge zu ziehen. Ich werde etwas verwenden, das als Arp-Vektor
bezeichnet wird. Und das macht, was
auch immer dieses Alpha ist, ob es eins oder Null ist, es wird sich gleichmäßig
zwischen diesen beiden Vektoren bewegen Also ein Beispiel dafür Was auch immer wir tun werden, wir können 670 machen und oh,
nein, wir wissen eigentlich, dass wir minus 670 und dann 670
machen wollen Und wir wollen wahrscheinlich auch
unseren Standort auf der Welt nehmen
, der minus minus 184 ist, oh, und wir werden das zweimal
kopieren ,
weil
dort unser Minus ist. Und wir werden uns das
Alpha schnappen, das
Alpha auswählen und es da reinlegen Also, wenn wir unser Paddel von
links nach rechts bewegen, wird
das gut funktionieren. Schau dir das an Es geht jetzt von links nach rechts. Von links nach rechts. Links, nach
rechts. Links, nach rechts. Fantastisch. Wir haben jetzt
großartige Arbeit geleistet. Das wird das
Ende dieses Abschnitts sein. Wir werden den nächsten
Abschnitt nur verwenden, um das ein
bisschen schneller zu machen und
das für uns gegenseitig ein bisschen
mehr zu automatisieren .
6. Breakout: Paddel verfeinern (Optional): Nun, willkommen zurück. Du hast
gerade eine Lektion beendet, was uns erlaubt, was bedeutet, dass dein Paddel jetzt nach links und rechts
geht Wir werden
diesen Code ein bisschen
schneller und ein bisschen besser machen diesen Code ein bisschen
schneller und ein bisschen besser sodass wir das vielleicht tun können,
ohne zwei Zahlen eingeben und
wiederverwenden zu müssen Also das Wichtigste zuerst, ich
möchte mir das einfach schnappen, einen Kommentar abgeben und wir
werden Moves Paddle machen Und wir werden das in die Länge ziehen, und vielleicht
bringen wir das sogar rüber, sodass wir einen vollständigen Kommentar haben.
Ein bisschen komplett kommentiert. Wir werden
so nett und hierher ziehen. Und wir werden hier sitzen, wir
werden sie ändern. Wir werden sie
auf diese beiden Variablen umstellen. Jetzt klicke ich mit der
rechten Maustaste darauf,
und das ist eine wirklich
einfache Möglichkeit, eine Variable zu erstellen, wenn wir bereits
ein Nogmoth-Formular
haben Wir
klicken mit der rechten Maustaste auf Remote to Variable. Ich gehe, das
wird A aufrufen, und wir werden
das sowohl für A als auch für B tun Während wir hier sind, werden
wir beide anklicken. Falls Sie nicht wissen, wie das
geht,
legen wir beide fest Die Standardeinstellung ist,
nennen wir es erforderlich, und wir setzen
sie auf erforderlich. Wenn wir beide
schon dabei sind, werde
ich auch die
erforderliche Geschwindigkeit einstellen. Was das
jetzt macht, ist , dass jedes Mal,
wenn wir
in den Editor gehen ein
separater Teil eingerichtet wird und ich bin hier drin. Wenn wir also
required eingeben, ist das sicher Geschwindigkeit. Ja, nein, ist es nicht. Wir haben es nicht kompiliert und gespeichert
. Das könnte ein Problem sein. Es steht jetzt unter erforderlich Wenn Sie hier weitermachen, haben
Sie es benötigt. Was wir auch tun wollen,
ist beide auf instance editable
und Eposonspn
zu setzen instance editable
und Eposonspn
zu Das ermöglicht uns
,
dass wir
dies innerhalb des Editors ändern können ,
nicht Und wir können auch einfach dieses „Show Freed“ -Widget
hinzufügen,
was wirklich cool ist. Es ermöglicht uns jetzt, wenn
wir in unser Spiel gehen, diese beiden
kleinen Teile hier zu sehen, und ich werde sie so einstellen, wie ich sie haben möchte. Also klicken Sie darauf.
Ich kann jetzt darauf und
auf und ab klicken. Und Sie können hier tatsächlich
sehen, dass das schon
minus 670 ist,
und das ist 670. Also mache ich 670 minus 670 und setze den
Wert auf Null. Aber das ermöglicht uns jetzt, dieses Set
bereits zu haben. Wir müssen keine Zahl
eingeben. Wir wissen genau, wo die
linken und rechten Grenzen sind. Das bedeutet auch
, dass wir, wenn wir in eine
andere Ebene gehen und
es sich vielleicht um einen größeren Bereich handelt, diesen breiter
oder kürzer machen können , was auch immer
wir wollen Das einzige Problem
dabei ist, dass es sich um lokale
Wertvariablen handelt. Wenn wir jetzt darauf klicken,
hat es diesen wirklich seltsamen Teil. Und hier können wir
über Lokal versus Welt sprechen, und hier ist es
wirklich wichtig. Die Welt ist das Level, auf dem
du dich gerade befindest. Wenn T Null, Null minus 1480
sind die Weltkoordinaten. Worin sich diese beiden befinden, ist
etwas,
das Lokal genannt wird. Das ist lokal für diese
Klasse, lokal für diese Wurzel Das ist also minus 670 minus 184. Das ist dasselbe. Das sind sie nicht. Das sind minus 670 minus 670
plus 670, aber Null, Null, was bedeutet, dass, wenn
wir sie da rein
legen und wir
einen festen Standort auf der Welt machen, es wieder auf Null hier
raufgeht Was wir also tun müssen,
ist, bevor wir irgendwas von machen, wir das
bekommen und wir werden hier ein paar
Funktionen ausführen. Wir werden
das ausdehnen , weil
wir
hier
etwas mehr
fortgeschrittene Logik hinzufügen etwas mehr
fortgeschrittene Logik werden, weil
das wirklich großartig ist. Wir werden das hier
reinziehen. Und bevor wir das tun, werden
wir World den Standort des Schauspielers ermitteln
lassen. Lassen Sie uns den Standort des Schauspielers ermitteln. Wir holen uns das und das. Was das bewirken wird. Wir werden
es für beide Male machen, und vielleicht
ziehen wir das hier raus. Sie können sehen, das ist
ein bisschen Spaghetti hier,
aber wir können das regeln Das verwandelt es wieder in die Welt. Und um uns hier
zu helfen, können
wir sogar einige Kommentare hinzufügen. Veränderungen von lokal zu Welt. Und das Schöne macht
es nett und einfach. Wenn wir jetzt kompilieren und spielen, können
wir zu dieser
schönen, normalen Situation zurückkehren. Fantastisch. Nun, das ist ein etwas
fortgeschrittenerer Weg,
dieses Spiel ein bisschen
schneller, ein bisschen besser
und auf lange Sicht auch ein bisschen besser für uns
zu machen dieses Spiel ein bisschen
schneller, ein bisschen besser , wenn wir mehr Level machen oder
es
jemand anderem geben. Nun zur nächsten Lektion.
7. Breakout: Erstellen des Balls: Willkommen zurück. Wenn Sie die optionale
Lektion
gemacht haben, herzlichen Glückwunsch, Sie haben uns jetzt ein
bisschen verfeinert und wertvolle Lektionen
zwischen Welt und Lokalem
gelernt . Wenn Sie das nicht getan haben, machen Sie sich keine Sorgen. Das wird sich nicht
wirklich viel ändern. Es kann sich nur
ein wenig ändern, wenn Sie langfristig mehrere
Ebenen erstellen
möchten. Also haben wir es geschafft. Jetzt wollen wir quasi sein Gegenstück
herstellen, nämlich den Ball. Also werden wir einen
sehr ähnlichen Weg gehen. Wir werden
unsere Inhaltsschublade öffnen. Wir werden uns auf Blueprints konzentrieren. Wir
klicken mit der rechten Maustaste auf Blueprint Class. Aber dieses Mal
werden wir einen Schauspieler benutzen. Der Ball wird keinen Input von uns
erhalten. Er wird
einfach herumhüpfen. Also, was werde ich tun? Ich werde auf Schauspieler klicken. Ich mache BP Underscore, Baller Score
Actor. Und wir werden es öffnen. Hinzu kommt das Erste, was ich
tun möchte, ist eine Kollision hinzuzufügen. Und was wir tun werden,
ist eine schwere Kollision hinzuzufügen. Und diese schwere Kollision könnte
jede beliebige Größe haben , und das ist
völlig in Ordnung. Wir werden und
was wir dann tun können ist, dass ich das als Wurzel
festlegen werde. Wir werden diese
Kugel so einstellen, dass sie sich sammelt. Und während wir das auswählen, Gonad. Fügen wir einfach eine weitere Kugel hinzu. Und lassen Sie uns das einfach ein bisschen herunterskalieren
. Lass es uns auf vielleicht 0,5
herunterskalieren. Und jetzt haben wir einen Ball. Wir haben einen Ball. Es sieht gut aus. Ball sieht toll aus. Ich habe diese Lektion in der Vergangenheit gemacht, in der wir Sprites gemacht haben,
und wir haben daraus
Brary
Two D. Im Moment möchte
ich
die Idee, Assets hinzuzufügen, nicht wirklich Ich möchte dir nur etwas über
Spielelogik beibringen. Wählen wir also die Kollision aus. Wählen wir die Kugel aus. Wir können das beide tun, um fair zu sein. Aber gehen wir zur
Kollisionssphäre über, und wir werden
dort weitermachen, wo irgendwo
Physik stehen sollte. Physik, Physik, Physik. Sie simulieren Physik. Als Erstes werden wir
die
Schwerkraft ausschalten . Wir wollen keine Schwerkraft. Beim Ausbruch
kommt der Ball wieder runter, weil
er von oben abgeprallt ist,
nicht weil die Schwerkraft sich selbst nach unten
gezogen hat Wir werden es auch unter unseren Einschränkungen tun,
wir werden
eine Position
im Y sperren.
Der Grund, warum wir das tun, ist
, dass wir nicht wollen zu einer Kollision
oder einem Abprall kommt und wir unsere Arena verlassen, das wäre für den Spieler sehr
frustrierend Und den Rest können wir
gewissermaßen ignorieren. Sie könnten auch eine
Laser-Zwei-D-Bewegung entlang
des X-Z-Modus oder einer benutzerdefinierten Ebene hinzufügen Laser-Zwei-D-Bewegung entlang . Aber das sollte in
Ordnung sein. Wenn es später
Probleme gibt, können
wir dies ändern. Wir wollen auch runtergehen
und wo es heißt, Kollisions-Voreinstellungen,
was wir
hier tun wollen , ist, dass wir
das ändern wollen, um alles zu blockieren Im Moment
überschneidet sich alles dynamisch. Wir wollen einfach alles blockieren, das
heißt, wenn
es auf etwas trifft, wird
es
abprallen und es
wird nicht versuchen, es zu überlappen Wir klicken auch auf Erweitert. Es gibt ein paar Dinge, die wir hier
wirklich machen wollen, vor allem
die Verwendung von CCD, einer kontinuierlichen
Kollisionserkennung
, mit der wir sicherstellen können,
dass der Ball ständig ist Diese Kollision erkennt
ständig ob sie abprallt, und wir wollen
nicht, dass sie vielleicht irgendwann inaktiv wird , es ist einfach sehr praktisch
für uns, das zu Jetzt das nächste, was Sie tun möchten
. Ich werde auch sicherstellen, dass dort auch all die Dinge
enthalten sind, die wir machen wollten. Ich werde bei
dem auch die Schwerkraft ausschalten. Wir werden etwas hinzufügen, das
als Projektilbewegung bezeichnet wird. Nun, welche Projektilbewegung ist eine Komponente, die in Unreal
eingebaut ist Was die Projektilkomponente bewirkt,
ist, dass sie diesem Ball irgendeine Art von
Bewegung verleiht Genauer gesagt wird
dies normalerweise
für Dinge wie
Kugeln und Granaten verwendet , aber für Schüsse aus der ersten Person Wenn du also schon einmal Fortnight
gespielt hast, ist
das quasi die Komponente oder die Grundlage der Komponente, die verwendet wird, um
die Granaten zu
werfen Äh, jetzt, hier drinnen, wollen
wir auf
ein paar Dinge eingehen Also öffne unsere
Projektilbewegung. also unsere
Projektilbewegung öffnen, werden
wir einige
davon durchgehen Das Erste, was wir
tun wollen, sind unsere Anfangsgeschwindigkeiten. Wir werden
das auf 100 setzen. Oder lass uns 1.000 gehen. Wenn wir es auf Null setzen, bedeutet
es normalerweise
unendlich und unwirklich Höchstgeschwindigkeit also auf
Null gesetzt ist, kann das immer schneller und
schneller Wir werden das einstellen.
Wir könnten 1.500 als Obergrenze haben, nur für den Fall,
dass wir etwas Geschwindigkeit hinzufügen. Wir werden auch
die
Schwerkraftskala für Projektile auf Null setzen Schwerkraftskala für Projektile auf Null Obwohl wir unsere Schwerkraft
in diesen beiden
verschiedenen Komponenten ausgedrückt haben ,
versucht die
Projektilbewegung immer noch, an die Schwerkraft zu denken Also werden wir das auf Null
setzen, damit es keinen
Abwärtsimpuls gibt Nun, der nächste Punkt, über den wir nachdenken
wollen, ist das Abprallen Wir wollen irgendwie, dass das abprallt. Wir wollen also sichergehen, dass
dieser Bounce auf
true gesetzt ist und dass seine Bounciness auf die höchste Zahl
gesetzt ist , die
es sein kann, Wir wollen auch alle Bruchteile
entfernen. Wenn wir also einen
Bruchteil in diesem Teil haben, kann dieser Ball, wann immer er gegen etwas
prallt, etwas an Schwung
und Geschwindigkeit verlieren Wir können das auf Null setzen. Und wenn wir dann weiter nach unten gehen, hast du vielleicht ein
paar Dinge, die du tun möchtest. So wollen wir zum Beispiel
unsere Max-Simulationsiterationen
so hoch wie möglich einstellen unsere Max-Simulationsiterationen
so hoch wie möglich Normalerweise habe ich
es auf etwa 12 eingestellt. Und wenn wir ganz unten in die
Interp-Bewegung übergehen, wollen
wir Interrotation
und Bewegung ganz einfach machen Jetzt klicken wir auf Speichern. Wenn wir auf Kompilieren klicken, können
wir diesen Ball tatsächlich der Welt
hinzufügen. Also lass uns diesen Ball hier hinzufügen. Wenn wir auf Play klicken, bewegt sich der Ball
jetzt nach links und rechts, links und rechts, links und rechts. Nun, das ist nicht gut denn dieser Ball bewegt sich
ständig nach links oder
rechts, links oder rechts. Wir können den Ball nicht berühren. So wie ich es machen werde, öffnet
es sich quasi wieder im
Ball. Hier unten steht Geschwindigkeit. Ich setze den Wert auf 0,5,
was bedeutet, dass es
sich ein
wenig nach links und rechts bewegen wird, und ich setze
die Z-Achse auf zwei,
was bedeutet, dass es auf der Z-Achse
nach oben geht, viermal so schnell wie
auf der X-Achse. Jetzt klicken Sie, spielen Sie es ab, jetzt können
Sie sehen, wie es sich bewegt. Wir könnten
dieses Spiel sogar ein bisschen , wenn du willst.
Wir haben jetzt einen Ball. Wir haben jetzt sogar ein kleines
Spiel. Wir haben jetzt einen Ball
, der herumläuft, sich mit der Geschwindigkeit bewegt.
Nett und einfach. Wenn wir
die Geschwindigkeit eines Balls ganz einfach ändern wollten , könnten wir
das über die Geschwindigkeit hier machen. Gehen wir, es ist 2000. Abspielen. Der Ball ist jetzt schneller.
Wirklich nett und einfach. Also, so haben wir einen Ball gemacht. Wir mussten keine Logik hinzufügen. Es könnte alles
über Compose in Reactor erledigt werden. Danke. Wir sehen uns
in der nächsten Lektion.
8. Breakout: Herstellung der Blöcke: Willkommen zurück. Nun, die letzte Lektion, die
wir in einem schönen Ball kreieren. Wir haben es hier. Du kannst es sehen. Es bewegt sich. Wir
könnten sogar umziehen. Ich werde es nur zu
meiner eigenen Gesundheit in
die Mitte legen , und
wir haben ein Paddel Nun, der letzte Abschnitt
und mein letztes Ding in diesem Breakout-Spiel sind wahrscheinlich
die Blöcke Das werden
wir also in dieser Lektion machen. Also, was du zuerst tun
willst, bevor du überhaupt anfängst, die Blöcke zu bauen ,
ist, dass ich meinen Spielmodus öffnen möchte. Ich denke, der Spielmodus
sollte auftauchen, der dem hier sehr
ähnlich sieht. Das sind momentan
nur Daten , weil
sie keine Logik haben. Was ich
tun werde, ist vollständigen Blueprint-Editor
hinzuzufügen Und was wir tun werden,
wird so aussehen. Solange ich hier bin, werde
ich eine Partitur erstellen. Wenn wir jetzt auf einen Block treffen, wollen
wir, dass der Punktestand steigt. Ich finde, das ist eine wirklich nette und einfache logische
Art, darüber nachzudenken. Also werde ich im Spielmodus
eine Variable hinzufügen . Ich werde
es nirgendwo anders hinzufügen. Der Spielmodus enthält die
Spielregeln. Es enthält auch Dinge wie vielleicht den Punktestand und die
Gewinn- und Endbedingung. Also werde ich auf ein Plus klicken. Ich werde das Ergebnis nennen. Und das wird so
sein, ich werde es nennen, ich werde
eine Ganzzahl verwenden. Ich benutze eine Ganzzahl, nett
und einfach zu kompilieren, zu speichern. Wir
müssen wirklich nichts anderes tun. Wir sind in diesem Spielmodus.
Du kannst das schließen. Ich werde all unsere Sachen schließen , weil ich ein
paar Tabs geöffnet habe. Ich werde
einen neuen Blueprint-Kurs machen, und er wird Schauspieler heißen, und er wird BP
Underscore Block
Underscore-Schauspieler heißen Underscore Block
Underscore-Schauspieler Nett und einfach. Schauspieler blockieren. Und wir können das öffnen. Und ich will hier zwei Dinge haben. Zuerst füge
ich eine Box-Kollision hinzu. einer Box-Kollision handelt es
sich bei
diesen Kollisionen im Grunde um unsichtbare
Boxen, die der Spieler nicht sehen kann, aber wir überprüfen, ob sich Dinge
überschneiden oder Dinge Und wir werden das nennen.
Wir gehen einfach als Kiste weg. Ich werde das als Kollision festlegen. Und dann werde ich einen Würfel machen. Lass uns einen Würfel machen. Lass uns ein paar Würfel darin machen.
Nett und einfach. Nun, unsere Box-Kollision möchte
wahrscheinlich dieselbe Größe haben, also können wir das tatsächlich
ändern, indem wir
nicht nach Box-Ausdehnung nach oben skalieren. Und wir
werden 64 mal 64 und dann wieder 64 machen. Und wir haben diese Kiste. Wir können das
sogar vergrößern. Lassen Sie uns diesen Würfel
ein wenig vergrößern. Auf diese Weise werden wir
es ganz einfach machen. Und lassen Sie uns das
auf zwei setzen, schätze ich, und wir werden auch
diesen Würfel aufstellen. Also setzen wir es einfach
auf eins, zwei, vier. Jetzt haben wir nur noch
einen kleinen Würfel vor uns. Jetzt sind wir im
Ereignisdiagramm. Wir haben unseren Würfel gemacht. Wir wollen dem jetzt auch etwas
Logik hinzufügen. Wir
wollen also ein Ereignis
erzeugen, wenn
der Würfel getroffen wird. Also kann ich auf Ich gehe in das
Feld klicken und mit der rechten Maustaste auf hier klicken, Sie können auf Ereignis hinzufügen klicken. Wir können das auch
auf andere Weise tun. Wir gehen auf die Box
und scrollen nach unten Sie werden all diese Ereignisse hier
auf Nicely Showcase sehen. Also mache ich das mit der
Komponente Hit Box. Wenn wir das bekommen, möchte
ich auch
den Spielmodus haben. Ich werde dem Spielmodus
mitteilen , dass die Box getroffen wurde
und die Punktzahl steigt. Also klicke ich mit der rechten Maustaste
und wähle den Spielmodus holen. Es erhält den aktuellen Spielmodus
, den wir zu Beginn
dieses Prototyps
als
Blueprint-Breakout-Spielmodus festgelegt als
Blueprint-Breakout-Spielmodus Also werde ich von hier aus
rausgehen. Ich werde
eine tolle Sache machen, sie wird Casting heißen. Wirf also auf BP und
erziele im Breakout-Spielmodus. Ich
werde mich darauf einlassen Nun, welche Disc macht das, und ich werde vielleicht ein bisschen mehr
hinzufügen,
damit sie ein bisschen besser
aussieht. Welche Disc macht ist, dass sie den aktuellen
Spielmodus bekommt und sagt:
Hey, ist der Spielmodus an
den BP-Breakout-Spielmodus angeschlossen Und wenn ja, wird es
auf diese Version zugreifen,
und alles, was hier
herauskommt, verhält sich so, als
wäre es im
BP-Spielmodus Breakout, BP-Breakout-Spielmodus eines beliebigen Graphen. Wirklich cool. Es trägt
ein bisschen dazu bei,
wenn du von
Leistung sprichst, was jetzt bedeutet,
dass dieser Spielmodus ständig geladen
wird und diese Box ständig in den Speicher
geladen wird ,
wenn der Spielmodus aktiv ist. Es fügt also ein
kleines Leistungsproblem hinzu,
aber wir wissen, dass es zu einer Blockierung
kommen wird, und wir wissen immer, dass dieser
Spielmodus in
diesem Spiel
initialisiert oder erstellt wird in
diesem Spiel
initialisiert oder erstellt , weil
es der Spielmodus ist Was wir also tun wollen, ist, von hier
wegzuziehen, wir wollen Punkte holen Wir können diese Variable jetzt aus
diesem Spielmodus
innerhalb dieser Klasse abrufen , was wirklich sehr praktisch ist Ich mache und
wir machen Plus Plus. Ja, machen
wir Plus Plus. Und das wird jetzt als inkrementell bezeichnet,
was bedeutet, dass jedes Mal, wenn Nis gecastet wird oder das hier gespielt
wird, wird der Punktestand um eins erhöht Wenn wir zum Beispiel unseren Punktestand
um 50 erhöhen
wollen, müssen
wir diesen Satz auf 50 setzen und dann
den Punktestand festlegen Um Punkte zu erhalten,
müssen wir immer sicherstellen, dass wir Blueprint
als Blueprint BakoutGame verlassen Also behalte das einfach im Hinterkopf. Und alles
braucht immer ein Ziel. Also lassen wir es bei plus 50. Das ist 50 plus 50 ist nett.
Ich kriege gerne mehr Punkte. Und was wir tun können, ist
nur für unseren eigenen Verstand. Wir können jedes Mal, wenn
wir hören, dass wir auf einen stoßen, einfach print string machen,
um sicherzugehen, dass es funktioniert, und wir können das jetzt testen Lassen Sie uns hier
einen Block platzieren
und ein paar hier oben, damit wir versuchen können, ihn zu treffen Okay? Was werde ich hier machen? Das bin ich aus der Zukunft. Was wir
sicherstellen wollen, ist in unserer Box, wir haben Collision auf
Break-Block oder Dynamic
Block oder Dynamic gesetzt . Wenn wir also auf Jetzt spielen klicken
, steigt der Punktestand um 50. kannst du
links sehen. Steigt um 50, und dieser sollte jetzt 100 sein. An einigen Haltepunkten
dort. Also haben wir 50 und wir bekommen 100? Es gibt, ja, es geht
auf 100 und es geht weiter. Die Blöcke bleiben da, also wollen
wir wahrscheinlich
etwas dagegen tun. Wir können das ganz einfach klären, indem wir diese Druckzeichenfolge
entfernen, und wenn das erledigt ist, zerstören wir den Schauspieler ganz einfach. Bitte speichern Sie. Gute Arbeit. Wenn wir jetzt auf
Play klicken, bekommen wir das. Und natürlich wird uns das Ergebnis
nicht
mehr angezeigt, nur weil wir die gedruckte Zeichenfolge
weggenommen haben. Wir haben hier also
tatsächlich ein Spiel, das wirklich ein Hang ist. Was ich zwischen den Lektionen
machen werde, ich werde sie schön anordnen damit es ein bisschen
mehr wie Breakout aussieht, aber wir sehen uns in
der nächsten Lektion
9. Breakout: FailureState: Also haben wir jetzt Blöcke. Wir haben viel Spaß. Wir haben eine Stange. Wir haben es wirklich
gut mit uns selbst zu tun. Was wir jetzt also tun müssen,
ist einen ziemlich aufgeschlitzten Zustand hinzuzufügen. Wenn wir den Ball verpassen, sollte ein
Spieler vielleicht
ein Leben verlieren oder neu starten Also, das Erste, was
wir hier wahrscheinlich
tun wollen , ist zurück in
den Spielmodus zu gehen und ähnlich wie wir es
mit Punktestand tun, Leben hinzuzufügen. Lassen Sie uns also weitermachen. Nennen wir es Leben. Lebt, lebt. Vielleicht könnten wir es Zahl der Leben
nennen. Wir könnten es
Zahl der Leben nennen. Nennen wir es Zahl der Leben. Lass uns kompilieren und speichern. Wenn wir es kompilieren und
speichern, wird diese Variable dann tatsächlich ins Leben gerufen. Und von dort aus können wir
dann festlegen und als Standard festlegen. Wir werden das auf kostenlos
setzen
, diesen Standard auf kostenlos setzen. Standardmäßig ist es kostenlos. Jetzt müssen wir herausfinden, ob ein Spieler untergeht, wenn
der Ball darunter fällt. Jetzt gibt es zwei
Möglichkeiten, das zu tun. Wir könnten es jedes
Mal, wenn sich der Ball bewegt, überprüfen, ob er sich
unter dem Paddel befindet Und wenn es sich unter dem Paddel befindet, wird
es als Verlust gewertet, oder wir könnten es tun, wenn wir eine
Kollisionsbox darunter platzieren könnten, wenn das Spiel
darunter hinuntergeht, stirbt
es und es springt wieder,
schätze ich Also werden wir es auf diese Weise
machen. Ich denke, das ist eine etwas
einfachere Art, es zu tun. Wir werden das
öffnen, wir werden
einen neuen Schauspieler machen , wir
werden ihn BP nennen. Was wäre sicher, im Internet zu
schreiben. Nennen wir es BP Fail. Deine Kiste. Oder ja, wir würden es Killbox
nennen. Es ist cool, es Killbox zu nennen. Und dann nennen wir es
Schauspieler. Wir werden aufmachen. Das wird
eine Kartonkollision sein. Wenn ich es eingeben kann, BOX-Kollision, und wir stellen es einfach
so ein, dass es hier ist. Und ich werde
klicken, kompilieren und
speichern und los geht's mit Viventgraph, so wie wir es bei
unserer letzten Box-Kollision gemacht haben Wir werden auf die Box klicken. Gehen Sie runter und wir werden uns
dieses Mal überschneiden. Wenn also die Boxen an sind und B sich
mit dieser Box überschneidet ,
wird das etwas bewirken Wir sollten nichts ändern
müssen, da sich die Kollisionsvolumina
standardmäßig überlappen Also lass uns als Erstes sehen, worauf
es kollidiert Also das ist der andere Schauspieler. Welcher ist der andere Schauspieler, der
auf dieser Box kollidiert? Ich werde es in die Länge ziehen
und ich will sehen, ob
es eine bestimmte Sache Ich werde die Rolle des BP-Balldarstellers übernehmen. Also, wenn das wirklich nett und
einfach ist ,
werden wir es zerstören. Schauspieler. Das heißt, wenn der Ball
hier reingeht, tötet er ihn. Nett und einfach. Gute Arbeit. Wenn wir das jetzt umsetzen würden, würde
der Ball ziemlich
schnell sterben und wir
könnten nichts tun. Wir würden das Spiel verlieren und
nichts anderes würde passieren. Also könnten wir das Spiel neu starten. Dies wäre eine wirklich
einfache Möglichkeit, dies zu tun, indem Sie Let's just
added the lay tun. Nehmen wir an, wir würden
3 Sekunden warten und dann öffnen. Und wir könnten
den Levelnamen öffnen. Und unser Level-Name
heißt Level One, richtig? Stufe eins. Nett und einfach. Wir testen das sogar.
Sollen wir es jetzt testen? Lassen Sie uns unseren
Killbox-Schauspieler reinziehen. Wir können sogar
die Größe der Box ändern, indem wir hier auf diese
kleine Schaltfläche klicken, und los geht's Wir haben das nur hier eingefügt, um
sicherzustellen , dass es oft
nie durchkommt Und wir sollten sein, dass du es
ausprobieren kannst. Lass uns sehen. Wir müssen jetzt mit Absicht sterben. Tötet es 3 Sekunden später. sollten wir. Das Level
wird erneut gestartet. Fantastisch. Gute Arbeit. Aber wir wollen
tatsächlich ein
paar Leben hineinstecken. Also haben wir das schon da drin
gemacht. Lassen Sie uns das in die Länge ziehen. Ich werde sie löschen und
ich bin auch hier. Prüft, ob es Ball
wird, Hills Ball. Also, nett und einfach. Also machen wir eine
Verzögerung, machen wir noch eine. Machen wir 2 Sekunden. 2 Sekunden. Und wir wollen sehen, ob
du noch Leben hast. Also lass uns den Spielmodus holen machen. Und wir machen das
Gleiche wie zuvor,
also casten wir, wer
BP ist, Breakout-Spielmodus Gute Arbeit. Also haben wir in den
BP-Breakout-Spielmodus gecastet, und was ich tun werde,
ist, dass
ich zuerst versuche, Leben zu bekommen Ermitteln Sie die Anzahl der Leben, ja. Und wir werden
zuerst einen Zweig
machen , also einen Zweig. Und wir werden das hier
reinstellen. Was ein Zweig ist,
ist eine If-Aussage. Es ist ein Scheck. Passiert
etwas, wahr oder falsch, ja oder nein. Wie ich schon sagte, wenn Sie schon einmal ein Computerprogramm oder
Informatik oder basiertes
Scripting gemacht
haben Computerprogramm oder
Informatik , nennt man
das eine If-Aussage Was wir tun werden, ist,
wenn die Zahl der Leben größer als Null
ist Also, wenn unsere Zahl Leben größer als Null
ist, dann
wollen wir den Ball wahrscheinlich wiederbeleben Was wir also tun können, ist, den
Spawn-Schauspieler zu ziehen. Und wir können jetzt
einen Schauspieler in der Spielwelt hervorbringen ,
und wir werden das nennen Wir werden
BP Ball Actor holen. Und wir werden
eine Spawn-Transformation durchführen. Also werden wir vielleicht dafür
werben, dass es variabel Ich werde es Spawn-Transformation nennen. Wir werden Compile speichern. Und wir werden tatsächlich die
Instanz elizb show free Widget Wenn Sie die optionale Lektion gemacht haben, wissen
Sie bereits,
was wir hier tun werden Aber wenn du es nicht getan hast,
ist das eine nette Art zu lernen. Wenn wir keinen Mumm mehr haben
oder es uns leid tut, wenn wir keine Leben mehr haben, machen
wir wieder das
offene Level. Lass uns Level nach Namen öffnen, und wir machen Level
eins, Level eins. Wenn wir also keine Leben mehr haben
, wir einfach wieder von vorne
anfangen. Was wir auch tun sollten, ist, das Ganze in die Länge zu
ziehen, ich werde
negativ, negativ, und wir werden
einfach ein Leben entfernen Und wir werden einen Node neu rooten, also wenn wir irgendwo zweimal tippen, können
wir das neu auslesen, damit es ein bisschen
besser aussieht Sie können sich dann bei Bedarf auch
davon abspalten. Da hast du's. Also lass uns das richtig
testen. Wir klicken auf unsere Spawn-Transformation. Wir wollen
das wahrscheinlich nach oben verschieben, also werden wir es so
verschieben, dass es hier ist. Wenn es also
wieder erscheint, wird es spawnen. Lass uns unser Spiel spielen Also sind wir auf einen Block gestoßen.
Oh nein, ich habe es verpasst. Es wird
ein paar Sekunden warten. Wir haben es.
Lass es uns wieder sterben lassen. Und wir werden noch einmal
sterben. Und wir
sollten jetzt kein Leben mehr haben. Und wir sollten ganz einfach
alles neu einrichten. Was Ihnen vielleicht auffällt, ist, dass dies wieder ein weltweites
lokales Problem hat. Also können wir wieder hierher zurückkehren. Wir können Was wir tun werden, ist
, das loszuwerden. Sie können auf Alt klicken und
darauf tippen. Dadurch wird der Link unterbrochen. Ich werde das
aufteilen. Ich werde mehr machen. Ich werde die
Welt nach Schauspieler suchen,
tut mir leid, Ort des Schauspielers,
plus das hier rein. Ich werde eine freundliche Form machen, die
alles wieder zusammenbringt. O. Und das wird es wieder
an den richtigen Ort bringen. Falls Sie ein bisschen verwirrt sind,
was hier vor sich geht, das ist die Welt zu
lokal oder lokal zur Welt. Veränderung, lokaler Wandel. Lokal kombiniert. Und was wir hier ein paar Kommentare
machen werden,
Respawn, B, Nett und einfach. Jetzt sollte
das alles funktionieren. Nett und einfach. Oh, wir
müssen es in diesem Spiel verlieren. Wir sind einfach zu
gut in diesem Spiel. Wir haben also ein Leben verloren. Der Ball sollte jetzt dort erscheinen,
wo er ursprünglich war. Wir werden noch einmal ein Leben verlieren. Und das wird das letzte
Mal sein, dass wir ein Leben verlieren. Und oh ja, wir
haben freie Leben, also können wir dreimal sterben. Und jetzt habe ich ein
Level, das zurückgesetzt werden sollte. Mann, nett, einfach.
Jetzt haben wir hier also tatsächlich
ein Spiel. Wir haben
ein Spiel, wir können das spielen. Wenn du dich langweilst, könnten wir ein Theaterstück
machen, wenn du willst. Mach einfach weiter, schau,
wie gut wir werden können. Aber wir haben noch ein paar Dinge, die wir hinzufügen
können, um
das
Spiel noch besser zu machen . Wir sehen uns als Nächstes.
10. Breakout: WinState: Nun, willkommen zurück.
Das wird die vorletzte Lektion dieses Projekts sein, weil wir hier eine wirklich,
wirklich gut gelaufene Sache haben hier eine wirklich,
wirklich gut gelaufene Sache Was wir jetzt also tatsächlich
tun wollen, ist einen Win-Status hinzuzufügen. Wenn wir also all diese
Blöcke haben, haben wir gewonnen. Ich denke, das sollten
wir überprüfen. Also müssen wir
das auf verschiedene Arten tun, und das ist vielleicht der
komplizierteste Teil
unseres Prototyps, aber mach dir keine Sorgen. Wir werden Schritt für Schritt vorgehen. Also werde ich unseren Spielmodus
öffnen. Und das Erste, was
ich tun möchte, ist äh, wenn wir anfangen zu spielen, will
ich all unsere Blöcke haben. Also werde ich alle Schauspieler
holen. Nun, Get All Actors ist ein wirklich, wirklich mächtiger Node
, der so
etwas wie SQR noch nie gemacht hat, aber jetzt Angst haben
wird, ihn zu benutzen Aber was Get All Actors
macht, ist, wenn dieser Knoten
alle Akteure im Level durchsucht und sie in ein Array einteilt,
das nach bestimmten Dingen
sucht Also suche ich nach
dem BP-Block-Schauspieler. Und was das bewirken wird,
ist, dass ich
alle Blockschauspieler hier reinholen werde . Und alles, was ich machen werde,
ist mit diesem Schauspieler, ich werde einen Film machen. Und ich werde kein Array behalten, weil
ein Datensatz eine ziemlich große Sache
ist. Ich möchte nur wissen, wie
viele Blöcke hier drin sind. Wir können das sogar testen. Wenn wir hier also nur eine Zeichenfolge
drucken, keine Zeichenfolge als Kachel drucken und einfach diese Zahl eingeben. Wenn wir das Spiel starten, sollte
es uns genau sagen,
wie viele Blöcke wir haben. Wir haben also eins, zwei,
drei, eins, zwei, drei, vier, fünf, sechs, also das ist drei mal sechs.
Das sollten 18 sein. Also, wir klicken, sagt 18. Was wir jetzt tun wollen, ist,
dass wir diese Nummer behalten wollen. Also klicke ich mit der rechten Maustaste auf Zu variabel
hochstufen und los geht's. Rufen wir diese Nummer an. Unsere Blöcke. Okay. Wir werden das zu Beginn
jedes Spiels speichern , jedes
Mal, wenn es geladen wird. Wenn du jetzt ein Level
hochlädst, wird der Spielmodus wieder geladen. Das wird also
jedes Mal aktualisiert, wenn wir es tun, was sehr, sehr praktisch ist. Gehen wir jetzt zurück
in unseren Block. Lassen Sie uns unsere Blocklogik öffnen. Wir haben hier tatsächlich eine Menge
unkommutiver Blocklogik, also sollten wir das wahrscheinlich
klären Also lass uns, wenn es getroffen wird. Logik. Lass uns einen machen und lass uns den Block entfernen. Und was wir hier tun wollen, lassen Sie uns den Block entfernen, aber wir werden hier ein
bisschen mehr Logik hinzufügen. Wir werden die
Anzahl der Blöcke ermitteln und diese Zahl minus eins
verringern. Äh, ja, lass uns das
ein bisschen anders machen . Lass uns das holen. Es ist minus eins und die
festgelegte Anzahl von Blöcken. Lege die Anzahl der Blöcke fest,
nett und einfach. Das wird jetzt jedes Mal
die Zählung verringern. Und das wollen wir überprüfen,
denn wenn wir alle Blöcke fertig haben,
haben wir das Labor gewonnen Und nun, wir werden
nicht festlegen, was am Ende passieren würde
. Wir wollen nur
eine Art Erfolgsquote erreichen, und es liegt an Ihnen diesen Prototyp ein
wenig weiter zu entwickeln, wenn Sie dafür mehrere Stufen
hinzufügen möchten . Sobald das
fällig ist, legt es das fest, und wir werden am Ende ein
paar Kleinigkeiten machen . Bitte sei dir bewusst, dass
wir immer dafür
sorgen, dass ich Hector vernichte.
Ist das das Ende? Wenn wir Ector
und in der Anzeigenlogik zerstören, wir nicht dazu
kommen, dass die zusätzliche Logik Schauspielers bereits zerstört ist Du kannst nicht, du kannst nicht, ein toter
Schauspieler kann nichts tun. Das ist die Hauptsache.
Wir töten den Schauspieler hier. Wir werden also eine
Filiale anlegen. Und darauf wird
es immer zurückkommen. Aber was wir tun werden, ist, ob das kleiner
oder gleich Null ist. Was werden wir
tun? Wenn nicht, werden
wir einfach
sofort
Eta vernichten . Mach dir darüber keine Sorgen. Wenn ja, lass uns in unseren Spielmodus
gehen und wir werden ein Kundenevent veranstalten. Es wird Kundenevent heißen. Und wir werden Win anrufen. Und genau das wird es tun
, also wird es Win nennen. Und das wird
jetzt nur drucken, schnüren
und es wird sagen, du hast bei Gratz gewonnen Du hast gewonnen, Glückwunsch. Sehr cool Und das wird ein
bisschen mehr Einführung
sein wie man damit
kommuniziert. Aber ich werde mich
jetzt
zurückziehen , ich werde gewinnen. Es wird gewinnen und dann geht es direkt
zurück und zerstört Ector Also, wenn wir
deine Blöcke zerstören , funktioniert das
hoffentlich Jetzt müssen
wir das Spiel gewinnen. Ja, da steht:
Herzlichen Glückwunsch ja, ja, ja. Das ist die ganze Art von
Hinzufügung dazu, denn wenn du ein zweites Level
machen willst, könntest
du dann, du weißt schon,
anstatt U win zu machen,
du könntest ein offenes Level machen, du könntest ein offenes Level machen, und dann summiert
sich das zu Aber für diesen einfachen Prototyp werden
wir nichts davon
hinzufügen. Wir wollen nur
diesen kleinen
Siegesstatus haben, weil wir auch
dieses Fehlschlagdatum hatten. Hoffentlich werden
wir in der nächsten Lektion einige Benutzeroberflächen hinzufügen und dann
diesen Prototyp fertig stellen.
11. Breakout: UI: Hallo, willkommen zur letzten
Lektion dieses Prototyps. Wir werden dem Ganzen
einige Benutzeroberflächen hinzufügen und es dir
hoffentlich ermöglichen, danach alles zu machen, was du
willst, und das gibt dir eine
kleine Grundlage, um dein eigenes
Breakout-Spiel auf verschiedene Arten zu
erstellen Du könntest verschiedene Geschwindigkeiten,
verschiedene Power-Ups hinzufügen ,
was auch immer du willst Ein paar meiner
Schüler
haben das schon gemacht und ihr eigenes
gemacht, und ich habe es immer genossen zu sehen was die Leute
mit diesem Prototyp machen. Also wollen wir einige Benutzeroberflächen hinzufügen. Wir möchten nebenbei eine Anzahl an
Benutzeroberflächen hinzufügen , damit wir wissen,
was vor sich geht. Lassen Sie uns also eine Benutzeroberfläche erstellen. Also, was werden wir
tun? Im Rahmen unserer Pläne werden
wir einen neuen Ordner
erstellen Es wird UI heißen. Und in diesem UI-Ordner werde
ich darauf eingehen
und dort steht User Interface. Ich werde
Widget Blueprint machen. Es wird
dieses kleine Dialogfeld mit dem
Titel What Parent
Glass you want aufrufen Titel What Parent
Glass you want Sie können eine Menge tun, aber ich
werde nur das Benutzer-Widget auswählen. Wir werden
dieses UI unter BP
Underscore Main UI Score UI nennen Underscore Main UI Score UI Wir werden es öffnen und das ist der neue Widget-Editor Das ist ein bisschen
anders als das, wie andere aussehen. Und wenn Sie schon einmal eine Bildbearbeitungssoftware
wie Photoshop verwendet haben, Sie sich vielleicht ein bisschen
mehr daran gewöhnen, wie das aussieht. Aber das ist ein wirklich, wirklich,
wirklich cooler,
leistungsstarker Editor, mit dem Sie sich weiterentwickeln können. Also das Erste, was wir tun
wollen , könnten wir dem noch
viel hinzufügen, aber eigentlich
wollen wir dem Ganzen etwas hinzufügen man Panel
nennt. Wir wollen etwas hinzufügen, das als Leinwand-Panel
bezeichnet wird. Nun, was ein Canvas-Panel ist, Sie können sehen, dass es eine Menge Dinge kann. Das ist im Grunde genommen,
stell dir das als Bildschirm vor, was wir machen werden, ich werde unseren Bildschirm so
einstellen, dass er
vielleicht eine andere Größe hat. Weil wir an Portraitaufnahmen arbeiten, wollen
wir wahrscheinlich eher an einem Telefon arbeiten. Also werde ich das
auf ein iPhone 10 einstellen. Und wir machen es bis, lass uns vielleicht kein iPhone zehn machen. Lass uns ein HTC machen. Lasst uns das Ganze umdrehen, sodass es ein Portrait ist. Also 720 mal 1080. Du kannst einfach alles machen, aber solange du hier auf die
Disc-Taste klickst, wechselt
es vom Hochformat. Sie können es auch dann tun
, wenn Sie es einfach auf dem
18-Zoll-Monitor belassen dann einfach
umdrehen möchten.
Das ist in Ordnung. Also, wo auch immer es funktioniert,
hier ist es, wo es hingehört, und wir werden auf Bildschirm
und DPI Scat klicken Wir müssen im Moment nicht viel herunterfahren. Wir
nennen das sogar nur die Leinwandpaneele, also Leinwand. Und das sollte
uns helfen. Ähnlich wie bei
Photoshop oder sogar bei unseren Schauspielern können
wir einfach etwas hinzufügen und Kinder und
verschiedene Teile
daraus machen Ich möchte etwas
Text hinzufügen. Also werde ich
etwas Text hineinziehen. Ziehen wir es einfach hierher. Das Erste, was du wissen
wirst, ist, dass sie sich diese
kleine Blume einfallen lässt. Hier ist es
verschlossen oder verankert. Ich werde das oben
links
verankert lassen, weil es oben links
sein wird Ich werde das
auf eine Variable setzen, ich werde das auf Punktzahl setzen Und jedes Mal, wenn wir
den Punktestand ändern ,
wird er etwas ändern. Und die einfachste Art, Texabs zu setzen, ist
etwas, das man Bind nennt Nun, Bindungen sind etwas, von dem
ich mich gerne fernhalte, und ich werde Ihnen später in diesem Kurs
beibringen , wie
man Bindungen vielleicht nicht benutzt Aber für diese Einstellung und für diesen Prototyp
werden wir Bindungen verwenden Und Binds
überprüfen in
jedem Frame, ob es sich um geänderte Texte handelt oder
ob es geänderte Texte handelt oder
ob es sich um eine Variable handelt,
und es richtet es Was ich also tun werde, ist, eine neue Bindung zu erstellen Was das macht, ist, dass es
jeden Frame abbildet. Und was wir
machen werden, ist den Spielmodus zu bekommen und ich werde die Besetzung in
unseren BP-Breakout-Spielmodus Jetzt können wir also
alles daraus machen, was wirklich, wirklich praktisch ist Wir werden das hier reinstellen . Nett und einfach. Und wir werden Yep Score machen. Geben Sie das hier ein, und jetzt wird
es immer nach
Punkten Es erfolgt keine automatische Konvertierung. Sieh sicher aus. Wir können dann einen
zweiten machen, wenn du willst. Wenn wir also auf den
Liner oben klicken, fügen
wir einen zweiten hinzu, also machen wir das live. Es heißt Lives Lives. Und lassen Sie uns das darunter platzieren, damit es schön darunter ist. Und wir werden
die Bindung auswählen . Wir
werden einen neuen machen. Wir könnten sogar nach unserer Punktzahl suchen und einfach eine Menge davon
kopieren. Kontrolle C, Kontrollgebühr. Und dann werden wir
noch eine Reihe von Leben führen. Stell das hier rein. Speichern, kompilieren. Wann immer wir jetzt
unsere Benutzeroberfläche implementieren, wird sie funktionieren. Wir bekommen unser Leben
und wir werden unseren Punktestand ermitteln und er wird
ständig aktualisiert. Wenn wir jetzt auf Play klicken, sehen
Sie, dass unsere Benutzeroberfläche nicht angezeigt wird. Was wir jetzt tun müssen, ist in unseren Spielmodus
zurückzukehren und in unserer Bank mit dem Spielen zu beginnen. Ich komme zuerst zu dem Punkt, dass ich die
Nummer oder die Blöcke holen oder den Staat gewinnen würde. Wir werden jetzt etwas
extra machen , das
Widget erstellen heißt. Widget erstellen. Da unsere Benutzeroberfläche als
Widget betrachtet wird, können wir darauf klicken. Wir können unsere
BP-Haupt-UI mit Unterstrichen finden, und wir können sie von
dort ziehen und sie zu
Viewpoint hinzufügen . Nett und einfach. Dadurch wird
das UI-Widget erstellt und dem Bildschirm
hinzugefügt. Wenn wir jetzt auf Play klicken, sollten
Sie es jetzt
oben links auf unserem Bildschirm sehen. Wie Sie sehen können, steigen die Leben, Punktzahl steigt und unser Leben geht weiter. Sein Leben fängt wieder an. Fantastisch. Nun, das ist quasi das Ende
dieses Prototyps. Wir haben wirklich
schnell ein wirklich,
wirklich schnelles Blockout-Spiel zum
Breakout-Spiel gemacht , Ihr habt
in diesem Prototyp
eine Menge
verschiedener Fähigkeiten erlernt in diesem Prototyp nicht nur durch den Editor navigiert
habt,
sondern auch alles Mögliche gelernt habt, von der sondern auch alles Mögliche gelernt habt, von grundlegenden Kommunikation über die
Benutzeroberfläche bis hin zur Kernlogik des Spiels,
und auch dadurch, dass ihr
Schauspieler geschaffen habt und einfach gelernt habt,
wie man einen Prototyp macht Schauspieler geschaffen habt und einfach gelernt habt,
wie man Du kannst
aus diesem Prototyp quasi eine Menge
verschiedener Spiele
zusammensetzen eine Menge
verschiedener Spiele
zusammensetzen dieselbe
Logik verwendest, mit der wir arbeiten. Das nächste Spiel, mit dem wir
weitermachen ist ein Automatenspiel, das Dingen wie
elektrischen Waagen
sehr ähnlich ist, ob das Zeug ist oder nicht, es ist in deinem Land. Und wir werden
Dinge wie den lokalen Mehrspielermodus
sowie Dinge wie
Spins und mehr Spiellogik lernen . Ich freue mich also darauf zu sehen, was Sie mit diesem Prototyp
machen. Und wenn Sie
Fragen haben, schreiben sie
bitte einfach unten oder in der Discod-Datenbank, wo ich Ihnen schneller
weiterhelfen kann Fantastisch. Vielen Dank und wir sehen uns beim
nächsten Prototyp.
12. Exportieren: Wir sind also an dem Punkt angelangt, an dem wir anfangen wollen, das zu
exportieren. Um das zu tun,
solltest du ein
oder zwei Dinge
im Projekt-Setup überprüfen , um sicherzustellen , dass
unser Spiel korrekt läuft, wenn wir das exportieren
und es als Spiel verpacken . Als Erstes
sollten wir uns mit den
Änderungen und den Projekteinstellungen befassen In den Projekteinstellungen möchten
wir sicherstellen, dass unsere Karten und Modi, sodass wir zu den Karten
und Modi auf der linken Seite heruntergehen können, und dass sich unsere Standardkarte im Spiel auf dem Level
befindet, auf dem sie geöffnet werden
soll, was in diesem Fall Level eins
ist Das bedeutet, dass unabhängig von der Karte, die
sich in diesem Abschnitt hier befindet, die Standardkarte des Spiels geöffnet
wird, wenn du
dein verpacktes Spiel öffnest. Als Nächstes können wir das schließen und wir möchten auf die Plattformen klicken, die sich oben befinden. Wir wollen Fenster finden. Wir wollen das
Spiel als Versand angeben und dann
auf Package Project klicken. Und an dieser Stelle
wollen wir herausfinden, wo wir unser Projekt verpacken
wollen. Ich empfehle, es an
einem Ort abzulegen , den Sie leicht
finden können, in einem separaten Ordner, was ich gleich hier tun werde. Breakout verpackt. Und ich werde auf Ordner auswählen
klicken. Das wird mit dem Verpacken beginnen, und Sie können
hier sehen, wie es funktioniert. Sobald dies verpackt ist,
möchte ich, dass Sie es über einen Google
Drive- oder Dropbox-Link auf
Skillshare hochladen über einen Google
Drive- oder Dropbox-Link auf
Skillshare Ich hoffe, bald all
Ihre Projekte zu sehen.