PDA

Voir la version complète : texture et hypernurbs



yaotchose
23/05/2004, 22h28
bonjour à tous,

Voici mon problème :
j'ai uv-mappé un perso basse réso, que j'importe dans c4d et que je glisse ensuite dans un hypernurbs. Mon perso basse réso se retrouve donc bien lissé, mais la texture que je lui applique est alors complètement gondolée !
Y a-t-il un moyen pour plaquer une texture sans déformation ?

J'ai cherché dans les messages précédents sans rien trouver à ce sujet à part le message de Yminh de juin 2002, mais il concerne la version 8.5 que je n'ai pas, pour l'instant.

Merci pour vos réponses.

xander
23/05/2004, 22h48
je n'ai pas bodypaint mais est ce que ton maillage etait bien etiré?
Sous bp je pense que tu peux appliquer une texture a damier et au endroit ou tes carré ne ressamble plus a des carré il faut deplacé des points!

je ne connais pas le fonctionnement de Bp mais le probleme doit venir de là!

fr32c
23/05/2004, 23h09
non non, désolé, mais le problème n'est résolu QUE sous la 8.5, on n'a pas trouvé mieux...

fr

yaotchose
24/05/2004, 13h39
Merci pour vos réponses.

En fait, je n'ai pas BP, j'ai uv-mappé mon personnage avec UUnwrap.
Mais je suis surpris de la réponse de fr, qu'un soft de la qualité de C4D ne soit pas capable d'éviter ces déformations de textures !
Comment faut-il faire alors pour animer un perso texturé ???
Travailler avec un maillage haute-réso ?
Pourtant, je vois des tas d'images avec des objets superlissés et des textures appliquées sans problèmes... et je ne pense pas être le premier à avoir ce genre de problème. N'y a-t-il vraiment pas de solution autre que passer à la 8.5 ?

xander
24/05/2004, 13h49
j'ai aussi uunwrap (je ne l'ai pas encore utilisé beaucoup) mais l'histoire du damier que je t'ai raconté vient d'un tuto dispo sur le site d'unwrap .

as tu testé cette solution?

KLR_Ben
24/05/2004, 13h59
Il est résolu sous la 8.5, mais qu'a moitié à mon gout, dans certains cas il y a encore des deformations... :roll:

yaotchose
24/05/2004, 16h45
Merci Xander pour cette réponse, mais cela me paraît quelque peu compliqué à mettre en oeuvre : modifier l'uv map dans UUwrap, exporter vers c4d, et enfin vérifier si le problème est résolu sur le maillage haute-réso , bonjour le boulot !! De plus, ce genre de "rattrapage" reste assez aléatoire et un peu prise de tête pour un résultat pas franchement correspondant à ce qu'on attend

Vraiment je suis étonné (et déçu) de cette lacune de C4D!!!

Comment font les animateurs pour bosser avec un tel problème?

Fluffy
24/05/2004, 17h19
Eh bien ils font comme tout le monde : ils utilisent une appli telle que Bodypaint ou UVmapper (ou unwrap) pour ajuster leurs UVs correctement, en essayant d'éviter les déformations.
Bodypaint permet de faire ça en temps réel et est donc beaucoup plus efficace.

Les déformations sont un problême connu, et même si la version 8.5 résoud pas mal de choses grâce à son mode de lissage par arête et par limites, il faut tout de même avoir un dépliage propre et une texture appliquée correctement.

Peux-tu nous faire une petite capture écran de ton dépliage avec la texture appliquée à plat et du résultat de la texture avec hypernurb, stp?

yaotchose
24/05/2004, 19h28
bonjour Fluffy,

voici un écran pour résumer mon problème.

http://perso.wanadoo.fr/richard.enjalbert/blourg/texture_hn.jpg

Sur le maillage basse réso, le mapping correspond à ce que j'attends.
Lorsque j'active l'HyperNurbs, la projection de la texture part dans le décor.

