Willkommen zurück Meine Lieblingsspielentwickler zu einem brandneuen sehr langen Video.
Und dieses hier haben wir Animationen für das Blut erstellt.
Wir haben etwas über Arrays erfahren.
Und jetzt können Sie in der Hierarchie sehen, wenn wir unseren Feind erschießen,
Sie können sehen, dass verschiedene Arten von Blut instanziiert werden.
Also zum Beispiel, jetzt haben wir das Blut dafür,
dann haben wir die drei.
Was passiert also?
Wir haben viele Bloods und sie instanziieren
irgendwie zufällig, weil wir ein Array verwenden.
Verschwenden wir also keine Zeit mehr und lasst uns anfangen.
Also Zeit, unseren Feinden einen Herdeneffekt hinzuzufügen.
Lassen Sie uns weitermachen und zuerst
all diese Effekte erzeugen.
Also gehe ich in die Sprites,
wir haben den Blutspritzer.
Ich erstelle einen Ordner für den Blood Impact Splatter.
Vielleicht hätten wir das den Tod nennen sollen, aber keine Sorge,
wir nennen das die Impact Splatters.
Wir wissen also, dass Frankreich und ich auf die Ressourcen eingehen werden
und Sie sehen, dass ich Ihnen mehr Blut zur Verfügung gestellt habe.
Sie können diese entweder verwenden und aufschneiden oder Sie können diese fünf genau hier verwenden.
Wählen wir alle aus und ziehen sie hier in den Ordner.
Warum benutzen wir alle von ihnen?
Weil wir ein bisschen Diversifikation zwischen 1D 2D,
3D und so weiter haben wollen.
Sie können also sehen, dass jeder von ihnen nur ein bisschen anders ist als die anderen.
Also speichere ich das und erstelle die Animationen.
Und es ist ziemlich einfach, denke ich.
Also mache ich mit der Magie des Editierens und benutze es in 1 Sekunde.
Also o k, willkommen zurück.
Wie hast du das alles bekommen?
Lass mich dir zeigen, was ich getan habe.
Zunächst einmal habe ich fünf Blut für die 55 Blutwirkungen geschaffen, die
wir jetzt haben, sie unterscheiden sich nicht sehr voneinander,
aber es gibt einen leichten Unterschied.
Wenn wir das ausführen,
können Sie sehen, dass dies der erste ist.
Dies ist der zweite, der ein bisschen anders ist.
Der erste ist etwas spritziger.
Die dritte, mal sehen.
Sie können sehen, dass es mehr fällt als das zweite.
Sie können also sehen, dass dies die beiden sind.
Dieser ist drei.
Es fällt ein bisschen mehr runter.
Ich weiß nicht, wie ich es nennen soll.
Der vierte, man sieht, dass es sehr klein und sehr konzentriert ist.
Und der fünfte, den Sie sehen können, ist sehr GUI.
Was werden wir also tun?
Das werden wir alles retten.
Ich gehe hier in die Prefabs und erstelle einen Ordner für
die Lot-gesicherten Wimpern und ich werde das Blut 1, 2, 3, 4 und 5 ziehen
.
Das werde ich alles retten.
Ich lösche sie aus der Hierarchie.
Und jetzt haben wir das Blut hier drin.
Jetzt denke ich, dass wir sie wahrscheinlich zerstören müssen und nur ein bisschen,
aber im Moment machen wir uns darüber keine Sorgen.
Wir beheben das, wenn das Problem auftritt.
Was werden wir also tun?
Wir wollen diese Blutungen jedes Mal instanziieren, wenn der Feind verletzt wird?
Und die Art und Weise, wie wir das tun, besteht vor allem darin,
offensichtlich einen Hinweis darauf bekommen, genau wie wir es mit dem Todesspritzer getan haben.
Dies wird also als Schaden-Effekt bezeichnet.
Wegen des Schadens.
Der Schadenseffekt.
Lass es uns einfach dabei behalten oder du kannst den Schaden Blutspritzer nennen, wie du willst.
Und jetzt werden wir es einfach
jedes Mal instanziieren, wenn wir verletzt werden.
Also hier unten werden wir das duplizieren.
Bewegen Sie es ein bisschen nach oben.
Und wenn Sie sich daran erinnern, wie wir Control D duplizieren,
wie haben wir dies sehr gut bewegt, indem wir Alt gedrückt halten und die Pfeiltasten benutzt haben.
Jetzt instanziieren wir v.
Was sollen wir den Schadenseffekt instanziieren?
Und es liegt an der Transformationsposition des.
Also werde ich das alles retten.
Ich gehe zurück in unser Spiel.
Ich wähle den Feind hier aus, wir haben die schädliche Wirkung,
und lass uns einen blauen wählen.
Spar dir das auf.
Und jetzt werden wir das Spiel starten.
Und jetzt erschieße ich unseren Feind.
Da sind wir los. Du kannst das Blut sehen.
Offensichtlich wird es wiederholt.
Okay, jetzt müssen wir diese Effekte jedes Mal instanziieren, wenn der Feind verletzt wird.
Wo instanziieren wir also den Effekt oder die Auswirkungen der Kugeln?
Nun, wir instanziieren sie im Layer Bullet-Controller.
Sie können also sehen, dass wir sie hier instanziieren.
Was wollen wir jetzt tun, wenn wir auf eine Wand stoßen,
wir haben diesen Bullet-Impact-Effekt.
Aber wenn wir einen Feind treffen,
wollen wir einen Lasteffekt haben.
Also werde ich diese Zeile genau hier duplizieren.
Und ich nenne das „Reife“.
Ich nenne es die Schadensfakt.
Weil dies bedeutet, dass es eine Art Schaden geben wird, wenn wir Schaden
haben, bedeutet, dass es Blut gibt, bedeutet, dass es etwas anderes gibt.
Und was wir hier drin tun werden, ist, dass ich jedes Mal, wenn wir einen Feind treffen
, die Klammern auföffne.
Und ich werde gleich hier hinzufügen, dass wir den Schadenseffekt auf die Transformationsposition und die Transformationsdrehung instanziieren
und instanziieren.
Aber was wir nicht haben wollen, als wenn wir
den Feind treffen und trotzdem einen Kugeleffekt instanziieren.
Was ich also tun werde, ist, dass ich hier eine andere Aussage mache.
Und ich werde diese ganze Linie in diese andere Aussage verschieben.
Wie mache ich das?
Indem Sie Alt gedrückt halten und die Pfeiltasten auf einer der Zeilen verwenden, die ich bewegen möchte.
Was passiert jetzt, wenn die Kugel
Auswirkungen hat oder eine Kollision hat und diese Kollision einen Tag eines Feindes hat,
dann werden wir diesen Blutspritzer haben
und wir werden auf den Tierkontrolleur zugreifen und Schaden verursachen.
Wenn nicht, wenn es nicht der Feind ist,
was bedeutet, dass wir schlagen,
weiß ich nicht, was es ist.
Wir werden den Kugel- und Rückeneffekt haben.
Also werde ich das speichern.
Ich gehe hier wieder rein.
Und hier werde ich nach meiner Kugel in den Prefabs suchen, Prefabs
V Bilayer Kugel hier drin,
wir sollten den Spieler haben,
aber ich sollte den Schaden-Effekt haben.
Ich sperre das im Inspektor
damit du diesen kleinen Login hier hast, du kannst darauf klicken.
Was auch immer Sie drücken,
Sie wechseln nicht vom Spielerbuchinspektor.
Und das ist hilfreich. Warum? Weil wir diese Datei jetzt öffnen können,
wählen Sie das Blut
und fügen wir sie hier in den Sachschaden ein,
speichern Sie das alles, führen Sie das Spiel aus.
Und jetzt sollten wir sehen, dass wir diese Auswirkungen haben, wenn wir auf die Wand schießen.
Wenn wir einen Feind erschießen.
Da sind wir los.
Wir haben das Blut wiederholt,
was bedeutet, dass wir die Animationen ändern müssen.
Und ich habe dir nicht gesagt, dass ich Animationen erstellt habe.
Kann das einfach entfernen.
Und lass mich diesen Ordner löschen.
Ich hatte es versehentlich.
Also spritze eins, entferne das.
Splash, um das vom Looping des zu entfernen,
oops, ich habe es versehentlich eingeschaltet. Schalt es aus.
Schalten Sie aus. Also los gehst du.
Wir haben alle Animationen nicht auf Looping, okay, außer das,
führe das Spiel jetzt aus, wenn wir den Feind sollten,
wir sollten den Blutspritzer von Blut sehen.
Okay, das ist also in Ordnung und Dandy und alles ist gut.
Aber wir haben aus gutem Grund fünf Fakten.
Wie werden wir sicherstellen, dass einer von ihnen gerendert wird?
Und nicht nur das, wie werden wir sicherstellen, dass
eine Zufallszahl davon gerendert wird?
Wir brauchen also mehrere Blutgegenstände hier drin.
Was wir tun können, ist, dass wir dies einfach fünfmal duplizieren können.
Schaden 123 usw.
Wir haben also fünf Schäden, die wir nach dem Zufallsprinzip anrufen können.
Das ist eine Lösung, aber es ist nicht die optimale Lösung, denn zum Beispiel
wollen wir vielleicht 17 Schadenseffekte haben.
Müssen wir 17 Variablen erstellen?
Nun, das kannst du, aber zuallererst ist es sehr umständlich.
Zweitens ist es keine gute Möglichkeit, die Ressourcen zu nutzen.
Was ist eine gute Möglichkeit, Ressourcen zu verwenden, um etwas zu erstellen, das als Array bezeichnet wird?
Was ist ein Array?
Mit einem Array können Sie mehrere Objekte desselben Typs in einer einzigen Variablen speichern.
So können wir weitermachen und einen int erstellen.
So zum Beispiel ein Array von Ganzzahlen,
nämlich die Anzahl der Feinde.
So kann ich zum Beispiel 4, 6, 11 und 71 lagern
.
Und jede dieser kleinen Daten ist im Array.
Sie können sehen, dass wir zuerst den Typ wie eine Variable haben
,
aber den einzigen Unterschied, wir fügen diese beiden eckigen Klammern hinzu.
Wir haben den Namen und wir haben die Werte.
Und jeder dieser Werte ist oder hat einen Index.
So sind die vier beispielsweise bei 0 indiziert.
Und denken Sie daran, dass wir immer bei 0, nicht bei 10 anfangen zu indexieren.
Die Sechs liegt bei Index eins,
die 11 liegt bei Index zwei
und die drei sind am Index.
Ich meine, 71 ist bei Index 3 und wir können so viele haben, wie wir möchten.
Jetzt, da Sie ein wenig verstehen, was Arrays sind,
und noch eine Sache können wir die Länge eines Arrays bestimmen.
Die Länge dieses Arrays beträgt beispielsweise vier, da wir vier Werte haben.
Also aus dem Weg, diese kleine Erklärung,
versuchen wir es ein wenig zu implementieren und Sie können sehen, wie das funktioniert.
Also gehe ich zurück und Einheit oder eigentlich nicht hier drin.
Und wie konvertieren wir diesen Schadenseffekt in ein Array?
Wir fügen einfach diese beiden eckigen Klammern hinzu.
Und jetzt denke ich, dass es angebracht ist, diesen nicht Schadenseffekt zu nennen,
sondern Schadenseffekte mit einem S am Ende,
weil es jetzt Plural ist.
Also verwenden wir unser praktisches Kontrollwerkzeug oder,
und wir fügen am Ende einfach ein S hinzu, drücken Sie die Eingabetaste.
Jetzt ist der Schadenseffekt hier anders,
aber Sie können sehen, dass die Instanziierung jetzt falsch ist.
Warum? Weil wir versuchen, eine Reihe von Effekten zu instanziieren, die nicht gut funktionieren
, aber wir werden das beheben,
oder Sie werden das später in der Herausforderung beheben.
Lassen Sie uns zunächst den gesamten Schaden hinzufügen und sehen, wie er im Inspektor aussieht.
Wenn ich also zu meiner Kugel gehe,
in der Prefabs-Spieler-Kugel,
siehst du genau hier, wo ist es?
Also stimmt etwas nicht.
Was ist das Problem?
Und die Konsole? Doppelklicken und sehen wir uns an.
Oh, lass mich das einfach auskommentieren.
Speichern Sie, dass das Skript manchmal, wenn Sie einen Fehler haben
, nicht richtig zusammengestellt wird.
Jetzt, wo wir dieses Problem beheben,
können wir genau hier sehen, dass wir Schadenseffekte haben,
kein einziges Element mehr,
aber wir können es öffnen und eine Liste von Elementen haben.
Was wir tun können, ist, dass die Array-Größe zwei ist. Drücken Sie Enter.
Jetzt haben wir zwei Elemente,
oder wir können es auf altmodische Weise machen und genau hier das Plus treffen und ein Objekt hinzufügen.
Aber ich zeige dir einen noch raffinierten Trick.
Ich sperre den Inspektor hier ein.
Ich gehe zu meinen Prefabs.
Ich klicke auf den ersten, halte gedrückt,
umschalt, klicke auf den letzten.
Also habe ich alle ausgewählt und ziehe sie auf den schädlichen Effekt.
Und voila, jetzt hast du warum habe ich Wasser benutzt?
Jetzt haben wir die 50 Bloods und Sie können die Elemente sehen, die von 0, 1, 2, 3 und 4 nummeriert
sind.
Jetzt besteht der nächste Schritt darin, einen von ihnen nach dem Zufallsprinzip zu instanziieren.
Und ich kann Ihnen zunächst zeigen,
dass dies eine Herausforderung sein wird.
Ich bin mir nicht sicher, was ich dir zuerst zeigen soll.
Lass mich dir das zuerst zeigen.
Wir haben also etwas namens Zufallsbereich,
der eine Zufallszahl zurückgibt.
Los, sieh dir nach oben.
Jetzt ist es Zeit für deine Herausforderung.
Und Ihre Herausforderung besteht darin, einen Zufallseffekt zu erzeugen.
Also Nummer eins: Erstellen Sie einen zufälligen Splash von 0
als Mindestwert und die Länge des Arrays als Maximalwert.
Jetzt bist du ein bisschen verwirrt.
Worüber redet Michael?
Wieder gehen wir wieder zu diesem zurück.
Das Minimum, das Maximum.
Da gehst du. Benutze das, schau danach.
Wieder hier drin.
Weisen Sie diesen Wert einer Ganzzahlvariablen zu, die Sie lokal erstellen möchten.
Erstellen Sie also eine zufällige Ganzzahl und
weisen Sie ihr eine Zufallszahl zu.
Suche nach zufälligen Latrinen 0.
Okay, also habe ich das hinzugefügt.
Und schließlich gebe ich dir einen Hinweis.
Wenn Sie den Hinweis nicht möchten,
es darum, wie wir die Länge des Arrays erhalten.
Ich gebe dir den Hinweis. Wenn nicht,
pausiere das Video und gehe zur Herausforderung.
Sie möchten den Hinweis haben, verwenden Sie die Punktlänge, um die Länge des Arrays zu ermitteln.
Man kann sogar nachschlagen ein paar Beispiele sind nein,
das ist eine schwierige Herausforderung.
Ich würde als Anfänger eine Skala von eins bis 10 hinzufügen,
das ist eine 10, weil Sie zuerst
gerade Arrays gelernt haben.
Zweitens verwenden Sie Zufall.
Ich weiß, dass es schwer ist.
Nehmen Sie sich Zeit, pausieren Sie das Video,
nutzen Sie Ihre Fähigkeiten zum Lösen von Problemen, alles,
was Sie erworben haben,
und machen Sie sich keine Sorgen darüber, wenn Sie die Herausforderung beenden.
Wenn du nicht weißt, wie es geht,
mache ich es vor dir, aber versuche es.
Am wichtigsten ist, gib dir wenigstens fünf Minuten, um es zu versuchen.
Also pausiere das Video jetzt und gib dein Bestes und den Chaldäer.
Okay, willkommen zurück.
Wenn wir also einen Feind treffen,
werden wir eine zufällige Variable und lokal erstellen. Lokal
bedeutet also lokal drinnen, jedes Mal,
wenn wir einen Feind treffen,
werde ich sagen, dass wir eine ganze Zahl haben Variable,
die der ausgewählte Splatter sein wird.
Und es wird einem zufälligen Bereich entsprechen.
So wie wir es in den Beispielen getan haben,
und Unity's Dokumentation wird zwischen 0 und dem Todesspritzer liegen oder nein,
wir es nennen, scheinen die Schäden betroffen zu sein.
Der Schaden beeinflusst die Punktlänge.
Spar dir das auf.
Was jetzt passiert,
haben wir diese ganze Zahl.
Es ist gleich einem zufälligen Bereich.
Und Sie können genau hier sehen, dass wir das Minimum haben.
Warum ist es also 0? Weil wir
eine Zufallszahl aus dem Array auswählen möchten, das wir hier haben.
Und der erste Index ist 0
und der letzte Index wird die Schadenslänge sein.
Aber es gibt etwas sehr Wichtiges, auf das ich dich hinweisen möchte.
Und wenn wir uns die Erklärung ansehen, können Sie sehen,
dass das Minimum inklusive ist, während das Maximum exklusiv ist.
Was heißt das? Inklusiv?
Das bedeutet, dass wir einen Zufall von 0 bis zum Maximum wählen können.
Also ist 0 drin.
0 kann eine dieser Zufallszahlen sein.
Aber das Maximum, das ist die Länge, kann nicht.
Und das ist wichtig, da die Indizierung in einem Array,
wenn wir die Länge wählen,
die Länge immer größer ist als der letzte Index.
Denn wenn ich zurück gehe und das Beispiel hier drin, lass mich es dir zeigen.
Sagen wir also, wie lang ist dieses gesamte Array?
Es sind vier, weil wir vier Punkte haben.
Aber wenn ich versuche, auf die vierte Zahl in diesem Array zuzugreifen,
erhalte ich einen Fehler, da der Index 0, 1, 2, 3 ist,
wenn ich versuche, auf die vierte zuzugreifen,
also gibt es nichts,
ich bekomme einen Fehler und ich fange an zu weinen.
Nicht unbedingt, aber ich hoffe, du verstehst den Punkt.
Das nächste, was wir tun werden, ist, dass wir instanziieren wollen.
Jetzt, da wir unsere Zufallszahl haben,
was wir zwischen den Effekten tun können,
kann ich die Klammern öffnen und den ausgewählten Splatter zufällig verwenden.
Jetzt habe ich eine Zufallszahl, die zwischen 0 und der Länge minus eins liegt,
offensichtlich weil sie exklusiv ist.
Und jetzt kann ich die Schadenseffekte oder einen der Schadenseffekte nach dem Zufallsprinzip mit dieser Zahl instanziieren
.
Also hätte ich die 0 V1 sagen können,
aber ich habe den zufälligen Splatter ausgewählt.
Also lasst uns das aufheben.
Ich hoffe, du verstehst alles.
Wenn nicht, schauen Sie es sich einfach noch einmal an,
spielen Sie das Video vielleicht erneut ab, verstehen Sie alles.
Ich habe versucht, so detailliert wie möglich zu sein, während ich langweilig bin.
Ich denke, das ist eines der längeren Videos, aber keine Sorge.
Ich gehe in mein Spiel.
Wir werden das hier entfernen, ist wie der Feind.
Und übrigens
habe ich auch dafür gesorgt, dass all das Blut, das Sie hier sehen können,
die Sortierschicht als Feind.
Du kannst es also sehen. Und wo ist der Feind?
Ich werde ihm tausend oder zehntausend Gesundheit geben
nur damit wir alle Blutspritzer richtig sehen können.
Also komme ich dorthin, aber nah dran,
ich werde 12345 schießen.
Also los gehst du.
Du siehst, dass etwas nicht ganz stimmt,
also schieße ich.
Und was ist das Problem mit diesem 1, 0 Fall?
Also habe ich gerade das Problem und das Blut 5 gefunden, das ich hinzugefügt habe, das Blut.
Schau, wenn du die Animation spielst,
der letzte ist ein roter Punkt.
Also was ich tun werde,
werde ich den letzten entfernen. Und da gehst du.
Jetzt haben wir das nur, wenn das Blut an den Speeren endet.
Spar dir das alles auf.
Und lass mich einfach den Mond wählen.
Das Blut 5 und ein Leben verändert sich.
Löschen Sie es erneut in der Aufzählung. Lass es mich sehen.
Vielleicht weil wir etwas geändert haben, vielleicht Prefabs Bullet.
Okay. Arbeiten Sie immer noch, speichern Sie das,
gehen Sie zurück in unser Spiel.
Offensichtlich müssen wir all diese entfernen, also einen Schuh,
den Feind, mal sehen.
Wir haben verschiedene Blutungen.
Nein, es ist aus irgendeinem Grund immer noch da.
Warum ist das so? Es ist sehr nervig.
Okay. Also entdeckte ich, dass das Blut für
auch seinen letzten Rahmen hat wie diese roten lästigen Punkte.
Also lösche ich es und speichere das.
Ich lösche es sofort innerhalb des Prefab.
Also gehe ich einfach zum Prefab
doppelklicke auf die drei.
Mal sehen, ob dieser auch den kleinen nervigen roten Punkt hat, den du nach oben gehst.
Okay, also los geht's.
Es hat auch das speichern und Blut, um zu zoomen und die Animation zu sehen.
Okay, noch eine verdammte Arbeit.
Dieses Video gerät außer Kontrolle.
Also los geht's,
der letzte, das löschen wir auch.
Und eines ist mir aufgefallen
Ich möchte alle Prefabs auswählen und sicherstellen, dass alle
ihre Positionen bei 0 sind, damit sie nicht instanziiert werden.
Und an einem seltsamen Ort.
Wie auch immer, zurück zu unserem Spiel.
Ich hoffe, dieses Mal sollte alles einwandfrei funktionieren.
Also führe ich das Spiel aus und erschieße den Feind.
Da gehst du.
Das ist das dicke Blut.
Suckt sie nochmal zu.
Auch hier ist es eine andere Art von Blut. Du siehst, dass es blockiert ist.
Drei.
Blut für Blood eins.
Da gehst du. Sie können es wieder vereinfachen, Blut eins.
Wie Sie sehen können, haben wir, wann immer wir den Feind erschießen,
verschiedene Blutsorten instanziieren.
Sie können also sehen, dass es sich um eine Zufallszahl handelt, die ausgeschossen wird.
Also hoffe ich, dass es dir gefallen hat.
Offensichtlich gibt es ein paar Dinge, die wir beheben müssen, wenn unser Blut am Ende nicht zerstört wird
. Wir könnten eine andere Möglichkeit finden,
es zu reparieren, sobald wir ein paar zusätzliche Werkzeuge gelernt haben,
oder vielleicht können wir sie einfach mit dem Events und unsere Animationen,
was ebenfalls sehr hilfreich ist.
Ich hoffe es hat dir gefallen,
ich hoffe dir gefällt dieser Kurs.
Ich hoffe, du bist nicht ein bisschen demotiviert durch die Länge der Videos,
weil ich auf ein paar Details eingehe.
Ich hoffe, Ihnen gefällt die Tatsache, dass ich Fehler mache und sie hier drin behalte, damit wir sie zusammen reparieren und mir eine Bewertung hinterlassen können
, wenn es Ihnen Spaß macht.
Ich weiß, dass ich es schon mal gesagt habe.
Ich werde es vielleicht ein paar Mal sagen,
also stellen Sie sicher, dass Sie die Rezension machen, damit Sie sie nicht mehr hören müssen.
Und stellen Sie sicher, dass Sie die Commits machen.
Wir sehen uns im nächsten Video, in dem wir dem Feind und die Fähigkeit geben werden, uns zu erschießen.
Derzeit ist er also sehr schwach.
Wir wollen ihm eine Möglichkeit geben, sich zu verteidigen.
Wir sehen uns dann.