Backing des normales d'une moitié d'objet + modificateur miroir

GO TO ADMIN PANEL > ADD-ONS AND INSTALL VERTIFORO SIDEBAR TO SEE FORUMS AND SIDEBAR

The_Moye

Membre très actif
#1
Bonjour à tous,

Je me trouve régulièrement confronté à des résultats laids, très laids, dans mes mes backing de normale map.
Je viens à vous en ce vendredi après midi pour tenter de comprendre comment obtenir un meilleur résultat.
Toutes les textures ci-dessous sont obtenues sous cycle, dans l'espace tangent.

Ma première interrogation concerne le backing des normales d'un objet dont seule une moitié à été modélisée et les UV dépliés.
Grâce au modificateur miroir, on obtient l'autre côté de notre objet ainsi que son dépliage en cochant la petite case qui va bien.

_ Y a t-il une différence si j'effectue le backing directement, sans appliquer le modificateur, et si je l'applique ? Je pense notamment à la soudure des points au niveau du plan miroir.
_ Les normales sont elles inversées ? Est-ce que je dois réorganiser mon dépliage, et faire un "scale -1" sur les parties dépliées par miroir sur son axe ? D'une manière générale, est ce qu'il faut que je réorganise mon dépliage pour que toutes les parties de mon objet soient dépliées de manière cohérente par rapport à l'axe du plan miroir ?

Un exemple sur un dépliage d'une DS21 Low-poly que j'ai modélisé pour le jeu CitiesSkylines :




Ci-dessus, le modificateur miroir est simplement appliqué.
On se rend bien compte en rapprochant les deux parties du capot et du pare-brise que les couleurs de la partie dépliée à la main et la partie dépliée par miroir ne s'accordent pas du tout au niveau du plan miroir.



Ci-dessus, j'ai appliqué un "scale -1" sur l'axe Y, le miroir des coordonnées de texture s'effectuant sur l'axe V.
J'ai aussi effectué une rotation de 90° sur les deux parties (dépliage manuel et dépliage par miroir), le coté déplié manuellement se retrouvant inversé par rapport à ma modélisation (le nez du capot regarde à gauche) mais correctement placé par rapport à l'axe miroir.
Les couleurs de la jointure des deux parties sont ici plus harmonieuses.



Ci-dessus, j'ai appliqué un "scale -1" sur les deux axes, pour les parties dépliées par miroir. Et une rotation de 90° sur les deux parties, inversant une fois encore mon capot par rapport à la modélisation. Même chose pour le pare-brise : il est inversée par rapport à ma modé.
Les couleurs de la jointures sont toujours très proches, et on remarque ce coup-ci que les couleurs des ailes droites et gauches sont différentes.



Enfin, ci-dessus, les coordonnées de textures sont toutes dans le bon sens par rapport à ma modélisation (j'ai retourné les deux parties du pare-brise à l'horizontale sous Gimp pour que ce soit plus lisible).
Le résultat est très proche du précédent, ci ce n'est l'inversion des dominantes rouge / bleue.

Pour résumer, est ce qu'il faut faire très attention à l'orientation des différentes îles de notre dépliage par rapport à l'orientation du modèle dans le monde 3D ?


Ma seconde interrogation concerne certaines jointures, douces sur le modèle High-Poly, qui produisent une cassure dans ma normale map.
Toujours sur la DS, au centre du coffre, on observe une cassure provoquée par la normale map :



Ci-dessus, la fameuse jointure.
De gauche à droite et de haut en bas : reflet sur le coffre lowpoly sans normale map ; reflet sur le coffre highpoly ; la normale map (y'a une petite cassure dans les couleurs) ; le résultat de la normale map sur le lowpoly.

Est-ce que ça peut venir de mon dépliage, les deux côtés n'étant pas parfaitement joints ?




Nouvelle interrogation, concernant cette fois-ci les zones de "cassures" courbes, par exemple entre le pare-brise et le capot.
La courbure étant plus douce sur le Highpoly, je me retrouve avec un découpage du capot sur le dépliage du pare-brise. C'est gênant pour le backing, le résultat n'est pas top.
De quelle façon puis je réparer ça ?



J'ai encore pas mal d'autres questions, mais je ferais déjà un grand pas en avant en trouvant réponses à celles ci :pt1cable:
Merci pour votre aide ;)
 

zeauro

Membre très actif
#2
_ Y a t-il une différence si j'effectue le backing directement, sans appliquer le modificateur, et si je l'applique ? Je pense notamment à la soudure des points au niveau du plan miroir.
Effectivement, dans le sens où une fois que tu as appliqué le modificateur, un autre dépliage du mesh permet de considérer les parties symétriques comme faisant partie de la même ïle.
Sans avoir appliqué le modifier, tu dois cocher l'option Modified dans le panneau Display de l'UVeditor pour vérifier qu'il n'y a pas de superposition entre ton île et l'île symétrique créée par le modifier. Les options de clipping et de merge du modifier ne concerne que la modé et ne sont pas actives pour l'édition d'UVs.
Avec Cycles, le modifier n'est pas supporté par le baking.

