Oblivion:NPC-Erstellung: Unterschied zwischen den Versionen
Keris (Diskussion | Beiträge) K |
|||
Zeile 1: | Zeile 1: | ||
− | Dieses Tutorial soll die Grundlagen der NPC-Erstellung etwas erleuchten. Wir werden einen neuen Gegner-Charakter erstellen und diesen in einen Dungeon platzieren. | + | == Allgemeines == |
+ | Dieses Tutorial soll die Grundlagen der NPC-Erstellung etwas erleuchten. Wir werden einen neuen Gegner-Charakter erstellen und diesen in einen Dungeon platzieren. | ||
− | + | Dieses Tutorial geht nicht auf [[ob:Dialoge|Dialoge ]] oder Quest-Erstellung ein (für das Quest-Tutorial wird aber ein neuer Charakter gebraucht). | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Dieses Tutorial geht nicht auf Dialoge oder Quest-Erstellung ein (für das Quest-Tutorial wird aber ein neuer Charakter gebraucht). | ||
− | |||
− | |||
− | |||
+ | == Erstelle einen neuen NPC == | ||
In diesem Tutorial wollen wir nun einen speziellen Boss-NPC für unsere Höhle "Creepy Cave" aus dem Dungeon-Tutorial erstellen. Daher laden wir wieder unser Plugin "CreepyCave" und dort die Boss-Höhle "CreepyCave02" und lösche dort "LL1BanditBossLvl100" (wenn du das Plugin noch nicht gemacht hast, oder schon wieder gelöscht hast, geht natürlich auch jede andere Höhle. Erstelle ein neues Plugin). | In diesem Tutorial wollen wir nun einen speziellen Boss-NPC für unsere Höhle "Creepy Cave" aus dem Dungeon-Tutorial erstellen. Daher laden wir wieder unser Plugin "CreepyCave" und dort die Boss-Höhle "CreepyCave02" und lösche dort "LL1BanditBossLvl100" (wenn du das Plugin noch nicht gemacht hast, oder schon wieder gelöscht hast, geht natürlich auch jede andere Höhle. Erstelle ein neues Plugin). | ||
Zeile 24: | Zeile 15: | ||
− | + | == Editieren der NPC-Einstellungen == | |
− | |||
− | |||
− | |||
− | |||
Erklären wir nun was die einzelnen Felder auf der linken Seite zu bedeuten haben. | Erklären wir nun was die einzelnen Felder auf der linken Seite zu bedeuten haben. | ||
Zeile 53: | Zeile 40: | ||
− | + | === Editieren des Aussehens === | |
− | |||
− | |||
− | |||
− | |||
Wechsel zum "Face"-Reiter. Dieser Reiter beinhaltet einige Grundeinstellungen zum Kopf in Form von Alter, Gesichtsfarbe und Haarlänge. Außerdem können wir die Frisur und Farbe einstellen, Zufälliges Gesicht erstellen und Augenfarbe wechseln. | Wechsel zum "Face"-Reiter. Dieser Reiter beinhaltet einige Grundeinstellungen zum Kopf in Form von Alter, Gesichtsfarbe und Haarlänge. Außerdem können wir die Frisur und Farbe einstellen, Zufälliges Gesicht erstellen und Augenfarbe wechseln. | ||
Zeile 91: | Zeile 74: | ||
Für unseren Charakter haben wir die Augen (Brow Ridge Inner Up/Down)etwas verändert, soll ja ein Bandit und keine "nette Dame" sein. Außerdem den Mund (mouth-Happy/Sad) auf -10 gezogen. Für diesen Gegner, den der Spieler quasi nur ein paar Sekunden zu Gesicht bekommt (wenn überhaupt), sind weitere Einstellungen eigentlich unnütz. Bei NPCs, mit denen der Spieler auch redet (und somit auf "Nahaufnahme" geht), kann man ruhig mehr ins Detail gehen. | Für unseren Charakter haben wir die Augen (Brow Ridge Inner Up/Down)etwas verändert, soll ja ein Bandit und keine "nette Dame" sein. Außerdem den Mund (mouth-Happy/Sad) auf -10 gezogen. Für diesen Gegner, den der Spieler quasi nur ein paar Sekunden zu Gesicht bekommt (wenn überhaupt), sind weitere Einstellungen eigentlich unnütz. Bei NPCs, mit denen der Spieler auch redet (und somit auf "Nahaufnahme" geht), kann man ruhig mehr ins Detail gehen. | ||
+ | === Editieren des Inventars und der benutzbaren Zauber=== | ||
− | + | ==== Inventory ==== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Öffne nun den "Inventory"-Reiter: | Öffne nun den "Inventory"-Reiter: | ||
Zeile 108: | Zeile 86: | ||
Du kannst hier auch einen hypothetischen Spieler-Level eingeben und mit "Preview Calculated Result" in einem Extra-Fenster anzeigen, was sich im Inventar des NPCs befinden könnte. Auf diese Weise kann man ein wenig herumexperimentieren, was der Spieler wohl im Inventar zu erwarten hat. Allerdings ändert sich das selbst wenn man den Spieler-Level nicht verändert. | Du kannst hier auch einen hypothetischen Spieler-Level eingeben und mit "Preview Calculated Result" in einem Extra-Fenster anzeigen, was sich im Inventar des NPCs befinden könnte. Auf diese Weise kann man ein wenig herumexperimentieren, was der Spieler wohl im Inventar zu erwarten hat. Allerdings ändert sich das selbst wenn man den Spieler-Level nicht verändert. | ||
− | + | ==== Spell List==== | |
− | |||
Als nächstes öffnen wir den "SpellList"-Reiter: | Als nächstes öffnen wir den "SpellList"-Reiter: | ||
Zeile 121: | Zeile 98: | ||
Nun kann sie sich mit ein paar Veränderungs-Zauber auf den Kampf vorbereiten. | Nun kann sie sich mit ein paar Veränderungs-Zauber auf den Kampf vorbereiten. | ||
− | + | ===Grundlagen der KI & Package Editing === | |
− | |||
− | |||
− | |||
− | |||
− | |||
Als letztes wollen wir unserem Boss-Gegner ein bisschen mehr als das Standard-Benehmen beibringen. Klicke den "AI"-Button und das AI-Fenster öffnet sich. | Als letztes wollen wir unserem Boss-Gegner ein bisschen mehr als das Standard-Benehmen beibringen. Klicke den "AI"-Button und das AI-Fenster öffnet sich. | ||
Zeile 159: | Zeile 131: | ||
− | + | == Speichern und Testen== | |
− | |||
− | |||
− | |||
− | |||
Nun schließe die Fenster mit "Save" oder/und "OK" und der Charakter ist fertig. Ziehe ihn nun in das Dungeon "CreepyCave02". Es wäre ne tolle Sache, wenn in ihrer Nähe ein Bett und ein Tisch und Stuhl mit Essen ist. So können die Packages auch einfach ausgeführt werden. | Nun schließe die Fenster mit "Save" oder/und "OK" und der Charakter ist fertig. Ziehe ihn nun in das Dungeon "CreepyCave02". Es wäre ne tolle Sache, wenn in ihrer Nähe ein Bett und ein Tisch und Stuhl mit Essen ist. So können die Packages auch einfach ausgeführt werden. | ||
− | *Du kannst auch essen in ihr Inventar legen und die Menge auf "-1" (Minus eins) setzen, was bedeutet, das ihr niemals das Essen ausgeht. Das ist hilfreich, damit die NPCs nicht die ganze Umgebung nach Essen absuchen und somit unerwünschte Verhaltensweisen aufweisen. | + | *Du kannst auch essen in ihr Inventar legen und die Menge auf "-1" (Minus eins) TODO setzen, was bedeutet, das ihr niemals das Essen ausgeht. Das ist hilfreich, damit die NPCs nicht die ganze Umgebung nach Essen absuchen und somit unerwünschte Verhaltensweisen aufweisen. |
− | |||
− | |||
− | |||
Version vom 5. August 2008, 19:17 Uhr
Inhaltsverzeichnis
Allgemeines
Dieses Tutorial soll die Grundlagen der NPC-Erstellung etwas erleuchten. Wir werden einen neuen Gegner-Charakter erstellen und diesen in einen Dungeon platzieren.
Dieses Tutorial geht nicht auf Dialoge oder Quest-Erstellung ein (für das Quest-Tutorial wird aber ein neuer Charakter gebraucht).
Erstelle einen neuen NPC
In diesem Tutorial wollen wir nun einen speziellen Boss-NPC für unsere Höhle "Creepy Cave" aus dem Dungeon-Tutorial erstellen. Daher laden wir wieder unser Plugin "CreepyCave" und dort die Boss-Höhle "CreepyCave02" und lösche dort "LL1BanditBossLvl100" (wenn du das Plugin noch nicht gemacht hast, oder schon wieder gelöscht hast, geht natürlich auch jede andere Höhle. Erstelle ein neues Plugin).
Es ist meist hilfreich, wenn man bereits vorhandene NPCs als Vorlagen für neue nimmt. Für unser Beispiel suchen wir unter Actors->NPC das Objekt "BanditBossFemale1". Doppelklicke es um das NPC-Fenster zu öffnen.
http://www.ei-der-zeit.com/LexikonCSIV/pic/fenster-NPC.jpg
Wichtig! Bevor du irgendetwas veränderst, Ändere die ID in einen anderen Einzigartigen Namen. Damit vermeidest du, das irgendwelche versehentlichen Änderungen für den existierenden Charakter gelten und vielleicht nicht mehr richtig funktioniert. Wenn du "OK" klickst, nachdem du die ID geändert hast wirst du gefragt ob du einen neuen Charakter erstellen willst (Kopie) oder den Charakter umbenennen willst. Mit OK erstellen wir einen neuen Charakter.
Editieren der NPC-Einstellungen
Erklären wir nun was die einzelnen Felder auf der linken Seite zu bedeuten haben.
- ID - Editor ID für diesen NPC. Muss einmalig sein. Ich habe einfach eine 4 angehängt.
- Name - NPC Name, der auch im Spiel angezeigt wird. Sollte in jedem Fall ausgefüllt werden
- Script - Script können an einen NPC angehängt werden. Dieser Charakter bekommt aber keines.
- Class - Die Klasse die der Charakter haben soll. Unser Bandit ist aber eine spezielle Klasse. Um Details über vorgefertigte Klassen zu bekommen wähle "Charakter/Class" aus dem Programm-Menü.
- Summonable - Bleibt frei
- Offset - Hier kann man angeben, um wie viel höher oder niedriger der Charakter-Level in Bezug zu dem des Spielers liegen darf.
- PC Level Offset - Hiermit schaltet man das Offset ein, so das der NPC sich dem Spieler-Level anpasst. Unser NPC soll einen Level höher sein.
- Calc Min/Max - Hier kann man einen Mindest- und Höchstlevel für den Charakter eingeben. Das kann hilfreich sein, wenn man zum Beispiel einen Dungeon mit einem Mindest-Level erstellen möchte. Gibt man hier also als Calc Min "10" ein, würde ein Level 1 Spieler keine Chance gegen den Gegner haben. Für unseren NPC lassen wir die Werte aber auf 1 und 0, was heißt, das der NPC sich immer auf dem Level des Spielers befinden kann.
- Race - Die Rasse die der NPC haben soll. Aus der Dropdown-Liste kann man aus einer der Rassen wählen.
- Female - Hier kann man den Charakter "weiblich" schalten. Der Körper verändert sich dann in einen Frauenkörper.
- Death Item - Hier kann man einstellen, welches besondere Item der NPC nach seinem Tode hinterlässt. Dieses Item kann nicht vorher "gestohlen" werden. Das ist z.B. gut für Sachen, die man einfach nicht "lebend" entfernen kann wie z.B. das Deadra-Herz, das ja nur nach dem Ableben entnommen werden kann.
- Essential - Wird nur bei speziellen NPCs gebraucht und wird durch ein Script kontrolliert. Wird dieses Feld aktiviert kann der NPC nicht getötet werden und wird beim Angriff höchstens KO geschlagen. Dieses ist vor allen Dingen für Quest-Geber wichtig, damit diese nicht ableben.
- Respawn - Ist dieses Feld aktiviert, wird der NPC wiederbelebt, wenn die Zelle neu geladen wird. Bei diesem Boss-Gegner wollen wir das und aktivieren das Feld
Dir wird auffallen, das einige Werte unter "Stats" inaktiv sind. Das liegt daran, weil wir "PC Level Offset" aktiviert haben und diese Werte nun vom Programm gesteuert und berechnet werden.
Für uns ist nun der "Faction"-Reiter interessant. Wir belassen die "BanditFaction" hier, aber wir brauchen noch eine weitere. Dazu müssen wir eine weitere Faction in dieses Fenster ziehen. Dazu öffnen wir im Menü Charakter->Factions.
Nun such dir eine weiter Faction aus. Am besten keine, die der Spieler angehören könnte (MageGuild, FightersGuild). Ich nehme die NenalataFaction. Diese ist "Evil" und "Hidden from PC". Wir ziehen die Faction einfach vom Factions-Fenster in den Faction-Reiter des NPCs. So einfach geht das.
Editieren des Aussehens
Wechsel zum "Face"-Reiter. Dieser Reiter beinhaltet einige Grundeinstellungen zum Kopf in Form von Alter, Gesichtsfarbe und Haarlänge. Außerdem können wir die Frisur und Farbe einstellen, Zufälliges Gesicht erstellen und Augenfarbe wechseln.
http://www.ei-der-zeit.com/LexikonCSIV/pic/fenster-npc-face.jpg
Mit den "Lock"-Buttons kannst du eines der Einstellungen ändern und diese dann "festigen". Sie werden also bei der Zufalls-Generierung nicht verändert. Mache nun einige Änderungen. Wenn du mit etwas zufrieden bist, aktiviere das "Lock" Feld zum dazugehörigen Slider. Wenn du willst, kannst du mit "Generate" eine zufällig Auswahl treffen. Nicht das wir uns hier falsch verstehen: Die "Lock"-Felder sind nur dann wichtig, wenn du mit "Generate" arbeiten willst und bestimmte Aspekte (z.B. das Alter) unverändert lassen willst. Du musst sie nicht aktivieren, wenn du mit allem zufrieden bist.
Ein Hinweis zu der Haarfarbe: Sehr helles Haar kann zwar sehr hübsch sein, passt aber nicht so richtig in die Oblivion-Fantasy-Welt. Es würde möglicherweise die Stimmung rauben, wenn in einem dunklen Dungeon plötzlich eine "saubere Blondine" steht. Das sollte man berücksichtigen.
Um die Haarfarbe zu ändern gehe wie folgt vor:
- Klicke "Select Color"
- Wähle eine Farbe aus
- Rechts siehst du eine Leiste, die die Helligkeit der Farbe einstellt.
- Wähle einen dunklen Farbton (Einer der untersten).
- Klicke OK und betrachte das Ergebnis.
Mit der Dopdownlist "Hair" am unteren Fensterrand kannst du die Haarfrisur ändern. Daneben mit "Eyes" die Augenfarbe.
Möglicherweise kann es ausreichen um ein Zufallsgeneriertes Gesicht zu erstellen. Für unseren Boss-Gegner eigentlich auf jeden Fall. Für mehr Feintuning kann man aber den nächsten Reiter anwählen "Face Advanced".
http://www.ei-der-zeit.com/LexikonCSIV/pic/fenster-npc-face-advanced.jpg
Dieser Reiter eröffnet eine Unzahl an Einstellungen für den Kopf. Dabei ist es weitaus umfangreicher als die Einstellungsmöglichkeiten, die der Spieler am Anfang des Spiels hat, jedoch ähnlich. Du kannst einmal das NPC-Fenster mit "OK" schließen und dann wieder öffnen. Anschließend wechselst du wieder zum Face Advanced Reiter und experimentierst etwas herum. Wähle einen Eintrag aus der Liste und bewege den Slider an der Linken Seite. Du wirst sehen, wie sich Teile des Kopfes verändern. Manches kann den Kopf arg verunstalten. Du kannst aber auch den Kopf drehen. Gehe mit dem Mauszeiger auf den Kopf. Mit der linken Maustaste "greifst" du ihn und kannst ihn herumschwenken. Wenn du jetzt aber mit der rechten Maustaste greifst, kannst du Teile des Kopfes "greifen" und quasi manuell verändern. Das geht meist noch viel leichter und schneller. Kann aber auch ganz schön in die Hose gehen. Wenn der Bandit nun aussieht wie ein Chimpanse mit Mumps, klicke "Cancel" und alle Einstellungen werden verworfen (deswegen solltest du eben das Fenster einmal kurz schließen). Eigentlich eine gute Methode zum herumexperimentieren.
Mit Copy und Paste (Kopieren und Einfügen) kannst du Gesichtseinstellungen auch auf andere NPCs übertragen. Das ist vielleicht dann interessant, wenn du einen vorhandenen NPC das Gesicht eines anderen NPC auflegen willst (wenn du z.B. einen männlichen NPC weiblich machen willst und die Gesichtseinstellungen nicht manuell eingeben willst).
In diesem Fenster findest du außerdem die Wechsel-Optionen "Control Type": Hier kannst du entscheiden, ob du hier die Beschaffenheit des Gesichtes verändern willst ("Geometry") oder die Textur ("Texture").
In der Auswahl "Symetry Type" kannst du dich entscheiden, ob du Symetrisch oder Asymetrisch arbeiten willst. Diese Einstellung gilt nur, wenn du im "Geometry"-Modus arbeitest. Wenn du "Symmetry" wählst, werden alle Einstellungen angezeigt, die sich auf Beide Gesichtshälften bezieht (empfohlen). Wählst du "Asymetry" werden die Einstellungen angezeigt, die sich nur auf eine Gesichtshälfte bezieht, bzw. an unterschiedlichen Stellen. Damit kann man dann besondere Merkmale am Kopf einstellen. Wird aber eher seltener benutzt.
Für unseren Charakter haben wir die Augen (Brow Ridge Inner Up/Down)etwas verändert, soll ja ein Bandit und keine "nette Dame" sein. Außerdem den Mund (mouth-Happy/Sad) auf -10 gezogen. Für diesen Gegner, den der Spieler quasi nur ein paar Sekunden zu Gesicht bekommt (wenn überhaupt), sind weitere Einstellungen eigentlich unnütz. Bei NPCs, mit denen der Spieler auch redet (und somit auf "Nahaufnahme" geht), kann man ruhig mehr ins Detail gehen.
Editieren des Inventars und der benutzbaren Zauber
Inventory
Öffne nun den "Inventory"-Reiter:
http://www.ei-der-zeit.com/LexikonCSIV/pic/fenster-npc-inventory.jpg
Da wir einen NPC kopiert haben, sind hier schon einige Sachen enthalten. Diese Sachen haben die Vorsilbe "LL". Das ist die Standard-Vorsilbe für "Leveled Lists". Für dieses Tutorial müssen wir dieser Liste nichts hinzufügen oder entfernen. Der NPC hat alles, was er zum Überleben braucht. Wenn du allerdings möchtest, das dieser Charakter ein Spezielles Item bei sich trägt (Notizen und Schlüssel wäre hier ein gutes Beispiel), musst du sie einfach aus dem Objekt-Fenster hierher ziehen (Drag&Drop - Wie immer).
Du kannst hier auch einen hypothetischen Spieler-Level eingeben und mit "Preview Calculated Result" in einem Extra-Fenster anzeigen, was sich im Inventar des NPCs befinden könnte. Auf diese Weise kann man ein wenig herumexperimentieren, was der Spieler wohl im Inventar zu erwarten hat. Allerdings ändert sich das selbst wenn man den Spieler-Level nicht verändert.
Spell List
Als nächstes öffnen wir den "SpellList"-Reiter:
http://www.ei-der-zeit.com/LexikonCSIV/pic/fenster-npc-spells.jpg
Diese Liste ist leer. Wir wollen aber unseren Boss-Gegner ein bisschen Grundwissen in Veränderungs-Zauberei geben.
Zu diesem Zweck wählen wir im Objekt Fenster Magic->LeveledSpell und dort "LL1AlterationMinorLvl100" und ziehen es in die Spelllist.
Nun kann sie sich mit ein paar Veränderungs-Zauber auf den Kampf vorbereiten.
Grundlagen der KI & Package Editing
Als letztes wollen wir unserem Boss-Gegner ein bisschen mehr als das Standard-Benehmen beibringen. Klicke den "AI"-Button und das AI-Fenster öffnet sich.
http://www.ei-der-zeit.com/LexikonCSIV/pic/tut-npc-ai.jpg
Wir brauchen uns hier nur um die "AI Attributes" und "AI Package Lists" zu kümmern. Die anderen Einstellungen sind nur für Händler und Trainer.
Wir können dir Voreingestellten Werte der AI Attribute so belassen wie sie sind. Aggression und Confidence ("Zutrauen") auf 100 bedeutet, das sie jeden Feind angreifen wird und nicht davonlaufen wird.
Du kannst mit den Werten herumexperimentieren um die verschiedenen Ergebnisse zu testen. Zum Beispiel könntest du den Confidence-Wert verringern um damit zu erreichen, das der Bandit vor dem Spieler davonläuft.
Energy-Level und Responsibility sind gebunden an einige andere KI-Verhaltensweisen und können so belassen werden.
Wir werden nun die Packages ändert. Zunächst löschen wir alle vorhandenen Packages und fügen gleich neue hinzu. Die Vorsilbe der Packages ist "aaa". Dieses sind "Basis-Packages", die mit jeder Kreatur oder NPC genutzt werden kann.
Mit den letzten dreien ist der Bandit in der Lage zu essen und zu schlafen.
Öffne nun im Programmmenü "Creatures->Packages" und ziehe die folgenden Packages in die Package-List.
- aaaCreatureInterior512
- aaaCreatureExterior1500
- aaaEat10x2
- aaaEat20x2
- aaaSleep22x8
Das sind alles Standard-Packages, die man immer benutzen kann, so wie die anderen Packages mit der Vorsilbe "aaa".
Die weitere Bezeichnung gibt uns informationen über den weiteren Inhalt des Package. (Essen und Schlafen). Die erste Zahl ist die Zeit und die zweite ist die dauer. Also wird unser NPC nun für zwei Stunden essen um 10 Uhr und um 20 Uhr. Und schlafen wird er für 8 Stunden ab 22 Uhr. Diese Einstellung erleichtert es den Spieler, sich vielleicht ungesehen an dem Boss vorbei zu schleichen und ihn im Schlaf zu ermorden oder die Kiste ohne Kampf zu looten.
Der KI-Prozess arbeitet die Scripts in vorgelegter Reihenfolge ab. Also ist es wichtig, das die "Umhergehen"-Packages am Anfang stehen und die anderen in der Reihenfolge ihrer Zeitfolge. Die KI wird niemals zwei Packages gleichzeitig ausführen. Es ist ja nicht möglich zu essen und gleichzeitig zu schlafen.
Speichern und Testen
Nun schließe die Fenster mit "Save" oder/und "OK" und der Charakter ist fertig. Ziehe ihn nun in das Dungeon "CreepyCave02". Es wäre ne tolle Sache, wenn in ihrer Nähe ein Bett und ein Tisch und Stuhl mit Essen ist. So können die Packages auch einfach ausgeführt werden.
- Du kannst auch essen in ihr Inventar legen und die Menge auf "-1" (Minus eins) TODO setzen, was bedeutet, das ihr niemals das Essen ausgeht. Das ist hilfreich, damit die NPCs nicht die ganze Umgebung nach Essen absuchen und somit unerwünschte Verhaltensweisen aufweisen.
Das ist auch schon alles. Du kannst das Plugin nun speichern und es ganz normal testen. Nun hast du einen ganz speziellen Boss-Gegner nur für deinen Dungeon. Vielleicht möchtest du ja nun mehrere Gegner machen, die ähnliche Verhaltensweise aufweisen und somit als Gruppe agieren.
Du kannst auch noch mit den Einstellungen experimentieren und sehen, wie sich die Einstellungen auswirken.