PDA

Voir la version complète : Déformateur UV



César Vonc
20/01/2018, 14h34
Salut,

Je développe actuellement un petit module qui sera gratuit avec le code libre, permettant d'appliquer des projections UV à la manière d'un déformateur.

Ce déformateur modifie la projection UVW selon différents types de projections, pour l'instant :


- Cubique

https://i.imgur.com/zFvpT3X.png


- Rhombicuboctaédrique

Comme le cubique, mais avec une plus grande dissociation de l'orientation des faces.

https://i.imgur.com/Xvt7Wp4.png


- Planaire

https://i.imgur.com/1HafPpJ.png


- Environnement sphérique

Celui-ci est un peu particulier, il a besoin d'une caméra et permet ce genre de rendus à partir d'une texture comme celle-ci
:
https://i.imgur.com/oIZtQ48.jpg

https://i.imgur.com/7DiTbbx.png


- Sphérique


L'avantage est de pouvoir utiliser une même projection UV avec un même axe d'origine sur plusieurs objets ayant des propriétés Textures différentes.
Avoir les projections sous forme d'objets est plus ergonomique à mon sens.


Si vous avez des requêtes pour d'autres types de projections UV, ou d'outils à intégrer à ce déformateur qui interagit avec les UV, n'hésitez pas. :)


Je pense également que le code source des différentes projections pourrait être intéressant.


À venir :

- Projection par spline
- Projection par surface personnalisée
- Projection cylindrique
- Limiter à une sélection de polygones

druide
20/01/2018, 14h43
Je comprend pas bien la dernière, mais c'est encore une idée géniale. :thumbup1:

César Vonc
20/01/2018, 15h23
Pour la dernière, c'est un mode de projection qui est surtout utilisé dans les shaders de jeux vidéo pour simuler des reflets simples à partir d'une texture.

C'est comme le canal Environnement d'un matériau de C4D, sauf que celui-ci a besoin d'une texture d'un environnement projeté de façon équirectangulaire (comme un planisphère).

https://i.imgur.com/db6cXQk.png



Son utilité est très spécifique, je l'ai fait juste parce que j'ai dû m'en servir pour conformer une scène avec un matériau simple et seulement une toute petite texture. :P

druide
20/01/2018, 16h41
D'accord c'est une projection caméra quoi, du coup je comprend mieux.
Edit : ah non, pas du tout en fait...

C'est vraiment une très bonne idée.

Floc
21/01/2018, 07h00
Excellent comme d'hab !
Et t'en profiterai pas pour faire un module de texture bombing ?
Ca doit bien avoir a voir avec les uvs.

clemz
21/01/2018, 19h45
Pas sûr de bien piger tous les mods mais ça à l'air chouette merci César , comme d'hab ;)

(c'est du "Art shader / matcap" ton dernier mode là ? )

César Vonc
21/01/2018, 22h01
Merci, pour le texture bombing faudrait créer un shader spécifique pour car visiblement il faut qu'il puisse mélanger des textures, or ici je ne fais que manipuler les UV.

Oui c'est exactement ça, Clemz, j'ignorais ce shader se trouvait dans Sketch toon ! :icon_mrgreen:
Mais là aussi, le déformateur n'est pas un shader, il se contente de projeter les UV à la manière du shader.



Un second mode plus parlant je pense, qui permet de faire des correctifs localisés d'UV à la volée :

https://i.imgur.com/amw866g.gif

Floc
22/01/2018, 06h14
ah oui avec une petite démo on comprend mieux (moi en tout cas )
C'est génial en fait.
Avec code source en plus :icon_prie:.
Merci cesar :thumbup1:

pour le texture bombing je m'en doutais un peu mais j'ai tenté :icon_mrgreen:
il n'est pas obligatoire d'avoir plusieurs texture, c'est surtout une façon de rendre le tilling beaucoup discret.
Ca marche super bien avec les texture genre naturelles. Sols rocks etc...

valkaari
22/01/2018, 12h11
Super cool. Dans c4d y aussi le morph tag qui permet de morpher les uvs.
C'est peu être une option interessante pour ceux qui n'ont pas la version studio. (enfin je crois que c'est uniquement pour la version studio)

clemz
22/01/2018, 12h17
sympa ça ! :) . Est-ce que tu crois qu'on pourrait pousser le truc à placer du 'noise' ou de la formule math pour animer les uvs ( un peu comme un random effector mais qui bougerait que les uvs ) ? par ex pour de la peau organique où la texture bougerait en permanence ( une peau de céphalopode par ex etc )

César Vonc
22/01/2018, 21h45
Y a moyen de faire un shader bombing pour C4D en suivant le tuto de NVidia, pour ceux qui veulent tenter le coup, sinon j'essaierai.:icon_mrgreen:

http://developer.download.nvidia.com/books/HTML/gpugems/gpugems_ch20.html


Un peu long à mettre en place, le morphing de pose UV, je trouve, mais pourquoi pas oui !


C'est une excellente idée, Clemz, je m'y mets !

Aurety
25/01/2018, 02h01
Comme d'hab' c'est extraordinaire cette capacité à imaginer d'autres approches que celles que l'on connait. :icon_eek:
Alors comme propositions..
Une méthode simple de triplanar mapping direct dans c4d serait cool..
Comme Clemz, des shaders ou projections basés sur un mouvement ( flow shaders : comme exemple un shader qui suit un flux de particules, genre lave ou eau de ruisseau )
Un masque spline dynamique ( ou on peut retoucher/editer une spline de contour ) avec bords adoucis réglables pour faire des masques alpha complexes..

Floc
25/01/2018, 04h54
Bon pour le texture bombing, je vais tenter d'essayer de m'y coller.:icon_mrgreen:

Ce qui m'effraye un peu c'est pas trop la partie "shading" mais plutôt le fait qu'il faille passer par un plug-in.:sweatdrop:
Ca ça fait vraiment peur !

César Vonc
25/01/2018, 22h53
Perso j'adore le dynamisme des déformateurs plutôt que celui des outils qui s'appliquent à un temps donné et de manière fixe. :)

