Zum Hauptinhalt springen

BetterModel

Animierte 3D-Modelle von BetterModel als TypeWriter-NPCs, mit Animationsaktionen, Knochensteuerung und Cinematics.

Kostenpflichtigv1.5Entitäten & Modelle
BenötigtTypeWriter0.9BetterModelQuest extension (TypeWriter)Basic extension (TypeWriter)Entity extension (TypeWriter)RoadNetwork extension (TypeWriter)

Überblick​

BetterModel verbindet das Plugin BetterModel mit TypeWriter. Du gestaltest ein Modell und seine Animationen in Blockbench, installierst es in BetterModel und verwendest es dann in TypeWriter als Entity: Eine Definition legt fest, welches Modell verwendet wird, eine Instanz platziert es in der Welt, und die übliche TypeWriter-Entity-Mechanik (Audiences, Aktivitäten, Interaktionen, Dialogsprecher) funktioniert damit.

Modelle werden per Packets pro Spieler dargestellt, sodass jeder Spieler einen anderen Zustand desselben NPCs sehen kann: andere angezeigte Bones, anderes Leuchten, andere Ausrüstung. Die Erweiterung fügt außerdem Actions zum Abspielen und Stoppen von Animationen hinzu, Cinematic-Entries zum Animieren von Modellen und Spielergliedmaßen sowie eine Kamera, die auf einem Bone eines animierten Modells mitfährt.

Funktionen​

  • Modell-Entities — eine Definition und eine Instanz machen jedes BetterModel-Modell zu einem NPC mit Unterstützung für Audience, Aktivität und Interaktion.
  • Automatische Animationen — Idle-, Geh-, Strafe-, Sprung-, Flug-, Angriffs-, Schadens- und Interaktionsanimationen werden anhand des Entity-Zustands abgespielt, mit Namen, die du ändern kannst.
  • Animations-Actions — spiele oder stoppe eine Animation an einem platzierten Modell über einen beliebigen Trigger.
  • Bone-Steuerung pro Spieler — zeige oder verberge Bones und lege Leuchten, Tönung, Verzauberungsglanz und Helligkeit abhängig von Criteria fest.
  • Eigene Hitboxen — an Bones gebundene Klickbereiche mit Hitbox oder automatische aus hitbox-Bones des Modells.
  • Bone-Austausch — ersetze einen Bone durch einen aus einem anderen Modell mit Attachment oder Passenger.
  • Spieleranimationen — spiele BetterModel-Spielergliedmaßen-Animationen am Spieler mit einer Action oder in einer Cinematic ab.
  • Cinematics — steuere ein Modell aus einer Aufzeichnung mit der Entity-Cinematic und filme es mit der Bone-Kamera.
  • Interaktionsanzeige — benannte Modelle zeigen über ihrem Namen eine Interaktions- oder Dialoganzeige, gesteuert durch Interact-Objectives und Interaktions-Entries.

Installation​

  1. Installiere BetterModel auf dem Server und stelle sicher, dass es deine Modelle lädt. Die Bone-Kamera benötigt BetterModel 2.1.0 oder neuer; die Erweiterung wird gegen BetterModel 3.3.0 gebaut.
  2. Installiere die offiziellen TypeWriter-Erweiterungen Quest, Basic, Entity und RoadNetwork (die Erweiterung wird gegen alle vier gebaut).
  3. Beziehe BetterModel aus den Stores (siehe die Buttons oben) und lege die JAR in plugins/Typewriter/extensions/ ab.
  4. Starte den Server neu. Das Log zeigt [BetterModelExtension] BetterModel detected: initializing. Fehlt BetterModel, zeigt es BetterModel plugin not found; extension disabled.
  5. Lege deine Modelle in BetterModel ab und erzeuge dessen Resource Pack, wie BetterModel es dokumentiert. Spieler müssen das Resource Pack akzeptiert haben, um die Modelle zu sehen.

Erste Schritte​

