Ceci n'est pas une question mais une info concernant la réorganisation/l'agencement des ID matériaux des meshs des fichiers FBX exportés depuis 3dsmax. Je n'ai pas poussé plus loin pour savoir si c'est inhérent au FBX ou bien à Unity, je fais juste le rapport de ce que j'ai résolu pour ceux qui seraient dans le même cas que moi.
Les ID matériaux servent aux multimateriaux c'est à dire à avoir plusieurs matériaux sur le même mesh.
Je me suis rendu compte que les IDs entre 3dsmax et Unity sont différents et peuvent être source de soucis dans certains cas.
En effet, les IDs matériaux sont remaniés entre les 2 logiciels (où exactement, je n'ai pas creusé) en fonction du numéro de la face. Ainsi, la première face de votre mesh aura automatiquement l'ID 1. l'ID 2 sera ensuite attribué à la prochaine face de la liste possédant un ID différent de la première et ainsi de suite.
Ex: Un cube avec les faces 1, 2 et 4 en ID 3, les faces 3 et 6 en ID 2, la face 5 en ID 1 dans 3dsmax.
Selon l'ordre de construction, on commence donc par la face 1. Celle-ci dans Unity aura l'ID 1 (U). La face 2 partage le même ID (max) donc elle aura également l'ID 1 (U). la face 3 possède un ID (max) différent donc se verra attribuer l'ID 2 (U). La face 4 aura l'ID 1. La face 5 l'ID 3 (U) car encore un nouvel ID (max) et enfin la face 6 l'ID 2 (U) car identique à la face 3.
Ainsi un cube avec faces dans 3dsmax:
1,2 et 4 ID 3
3 et 6 ID 2
5 ID 1
deviendra dans Unity
1,2 et 4 ID 1
3 et 6 ID 2
5 ID 3
Ce nouvel agencement des IDs peut devenir un problème lorsque vous travaillez avec les MeshFilters. Si vous décidez de changer le MeshFilter d'un gameObject au lieu de tout le gameObject, alors il faut que l'agencement des IDs matériaux soient identiques pour que le multimatériau appliqué concorde bien.
Exemple pratique: Un sélecteur de voiture pour un showroom.
Au lieu de charger les voitures entières avec tout le tintouin, vous pouvez simplement changer le MeshFilter du gameObject. Ainsi vous gardez toutes les propriétés du GameObject, seul le mesh change. Le matériau appliqué reste donc le même que sur le mesh de la voiture précédente. Si les IDs matériaux réagencés du nouveau mesh ne concorde pas avec l'ancien mesh, alors vous risquez de vous retrouver avec le matériau de phares à la place du pare-brise, la peinture sur les pneus et un intérieur entièrement chromé.
Pour faire en sorte que les IDs correspondent entre les logiciels, la solution est simple: faire le tri dans le logiciel de modélisation.
Pour ce faire, il faut reconstruire la liste des faces en détachant chaque élément par ID. Ainsi, vous vous retrouverez avec plusieurs objets ayant chacun un seul ID. Ensuite, vous attachez un à un ces objets en commençant par l'ID le plus bas vers le plus haut. Donc vous prenez l'objet qui ne possède que des ID 1, vous attachez l'objet avec que des ID 2, puis 3, puis 4, etc. Ainsi, la liste sera triée.
La bise.
Mat ID des FBX depuis 3dsmax
- boubouk50
- ModoGenereux
- Messages : 6214
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Mat ID des FBX depuis 3dsmax
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Mat ID des FBX depuis 3dsmax
J'avais jamais fait attention pour les IDs ,merci pour l'info.
Re: Mat ID des FBX depuis 3dsmax
Pas encore rencontré le problème, mais merci de l'info
Lead Environment Artist - Freelance
Mon portfolio : https://www.artstation.com/florianboue
Mon portfolio : https://www.artstation.com/florianboue