Aller au contenu
We are updating the documentation, some information may be outdated or incomplete

Multi-Textures

Introduction

DynamX permet d'utiliser le même modèle obj (et donc le même mtl) pour avoir différentes textures applicables aux véhicules, roues, blocs, props et armures.

Prérequis

Vous devez avoir correctement configuré le fichier mtl, sinon retournez à l'étape d'exportation du modèle du tutoriel que vous suivez. Vous devez égalément être à l'aise avec la notion d'objets et de matériaux (materials) sur les modèles obj.

Danger

Cette version du tutoriel fonctionne uniquement sur les versions 4.0.0 et ultérieures de DynamX.

Configuration du modèle

DynamX permet d'utiliser le même modèle obj (et donc le même mtl) pour avoir différentes textures applicables sur vos blocs, props, véhicules et armures.

Vous pouvez, au choix, mettre plusieurs textures sur un même matériau (configuration conseillée, la plus simple), ou mettre plusieurs matériaux sur un même objet (permettant d'utiliser des couleurs, sans textures .png).

Utiliser plusieurs textures sur un même matériau (configuration conseillée)

Créez différentes textures pour votre modèle, puis, dans le fichier mtl, ajoutez vos textures comme ceci :

newmtl Material
...
map_Kd textures/block_orange.png
map_Kd textures/block_rouge.png Rouge
map_Kd textures/block_vert.png Vert
map_Kd textures/block_bleu.png Bleu

La première ligne map_Kd correspond à la texture par défaut, elle est déjà présente dans le mtl après l'avoir exporté.

La seconde ligne correspond à une variante de texture, textures/block_rouge.png est le chemin de la texture à partir du dossier du mtl, et Rouge est le nom de la texture (visible sur l'item associé en jeu). Vous pouvez en mettre autant que vous voulez (bien évidement trop de textures satureront la mémoire de votre ordinateur).

Warning

Si vous créez une voiture, et si les roues peuvent avoir différentes textures, vous devez faire de même dans leur mtl.

Utiliser plusieurs matériaux sur un même objet (avancé)

Cette méthode offre plus de souplesse que la première et permet par exemple d'utiliser des couleurs différentes sur chaque matériau.

Pour l'utiliser, vous devez simplement copier le matériau "de base" puis le renommer. Par exemple avec l'exemple précédent :

newmtl Orange
...
map_Kd textures/block_orange.png

newmtl Rouge
...
map_Kd textures/block_rouge.png

newmtl Vert
...
map_Kd textures/block_vert.png

newmtl Bleu
...
map_Kd textures/block_bleu.png

Dans l'étape suivante, vous devrez impérativement ajouter BaseMaterial: Orange au bloc MaterialVariants.

Le fonctionnement est le suivant : le matériau par défaut est le matériau orange, indiqué avec la propriété BaseMaterial, et les autres textures utiliseront le matériau correspondant à la place du matériau Orange.

Configuration du véhicule/bloc/armure

Maintenant, retournons sur la configuration du véhicule/bloc/armure : ajoutez un bloc MaterialVariants comme le suivant dans votre fichier de configuration.

MaterialVariants{
    Variants: Rouge Vert Bleu
}

Variants permet de lister tous les variantes de textures que vous avez utilisé dans le fichier mtl, chaque variante doit être séparée par un espace. Si vous utilisez plusieurs textures sur un même matériau, pas besoin d'indiquer la texture par défaut, nommée Default. Si voulez la remplacer, vous pouvez tout de même ajouter BaseMaterial: Vert par exemple.

Info

Si vous utilisez un rendu de l'item en 2D, ces variantes s'y appliqueront également en créant un fichier json (pointant une texture .png) par variante.

Si vous configurez une voiture, vous pouvez ajouter les mêmes lignes dans le fichier de la roue pour également appliquer les variantes sur les roues du véhicule. Les noms des variantes doivent toujours être les mêmes que les variantes du véhicule, ou ne mettez pas ces lignes si vous n'en avez pas pour la roue (mais seulement pour le chassis).

Conclusion

La configuration du multi-textures est maintenant terminée, vous pouvez revenir à votre tutoriel initial !