NPC-Kit

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

NPCs (Nichtspielercharaktere) können einer Erlebnisviel Tiefe hinzufügen.Alle folgenden NPCs können visuell angepasst werden, ihr Verhalten modifiziert wird, und Zombies/Soldaten können sogar einen Bereich verteidigen, indem sie Spieler oder andere Charaktere mit einem Tag-System angreifen, um das Verhalten festzulegen.

Um einen NPC in deinem Spiel zu verwenden:

  1. Wähle eines der folgenden NPC-Kits aus:

    Speichelnder Zombie
    >

    Soldaten
    >

    RO-01 Roboter
    >

    NP-C 9000 Roboter
    >

  2. Auf der Artikelseite des NPCs klicke auf die grüne Abholen -Schaltfläche und bestätige die Transaktion.

  3. Öffne in Roblox Studio die Werkzeugkiste ( AnsichtWerkzeugkiste ).

  4. Wählen Sie Ihren Werkzeugkasten Inventar Abschnitt aus.

  5. Suchen Sie den NPC und klicken Sie darauf, um ihn zum Orthinzuzufügen.

Zeichenstruktur

Jedes NPC-Modell enthält in der Regel die folgenden Objekte:

Objektname oder [Typ]TypBeschreibung
AnimationenFolderEnthält Animations , wie eine AttackAnimation oder DeathAnimation .
InitialpositionenFolderEnthält Positionsinformationen.
AnimierenScriptLädt und spielt Animationen auf dem Charakter-Rig aus. Siehe Animieren für weitere Details.
[Zubehör]AccessoryEiner von möglicherweise mehreren Accessories für den NPC wie Hüte, Waffen usw.
GesundheitScriptRegeneriert typischerweise die Humanoid Gesundheit im Laufe der Zeit. Wenn du diese deaktivierst, regeneriert der Charakter keine Gesundheit.
MenschlichHumanoidVerwaltet Humanoid verwandte Eigenschaften wie Humanoid.Health , Humanoid.WalkSpeed , Humanoid.DisplayDistanceType usw.
NPCScript >

Definiert charakterpezifische Verhaltensweisen wie Roaming, Angriffe usw.Eltern der folgenden Objekte:

Dienstmädchen ( ModuleScript ) definiert eine Klasse, die bei der Freigabe von verwendeten Ressourcen nützlich ist.:

Ragdoll ( ModuleScript ) definiert eine Funktion, die einen Charakter in einen lockeren physikalisch beeinflussten Körper verwandelt (eltern ein RigTypes ModuleScript , das mehrere Hilfsfunktionen definiert).

RbxNpcSoundsScriptDefiniert und verwaltet Verhalten, das sich auf Charakter-Soundeffekte wie Laufen, Sterben usw. bezieht
KörperteileBasePartVerschiedene Körperteile von Charakteren, die mit der HumanoidRootPart oder benachbarten Körperteilen durch Motor6D oder Einschränkungsobjekte verbunden sind.Siehe Körperteile für weitere Details.
Humanoide WurzelteilBasePartEin besonderes unsichtbares Teil, das als Wurzel des Rigs betrachtet wird; dies ist auch die PrimaryPart des Charakters Model.
KonfigurierenConfigurationEnthält Wertobjekte, die verschiedene Verhaltensweisen anpassen. Siehe Konfiguration für weitere Details.

Designhinweise

Wenn du das NPC-Kit verwendest, denke an die folgenden Designnotizen:

  • Das visuelle Erscheinungsbild eines NPCs kann angepasst werden, indem verschiedene [Körperteile]-Objekte hinzugefügt/modifiziert und Accessory Objekte hinzugefügt werden.

  • Die Soldaten, der salivierende Zombie und die NP-C 9000 Roboter verwenden Rthro als Basis ihres Rigs.Die RO-01-Roboter verwenden jedoch eine modifizierte Rthro-Basis, die Antriebsteile hinzufügt, die mit dem Oberkörper verbunden sind, indem sie WeldConstraints verwenden.Die Verwendung einfacher Gelenke auf diese Weise ermöglicht es dir, zusätzliche Geometrie für deine Charaktere einzuschließen, ohne die ursprüngliche Basisrüstung zu ändern.

  • Auf einer grundlegenden Stufekönnen NPC-Animationen angepasst werden, indem die AnimationId von vorhandenen Animationsobjekten innerhalb der Animations-Skripte oder jene innerhalb des Animations-Ordners modifiziert werden.Eine solche Änderung ist im Wesentlichen ein Asset-Wechsel - um die feineren Details zu ändern, kannst du benutzerdefinierte Kopien bestehender Animationen erstellen, und um Animationen unter verschiedenen Bedingungen abzuspielen, kannst du die Animate - oder NPC -Skripte direkt bearbeiten.Für weitere Informationen, siehe Animation.

Animieren

Die Animation im NPC verwaltet animationsbezogene Konfigurationen und enthält die folgenden Objekte:

Objektname oder [Typ]TypBeschreibung
SkalierungsdämpfungspunktzahlNumberValueLegt fest, wie die Animationstempo modifiziert wird, wenn der Charakter skaliert (weniger als 1 bedeutet, dass die Animation-Wiedergabeskala umgekehrt skaliert, wenn ein Charakter skaliert wird).
SpielEmoteBindableFunctionDies kann von anderen Skripten aufgerufen werden, um die Annahme einer Pose zu erzwingen.
[Haltung]StringValueVerweis auf eine abspielbare Animationskategorie wie untätig, springen, Gehen usw.Dieses Objekt kann eine beliebige Anzahl von Animations Eltern haben. Diese Animations Gewicht ( NumberValue ) priorisieren eine von mehreren Animationen, die während der Pose abgespielt werden; wird in der Regel verwendet, um der Leere und Tanzpose Vielfalt hinzuzufügen.

