par Emi
Parfois, lorsque vous import le modèle dans 3DCoat, la normal map sur le moteur de rendu de fenêtre ne s’affiche pas correctement. Mais cela commence par la façon dont vous exportez votre modèle sur n’importe quel autre logiciel.
La carte normale pourrait résoudre un peu les problèmes d’ombrage, liés à la façon dont les cartes normales sont lues par le logiciel, ce qui pourrait rendre le problème un peu moins visible, mais le problème est toujours là. Vous devez appliquer certaines des règles qui aideraient à résoudre le vrai problème afin de faciliter le travail et la vie en créant de meilleures cartes normales.
Sans appliquer ces règles, la plupart des normaux étaient moyens et quelques-uns étaient difficiles, ce qui était étrange à voir. Mais c’est clairement la principale raison des problèmes : comment exporter les groupes de lissage pour votre modèle et comment ils sont lus dans d’autres logiciels.
Premièrement, les boîtes ne peuvent pas avoir de bords doux ou moyens, ce sont des angles de 90°, et quoi que vous fassiez, elles auront toujours ce problème d’éclairage si elles ne sont pas réglées sur des bords durs. Dans le passé, avant que des programmes de cuisson plus avancés comme Marmoset n’apparaissent pour faciliter les choses, il fallait toujours créer une cage, et la cage serait celle qui avait les normales de sommet moyennes, donc la cage serait utilisée pour faire la moyenne. recherche’ du high poly, sans provoquer d’erreurs sur la cuisson puisque la boîte rappellerait des bords durs. Bien sûr, maintenant Ouistiti a la case à cocher “cage lisse” qui fait de même et maintenant vous n’avez plus besoin de cage à moins que vous n’en ayez vraiment besoin.
Il y a donc deux « règles » ici et elles sont également liées :
1. Lorsque vous réalisez des modèles avec des angles à 90°, ils doivent toujours être durs. Bien sûr, vous pouvez également faire un petit biseautage et éviter les bords à angle de 90°. cela suivra non seulement de près la forme du modèle haute résolution, mais vous pourrez également utiliser les bords doux de la boîte et la rendre plus belle et avec moins de problèmes, arrondie et plus jolie et tout ça.
2. Les bords durs (qui devraient être à peu près des angles de 90°) doivent toujours être divisés sur l’ UV pour éviter les problèmes également. Vous ne le remarquerez peut-être pas vraiment sur votre modèle, mais il est là et cela a à voir avec la façon dont le les pixels se rencontrent à un angle de 90° et comment les pixels peuvent être mélangés et ils sont simplement différents, donc il n’y a pas assez d’espace comme le ferait un remplissage pour résoudre les petits problèmes qui pourraient survenir. Oui, cela dépend de la résolution et des UVs et tout ça et ça pourrait le rendre plus visible que d’autres, mais oui, dans un cas comme celui-ci où vous faites des boîtes, il faudrait diviser tous ces bords à 90°, et oui, cela signifie 6 côtés de la boîte = 6 îlots pour éviter les problèmes.
Parlons de 3DCoat et de son fonctionnement avec les préréglages et tout ça. Ce que je comprends, c’est qu’en utilisant des préréglages comme Blender ou Unity, vous utilisez en fait un fichier prédéfini avec non seulement la façon dont il traitera la carte normale, mais il sera inversé en vert ou non. Mais aussi Tangent Space, la triangulation, et comment il exporte les normales et quelques autres options. Si vous utilisez l’option Inconnu, vous pourrez utiliser celles des préférences, celles que vous avez définies.
Si vous allez dans C:Program Files 3DCoat-VXXXToolsPresetsExtTools, vous verrez les fichiers XML et en quoi Unity diffère de Blender, car le préréglage de Blender utilise MikkTSpace tandis que unity est définie sur LengyelAreaAngleWeightedSpace. C’est la seule différence. mais apparemment assez pour que vous le voyiez car ils sont interprétés différemment. Techniquement, ils ne devraient pas affecter grand-chose et seulement la façon dont la normal map est lue s’il s’agit de “DirectX” ou “OpenGL”, mais la racine du problème d’ombrage ne concerne pas la normal map, mais le modèle et cela le fera. soyez toujours le modèle.
En laissant de côté les règles des UVs , les problèmes que cela provoque sont minimes, si vous en êtes conscient, alors c’est votre choix d’économiser de l’espace UV et d’ignorer les bords et le problème qui pourrait survenir plutôt que de les faire correctement car vous devrez vous en approcher trop près. pour remarquer les problèmes. parfois il y a un grand écart entre les bords, cela m’est arrivé.
Si vous ne pouvez pas avoir des boîtes comme normales de sommets moyennes ou douces, elles doivent ressembler à des boîtes à bords durs car ce sont des bords d’angle de 90°. Si vous souhaitez utiliser des bords adoucis, vous devez créer un biseau.
Les boxers doivent avoir des bords 100 % durs, les cylindres doivent être durs en haut et en bas et les côtés doux.
Pour les modèles low poly, je suggère de faire des biseaux, un tout petit biseau fera une grande différence dans de nombreux cas, surtout aujourd’hui où il n’y a aucune excuse pour avoir une boîte sans biseau du tout pour quelque chose comme ça.
Les préréglages 3DCoat ne sont que de petites variations que vous pouvez même sélectionner manuellement en utilisant inconnu, vous n’avez pas besoin des préréglages, ils servent simplement à aider 3DCoat à interpréter la normal map et le modèle, mais je ne fais jamais confiance aux préréglages, car comme vous le dites, le préréglage Unity devrait être défini sur MikkTSpace. Mais ce que je veux dire, c’est qu’il ne s’agit pas seulement de la normal map OpenGL vs DirectX.
Donc, quand j’utilise 3DCoat qui sert habituellement à peindre, tout fonctionne bien, mais c’est parce que je m’assure que tout sur mon low poly est également bon, je veux dire, pour créer de bonnes cartes normales et les faire fonctionner partout où vous avez besoin d’un bon low poly. poly qui peut capturer tous les détails high poly que vous avez créés. Il n’y a pas de magie, ça marche parce que je m’assure de tout, comme les groupes de lissage et les UVs et tout ça.
Ce que je veux dire, c’est qu’un modèle avec des bords à 90° doit être réglé automatiquement sur les bords durs, il n’y a pas d’autre solution et c’est tout. peu importe si le Cube a 6 côtés comme dans ce cas ou 1000 subdivisions Largeur, Hauteur et Profondeur. Si vous ne définissez pas l’angle de 90° d’une boîte comme bord dur, elle aura toujours un ombrage étrange sur les bords qui sont à 90° mais qui sont définis sur doux ou autre.
Si vous appliquez un seul groupe de lissage à l’ensemble des objets… c’est faux, car vous ne pouvez pas créer de bords adoucis sur les boîtes, surtout si ces objets ne sont que des cubes à 6 faces.
Vous ne pouvez pas “lisser” quelque chose comme ça, surtout si vous avez une simple boîte à 6 polygones, si vous souhaitez utiliser une boîte, définissez tous les côtés sur Hard Edges. Ou l’autre solution consiste à ajouter un biseau sur les bords pour briser l’angle de 90 °, puis à le régler sur doux. Baking la normal map pour masquer le problème n’est pas la solution, cela peut paraître un peu mieux mais l’erreur d’ombrage existe toujours sur le modèle. Même les cylindres doivent avoir des bords doux sur les côtés et sur les faces supérieure et inférieure, ils doivent être réglés sur des bords durs, sauf si vous ajoutez un biseau.
La question est donc : souhaitez-vous toujours tout conserver comme un seul groupe de lissage ? à moins que vous ne travailliez dessus correctement et que vous définissiez des éléments qui devraient être des bords durs et des bords doux ou que vous ajoutiez des biseaux à chaque ange de 90 °, rien ne résoudra votre problème, et vous devez simplement cacher le problème avec la normal map et faire semblant de ne pas avoir de problème. existe.
J’espère avoir expliqué décemment quels sont les problèmes ici afin que cela puisse vous aider lors de vos futures préparations de normal map .
Bonne chance et bonne journée !