Aller au contenu principal

BetterModel

Modèles 3D animés BetterModel en tant que PNJ TypeWriter, avec actions d'animation, contrôle des os et cinématiques.

Payantesv1.5Entités et modèles
NécessiteTypeWriter0.9BetterModelQuest extension (TypeWriter)Basic extension (TypeWriter)Entity extension (TypeWriter)RoadNetwork extension (TypeWriter)

Vue d'ensemble​

BetterModel connecte le plugin BetterModel à TypeWriter. Vous concevez un modèle et ses animations dans Blockbench, vous l'installez dans BetterModel, puis vous l'utilisez dans TypeWriter comme une entité : une définition indique quel modèle utiliser, une instance le place dans le monde, et le mécanisme habituel des entités TypeWriter (audiences, activités, interactions, interlocuteurs de dialogue) fonctionne dessus.

Les modèles sont rendus par paquets, joueur par joueur : chaque joueur peut donc voir un état différent du même PNJ, avec d'autres bones affichés, une autre lueur, un autre équipement. L'extension ajoute aussi des actions pour lancer et arrêter des animations, des entrées de cinématique pour animer des modèles et des membres de joueurs, et une caméra qui se déplace avec un bone d'un modèle animé.

Fonctionnalités​

  • Entités de modèle — une définition et une instance transforment n'importe quel modèle BetterModel en PNJ avec prise en charge des audiences, activités et interactions.
  • Animations automatiques — les animations d'attente, de marche, de déplacement latéral, de saut, de vol, d'attaque, de dégâts et d'interaction sont jouées selon l'état de l'entité, avec des noms que vous pouvez changer.
  • Actions d'animation — lancez ou arrêtez une animation sur un modèle placé depuis n'importe quel trigger.
  • Contrôle des bones par joueur — affichez ou masquez des bones et définissez lueur, teinte, brillance d'enchantement et luminosité selon des critères.
  • Hitboxes personnalisées — zones de clic liées à des bones avec Hitbox, ou automatiques à partir des bones hitbox du modèle.
  • Remplacement de bones — échangez un bone avec celui d'un autre modèle grâce à Attachment ou Passenger.
  • Animations de joueur — lancez des animations de membres de joueur BetterModel sur le joueur avec une action ou dans une cinématique.
  • Cinématiques — pilotez un modèle à partir d'un enregistrement avec la cinématique d'entité et filmez-le avec la caméra de bone.
  • Indicateur d'interaction — les modèles nommés affichent un indicateur d'interaction ou de dialogue au-dessus de leur nom, piloté par les objectifs d'interaction et les entrées d'interaction.