Körperteile

Die BodyPart BasePart im NPC Model repräsentiert die verschiedenen Körperteile der verschiedenen Charaktere und enthält die folgenden Objekte:

Objektname oder [Typ]TypBeschreibung
AvatarPartScaleTypStringValueLegt fest, wie das Teil skaliert wird; Werte können Klassisch , ProportionenNormal oder ProportionenSchlank sein.
Originale GrößeVector3ValueBestimmt die Größe des Teils, wenn die Zeichenskalierung 1 ist.
[Anhänge]AttachmentDefiniert einen Punkt in Bezug auf das einzelne Teil, das Skripte, Effekte und Objekte wie ein Tool oder Accessory während der Positionierung nutzen können.
[Aufzug6D]Motor6DEine animierte Verbindung zwischen zwei Körperteilen.Beachten Sie, dass auf den Namen von angewiesen ist, um konsistent zu sein mit dem, der verwendet wurde, als eine Animation erstellt wurde, vermeiden Sie daher, dieses Objekt umzubenennen.
[Gemeinsamer]WeldConstraint , Constraint , JointInstanceEin nicht animierter Gelenk zwischen zwei Körperteilen.
[Klang]SoundGewöhnlich im Kopf oder ; spielt Geräusche aus dem Rig, die vom Skript, das. PL: die Skriptsgesteuert werden.

Konfigurieren

Jeder NPC enthält ein Configuration Objekt innerhalb seiner Hierarchie, das als Container von Wertobjekten fungiert.Diese werden vom NPC-Skript verwendet, um verschiedene Verhaltensweisen anzupassen.Es sei denn, anders angegeben, gelten diese für alle Zeichen.

Objektname oder [Typ]TypBeschreibung
Zerstören bei TodBoolValueVerursacht, dass der gesamte NPC kurz nach seinem Tod zerstört wird. Deaktiviere dies, damit Ragdolls persistent sind.
Patrouille aktiviertBoolValueVerursacht, dass der NPC in einem Bereich um seine Startposition herum wandert.
PatrouillenradiusNumberValueLegt die maximale Entfernung fest, die ein NPC von seiner Startposition aus wandern wird, unter der Annahme, dass PatrolEnabled wahr ist.
RagdollEnabledBoolValueVerursacht, dass der NPC beim Tod schlapp wird, anstatt sich zu zerlegen.
AngriffsschadenNumberValueLegt fest, wie viel Gesundheit durch ein Opfer verloren geht, wenn es vom NPC angegriffen wird. Dies gilt nur für Zombie- und Soldaten-Kits.
AngriffsverzögerungNumberValueLegt die minimale Anzahl von Sekunden zwischen Schüssen fest. Dies gilt nur für Soldaten-Kits.
AngriffsmodusNumberValueGibt an, worauf der Soldat angreifen wird, basierend auf dem Markierungssystem. Dies gilt nur für Soldatenkits.
AngriffsradiusNumberValueLegt die maximale Entfernung fest, die der NPC von einem potenziellen Opfer entfernt sein muss, bevor er angreift. Dies gilt nur für Zombie- und Soldaten-Kits.
Clip-KapazitätNumberValueLegt fest, wie viele Kugeln der Soldat abfeuern kann, bevor er nachladen muss. Dies gilt nur für Soldatenkits.
NachladeverzögerungNumberValueLegt fest, wie viele Sekunden vergehen müssen, bevor der Waffenclip des Soldaten neu geladen wird. Dies gilt nur für Soldatenkits.

Tags zuweisen

Das NPC -Skript verwendet CollectionService-Tags, um Aggressionen gegen andere Charaktere und Spieler zu verwalten.Verschiedene Tags aus der folgenden Tabelle können wie folgt zugewiesen werden:

  • Um einem anderen NPC ein Tag(e) zuzuweisen, weise sie dem obersten Level des NPCs zu Model mit der Tags Sektion seiner Eigenschaften oder dem Tag-Editor von Studio zu.

  • Um einem Player Zeichen einen Tag zuzuweisen, kannst du einen Script zu StarterCharacterScripts mit einem CollectionService:AddTag() Aufruf hinzufügen. Zum Beispiel:


    local CollectionService = game:GetService("CollectionService")
    CollectionService:AddTag(script.Parent, "SoldierEnemy")
ZeichenZweck
Feind des Soldaten oder Freund des Soldaten

Bestimmt, ob ein Soldat, basierend auf seinem Angriffsmodus Konfigurationswert, einen anderen Charakter angreifen sollte.Wenn der Angriffsmodus des Soldaten auf festgelegt ist , müssen andere Charaktere mit SoldierEnemy gekennzeichnet werden, um als angreifbar angesehen zu werden.Wenn der Angriffsmodus des Soldaten auf gesetzt ist , werden alle Objekte ohne das SoldierFriend Tag als angreifbar angesehen.Wenn der Angriffsmodus des Soldaten auf gesetzt ist, werden diese Tags vollständig ignoriert und der Soldat wird alle Charaktere angreifen.

ZombieFreund Dieser Tag wird vom Zombie verwendet, um zu bestimmen, ob er einen Charakter nicht angreifen sollte.Wenn angewendet, wird der Zombie gegenüber dem markierten Charakter gehorsam.