Dans le tutoriel sur le mob basique, il n’est pas expliqué comment utiliser un modèle custom. Plutôt que de faire un tutoriel sur techne et un mini tutoriel pour appliquer le modèle, j’ai décidé de regrouper les deux ici. Nous allons donc voir comment utiliser techne et comment appliquer un modèle à un mob.
Pré-requis
Téléchargement et installation de techne
Tout d’abord, sachez que techne n’est que disponible sous Windows, il peut peut être téléchargé sur le site officiel :
http://techne.zeux.me/Techne
Ensuite il suffit juste de lancer l’installateur.
Création du modèle
Lancez techne, une fenêtre “New Model” devrait s’ouvrir. Dans “Model Name”, mettez le nom du modèle. Ensuite choisissez sur quel modèle est basé votre modèle (par défaut sur modèle base, vous pouvez par exemple utiliser comme base le creeper ou le joueur). Ensuite choisissez la taille de la texture. Cette taille n’a pas de rapport avec la résolution, une taille plus grande permet de mettre plus de morceaux, il faut donc utiliser une grande taille pour les modèles complexe. En cas de mauvais réglage, vous pouvez modifier en allant dans le menu Edit ou File -> Edit Project.
Rapidement, présentation de la barre d’outils de gauche :
Le nom de la forme que vous avez sélectionnés (par défaut elles sont appelées shape1, shape2 etc …). Dans cette exemple il n’y a rien car j’ai rien sélectionné.
Les dimensions de la forme sélectionnée. (x, y, z)
Les coordonnées x, y et z de la forme.
En jaune, l’offset de la forme, c’est le point de rotation de la forme, votre forme va donc tournez par rapport à ce point.
L’offset de la texture, c’est les coordonnées de la texture de la forme sélectionnée sur la texture du modèle. C’est pas très clair, mais une fois que vous aurez créer votre première forme, changer la valeur et regarder la case texture (sur la barre de droite) vous allez comprendre tout seul.
La rotation du morceau sur les axes x, y et z.
Et le plus important de tous, le bouton pour créer un nouveau morceau.
En bas à droite, il y a la liste de tout vos morceaux. La planche en bois correspond au sol.
Les contrôles :
- clic de la molette + bouger la souris pour se déplacer.
- clic droit + bouger la souris pour tourner.
- la molette pour zoomer/dé-zoomer.
Maintenant place à la pratique, créez votre modèle.
Exporter/Importer la texture
Vous avez pu constaté que sur la case de texture en haut à droite des couleurs apparaissent quand vous ajoutés des morceaux, et qu’elles se déplace si vous changés le texture offset de la forme. Comme je l’ai expliqué plus haut, c’est l’emplacement de la texture, faite en sorte que les textures ne se superposent pas sauf si les deux morceaux doivent avoir la même texture.
Ensuite allez dans le menu “File”, faite “Export as” et choisissez Texturemap. Vous allez obtenir un .png, utilisez-le pour faire la texture de votre modèle. Une fois terminé, vous pouvez avoir le rendu de la texture directement sur techne, pour ça, cliquez sur le bouton “load texture” sur la barre de gauche, et cherchez votre .png.
Exportez le modèle en java et l’appliquer au mob
/!\ Ne suivez pas cette parti si vous souhaitez faire un rendu de bloc TESR ou un rendu d’item /!
Comme pour la texture, allez dans “File” puis “Export as” et sélectionnez java.
Placez le .java obtenu dans le package client de votre mod (logique, les modèles et les rendus ne sont que fait par le client)
Il y aura quelques erreurs dans le fichier, pour les corriger :
- Changez la déclaration de package.
- Organisez les importations (ctrl + shift + o) (sélectionnez net.minecraft.quelque chose quand vous avez plusieurs choix)
- Dans la méthode setRotationAngles, ajoutez un argument Entity, et dans le super. ajoutez cette argument :
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
}
- Dans la méthode render, ajoutez entity en argument à la fonction setRotationAngles :
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5, entity);
Shape1.render(f5);
[…]
}
Votre modèle est prêt, il ne reste plu qu’à l’appliquez. Allez dans votre client proxy, dans la méthode RenderingRegistry.registerEntityRenderingHandler changer simplement :
new ModelBiped()
par
new NomDeVotreModel()
Pour aller plus loin, apprenez à animer votre modèle.
Questions / Réponses
Rien pour l’instant.