Jai utilisé des textures de nœuds dans un maillage que jai exporté vers .FBX.
Je lai ensuite importé dans Unreal Engine 4 et cela na pas été le cas » t importer des textures; jai cliqué sur loption Télécharger des textures dans Unreal Engine.
Y a-t-il quelque chose que je fais mal ou est-ce Blender?
Commentaires
- Je pense que cela a déjà été fait. Voir: gamefromscratch.com/post/2014/07/16/… Essayez-le!
Réponse
Cest une question fréquemment posée.
TL; DR
La plupart des formats de fichiers ne prennent tout simplement pas en charge lexportation de textures, encore moins les définitions de matériaux complètes ou autres fonctionnalités spécifiques à lapplication . Aussi la plupart des importateurs / exportateurs de Blender ne prennent actuellement pas bien en charge les matériaux basés sur les nœuds.
Reproduisez manuellement vos matériaux en utilisant les textures disponibles dans lenvironnement cible.
Longue histoire
Les matériaux sont trop spécifiques à limplémentation et étroitement liés au système de rendu auquel ils appartiennent à , ou au logiciel avec lequel ils ont été créés. Vous ne pouvez pas, pour la plupart, importer / exporter des définitions de matériaux entre les applications, vous ne pouvez même pas faire fonctionner les matériaux internes de Blender avec Cycles Renderer ni vice versa, et ils sont tous deux créés avec Blender, et encore moins entre des applications complètement différentes .
Pour cette raison, aucun format de fichier que vous utilisez ne peut, ni ne tente, dimporter ou dexporter les propriétés des matériaux, que ce soit 3DS, FBX, Collada, STL, OBJ ou tout autre. Il sagit principalement de formats de fichiers centrés sur la géométrie et de maillage uniquement, concernés par le portage des formes dobjets, et parfois par lanimation, larmature et lombrage de base, ou les propriétés de couleur (comme les fichiers MTL); jamais des définitions de matériaux complexes.
Il ny a simplement aucune structure de données dans les spécifications pour la plupart des formats de fichiers déchange pour accueillir ces données, sans parler de tous les types possibles de propriétés, paramètres ou cartes; et même sil y en avait, il y a beaucoup trop dimplémentations de rendu différentes pour une variété dobjectifs et répondant à des exigences distinctes (comme la vitesse ou la réactivité pour les moteurs de rendu en temps réel ou les jeux, ou le réalisme pour les « rendus hors ligne » physiques), et chacun en utilisant son propre ensemble de paramètres et des manières particulières dinterpréter des propriétés spécifiques pour pouvoir faire correspondre correctement les paramètres, les paramètres ou des fonctionnalités particulières entre eux facilement.
Par exemple, la plupart des systèmes de rendu en temps réel ont besoin dune certaine forme de option explicite " backface culling " car la rastérisation en dépend fortement pour des raisons de performances, mais dans un rendu comme Cycles, il sagit simplement dun nœud de base car pour les traceurs de rayons, la direction dans laquelle une géométrie fait face na aucune importance. Dun autre côté, le verre et les shaders transparents " fonctionnent simplement " avec une grande réfraction dans les traceurs de rayons, mais dans EEVEE, vous devez vous amuser avec le mélange modes et paramètres de transparence, inexistants dans Cycles, car la représentation des interactions dobjets est coûteuse et complexe pour les rastérisateurs.
Certains canaux de texture basés sur une image plus courants peuvent parfois être correctement préservés, tels que diffus, spéculaire, brillant ou " flux de travail PBR ", mais certainement jamais de textures générées de manière procédurale et / ou de coordonnées de texture générées, celles-ci sont générées au moment du rendu et peuvent « t être exporté. Gardez à lesprit que la plupart des exportateurs Blender ne prennent même pas en charge les matériaux basés sur le nœud Cycles (à lépoque décriture pour Blender 2.79 #), donc même les textures dimage utilisées dans les arbres de nœuds Cycles ne devraient probablement pas être préservées. / p>
Il en va de même pour de nombreuses autres fonctionnalités spécifiques aux applications ou aux moteurs de rendu, comme les paramètres déclairage, les paramètres dombre, lampes, caméras, simulations physiques (fluides, tissus, corps souples), options de texture (serrage, découpage, mosaïque, réglages de couleur), coordonnées de texture générées (tout ce qui nest pas mappé explicitement par une carte UV ou créé en dépliant un maillage), options de matériaux (sélection de la face arrière, ombres, visibilité, transparence et modes de fusion) systèmes de particules, simulations de fumée et de feu, données volumétriques, modificateurs, morphing de forme (comme les shapekeys ou animations basées sur la déformation) et autres " les données générées ", ne peuvent pas aussi pour la plupart être importées ou exportées (à quelques exceptions près).
Comment le résoudre alors?
Tout ce que vous pouvez, et devez, importer / exporter, ce sont les coordonnées UV avec votre maillage afin que vous puissiez correctement appliquer vos textures au " application cible " , moteur de jeu ou environnement de rendu de réception, où vous importerez et afficherez votre modèle , que ce soit Unreal, Unity, Gamekit, un logiciel de rendu externe ou autre; ou même Blender lui-même lors de limportation de modèles dailleurs. Les cartes UV sont généralement correctement conservées par la plupart des formats de fichiers déchange par défaut.
Là, vous devriez dépenser un peu de temps pour recréer à nouveau vos matériaux à partir de zéro avec les textures fournies et les cartes disponibles. Oui, cela nécessite un peu de retour en arrière et prendra du temps, mais avec de la pratique, cela deviendra plus rapide. Enregistrez les préréglages dans des bibliothèques réutilisables, le cas échéant, pour réduire le nombre de répétitions.
Ce que vous pouvez faire dans certaines situations est dutiliser Blender pour cuire des textures que vous pourrez utiliser ultérieurement dans la destination finale ou recevoir lapplication pour créer des documents là-bas, pas dans Blender .
La cuisson est le processus de pré-calcul de lombrage et le stocker dans une texture dimage statique qui peut incorporer plusieurs canaux optionnels tels que léclairage diffus, brillant, indirect, les cartes en relief, les cartes normales, les cartes lumineuses, entre autres. Cela peut améliorer la qualité graphique ou le " réalisme " perçu au détriment du dynamisme, car certaines propriétés des matériaux et des textures peuvent devenir statiques, car si " peint sur la surface ", comme des ombres ou des reflets. Cest souvent une exigence pour les plates-formes à hautes performances ou à faible consommation, comme les jeux Web ou mobiles, où les ressources disponibles sont limitées ou inconnues et où la vitesse prime sur la fidélité graphique.
Exceptions
Une exception notable à tout cela est le format de fichier glTF , qui, depuis la version 2.0 glTF prend en charge certaines définitions de matériaux basées sur un modèle dombrage de rugosité métallique dans ses spécifications. Le module complémentaire glTF-Blender-IO créé par le groupe Khronos lui-même prend en charge lexportation de matériaux basés sur des nœuds BSDF de principe . Mais même dans ce cas, certaines restrictions sappliquent.
En raison de la popularité récente du rendu basé sur la physique , et de son utilisation croissante dans les moteurs de jeu et Real – Applications de rendu du temps, il est devenu une sorte de " standard lâche " vaguement défini pour décrire les propriétés de surface des matériaux (bien que plusieurs nuancées différemment) versions existent).
Développements futurs
PBR nest pas un standard cependant et toutes les implémentations ne fonctionnent pas de la même manière ou interprète les mêmes paramètres de la même manière. Le Principled BSDF a déjà été écrit selon un modèle conçu par un leader du secteur établi (Disney) pour leur propre usage interne et pour le jeu des moteurs comme Unreal Engine® ou des applications de peinture de texture comme Substance Painter® lont également adopté.
À mesure que le flux de travail PBR gagne en popularité et en traction, il est possible que davantage dapplications " rejoignez le mouvement " et implémentez-le dans le futur. Si une norme commune peut être convenue, il se peut quà lavenir davantage dimportateurs / exportateurs améliorent la compatibilité avec un nombre croissant de propriétés de matériaux. Ils liront probablement directement à partir dun fichier Blend, utiliseront un autre nouveau format de fichier hypothétique ou seront forcés dimplémenter de nouvelles normes; car les structures actuelles manquent encore de structures de données pour les décrire correctement. À ce stade, il sagit de pure spéculation, et aucun plan connu nest fait.
Problèmes connexes
- Importation dOBJ avec MTL et limage ne fonctionne pas correctement
- Lorsque jenregistre quelque chose sous forme de fichier OBJ, la texture ne senregistre pas avec lui, pourquoi?
- Comment importer un fichier .mtl?
- Blender nest pas ' t importer correctement mtl avec obj?
- Exporter le matériel à lunité
- Comment importer un modèle avec des textures appliquées?
Commentaires
- Je nai jamais utilisé Unreal ou tout autre moteur, je nen ai aucune idée, vous devrez vous renseigner à ce sujet dans une communauté dédiée I ' jai peur.Jentends que certains moteurs nautorisent pas plusieurs matériaux par maillage, il faudrait le séparer en plusieurs objets. Quoi quil en soit, vous pouvez appliquer les matériaux dans Blender, pour une fidélité visuelle dans la fenêtre daffichage, et si limportateur le prend en charge, ' est moins de travail que vous devez refaire dans le moteur, ne faites pas ' t espère utiliser les mêmes définitions de matériaux exactes.
- Il convient de noter que de nombreuses applications / formats se soucient des emplacements de matériaux affectés (cest-à-dire quels verts ont quel matériau attribué) , mais pas le matériau réel qui est affecté, car ils en ont besoin pour affecter leurs propres matériaux.
- @Duarte Farrajota Ramos il existe dinnombrables scripts dexportation qui exportent les maillages de mélangeur avec les matériaux qui leur sont attribués
- @ phil123 Vous devriez publier cela comme réponse ci-dessous, avec des liens vers lesdits scripts et une description du flux de travail utilisé, ainsi que des captures décran des résultats
- Je peux ajouter quelque chose sur Unreal et glTF, don ' Je ne connais pas FBX. Cycles, Eevee et Unreal ont chacun de puissants matériaux basés sur des nœuds. Le modèle de matériau glTF 2.0 est plus simple mais peut gérer un grand pourcentage des besoins en matière dart de jeu (PBR basé sur une texture dimage). glTF fonctionne entre Blender et Unreal (à partir de 4.19) pour les maillages statiques avec des matériaux. Vous pouvez avoir plusieurs matériaux dans un seul objet maillé, et ceux-ci apparaîtront comme des emplacements de matériaux dans Unreal. De là, vous pouvez utiliser les matériaux importés de glTF ou les échanger / en créer de nouveaux dans Unreal.
Réponse
Lors de lexportation vers .fbx, vous ne pouvez pas exporter de matériaux, vous aurez la couleur de la surface, mais pas dautres paramètres tels que la brillance et la réflexion, pour les textures, oui, vous pouvez, mais vous devez utiliser blender interne (il ne fonctionne pas avec les cycles), et assurez-vous de ne pas utiliser de nœuds, appliquez les textures, puis, lorsque vous êtes dans les paramètres dexportation fbx, allez en bas, définissez le chemin à copier, puis cochez licône en forme de boîte à côté, il devrait maintenant intégrer les textures avec le fichier fbx exporté.
PS: Je nai pas testé le nouveau blender 2.79