Unreal Engine 5 Rapid Prototyping: Breakout (Blueprint für Anfänger) | Ian Bradley | Skillshare
Suchen

Playback-Geschwindigkeit


1.0x


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

Unreal Engine 5 Rapid Prototyping: Breakout (Blueprint für Anfänger)

teacher avatar Ian Bradley, Technical Designer

Schau dir diesen Kurs und Tausende anderer Kurse an

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

Schau dir diesen Kurs und Tausende anderer Kurse an

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

Einheiten dieses Kurses

    • 1.

      Einführung in den Kurs

      1:07

    • 2.

      Breakout-Projektübersicht

      1:23

    • 3.

      Breakout: Einrichten des Projekts + Ein Level erstellen

      6:19

    • 4.

      Breakout: LightingTheArena

      1:32

    • 5.

      Breakout: Ein Paddle erstellen

      23:25

    • 6.

      Breakout: Paddel verfeinern (Optional)

      5:09

    • 7.

      Breakout: Erstellen des Balls

      6:50

    • 8.

      Breakout: Herstellung der Blöcke

      7:12

    • 9.

      Breakout: FailureState

      9:23

    • 10.

      Breakout: WinState

      7:26

    • 11.

      Breakout: UI

      7:00

    • 12.

      Paket- und Exportprojekt für Feedback

      1:56

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

Von der Community generiert

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

8

Teilnehmer:innen

1

Projekte

Über diesen Kurs

Erstelle deine eigenen Spiele mit UE5 von Grund auf! Erstelle ein Breakout-Puzzle-Spiel in einer 3D-Engine durch das einfache Blaupausen-Skripting

Aktualisiert für Unreal Engine 5.4!

Lerne Unreal Engine 5 von Grund auf kennen, indem du drei verschiedene Prototyp-Spiele machst.

Dieser temporeiche Kurs führt dich auf lustige interaktive Weise vom Anfänger bis zum Anfänger! Alle Inhalte in diesem Kurs wurden von meinen Lehrinhalten angepasst, die in der preisgekrönten akademischen Welt in England unterrichtet werden. Sie wurden entwickelt, um alle, die einen Computer verwendet haben, um sich vorzubereiten, zu unterrichten und in die Welt der Spieleentwicklung zu pushen. Dieser temporeiche Kurs wurde in drei Prototypen in drei Kursen aufgeteilt, in denen Ihnen die Grundlagen und Kernprinzipien des Spieldesigns und Scripting beigebracht werden. Dieser Kurs enthält Aufnahmen aus mehreren Lehr-Livestreams.

Triff deine:n Kursleiter:in

Teacher Profile Image

Ian Bradley

Technical Designer

Kursleiter:in

Hello, I'm Ian. A Technical Game Designers living in england. Currently working in a AAA studio and have spent time teaching Unreal Engine 5 all over Europe.

Vollständiges Profil ansehen

Level: All Levels

Kursbewertung

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

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

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

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

Lerne von überall aus

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

Transkripte

1. 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.