Installation​

  1. Installez BetterModel sur le serveur et assurez-vous qu'il charge vos modèles. La caméra de bone nécessite BetterModel 2.1.0 ou plus récent ; l'extension est construite pour BetterModel 3.3.0.
  2. Installez les extensions officielles TypeWriter Quest, Basic, Entity et RoadNetwork (l'extension est construite pour les quatre).
  3. Obtenez BetterModel sur les boutiques (voir les boutons ci-dessus) et placez le JAR dans plugins/Typewriter/extensions/.
  4. Redémarrez le serveur. Le journal affiche [BetterModelExtension] BetterModel detected: initializing. Si BetterModel est absent, il affiche BetterModel plugin not found; extension disabled.
  5. Placez vos modèles dans BetterModel et générez son resource pack comme l'indique la documentation de BetterModel. Les joueurs doivent avoir accepté le resource pack pour voir les modèles.

Premiers pas​

Placez un PNJ animé qui salue lorsque vous cliquez dessus :

  1. Dans le panel web TypeWriter, ouvrez une page static et ajoutez une BetterModel Definition. Définissez modelId sur le nom de votre modèle dans BetterModel, activez named et définissez displayName.
  2. Dans defaultAnimationSettings, vérifiez que idle, walk et interact correspondent aux noms d'animation de votre modèle (les valeurs par défaut sont idle, walk et interact).
  3. Ouvrez une page manifest et ajoutez une BetterModel Instance, définissez definition sur celle que vous venez de créer et capturez spawnLocation avec l'outil de position.
  4. Facultatif : ajoutez Bone Visibility dans le data de la définition pour masquer un bone (par exemple un chapeau) aux joueurs qui ne correspondent pas à un critère.
  5. Ajoutez un événement d'interaction avec une entité et une action Play Entity Animation. Définissez entity sur l'instance et animation sur un nom d'animation personnalisé.
  6. Publish (Publier) et cliquez sur le PNJ en jeu.
Hitboxes

Le PNJ ne peut être cliqué que là où il a une hitbox d'interaction. Nommez un bone hitbox dans Blockbench, ou ajoutez une entrée Hitbox. Sans l'un ni l'autre, une seule boîte couvrant tout le modèle est utilisée.

Fonctionnement​

La définition contient ce qui est partagé (modèle, noms d'animations, hitboxes, données). L'instance contient la position, des données supplémentaires et une activity. Les entrées de données de l'instance sont appliquées après celles de la définition : une instance peut donc remplacer sa définition.

Configuration​

L'extension n'a pas de fichier de configuration. Les modèles, les membres et le resource pack sont gérés par BetterModel.

Deux dossiers de BetterModel sont utilisés par leur nom : les entités utilisent les modèles enregistrés par BetterModel, et les actions et cinématiques de joueur lisent les modèles de membres de joueur dans le dossier players de BetterModel (par exemple steve, alex).

Entrées​

15 entrées, générées depuis la source de l'extension.

Actions3
Cinématiques4
Entités2
Données d'entité6

Dépannage​

Le PNJ est invisible. Cherchez Model '...' not found dans le journal. Le modelId doit correspondre à un modèle chargé par BetterModel. Dans le cas contraire, l'extension essaie un modèle appelé steve et, s'il manque aussi, n'invoque rien. Vérifiez aussi que le joueur a accepté le resource pack.

Le PNJ apparaît mais ne peut pas être cliqué. La hitbox d'interaction provient d'un bone dont le nom contient hitbox ou hit_box, ou d'entrées Hitbox. Si le modèle n'a ni l'un ni l'autre, une boîte couvrant le modèle est créée, et sa hauteur est d'au moins 1,8 bloc. Ajustez hitboxYOffset dans defaultAnimationSettings si les boîtes flottent à la mauvaise hauteur (-1.6 par défaut).

Une animation ne fait rien. Les noms d'animation sont ceux du modèle Blockbench, avec l'orthographe exacte. Pour Play Player Animation, le modelId doit être un modèle de membres issu du dossier players de BetterModel, et non un modèle ordinaire.

L'équipement, le feu ou d'autres données vanilla n'ont aucun effet. Un modèle n'a pas de métadonnées d'entité vanilla. Le journal affiche un avertissement unique tel que '...' has no BetterModel equivalent and is ignored. L'équipement de la main principale, de la seconde main et du casque nécessite des bones étiquetés ri, li et ph dans Blockbench (sinon le journal indique que le modèle n'a pas de bone pour cet emplacement) ; les emplacements d'armure ne sont pas pris en charge. L'échelle 3D non uniforme n'utilise que la valeur X.

La caméra de bone ne bouge pas. Elle reste où elle était tant que le modèle n'est pas visible par le joueur ou que le bone est introuvable. Vérifiez boneName (insensible à la casse), et que entityCinematic ou instance est défini ; la cinématique d'entité l'emporte lorsque les deux le sont.

Le modèle a disparu après un changement de monde ou une reconnexion. L'extension recharge les modèles après la connexion, la réapparition, la téléportation et le chargement du resource pack avec de courts délais (jusqu'à 5 secondes). Si un modèle reste absent, reconnectez-vous ; les modèles de cinématique sont retirés lors d'un changement de monde et lorsque le joueur quitte.

Extensions associées​