|
Actor Factory/Actor Factory Ex
|
Actor Factories & Actor Factory
Ex sind im allgemeinen dazu da, um KI gesteuerte Objekte
im Level zu spawnen. Sie können aber auch andere Items
spawnen.
Die wesentlichen Unterschiede zwischen Actor Factories und Actor
Factoy Ex's sind:
• Actor Factories können nur die Kontrolle über
ein KI Objekt übernehmen. Werden mehrere gespawnt, wirken
sich die Referenzen auf diese nicht weiter aus. Das heißt,
dass jegliche Aktion, die Objekt zugewiesen wird, sich auch
auf nur ein Objekt auswirkt, auch wenn sie mit einer anderen
Objekt Variable verbunden wurde. Deshalb scheint es nur sinnvoll
zu sein, wenn nur 1 Objekt kontrolliert werden soll.
• Actor Factory Exes bieten die individuelle Kontrolle
über jedes gespawnte Objekt an. Deshalb sinnvoll, falls
es eine Vielzahl an KI Objekten separat zu kontrollieren gilt.
• "Spawn Count" Limit: Bietet eine obere Grenze
der Anzahl an gespawnten Objekten an.
• "Spawned/Spawned #" kann dazu benutzt werden,
um eine bessere Kontrolle über eine spezielle Referenz
zu bekommen.
Diese Screensthos sind von einer Actor Factory und von einer
Actor Factory Ex, jedes mit einem SpawnCount von 2, was in den
Einstellungen zugewiesen wurde.
Lasst uns nun die Ins und Outs der Kismetelemente genauer betrachten:
• Spawn Actor: Spawnt einen Actor. Hier trifft das Signal
des Objekts in die Factory ein.
• Enable: Die Factory ist standardmäßig aktiv.
Sollte sie deaktiviert werden (disable) kann sie an diesem Verbindungspunkt
wieder aktiviert werden.
• Disable: Deaktiviert die Funktionalität dieser
Factory. Selbst wenn ein Signal eintrifft, wird es nicht verarbeitet
• Toggle: Ich bin ziemlich sicher, dass es eine Schalter-Funktion
von Enable/Disable ist, der unabhängig des Zustandes auf
den anderen Umschaltet. Wenn es jemand genau weiß, bitte
dem Autor mitteilen ;)
• Finished: Wenn die Factory ihr Programm abgearbeitet
hat, geht an diesem Node ein Signal raus.
• Aborted: Ich bin mir nicht sicher was das bedeutet,
wahrscheinlich wird hier ein Signal ausgesendet, wenn der Ablauf
der Factory irgendwie gestört wurde.
• Spawned: Kann wie der Finished Node benutzt werden,
ein Signal wird ausgesendet, sobald ein Objekt gespawned wurde.
Jetzt wo wir so eine Factory haben, was können wir damit
tun? Fügen wir die Variablen dafür hinzu. |
• 1) Markiere einen PathNode in der Testmap und öffne
das Kontextmenü. Du wirst einen Eintrag "New Object
Var Using Pathnode_0" finden. Dies sagt Kismet, eine neue
Objektvariable zu erstellen und den Actor PathNode_0 damit zu
referenzieren. So verbindest du Objektvariablen mit Actoren
in deiner Map. Zu dem "New Event Using PathNode_0"
werden wir in einem anderen Tutorial kommen.
• 2) Verschiebe es mit gedrückter STRG-Taste unter
den "Spawn Point" Node der Actor Factory, wie du einen
Actor in der Map verschieben würdest.
• 3) Verbinde es mit dem "Spawn Point" Node,
indem du eine Linie von dem lila Dreieck unter dem Eintrag "Spawn
Point" der Actor Factory zur Object Variable ziehst und
dort die Maustaste loslässt.
• 4) Für die Actor Factory Ex werden wir ein zweites
Objekt brauchen, daher wirst du die erste Object Variable duplizieren,
indem du STRG+D drückst. Das neue Objekt schiebst du wieder
mit gedrückter STRG-Taste unter den Eintrag "Spawn
Point" der Actor Factory Ex. Wieder verbindest du den Node
"Spawn Point" mit der Objektreferenz. Jetzt sollte
das etwa so aussehen:
• 5) Jetzt können wir mit einigen Einstellungen in
den Actor Factories etwas genau beim PathNode_0 spawnen. Aber
wir wollen dem gespawnten Objekt hinterher noch ein paar Kommandos
geben, daher geben wir diesem Objekt eine eigene Objekt Variable,
damit wir auf die Referenz in Kismet zugreifen können.
Um das zu bewerkstelligen, werden wir eine leere Objekt Variable
erstellen, die sich um das später gespawnte Objekt kümmern
wird, und diese mit den Actor Factories verbinden.
Wir werden also mit New Variable -> Object -> Object wie
im Screen darunter eine solche Variable erstellen.
• 6) Hast du das geschafft, dupliziere das Objekt und
verbinde beide mit den "Spawned" Nodes jeder Actor
Factory, bis es hinterher so aussieht:
Lasst mich kurz innehalten und nochmal zum Punkt kommen: Das
Pathnode_0 Objekt ist das "Wohin?"
von dem, was die Actor Factory spawnen soll. Das leere "???"
Objekt ist das "Was?" was gespawnt
werden soll, wenn wir mit Kismet die Kontrolle darüber
erlangen wollen
• 7) Dieser Schritt betrifft nur die ActorFactory. Wie
du sehen kannst, haben wir noch einen freien "Spawn Count"
Node an der Actor Factory. Lasst uns also einen Integerwert
dafür erstellen, in etwa so:
Und verbinde diesen mit dem "Spawn Count" Node der
Actor Factory:
Ändere dann den Wert der Intergervariable zu "1",
etwa so:
Das bedeutet, dass die Actor Factory eine Anzahl von "1"
an PathNode_0 des Objektes, welches mit der Objektvariable "???"
referenziert wird, spawnen wird.
Anm.: Das "Spawn Count" ist bei der Actor Factory
Ex nicht als Node vorhanden, sondern diesen Wert gibt es in
dessen Einstellungen. In der Actor Factory gibt es auch ein
solches Feld, wo der "Spawn Count" wert fix eingetragen
werden kann. Wird wie im obigen Beispiel eine Variable für
den Spawn Count benutzt, wird der dort vorhandene Wert den Wert
in den Einstellungen überschreiben.
|
Einstellungen:
Lasst uns nun einen Blick auf die Einstellungen der Actor Factories
werfen:
• bCheckSpawnCollision: Hier wird überprüft,
ob das gespawnte Objekt mit irgendeinem anderen Objekt am Spawnpunkt
kollidieren würde.
• bEnabled: Stellt ein, ob die Factory am Anfang aktiviert
oder deaktiviert ist?
• bOutputObjCommentToScreen: Gibt das Objektkommentar
auf dem Bildschirm aus, wenn das entsprechende Event eingeht
• Factory: Hier wird aufgelistet, was die Factory abarbeiten
wird. Wir werden später darauf zurückkommen.
• ObjComment: Dieser Kommentar wird im Text über
der factory in Kismet angezeigt. Ich finde es sehr sinnvoll
das zu kommentieren, was dort gespawnt wird.
• PointSelection: Normal, Random oder Reversed? Bin mir
nicht sicher was das heißt.
• Spawn Count: Anzahl der Objekte die gespawnt werden?
• Spawn Delay: Die Verzögerung zwischen Eingang des
Signals und Spawn des Objekts?
• SpawnPoints: Wenn mehrere Objekte als Ziele zugewiesen
wurden, wird hier alles eingetragen, was an diesen Node angeschlossen
ist.
• Target: Hier werden die Objekte die gespawnt werden
mit den Objektreferenzen verbunden und als Liste ausgegeben.
Lasst uns nun auf den Factory-Eintrag etwas näher eingehen.
Wenn der Factoryeintrag markiert ist, wird ein kleiner blauer
Pfeil erscheinen. Klicke darauf, um ein Menü zu öffnen,
das eine Liste an möglichen Objekten anzeigt, die durch
diese Factory gespawnt werden können:
Wenn du auf das kleine graue Quadrat links neben dem blauen
Pfeil klickst, wird das die Factroyliste leeren.
Es gibt so viele mögliche Objekte die auf diesem Wege gespawnt
werden können. Jedes einzeln zu erklären würde
den Umfang dieses Tutorials sprengen. Außerdem sind sie
ziemlich selbsterklärend, weshalb das Thema hier beendet
wird.
|
|
|
|
|
|