Que ce soit avec BP, Ultimate Unwrap ou encore UVmapper, récupérer ce genre de déformation me semble tenir de l'exploit si l'on désire garder un maillage basse réso pour la suite du travail.

Dans l'exemple que je montre, je pense qu'il est certainement possible de récupérer l'épaisseur du cercle en jouant sur les coordonnées de mapping, mais pour effacer la petite inflexion au sommet du cercle, ce n'est pas la peine.

C'est pourquoi je m'étonne de tomber sur ce genre de problème dans un soft tel que C4D, car s'il est possible de projeter la texture sur un maillage basse réso sans déformation, pourquoi ne pas le faire également sur l'objet en haute réso?

Devant continuer à avancer, j'ai contourner ce problème en colorant les faces entières (qui correspondent aux facettes orange sur l'image) mais j'ai complètement abandonné l'idée de faire des dessins précis sur mon bonhomme. Lorsque je me suis rendu compte de ce problème, il était trop tard pour changer de solution et il m'a fallu revoir mes projets "à la baisse".
Faut-il obligatoirement BP et la 8.5 pour faire de l'UV mapping (et encore avec des réserves selon les posts précédents) ?

En tout cas, merci pour vos réponses.

Aurety
24/05/2004, 19h39
Et bien pourquoi n'applique tu pas le cercle en planaire avec une texture alpha en sus de celle qui est bleue ? Idem pour les cotés. :shock:

ou bien si tu peux editer ton uv, fais des carrés parfaits avec le centre de ton cercle à l'intersection des quatres carrés.

Fluffy
24/05/2004, 19h41
J'allais le dire..

