Modèles GLTF Customs (Charrettes & Sacs)

.Vous connaissez probablement déjà le système de blocks customs. Ce guide-ci couvre quelque chose de différent: la possibilité de customiser les modèles descharrettes et des sacs à dos avec un modèle GLTF animé. Roues qui tournent, couvercle qui s’ouvre… tout ça piloté par votre modèle.

. Le principe reste le même: vous créez votre modèle sur BlockBench, vous l’uploadez sur le pastebin, et vous donnez le lien au staff.

Prérequis

Pas grand chose de particulier, vous aurez besoin de:

  • BlockBench pour modéliser. (La version en ligne marche aussi.)

  • Un éditeur d’image pour vos textures - Paint.NET fait très bien l’affaire.

  • Votre texture uploadée quelque part en ligne. Utilisez de préférence le skin hosting de Keldaria, c’est plus propre.


Créer le modèle

Sur BlockBench, créez votre modèle en tant que Generic Model. C’est le type à choisir pour avoir un export GLTF propre.

Prenez le temps de bien nommer vos bones dès le départ. Ces noms, vous en aurez besoin plus tard dans le fichier de configuration pour dire au jeu quelles parties animer. Une fois exporté, c’est galère à retrouver.

Quand votre modèle est prêt, exportez-le via File → Export → Export glTF. Vous obtenez un fichier .gltf, qui est en réalité du JSON - vous pouvez l’ouvrir avec n’importe quel éditeur de texte, Notepad, Sublime Text, peu importe.


Configurer le fichier

. C’est là que ça devient un peu technique. Le fichier .gltf contient déjà plein de choses générées par BlockBench, et vous allez devoir y ajouter quelques champs à la racine du JSON (c’est à dire au même niveau que "asset", "scenes", etc.).

. Il y a trois champs qui nous intéressent:

{
  "asset": { ... },
  "scenes": [ ... ],

  "texture": "http://keldaria.fr/skinhosting/votre_texture.png",

  "parent": "http://keldaria.fr/pastebin/...",

  "custom_data": {
    ...
  }
}
  • texture - L’URL de la texture à appliquer sur le modèle. Obligatoire, sinon votre modèle s’affiche tout blanc.

  • parent - Optionnel. Permet d’hériter d’un modèle de base: votre modèle reprendra tous les champs du parent, sauf ceux que vous redéfinissez vous-même.

  • custom_data - C’est ici que vous configurez les animations. Le contenu dépend du type d’objet, voir ci-dessous.


Configuration par type d’objet

Charrette

. Les charrettes ont quelques champs spécifiques dans custom_data pour gérer les roues, le cargo affiché, et l’orientation du bras d’attelage quand la charrette est laissée libre.

"texture": "http://keldaria.fr/skinhosting/ma_texture.png",

"custom_data": {
  "wheels": ["roue_av_gauche", "roue_av_droite", "roue_ar_gauche", "roue_ar_droite"],
  "cargo": ["cargo_1", "cargo_2", "cargo_3"],
  "cart_rotation_part": "bras_attelage",
  "cart_rotation": 25.0
}
Champ Type Description

wheels

String[]

Les noms des bones de roues. Le jeu leur applique automatiquement une rotation sur l’axe X proportionnelle à la vitesse de déplacement.

cargo

String[]

Les noms des bones de cargo, dans l’ordre. Les bones dont l’index dépasse le nombre d’items chargés sont automatiquement cachés. Utile pour des sacoches qui se "remplissent" visuellement.

cart_rotation_part

String

Le bone qui pivote quand la charrette n’est pas attelée à un animal.

cart_rotation

float

L’angle en degrés appliqué sur X au bone ci-dessus lorsque la charrette est libre.

Sac à dos

. Pour les sacs, c’est plus simple: vous définissez les rotations cibles de chaque bone à l’état "couvercle grand ouvert", et le jeu se charge de les interpoler selon l’avancement de l’ouverture.

"texture": "http://keldaria.fr/skinhosting/ma_texture.png",

"custom_data": {
  "opened_rotations": {
    "couvercle": [90.0, 0.0, 0.0],
    "second_couvercle": [45.0, 0.0, 0.0]
  }
}
Champ Type Description

opened_rotations

Object

Un objet où chaque clé est un nom de bone, et la valeur un tableau [x, y, z] en degrés. Ces valeurs correspondent à la rotation quand le couvercle est complètement ouvert - le jeu interpole tout seul entre fermé et ouvert.

Un couvercle qui s’ouvre vers l’arrière, c’est généralement une rotation X positive. Testez avec des valeurs simples comme [90, 0, 0] pour commencer.


Uploader et transmettre au staff

. Une fois votre fichier .gltf prêt, ouvrez-le dans un éditeur de texte, faites CTRL+A puis CTRL+C, et collez le tout sur le pastebin de Keldaria. Vous obtenez un lien .txt unique - c’est ce lien que vous transmettez au staff.

.Contrairement aux blocks customs, il n’y a pas de commande pour appliquer vous-même le modèle sur une charrette ou un sac. C’est le staff qui fait l’association.

Vérifiez bien que les noms de bones dans votre custom_data correspondent exactement à ceux de votre modèle Blockbench, espaces et majuscules compris. C’est la première source d’erreur.