Qu'entends-tu par triplanar mapping ? Est-ce une projection avec trois faces à l'instar des 6 faces de la projection cubique (ou les 26 du rhombicuboctaédre :P) ?


J'imaginais des suggestions par rapport aux types de projections UV mais ton contour de spline dynamique est intéressant et ne m'a pas l'air trop complexe ! :icon_smile:



Y a pas mal d'exemples de shader dans le SDK, Floc, sur ce coup là ils ont bien géré chez Maxon !


Ça pourrait être pas mal de monter une petite communauté de devs FC4D pour les projets open source. T'es à l'aise avec Git, Floc ?

Aurety
25/01/2018, 23h34
Triplanar mapping, en gros c'est du cubic mapping mais selon 3 plans avec bords flous pour eviter les coutures du cubic :
https://vimeo.com/224288357

Pour le flowmap, jette un coup d'oeil, c'est assez impressionnant :
https://vimeo.com/154137628

Pour les projections.. :
- Un override material qui générerait des colors random en luminance pour faire une map ID mask pour substance painter pour chaque objet de la scène ou par ilots d'UVs.. avec fonction de baking pour exporter direct la map.
- En plus du masque dynamique donné plus haut, un masque basé sur un IOR ou un fresnel pour du compositing en camera mapping ( un peu à la manière de la peinture par projection avec Mari de the foundry..

César Vonc
26/01/2018, 00h27
Je vois pour le triplanaire, ça me semble être du ressort du shader plutôt que des UV et rejoint un peu le bombage, va falloir s'y coller ! ^^


La carte de mouvement est en effet très chouette ! Je note (avec tout le reste :icon_mrgreen:)


Une petite nouveauté en cours de développement avec la projection cylindrique : la possibilité de déformer le cylindre de projection pour l'adapter à des formes courbées :


https://i.imgur.com/bUnnlok.gif


D'autres types de projections déformables sont à venir, j'ai également bien envie de faire une projection spéciale pour les personnages, pour les déplier d'un coup et de manière dynamique.

druide
26/01/2018, 00h43
D'autres types de projections déformables sont à venir, j'ai également bien envie de faire une projection spéciale pour les personnages, pour les déplier d'un coup et de manière dynamique.

Oui, oui, oui, oui, oui !!!!

Edit : Excellent le triplanar :icon_eek:

Aurety
26/01/2018, 01h43
la projection cylindrique est une tuerie :icon_clap:
On pourra également jouer sur l'échelle de ton guide quitte à stretcher un peu la texture ??

Floc
26/01/2018, 02h05
Haaa, la projection cylindrique déformante ! Mortel !!!:icon_clap:

Pour les exemples tu parle du sdk C++ ? parce que dans le SDK pyhon j'ai trouvé que le fresnel.
Par contre sur le site code-vonc.fr, que tu connais je crois :icon_mrgreen:, il y a deux très bon exemples.

Pour la petite communauté de devs pour projets open source ça me parait une excellente idée, par contre je suis pas sur de pouvoir vous apporter grand chose. Vous êtes à des années lumières les gars.:biggrin:

Quand a Git pas du tout. J'avais commencé à regarder subversion a une époque. Pour moi qui fait surtout des petits scripts utilitaires c'est un peu l'artillerie lourde. Mais c'est aussi l'occas de s'y mettre.

gr4ph0s
26/01/2018, 13h14
Y a pas mal d'exemples de shader dans le SDK, Floc, sur ce coup là ils ont bien géré chez Maxon !


Ça pourrait être pas mal de monter une petite communauté de devs FC4D pour les projets open source. T'es à l'aise avec Git, Floc ?

Avec Github(une surcouche de git) c'est assez simple de prendre en main, via l'interface puis une fois que ta compris les termes, tu sais pourras switcher sur git en command line, voila une petite introduction https://www.youtube.com/watch?v=fCKNUZsOsdM, https://www.youtube.com/watch?v=ilW_mW9SQWw

Moi je dis oui, avec mon bouleau je ne sais pas trop dans quel mesure je pourrais participer, mais en tout cas c'est une super initiative ;)

Pour le tri planar j'avais regardé mais d'autre projets mon appelé et surtout je n'était pas trop être à l'aise avec le C++ et le shading a l'époque...
https://gamedevelopment.tutsplus.com/articles/use-tri-planar-texture-mapping-for-better-terrain--gamedev-13821

Suffit de faire une projection pour X,Y,Z du world et de blend en fonction de ces positions.

En tout cas super projet et idée ! ;)