Sinon ce problême est incontournable sur les versions antérieures à la 8.5, désolé (ou alors il faut modifier ton image, mais accroche-toi pour faire un cercle bien rond à l'oeil, en tenant compte de la déformation...).

archeo
24/05/2004, 21h28
Comme disait Aurety, tu devrais revoir ton UV. On a tendance à faire un dépliage qui ressemble beaucoup au maillage ce qui est dans la plupart des cas une erreur. Le plus simple dans ton cas est de décaller légérement vers le haut les vertex du haut des poly qui contiennent les 3/4 de ton cercle de maniére à ce que ton cercle soit entiérement dans 2 polygones ou de faire comme a dit Aurety avec 4 polygones
Je crois que tu t'es pris le choux pour rien en dépliant ton maillage. Les applications de textures par sélection étaient beaucoup plus appropriées à ton cas.

Fluffy
24/05/2004, 21h32
En fait c'est plus compliqué que ça.
Dans ce cas présent, il faudrait que tes polygônes soient le plus carrés possibles. Donc il faudrait aplatir les arêtes qui formes une pointe sur le haut du cercle (c'est ce qui créé le pincement sur ton cercle mappé).
C'est le seul moyen en restant en UVW.

archeo
24/05/2004, 21h58
Plus un poly UV est petit plus la texture qu'il contient est détaillée ce qui crée un effet de zoom par rapport à un poly plus grand. Si un poly n'est pas carré sa texture est déformée car l'effet zoom se produit du côté de son arrête la plus étroite. C'est ce qui se produit en haut de ton cercle. Un dépliage parfait ne devrait contenir que des poly carrés tous de la même surface je crois.
C'est quoi le nouveau smiley qui vomit son 4 heure?

yaotchose
24/05/2004, 23h13
Merci messieurs pour toutes ces réponses.

Pour Aurety, effectivement j'aurais pu me demerder avec cette technique, mais je cherchais la solution pour travailler avec l'UVmapping.

Et donc selon Fluffy, pas d'espoir sans la 8.5, eh bien, tant pis, j'attendrais le père Noël !

Concernant les techniques de dépliages, je ne suis pas toutà fait d'accord avec vos réponses.
Contrairement à Archeo, je ne crois pas que le dépliage parfait soit composé uniquement de polys carrés !!!

L'intérêt du dépliage UV est justement, à mon avis, "d'aplanir" le maillage afin d'obtenir une map sur laquelle on peut dessiner ensuite en se préoccupant le moins possible des déformations. Le maillage doit ainsi refléter la géométrie.
De cette façon, si je dessine un trait sur ma map dans photoshop, j'obtiendrai un trait à peu près régulier sur mon modéle
D'ailleurs, je ne comprends pas très bien votre proposition d'éditer les UV pour en faire des carrés : sur l'exemple de mon précédent post, j'obtiens bien un rond avec mon dépliage UV "irrégulier" lorsque je suis en basse réso, et un schmorgûl dès que je passe en haute réso, non ?
Si l'uvmapping est correct en basse réso, pourquoi ne l'est-il pas en HD?

Fluffy
24/05/2004, 23h25
mmm.. tu te trompes. L'application du mapping est totalement dépendant de l'orientation et de la forme des polys du maillage déplié. C'est d'ailleurs pour cette raison que l'on déplie le maillage, pour pouvoir accomoder le maillage de la texture.
Donc si tu as deux polys qui forment une pointe, l'interpolation hypernurb va te lisser cette texture en déformant cette texture, parce qu'elle reste "accrochée" aux vertex de ton maillage déplié.

Bref, il est bien entendu logique de vouloir obtenir un cercle rond quand on applique un cercle sur sa texture, mais ce n'est pas comme ça que fonctionne le programme et la façon dont il calcule. Enfin, avant la version 8.5 du moins..

Utilises des projections planaires, c'est ce qui rendra le mieux.

archeo
25/05/2004, 00h31
Je crois que c'est parceque l'hypernurb n'est pas une subdivision d'un maillage basse résolution. Pour s'en rendre compte tu peux par exemple prendre un cube avec 4 segments en X Y et Z. Tu l'édites puis tu le passes dans une hypernurb à 2. En affichage fil de fer on voit le maillage de l'hypernurb. Entre chaque maille du cube il y a 4 mailles hypernub. Sélectionne maintenant la 2 eme ligne de points d'une face et déplace la vers le haut pour la rapprocher de la premiére. Entre la premiére et la deuxiéme ligne le nombre de maille hypernurb diminue. La subdivision uniforme du départ à disparue. Le maillage UV basse def suit cette modif mais pas dans les mêmes proportions. Maintenant tourne le cube à 90. Le poly du haut est trapézoïdal. Si l'on suit les lignes de l'hypernurb on s'aperçoit qu'elles coupent l'arrête inf du trapéze en oblique : c'est cela qui déforme la texture, car elle est projetée sur le maillage de l'hypernurb. Les options hypernurb de la 8.5 ne rattrappent que trés peu la déformation. Pour ne pas avoir d'artefact il faudrait éditer l'hypernurb et déplier son maillage. :coup: :coup: et peindre sur le map de ce maillage

yaotchose
25/05/2004, 10h45
Je déplie mes objets afin d'obtenir une map sur laquelle je peins ma matière. Dans ce cas, je cherche donc à minimiser les déformations en aplatissant les polygones pour qu'ils gardent dans la mesure du possible la même surface que sur le modèle, ce qui permet après coup de peindre la map sans trop se préoccuper des déformations de continuité.
En revanche, si j'utilise comme map une image existante que je ne peux pas modifier, dans ce cas j'édite mes UVs pour les adapter.

Ce qui est appelé hypernurbs dans C4D correspond en fait à un lissage de Catmull-Clark et se retrouve dans tout logiciel de modélisation qui se respecte, et c'est véritablement une subdivision de surface !
Avec l'HN, C4D se sert d'un maillage basse réso pour un créer un autre qui est subdivisé. Pourquoi ce calcul n'est pas étendu au niveau des coordonnées de mapping ? c'est une lacune...

Fluffy
25/05/2004, 15h31
Bien évidemment que c'est une lacune, on te l'a répété au moins 15 fois!
Et cette lacune n'est pas traitée avant la version 8.5, désolé.. :roll:

Steƒquißosse
25/05/2004, 15h41
Doucement, Flufff.
:wink:

Reste du côté des constructifs, et perds pas ton temps...