_ Les normales sont elles inversées ? Est-ce que je dois réorganiser mon dépliage, et faire un "scale -1" sur les parties dépliées par miroir sur son axe ?
Il fut un temps où le modifier inversait les normales mais ça ne doit plus être le cas. C'était la principale raison qui poussait à l'appliquer. Mais a priori si le modèle ne quitte pas blender, il n'y a pas de souci.
C'est toujours une mauvaise idée de faire un scale -1 des parties dépliées.
Si tu as un souci de normales inversées à l'export, autant régler le problème correctement en appliquant le modifier et en corrigeant les normales des faces en edit mode avant l'export.

D'une manière générale, est ce qu'il faut que je réorganise mon dépliage pour que toutes les parties de mon objet soient dépliées de manière cohérente par rapport à l'axe du plan miroir ?
Oui. l'espace UV est coupé en deux. Un côté pour la partie d'origine et l'autre pour celle destinée au modifier.
C'est flagrant si tu utilises l'option Modified; tu verras que la partie symétrique chevauche l'originale en cas de dépassement de l'axe de symétrie.

Pour résumer, est ce qu'il faut faire très attention à l'orientation des différentes îles de notre dépliage par rapport à l'orientation du modèle dans le monde 3D ?
En théorie, pas si tu bakes en tangent. Ce qui compte est le choix pour la symétrie de l'axe U ou V.

Ma seconde interrogation concerne certaines jointures, douces sur le modèle High-Poly, qui produisent une cassure dans ma normale map.
Toujours sur la DS, au centre du coffre, on observe une cassure provoquée par la normale map :
Est-ce que ça peut venir de mon dépliage, les deux côtés n'étant pas parfaitement joints ?
Effectivement, c'est probablement la cause du problème.

Nouvelle interrogation, concernant cette fois-ci les zones de "cassures" courbes, par exemple entre le pare-brise et le capot.
La courbure étant plus douce sur le Highpoly, je me retrouve avec un découpage du capot sur le dépliage du pare-brise. C'est gênant pour le backing, le résultat n'est pas top.
De quelle façon puis je réparer ça ?
Simplement en réajustant les UVs après le baking ou en reprenant la modé de ton modèle low poly pour qu'il correspond plus au high poly.
Tu dois être cohérent et faire en sorte que le maillage du lowpoly reste du même côté de la surface du high poly.
 

The_Moye

Membre très actif
#3
Salut zeauro et merci pour ta réponse,

Si tu as un souci de normales inversées à l'export, autant régler le problème correctement en appliquant le modifier et en corrigeant les normales des faces en edit mode avant l'export.
Je me suis mal exprimé, je pensais à l'inversion des couleurs de la normale map, du coté déplié par miroir par rapport au coté déplié manuellement. Même si je ne suis pas sur que l'orientation du modèle dans la scène 3D ai un impact du fait que le backing s'effectue dans l'espace tangent.
Les normales de mon modèle sont correctes, mais vu le dépliage par symétrie, je me demande s'il est nécessaire de faire un scale -1 des parties dépliées par le miroir. Je parle bien d'un scale sur le dépliage UV et non pas sur ma modé.

Oui. l'espace UV est coupé en deux. Un côté pour la partie d'origine et l'autre pour celle destinée au modifier.
C'est flagrant si tu utilises l'option Modified; tu verras que la partie symétrique chevauche l'originale en cas de dépassement de l'axe de symétrie.
Là aussi j'ai du mal m'exprimer, je pensais à réorganiser mon dépliage une fois le modificateur appliqué, pour par exemple, rapprocher les deux parties du capot (voir les souder). Les tourner ou les retourner, qu'elles soient orientées de manière cohérente par rapport à mon modèle. On l'a vu dans les images que j'ai posté plus haut, les couleurs du backing sont différentes selon l'orientation des différentes parties de mon dépliage.
Et je me demande justement, vu que la couleur des pixels de la normale map indique à la lumière comment se comporter lorsqu'elle touche mon modèle, si orienter une partie de mon dépliage d'une mauvaise façon va provoquer des soucis d'illumination.

En théorie, pas si tu bakes en tangent. Ce qui compte est le choix pour la symétrie de l'axe U ou V.
C'est ce que je pensais, mais au vu des bizarreries que j'ai régulièrement au niveau des réflexions sur les modèles dont je sors la normale map telle quelle, je me posais la question.
Par exemple, la fameuse DS21 :



