Willkommen zurück meine Spieleentwickler zu einem brandneuen, extrem aufregenden Video.
Wir haben zuvor Kugeln erstellt,
wir haben sie zum Fliegen gebracht,
aber jetzt nutzen wir die Kraft der Aufklärung,
die Macht der Instanziierung,
die Macht der Instanziierung.
Ich meine, wir haben in diesem Video so viel gelernt,
wir mit dem Schießen von Kugeln in verschiedene Richtungen beginnen können.
Wie cool ist das?
Wie Sie sehen können, schießen mehrere Kugeln aus unserer Schrotflinte.
Verschwenden wir also keine Zeit mehr.
Und lass uns anfangen.
Oh, okay, also Zeit, Stundenkugeln abzufeuern.
Aber wir wollen, dass mehrere Kugeln abgefeuert werden.
Wir wollen nicht nur eine Kugel haben.
Was sollen wir also tun?
Sollen wir diese Kugel mehrmals duplizieren?
Übrigens mache ich das mit Control D. Nun,
offensichtlich nicht, das ist keine gute Idee.
Was wir tun müssen, ist, dass wir etwas erstellen müssen, das als Prefab bezeichnet wird.
Was ist ein Präfix?
Lass mich es dir zeigen.
Ein Prefab bedeutet im Grunde genommen, dass es
ein zuvor hergestelltes Spielobjekt handelt, das wir mehrmals verwenden können.
Es gibt viele, viele Vorteile,
Prefabs zu haben, wenn es
darum geht, neue Szenen zu erstellen und verschiedene Dinge zu tun.
Lassen Sie uns ein paar wichtige Dinge über Prefabs durchgehen.
Es ist eine Vorlage für ein bestimmtes Spielobjekt.
Genau wie wir die Kugel mit seinen spezifischen Komponenten an einem bestimmten Collider haben,
können wir daraus ein Prefab erstellen und mehrere Aufzählungszeichen mit denselben Komponenten
erstellen, mit denselben Sprites
, demselben Collider usw.
Prefab-System können Sie ein Spielobjekt mit all seinen Eigenschaften speichern.
Genau wie gesagt,
kannst du ein Prefab der Kugel erstellen und dann
mehrere Kugeln mit den gleichen Eigenschaften,
Spielkomponenten usw. erstellen.
Wofür benutzen wir es?
Wir können ein auf eine bestimmte Weise konfiguriertes Spielobjekt wiederverwenden.
Daher die Kugel, die wir mehrere erstellen können, aber mal sehen,
wir werden sehen, wie wir viele Objekte gleichzeitig bearbeiten können.
Nehmen wir zum Beispiel an, wir wollen die Kugeln schneller machen.
Sollten wir alle Kugeln oder jedes Mal wechseln?
Nein, wir können nur das Prefab ändern und jede andere Form dieses Prefabs wird geändert.
Wir können dasselbe Objekt in verschiedenen Szenen verwenden, viel einfacher,
wenn wir mit der Erstellung mehrerer Ebenen beginnen.
Du weißt, was ich damit meine, und das war's.
Also lasst uns ein Prefab erstellen.
Jetzt ist der Prozess der Erstellung eines Prefabs extrem, extrem schwierig.
Also sei sehr, zieh deine Mützen an, hör auf
alles und sieh zu, was ich mache.
Das ist sehr wichtig.
Zunächst erstellen wir einen Ordner, der die Prefabs ist.
Ich gehe hier rein und jetzt erstelle ich ein Prefab aus dieser Kugel.
Was wir also tun müssen, ist, dass wir diese Kugel zuerst hierher ziehen müssen.
Und das war's.
So erstellen wir ein Prefab.
Was wir jetzt tun können, ist, dass wir dieses Aufzählungszeichen einfach hierher ziehen
und mehrere Aufzählungszeichen erstellen können.
Und Sie können sehen, dass die Kugel drei,
zwei Bullet 1, alle die gleichen Komponenten im Inspektor haben.
Und Sie können wissen, dass ein Spielobjekt ein Prefab ist, indem Sie sich seinen Gelehrten ansehen.
Sie können also sehen, dass der Hintergrund kein Prefab ist,
aber die Spielerkugel liegt daran, dass er ein bisschen blau ist.
Sagen wir zum Beispiel,
ich möchte ein Prefab aus dem Zimmerspieler erstellen.
Da sind wir los.
Jetzt ist die Dump-Layer ein Prefab und ich kann eine weitere und eine dritte hinzufügen.
Und wenn ich das Spiel führe,
haben wir jetzt drei Doom Spieler, die am A herumlaufen.
Da gehst du. Wir haben eine coole Armee.
Die drei Musketiere, wir nennen sie die drei.
Ich bin mir nicht sicher. Okay. Musketiere, das reicht.
Lassen Sie uns alle Kugeln löschen, die wir haben.
Wir können dieses Original sogar löschen und wir können es immer noch aus unseren Prefabs hinzufügen.
Und lasst uns den Spieler als Prefab hier behalten.
So sehr nett.
Jetzt haben wir alles fast eingerichtet und wir können anfangen zu kreieren und die Kugeln abzufeuern.
Gehen wir also in den Spieler-Controller und fangen genau damit an.
Jetzt werde ich diese Kugeln vom Spieler-Controller abfeuern.
Aber denken Sie später daran, dass wir ein anderes Skript brauchen werden, um das Feuer für uns zu erledigen.
Von jetzt an nur eine Vorwarnung.
Zuallererst erstelle ich ein serialisiertes Feld, das vom Typ Spielobjekt ist.
Und dies wird der Hinweis auf die Kugel sein,
oder wir können es als spielbar bezeichnen.
Keine Sorge.
Lassen Sie es uns vorerst als Kugel behalten.
Wir werden einen Hinweis auf etwas brauchen, das als Transformation oder Transformations-Feuerposition bezeichnet wird
.
Und warum brauchen wir das?
Nun, woher kommt unsere Kugel heraus?
Offensichtlich wird es aus unserer Schrotflinte herauskommen.
Und wo ist der Brennpunkt der Schrotflinte?
Sollte es aus der Mitte der Schrotflinte herauskommen,
wäre das nicht so schön.
Was wir tun werden, ist, dass wir einen Feuerpunkt hinzufügen.
Und dieser Feuerpunkt wird ein leeres Spielobjekt sein,
das ein Kind der Waffen sein wird.
Also Feuerpunkt.
Und beachte, was jetzt passiert,
denn sie schichten nicht, ist ein Prefab.
Sie werden feststellen, dass die Aktenanleihe ein kleines Plus hat.
Was heißt das?
Wenn ich hier auf die oberste Ebene klicke,
kann ich auf ihn doppelklicken und ihn separat öffnen.
Sie werden feststellen, dass er den Feuerpunkt nicht hat
, weil das Prefab noch nicht angepasst wurde.
Und man sieht es an der Farbe des Feuerpunktes und des kleinen Pluspunkts.
Also können wir in den Do-Spieler gehen.
Hier drin haben wir die Überschreibung.
Wenn wir nach unten klicken,
werden Sie feststellen, dass Dinge, die wir geändert haben, aber noch nicht auf das Prefab angewendet haben.
Und Sie können sehen, dass wir entweder die spezifische Sache anwenden können oder wir können, können alles anwenden.
Wenn wir also auf alle anwenden klicken,
der Untergangsspieler,
wenn wir auf ihn doppelklicken,
hat der Untergangsspieler, wenn wir auf ihn doppelklicken, den Feuerpunkt,
das Prefab des Untergangsspielers hat auch den Feuerpunkt.
Also bewegen wir den Feuerpunkt hier und vor die Schrotflinte.
Aber wenn wir noch 11 der Kuppelspieler hinzufügen,
werden Sie feststellen, dass sich der Feuerpunkt noch in der Mitte befindet,
während sich der Feuerpunkt des Untergangs hier vor der Schrotflinte befindet.
Oh, und Sie können auch sehen, wenn ich auf den Feuerpunkt klicke, die Transformation,
die Position hat diese kleine blaue Linie und dies bedeutet, dass
wir etwas vom Prefab geändert haben.
Also gehe ich in den Doom Player,
klicke auf Override und wende alle an.
Aber wir wenden nicht immer alle an.
Behalte das im Hinterkopf. Wenn ich auf Alle anwenden klicke.
Wenn ich hier zum Doom Player zurückkehre,
wähle ich den Dateizeiger aus und er erschien magisch am Ende der Schrotflinte.
Sie beginnen also zu verstehen, wie nützlich ein Prefab sein kann
wenn es darum geht, mehrere Elemente von Prefab zu ändern, die wir erstellt haben.
Später. Während wir den Kurs durchlaufen,
machen wir komplexere Dinge.
Sie werden sehen, wie effizient das System ist.
Im Moment löschen wir den Doom Player und lassen uns weitermachen.
Also haben wir unseren Feuerpunkt,
wir haben unsere Kugel.
Das nächste, was wir tun wollen, ist, dass wir anfangen wollen, 0 zu feuern.
Also habe ich das an der falschen Stelle hinzugefügt, entschuldigen Sie mich.
Wir haben im Player Bullet Controller gearbeitet und wir
hätten im Layer-Controller arbeiten sollen, nicht im
Player-Bullet-Controller.
Das ist ein bisschen verwirrend.
Ich habe die Spielerkugel nicht bemerkt. Keine Sorge.
Wir kontrollieren einfach X,
wodurch sie von hier aus geschnitten werden,
und wir fügen sie hier ein.
Entschuldigung für die Verwirrung.
Ich entschuldige mich für meinen Mangel an Konzentration.
Spar dir das auf.
Geh zurück.
Jetzt werden wir sehen, dass wir einen Verweis auf das Aufzählungszeichen haben,
einen Verweis auf die Dateiposition oder den Feuerpunkt ,
der der Feuerpunkt sein sollte.
Spar das wieder in unserem Spiel auf.
Bitte verschwende nicht meine Zeit und nichts klebt.
Feuerpunkt und die Kugel werden das Vermögen sein.
Prefabs.
Ziehen Sie die Kugel hinein.
Und da sind wir los.
Wir können die Änderungen auch anwenden und hier.
Was müssen wir also tun?
Wir wollen jedes Mal, wenn wir einen Knopf drücken,
der die linke Maustaste sein wird,
eine Kugel abfeuern.
Also lasst uns das machen.
Wir werden eine Bedingung und das Update erstellen
, bei dem wir prüfen, ob wir eine bestimmte Maustaste drücken.
Aber wie wenn wir in die Einheit gehen, sind Dokumentationen.
Wir können sehen, dass wir eine Eingabe haben, um die Maustaste herunterzubekommen.
Wenn wir die Beschreibung lesen,
können wir sehen, dass sie während des Frames ein True zurückgibt, den der Benutzer
der angegebenen Maustaste gedrückt hat, und wir können sogar ein Beispiel hier sehen.
Wenn der Eingabepunkt den Boss Button nach unten 0 bekommt
, drücken wir die primäre Taste
, die die linke Maustaste sein wird,
die als d rechte Maustaste.
Und die beiden sind die Mitte,
die das kleine Rad ist.
Also hier drin
lösche ich dieses Debug-Punktprotokoll.
Ich überprüfe, ob der Eingabepunkt die Maustaste auf 0 erhält.
Was machen wir hier drin?
Nun, wir wollen etwas tun, das als Instanziierung bezeichnet wird.
Was ist das? Zurück?
Und Unity's Dokumentation können wir sehen, dass wir ein Objekt instanziieren können.
Lasst uns die Beschreibung lesen.
Es gibt ein Objekt zurück, das Kleidung instanziiert hat
, oder wir erstellen einen Klon des Prefabs, das wir haben.
Klont das Objekt original und gibt den Klon zurück.
Diese Funktion kann ein Objekt ähnlich dem Duplikat usw. kopieren.
Sie können alles darüber lesen,
und so können wir es verwenden.
So können wir das Objekt einfach instanziieren,
was auch immer es ist, ohne jeglichen Zusatz.
Wir können ein Objekt instanziieren und es zu einem Kind eines bestimmten Elternteils machen, das wir wollen,
was sehr hilfreich ist.
Wir können in einer bestimmten Welt und einem bestimmten Raum instanziiert werden.
Wir können Positionsdrehung und ein Elternteil hinzufügen.
All dies ist also sehr wichtig.
Jetzt, da Sie wissen, wie Instanziierung funktioniert,
ist es Zeit für eine Herausforderung.
Und Ihre Herausforderung wird darin bestehen, die Bullet-Präfabs zu instanziieren.
Sehen Sie sich also das Beispiel der Instanziierung in Unity's Dokumentation an.
Objekte sollten sein oder das ursprüngliche Objekt sollte das Prefab der Aufzählung sein.
Stellen Sie sicher, dass sich die Position an der Fünf-Position befindet.
Die Rotation befindet sich ebenfalls an der Fünf-Position.
Und ich gebe dir einen kleinen Hinweis, wenn du ihn nicht brauchst, du weißt,
wie man kreiert.
Mach weiter und mach die Herausforderung.
Wenn nicht, verwenden Sie die oberste Position und die Drehung des Feuerpunktes, um auf die Position und Drehung zuzugreifen
.
Also pausiere das Video sofort.
Ich weiß, dass Sie noch nicht wissen, wie man Instanziierungen erstellt,
aber dies ist der perfekte Zeitpunkt, um sich selbst zu testen,
über Ihre Grenzen zu gehen oder was Sie für Ihre Grenzen halten.
Also pausiere das Video sofort.
Geh zum Shalon.
Was wir tun werden, ist, dass wir instanziieren,
die Klammern öffnen werden.
Und wir können genau hier alle Möglichkeiten sehen, die wir haben.
Aber wir wissen bereits aus den Dokumentationen, wie man es benutzt.
Welches ist das Originalobjekt, das wir verwenden werden?
Es wird die Kugel sein, auf die wir den Hinweis bekommen haben.
Was ist die Position, die wir dieses Aufzählungszeichen hinzufügen möchten.
Es wird die Punktposition des Feuerpunkts hinzugefügt.
Und weil wir eine Position hinzugefügt haben,
möchten wir auch eine Rotation hinzufügen, und es wird einfach die Drehung des Feuerpunktes sein.
Spar dir das auf.
Wenn wir jetzt mit der Maustaste klicken, die ungleich Null ist,
werden wir die Kugel instanziieren,
die wir an der Feuerpunktposition verweisen
, die wir mit der Drehung der fernen Punkte erstellt haben.
Warum geben wir die Feuerpunktrotation an?
Denn wenn ich auf den fernen Punkt klicke,
siehst du genau hier, wie er gedreht wird.
Wenn ich den Arm gerade drehe, weil der Feuerpunkt ein Kind der Waffen ist, werden
Sie jetzt feststellen, dass dies die Richtung ist,
obwohl die Rotation immer noch 0 ist.
Aber die Richtung, die Sie genau hier sehen können,
wenn Sie sehen können, hat sich dies von global zu lokal geändert.
Sie werden sehen, wie der Feuerpunkt gerichtet ist.
Also werde ich wieder auf 0 zufrieden stellen.
Und die Rotationen sind manchmal komisch.
Es geht nicht nur um 0. Wenn wir uns die Position ansehen,
wenn wir die Drehung ändern,
werden Sie feststellen, dass sich auch die Position ändert.
Es ist ein bisschen verwirrend.
Deshalb verwenden wir normalerweise Quaternions-Rotationen in Unity sehr zweifelhaft.
Wie auch immer, das sparen wir uns.
Wir werden unser Spiel ausführen und jetzt können wir unsere Kugeln abschießen.
Wie cool ist das?
Schau dir an, wie viele Kugeln wir erstellt haben.
Aber wie Sie sehen können,
zerstören sie sich selbst, wenn wir viele Kugeln abschießen.
Das ist also ein No-No.
Wenn das erledigt ist, hoffe ich,
dass es Ihnen gefällt.
Stellen Sie sicher, dass Sie die Änderungen im nächsten Video
Wir machen unsere Aufzählungszeichen weit
automatisch, ohne die Taste jedes Mal drücken zu müssen.
Obwohl dies eine Schrotflinte ist,
machen wir es zu einer automatischen Schrotflinte.
Also übernehme die Änderungen
und wir sehen uns im nächsten Video.