Unreal Engine 5 Blueprints für Anfänger: Erstellen von Videospielen und interaktiven Medien | Jordy Vandeput | Skillshare

Playback-Geschwindigkeit


1.0x


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

Unreal Engine 5 Blueprints für Anfänger: Erstellen von Videospielen und interaktiven Medien

teacher avatar Jordy Vandeput, Filmmaker and Youtuber

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

      2:03

    • 2.

      Die Blueprint-Schnittstelle

      10:00

    • 3.

      Ereignisse in der Unreal Engine

      5:24

    • 4.

      Steuerbare Entwürfe – Pfand- und Charakterklassen

      7:24

    • 5.

      Durchsuchen des Level-Blueprints

      4:32

    • 6.

      Einfache Spielmechanik - Bombenlegungssystem

      12:46

    • 7.

      Treffererkennung mit Zeilenverfolgung

      11:17

    • 8.

      Dynamische Simulationsereignisse

      9:13

    • 9.

      Blueprint-Funktionen – Wiederverwendbarer Code

      7:28

    • 10.

      Best Practices für Blueprint-Organisationen

      4:41

    • 11.

      Abschlussprojekte und Abschluss

      3:45

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

441

Teilnehmer:innen

4

Projekte

Über diesen Kurs

Lernen Sie Visual Scripting in Unreal Engine Blueprint von Grund auf kennen und erwecken Sie Ihre statischen Level zum Leben. Dieser anfängerfreundlich ausgebildete Kurs zeigt Ihnen, wie Sie Spielmechaniken und interaktive Systeme erstellen, ohne Code schreiben zu müssen. Durch praktische Projekte lernen Sie die Logik hinter Blueprints kennen – kopieren Sie nicht nur, was Sie sehen.



Neu bei Unreal Engine 5? Schauen Sie sich meinen Anfängerkurs an!

Was du lernen wirst:

  • Navigieren im Blueprint-Editor und Verständnis der Komponenten
  • Erstellen Sie Ihre ersten interaktiven Objekte, die auf Spielereingaben reagieren
  • Entwickle Spielmechaniken wie Bombenlegen, Sprühen und Farbänderungen bei Kollisionen
  • Verwenden von Ereignissen, Variablen und Funktionen zur Steuerung des Gameplays
  • Implementieren Sie Treffererkennung mit Line Trace für Shooting Mechaniken
  • Organisieren Sie unordentliche Entwürfe in übersichtliche, professionelle Grafiken
  • Probleme wie ein Profi mit bewährten Techniken debuggen

Warum Sie diesen Kurs besuchen: Jedes dynamische Element in Unreal Engine – ob eine Tür, die sich öffnet, ein Feind, der angreift, oder ein flackerndes Licht – erfordert Blueprints. Ohne sie bleiben eure wunderschönen Level statische Museen. Dieser Kurs verwandelt Sie von jemandem, der mit leblosen Szenen stecken bleibt, in jemanden, der alles interaktive erstellen kann.

Für wen geeignet: Perfekt für Anfänger, die Unreal Engine bereits geöffnet haben, sich aber verloren fühlen, wenn sie versuchen, Dinge tatsächlich etwas zu tun. Keine Programmiererfahrung erforderlich – wenn Sie verstehen, dass Sie dies tun müssen, wenn Sie verstehen, können Sie Blueprints beherrschen.

Was Sie aufbauen werden:

  • Drehen und Farbänderung von Objekten
  • Steuerbare Charaktere und Figuren
  • Interaktive Beleuchtungssysteme
  • Sprühfarbe-Graffiti-Mechaniker
  • Physikbasierte Bowling-Pins
  • Endprojekt: Randomisiertes Plattformspiel ODER dynamische Waldszene für Film-Renderings

Was du brauchst:

  • Unreal Engine 5 (kostenlos)
  • Grundlegende Computerkenntnisse
  • Wunsch nach interaktiven Erfahrungen

Enthaltene Ressourcen:

  • Alle Projektdateien mit kommentierten Blueprints
  • Zwei vollständige Abschlussprojekte mit Lösungen

Starren Sie nicht mehr auf statische Szenen. Erstellen Sie interaktive Welten. Schließen Sie sich Tausenden Teilnehmer:innen an, die bereits die Leistungsfähigkeit von Unreal Engine Blueprints genutzt haben.

Triff deine:n Kursleiter:in

Teacher Profile Image

Jordy Vandeput

Filmmaker and Youtuber

Top Teacher

Hi, I'm Jordy and I hosts one of the biggest YouTube channels about filmmaking & video editing; Cinecom.

With more than 2.5 million subscribers, we publish weekly tutorial videos. After graduating from film school in 2012, I immediately began teaching online where my real passion lays.

I've never liked the way education works. So I wanted to do something about it. With the classes I produce, I try to separate myself from the general crowd and deliver a class experience rather than some information thrown at a student.

Take a look at my unique classes, I'm sure you'll enjoy :-)

Vollständiges Profil ansehen

Level: Beginner

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