Il ya de gros défaut dans les réflexions (certaines dues à ma modé approximative, c'est un fait :whistle: ) mais d'autres viennent, à mon avis, de la normale map.

Toujours sur la DS, au centre du coffre, on observe une cassure provoquée par la normale map :
Est-ce que ça peut venir de mon dépliage, les deux côtés n'étant pas parfaitement joints ?

Effectivement, c'est probablement la cause du problème.
Du coup nouvelle question : une technique pour joindre les deux parties en minimisant les distorsions ?
Est-ce qu'il faut tenter de "distribuer" l'étirement entre toutes les faces à déplacer pour joindre les deux bouts ? Ou est-il plus judicieux de n'étirer franchement que les faces les plus proches du centre de la jointure ?

Simplement en réajustant les UVs après le baking ou en reprenant la modé de ton modèle low poly pour qu'il correspond plus au high poly.
Tu dois être cohérent et faire en sorte que le maillage du lowpoly reste du même côté de la surface du high poly.
Je comprends bien, mais je ne sais pas trop sur quel pied danser.
Mon modèle high poly est plus ou moins le low poly avec un modificateur subdivision surface + un ajout de details par ci par là pour ma normale map (j'ai d'ailleurs beaucoup de mal à ajouter du détail sans pourrir le maillage initiale, qui du coup, va s'éloigner de mon low poly), mais peut être que je m'y prend mal ?

Pour le pare-brise par exemple :



La courbure du pare-brise étant plus douce avec le modificateur de subdivision, le backing du high sur le low laisse des petites imperfections.
 

zeauro

Membre très actif
#4
orientation du modèle dans la scène 3D ai un impact du fait que le backing s'effectue dans l'espace tangent.
Les normales de mon modèle sont correctes, mais vu le dépliage par symétrie, je me demande s'il est nécessaire de faire un scale -1 des parties dépliées par le miroir. Je parle bien d'un scale sur le dépliage UV et non pas sur ma modé.
J'avais compris mais un scale -1 de tes UVs revient à inverser tes normales.
La partie droite et la partie gauche ne doivent pas être des symétriques avec les mêmes couleurs.
L'information droite/gauche est comprise dedans.

Là aussi j'ai du mal m'exprimer, je pensais à réorganiser mon dépliage une fois le modificateur appliqué, pour par exemple, rapprocher les deux parties du capot (voir les souder). Les tourner ou les retourner, qu'elles soient orientées de manière cohérente par rapport à mon modèle. On l'a vu dans les images que j'ai posté plus haut, les couleurs du backing sont différentes selon l'orientation des différentes parties de mon dépliage.
Et je me demande justement, vu que la couleur des pixels de la normale map indique à la lumière comment se comporter lorsqu'elle touche mon modèle, si orienter une partie de mon dépliage d'une mauvaise façon va provoquer des soucis d'illumination.
Non, l'orientation de tes UVs par simple rotation n'a pas d'incidence. Contrairement à un scale négatif ou un mirror.
Le mieux est de mettre ton viewport en GLSL et de vérifier dans Blender ce que ça donne.

C'est ce que je pensais, mais au vu des bizarreries que j'ai régulièrement au niveau des réflexions sur les modèles dont je sors la normale map telle quelle, je me posais la question.
Vérifies déjà ce que donne les réflexions sur ton high poly.
Si ça vient de ta normal map; ça ne vient peut-être pas d'un baking défectueux mais de la modé du high poly.

Du coup nouvelle question : une technique pour joindre les deux parties en minimisant les distorsions ?
Est-ce qu'il faut tenter de "distribuer" l'étirement entre toutes les faces à déplacer pour joindre les deux bouts ? Ou est-il plus judicieux de n'étirer franchement que les faces les plus proches du centre de la jointure ?
L'option Stretch dans le panneau Display doit t'aider à trouver le meilleur compromis.
Et tu pourras tester les distorsions dans la vue 3D en UVmappant une UVgrid de la taille ta normal map.

Mon modèle high poly est plus ou moins le low poly avec un modificateur subdivision surface + un ajout de details par ci par là pour ma normale map (j'ai d'ailleurs beaucoup de mal à ajouter du détail sans pourrir le maillage initiale, qui du coup, va s'éloigner de mon low poly), mais peut être que je m'y prend mal ?
Je pense que c'est une très mauvaise idée de faire un high poly en partant du low poly.
Libères-toi de cette idée quand tu fais le high.
Ensuite, fais le low en ayant pas peur de le faire de façon éclaté.
Tu fais un modèle mécanique constitué de plusieurs pièces. C'est presque une hérésie d'essayer de le restituter d'un bloc.
Il sera plus simple de baker des surfaces planes toujours du côté le plus approprié du high et ensuite de les regrouper en un seule objet ou une seule normal map.
Un mesh d'un bloc n'est utilie que si tu fais une cage pour le baking.
 
Haut