So platzierst du einen animierten NPC, der winkt, wenn du ihn anklickst:

  1. Öffne im TypeWriter-Web-Panel eine Static-Seite und füge eine BetterModel Definition hinzu. Setze modelId auf den Namen deines Modells in BetterModel, aktiviere named und setze displayName.
  2. Prüfe in defaultAnimationSettings, ob idle, walk und interact zu den Animationsnamen deines Modells passen (die Standardwerte sind idle, walk und interact).
  3. Öffne eine Manifest-Seite und füge eine BetterModel Instance hinzu, setze definition auf die soeben erstellte und erfasse spawnLocation mit dem Positionswerkzeug.
  4. Optional: Füge in den data der Definition Bone Visibility hinzu, um einen Bone (zum Beispiel einen Hut) vor Spielern zu verbergen, die ein Criteria nicht erfüllen.
  5. Füge ein Entity-Interact-Event und eine Play Entity Animation-Action hinzu. Setze entity auf die Instanz und animation auf einen eigenen Animationsnamen.
  6. Publish und klicke den NPC im Spiel an.
Hitboxen

Der NPC lässt sich nur dort anklicken, wo er eine Interaktions-Hitbox hat. Benenne in Blockbench einen Bone hitbox oder füge einen Hitbox-Entry hinzu. Ohne beides wird eine einzelne Box verwendet, die das ganze Modell abdeckt.

So funktioniert es​

Die Definition enthält, was gemeinsam genutzt wird (Modell, Animationsnamen, Hitboxen, Daten). Die Instanz enthält die Position, zusätzliche Daten und eine activity. Data-Entries der Instanz werden nach denen der Definition angewendet, sodass eine Instanz ihre Definition überschreiben kann.

Konfiguration​

Die Erweiterung hat keine Konfigurationsdatei. Modelle, Gliedmaßen und das Resource Pack werden von BetterModel verwaltet.

Zwei Ordner von BetterModel werden über ihren Namen verwendet: Entities nutzen von BetterModel registrierte Modelle, und die Spieler-Actions und -Cinematics lesen Spielergliedmaßen-Modelle aus dem Ordner players von BetterModel (zum Beispiel steve, alex).

Entries​

15 Einträge, aus dem Quellcode der Erweiterung generiert.

Aktionen3
Cinematics4
Entitäten2
Entitätsdaten6

Fehlerbehebung​

Der NPC ist unsichtbar. Suche im Log nach Model '...' not found. Die modelId muss zu einem von BetterModel geladenen Modell passen. Ist das nicht der Fall, versucht die Erweiterung ein Modell namens steve und spawnt nichts, wenn auch dieses fehlt. Prüfe außerdem, ob der Spieler das Resource Pack akzeptiert hat.

Der NPC erscheint, lässt sich aber nicht anklicken. Die Interaktions-Hitbox stammt von einem Bone, dessen Name hitbox oder hit_box enthält, oder von Hitbox-Entries. Hat das Modell keines von beidem, wird eine Box erstellt, die das Modell abdeckt, und ihre Höhe beträgt mindestens 1,8 Blöcke. Passe hitboxYOffset in defaultAnimationSettings an, wenn die Boxen in falscher Höhe schweben (Standard -1.6).

Eine Animation bewirkt nichts. Animationsnamen sind die des Blockbench-Modells, in exakter Schreibweise. Bei Play Player Animation muss die modelId ein Gliedmaßen-Modell aus dem Ordner players von BetterModel sein, kein normales Modell.

Ausrüstung, Feuer oder andere Vanilla-Daten haben keine Wirkung. Ein Modell hat keine Vanilla-Entity-Metadaten. Das Log gibt einmalig eine Warnung wie '...' has no BetterModel equivalent and is ignored aus. Ausrüstung in Haupthand, Zweithand und Helm benötigt in Blockbench mit ri, li und ph markierte Bones (andernfalls meldet das Log, das Modell habe keinen Bone für diesen Slot); Rüstungs-Slots werden nicht unterstützt. Eine nicht einheitliche 3D-Skalierung verwendet nur den X-Wert.

Die Bone-Kamera bewegt sich nicht. Sie bleibt, wo sie war, solange das Modell für den Spieler nicht sichtbar ist oder der Bone nicht gefunden wird. Prüfe boneName (ohne Beachtung der Groß- und Kleinschreibung) und ob entweder entityCinematic oder instance gesetzt ist; die Entity-Cinematic gewinnt, wenn beide gesetzt sind.

Das Modell ist nach einem Weltwechsel oder einer erneuten Verbindung weg. Die Erweiterung lädt die Modelle nach Beitritt, Respawn, Teleport und Laden des Resource Packs mit kurzen Verzögerungen (bis zu 5 Sekunden) neu. Bleibt ein Modell verschwunden, melde dich neu an; Cinematic-Modelle werden beim Weltwechsel und beim Verlassen des Spielers entfernt.

Verwandte Erweiterungen​