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 !