César Vonc
26/01/2018, 19h21
la projection cylindrique est une tuerie :icon_clap:
On pourra également jouer sur l'échelle de ton guide quitte à stretcher un peu la texture ??

Oui bien sûr, échelle, position, rotation. ;)

Pareil pour la projection planaire, pouvoir la modifier comme une surface de bézier, et la projection sphérique, la déformer.


Je sais pas quelles limites ont les Shader Python, je ne me suis pas renseigné depuis, mais ceux en C++ seront bien plus rapides à calculer quoi qu'il arrive. :sweatdrop:


Si j'implémente tout ça je vais peut-être pas le laisser gratuit vu le taff que ça demande, du coup. :P
Peut-être que je l'ajouterai à UV Vonc, du coup.



Moi je dis oui, avec mon bouleau je ne sais pas trop dans quel mesure je pourrais participer, mais en tout cas c'est une super initiative ;)

Coupe-le, ton bouleau, s'il te gêne. :biggrin:

César Vonc
14/01/2020, 01h25
Hop je continue un peu le dev de cet outil avec une projection en Y qui m'a donné pas mal de fil à retordre ! (et qui demande encore quelques ajustements) :

https://i.imgur.com/3hSD9YN.gif (https://imgur.com/3hSD9YN)

En tout cas ça va dans le bon sens pour une projection complète de personnage ! ;)

iolofato
14/01/2020, 10h01
Utilisateur de l'indispensable uvVonc, je découvre comme l'enfant qui vient de naître ton travail sur les projections UVs, tout simplement impressionnant !

Mais ce qui m'impressionne le plus c'est que l'entreprise Maxon délaisse le dev d'outils essentiels en l'occurence de dépliage uv un comble pour un soft de 3D, au profits de gadgets qui devraient être pour le coup des plugins de sociétés tierces. Bref il y a quand même une nouille dans le potage dans cette entreprise…:confused1:

valkaari
14/01/2020, 19h29
ce qui est surtout cool c'est de voir que tu trouves de nouvelles façon de faire.

Vraiment joli boulot ^^

bru
14/01/2020, 20h23
Cela donne envie... :icon_love:(je ne parle pas de la demoiselle, assez partielle d'ailleurs.)

Juste une question: (et ce n'est qu'une question, pas une réclamation :icon_wink:), tu penses pouvoir migrer UV-Vonc vers la R21 ?

Floc
14/01/2020, 23h36
Super cool !


ce qui est surtout cool c'est de voir que tu trouves de nouvelles façon de faire.

Effectivement je ne pense pas avoir vue de fonctionnalité équivalente ni dans d'autre softs 3d, ni dans les softs spécialisés UV que je connais.

Chapeau bas :icon_prie:

César Vonc
15/01/2020, 00h18
Haha merci, vraiment content que ça vous inspire !

Pour UV Vonc franchement je n'aime pas ce plugin, il est compliqué techniquement, pas stable à 100%, il ne fait que compléter BP UV Edit, or pour qu'il soit bien faudrait qu'il le remplace totalement mais j'ai pas trop envie de bosser pour rien si un jour une refonte est faite par Maxon.

J'ai toujours pas installé mon environnement C++ pour la R21 et pour l'instant je préfère continuer vers cette "nouvelle" voie car je pense que c'est beaucoup plus pratique que d'utiliser un éditeur 2D pour déplier. ;)

Je ferai sans doute une version bêta gratuite pendant le développement de cet outil, si ça vous dit.

Rudy
15/01/2020, 14h15
... Je ferai sans doute une version bêta gratuite pendant le développement de cet outil, si ça vous dit.


Très bonne idée cette version bêta, ça te permettra également d'avoir des retours :thumbup1:

César Vonc
26/04/2021, 01h40
Hello,

Pas mal de temps depuis le dernier message, juste pour vous dire que je reprends le développement, avec une nouvelle projection en cours, qui est un projection de surface éditable.


https://i.imgur.com/07ILhI8.png (https://i.imgur.com/07ILhI8.png)

Toujours dans les UV oui ^^

druide
26/04/2021, 14h06
Et biensur utilisable sous r10.5 :whistling:

Blague à part, tu gères Msieur Vonc.

César Vonc
08/09/2021, 15h03
Hélas pas avant la S22 :D Merci !


Le plugin est disponible ! :cool2:


https://code.vonc.fr/elements/6137306fc7aee/ressource_uvprojector.jpg (https://code.vonc.fr/projecteur-uv)

https://code.vonc.fr/projecteur-uv

yayaprod
08/09/2021, 20h02
Hello, !!!!!

Incroyable que tu es ! :icon_boss: