Boutique Cinema 4D
Page 1 sur 11 123 ... DernièreDernière
Affichage des résultats 1 à 30 sur 301

Discussion: Outils UV (bêta)

  1. #1
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483

    Outils UV (bêta)

    Bonsoir,


    Comme on dit, on est jamais mieux servi que par soi-même ; après avoir cherché sans succès un simple gestionnaire de coordonnées UV, je me suis lancé dans sa création et vous propose une première bêta publique !

    Les outils pour BodyPaint sont visiblement très demandés, je pense donc agrémenter ce module avec toute suggestion ou idée concernant l'édition d'UV.


    Le code sera très probablement ouvert étant donné que la modification d'UV se fait en C++, et n'étant pas très à l'aise avec, j'ai quelques doutes sur la propreté de mon code. Je le posterai d'ici peu pour solliciter l'aide des spécialistes.



    Concernant le module, il est compatible pour Windows 7 32 et 64 bits, R13+. N'hésitez pas à me signaler les éventuels problèmes rencontrés, les améliorations souhaitées ou vos idées d'outils UV.

    Màj : Compatible pour Mac 32 et 64 bits.

    Cliquez sur l'image pour la voir en taille réelle 

Nom : 		uv.png 
Affichages :	705 
Taille :		5,5 Ko 
ID : 			7690
    Dernière modification par César Vonc ; 27/03/2014 à 12h06.

  2. #2
    Big Boss Avatar de Rudy
    Date d'inscription
    mars 2005
    C4D version
    R14 Visualize
    OS
    W 10 Pro 64 bits
    Messages
    8 590
    Billets dans le blog
    4
    Ok, testes en approche

    Merci César
    My BlogAccepter une possibilité, c'est lui permettre de se réaliser ...

  3. #3
    Pilier Avatar de gillesevrard
    Date d'inscription
    août 2010
    C4D version
    R16 Studio
    OS
    Tibia
    Messages
    1 737
    Billets dans le blog
    1
    Citation Envoyé par Rudy Voir le message
    Ok, testes en approche

    Merci César
    Idem for me
    Avé Cesar !
    Ban Ma vitrine

  4. #4
    Gourou Avatar de clemz
    Date d'inscription
    février 2009
    C4D version
    R15 Studio
    OS
    windaube x64
    Messages
    2 165
    Haha yes ! . je sents que UVlayout n'a qu'à bien se tenir !

  5. #5
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Hop, le module est maintenant dispo pour Mac, merci à xs_yann qui a pu me le compiler ! ^^


    Je travaille sur un outil permettant d'appliquer un lissage sur une sélection de points/polygones UV.

    En revanche, je ne vois pas comment faire d'outil pinceau ni même quoi que ce soit que l'on puisse cliquer en temps réel pour modifier les UV. Je me demande si c'est d'ailleurs possible de récupérer ne serait-ce que la position du curseur sur la vue UV.

  6. #6
    Gourou Avatar de clemz
    Date d'inscription
    février 2009
    C4D version
    R15 Studio
    OS
    windaube x64
    Messages
    2 165
    Citation Envoyé par César Vonc Voir le message
    En revanche, je ne vois pas comment faire d'outil pinceau ni même quoi que ce soit que l'on puisse cliquer en temps réel pour modifier les UV. Je me demande si c'est d'ailleurs possible de récupérer ne serait-ce que la position du curseur sur la vue UV.
    raaaaaa ! c'est ça que j'aimerais dans UV edit ! une "brosse relax" ( "smooth" ) . j'espère que tu vas trouver !
    merci en tout cas pour tes recherches .

  7. #7
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Oui, une brosse aurait vraiment été chouette, malheureusement je n'ai pu faire qu'une commande qui adoucit les points sélectionnés.


    En revanche, je n'arrive pas à faire un simple tableau avec une taille fixe en C++, je fais pourtant :

    Code PHP:
    LONG _nbPols tempUV->GetPolyCount();
    Vector _tab[_nbPols]; 
    Mais il me dit que _nbPols n'est pas une constante. Peut-on donc la convertir en constante ? Je ne trouve que des exemples avec des chiffres, sur la toile et :

    Code PHP:
    const LONG _nbPols tempUV->GetPolyCount(); 
    Ne marche pas plus.

  8. #8
    Pilier Avatar de paspas
    Date d'inscription
    février 2004
    Messages
    990
    salut

    je pense que tu doit te diriger vers les " dynamic array "

    Vas voir la il parle des dynamic Array

    le post date un peu mais je pense que c 'est une bonne piste

    paspas

  9. #9
    Pilier Avatar de xs_yann
    Date d'inscription
    février 2005
    C4D version
    R19 Studio
    OS
    Mac OS X 10.13
    Messages
    1 990
    Salut,

    En C++ il existe différents types de tableaux :

    Tableau statique :

    Code PHP:
    int tabPile[10]; 
    Ici l'espace mémoire sera alloué sur la pile ou stack (avec les fonctions et variables de ton programme) au lancement de ton programme. La taille de l'espace à allouer doit donc être connu à la compilation (d'où le fait que la taille doit être une constante).

    Tableau dynamique :

    Code PHP:
    inttabTas = new int[10];
    delete [] tabTas
    Ici l'espace mémoire sera alloué sur le tas ou heap. En gros tu demandes, à l'execution, un espace mémoire de la taille de ton choix et dont tu as le contrôle (il ne faut pas oublier de désallouer cet espace mémoire quand tu n'en a plus besoin).

    De manière générale, en C++, on conseille d'utiliser la STL. Le conteneur le plus utilisé est le vector :

    Code PHP:
    std::vector<inttabVector(10); 
    Exemple de vector : http://www.cplusplus.com/reference/vector/vector/begin/

    Tu as aussi à ta disposition liste, file, pile, tableau associatif, etc : http://www.cplusplus.com/reference/stl/

    Pour finir, les GeDynamicArray du SDK dont paspas parles ; ne les ayant jamais utilisés je te laisse te référer au lien de paspas et au SDK.

    Bon courage.
    Dernière modification par xs_yann ; 05/05/2013 à 12h17.

  10. #10
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Eh bien, ça c'est de la réponse !

    Donc si je comprends bien, pour créer un tableau dont la taille est connue au dernier moment, le plus simple est d'utiliser std::vector puis la fonction push_back() pour ajouter une case à chaque fois.

    Merci à vous !

  11. #11
    Pilier Avatar de xs_yann
    Date d'inscription
    février 2005
    C4D version
    R19 Studio
    OS
    Mac OS X 10.13
    Messages
    1 990
    Citation Envoyé par César Vonc Voir le message
    Donc si je comprends bien, pour créer un tableau dont la taille est connue au dernier moment, le plus simple est d'utiliser std::vector puis la fonction push_back() pour ajouter une case à chaque fois.
    Oui voilà. Et pour le parcourir tu as plusieurs méthodes. Il est recommandé d'utiliser les itérateurs autant que possible pour parcourir un container.
    Tu peux aussi utiliser l'opérateur [] comme pour un tableau normal. Tu peux aussi utiliser vector::at, la différence étant que at lance une exception si la position passée en paramètre sort des bornes.

    Code PHP:
    #include <iostream>
    #include <vector>
    #include <stdexcept>

    int main()
    {
      
    // On créé un tableau d'int                                                                                           
      
    std::vector<inttab;

      
    // On le rempli                                                                                                       
      
    for (int i 010; ++i)
        
    tab.push_back(i);

      
    // Parcours avec iterateur                                                                                            
      
    for (std::vector<int>::iterator it tab.begin(); it != tab.end(); ++it)
        
    std::cout << ' ' << *it;
      
    std::cout << std::endl;

      
    size_t size tab.size();


      
    // Parcours avec operateur []                                                                                         
      
    for (int i 0size; ++i)
         
    std::cout << ' ' << tab[i];
      
    std::cout << std::endl;


      
    // Parcours avec vector::at                                                                                           
      
    try
        {
          for (
    int i 0size 1; ++i)
            
    std::cout << ' ' << tab.at(i);
          
    std::cout << std::endl;
        }
      catch (const 
    std::out_of_rangeoor)
        {
          
    std::cerr << "Index out of range: " << oor.what() << std::endl;
        }

      return 
    0;

    Tu as ici la liste des fonctions membre de la classe std::vector : http://www.cplusplus.com/reference/vector/vector/

    Autre chose de très puissant couplé aux conteneurs, ce sont les algorithmes de la STL : http://www.cplusplus.com/reference/algorithm/

    Un exemple :

    Code PHP:
    #include <iostream>
    #include <vector>

    // Retourne true is i est impair et false si i est pair                                                                 
    bool isOdd(int i)
    {
      return (
    1);
    }

    int main()
    {
      
    std::vector<inttab;
      for (
    int i 011; ++i)
        
    tab.push_back(i);

      
    // Compte le nombre d'éléments impair dans le tableau                                                                 
      
    int result count_if(tab.begin(), tab.end(), isOdd);
      
    std::cout << "tab contains " << result << " odd values" << std::endl;

      return 
    0;

    N'hésites pas à cliquer sur le nom des fonctions, il y a des exemple à chaque fois.

  12. #12
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Super, merci Yann pour toutes ces précisions, faut que ça rentre, maintenant. ^^

    Et avec un petit using namespace std; en en-tête pour éviter d'écrire std:: à chaque fois, c'est le pied !

  13. #13
    Pilier Avatar de xs_yann
    Date d'inscription
    février 2005
    C4D version
    R19 Studio
    OS
    Mac OS X 10.13
    Messages
    1 990
    Citation Envoyé par César Vonc Voir le message
    Super, merci Yann pour toutes ces précisions, faut que ça rentre, maintenant. ^^


    Citation Envoyé par César Vonc Voir le message
    Et avec un petit using namespace std; en en-tête pour éviter d'écrire std:: à chaque fois, c'est le pied !
    A utiliser en connaissance de cause : http://cpp.developpez.com/faq/cpp/?p...PACE_using_std

  14. #14
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Je reprends ce projet après quelques temps afin d'y ajouter de nouvelles fonctions.

    Outre le gestionnaire de coordonnées, le module sera doté de plusieurs commandes UV, pour lisser le maillage, adapter la taille de ses polys, ou bien les rendre égaux.

    Étant donné qu'on ne peut pas créer d'outils pour cliquables directement dans la zone d'édition d'UV, j'ai commencé à voir comment créer ma propre zone d'éditions UV, qui servira à faire marcher des outils en temps réels, comme des pinceaux d'atténuation.

    Je garantis rien, mais j'ai déjà pu dessiner quelques polys grâce à la classe GeUserArea, ce qui est plutôt encourageant !



    Voici quelques images de l'avancement actuel et du fonctionnement des nouvelles commandes UV.


    La commande Adapter ajuste la taille des polys UV pour qu'ils aient la même superficie que ceux du modèle 3D, le dépliage obtenu est ainsi plus uniforme.

    Cliquez sur l'image pour la voir en taille réelle 

Nom : 		uvv0.jpg 
Affichages :	59 
Taille :		452,7 Ko 
ID : 			11192


    La commande Égaliser est en quelque sorte l'inverse, elle rend les polys UV plus uniformes.


    Cliquez sur l'image pour la voir en taille réelle 

Nom : 		uvv1.jpg 
Affichages :	37 
Taille :		208,7 Ko 
ID : 			11193


    La commande Lisser et Poncer agissent comme les fonctions du même nom dans C4D. Elles permettent donc d'avoir un maillage UV moins anguleux.

    Cliquez sur l'image pour la voir en taille réelle 

Nom : 		uvv2.jpg 
Affichages :	40 
Taille :		275,5 Ko 
ID : 			11194
    Dernière modification par César Vonc ; 30/03/2014 à 14h46.

  15. #15
    Vieux Croûton Avatar de Aurety
    Date d'inscription
    juillet 2002
    C4D version
    R17 Studio
    OS
    Mac
    Messages
    14 477
    Billets dans le blog
    3
    pfiou?? l'interface est magnifique!
    kenavo !! // Pinterest KAMIGAZ®

  16. #16
    Gourou Avatar de diego1968
    Date d'inscription
    juin 2006
    C4D version
    R21 Perpétuelle
    OS
    Mac OS 10.13.6
    Messages
    2 149
    J'achète !!!
    J'en ai marre des restrictions de Bodypaint et du fait de devoir faire mes UV plus propre sous Blender puis ré-importer dans C4D.

    D'ailleurs, ce qui serait pas mal c'est la partie interactive du dépliage UV de Blender (le côté "Live")…en tout cas Chapeau à vous et merci pour votre apport si précieux à la communauté

  17. #17
    Big Boss Avatar de Rudy
    Date d'inscription
    mars 2005
    C4D version
    R14 Visualize
    OS
    W 10 Pro 64 bits
    Messages
    8 590
    Billets dans le blog
    4
    Je suis de très près
    My BlogAccepter une possibilité, c'est lui permettre de se réaliser ...

  18. #18
    Gourou Avatar de amateur
    Date d'inscription
    février 2005
    C4D version
    R16 Studio
    OS
    win7 x64
    Messages
    2 544
    Cela donne vraiment envie .
    A fait d'énormes progrès pour se rapprocher du radiateur

  19. #19
    Gourou Avatar de clemz
    Date d'inscription
    février 2009
    C4D version
    R15 Studio
    OS
    windaube x64
    Messages
    2 165
    ha oué ton interface est chouette . Donc en fait comme on en discutait en mp , l'intérêt principal (pour moi ) est d'avoir un effet dégradé et non sur tous les polygones ( même si c'est déja super ) car c4d le fait déja en mode LSCM et ABF ( certes pas tous tes modes là ).

    Par ex , j'ai un perso déplié comme tu as là , mais je modifie un peu sa topologie sur le visage en rajoutant/supprimant/bougeant des points etc , donc ça me met le boxon dans mon dépliage et je veux juste réajuster cette zone mais sans toucher le reste qui est normalement bon .. C'est là qu'une petite brosse ou autre truc de relax/smooth en dégradé à partir d'un point par ex pourrait être super utile

    bon curage !!

  20. #20
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Merci !

    Oui, c'est bien ce que j'avais en tête, Clemz. ; )

    J'ai pu créer une petite brosse pour peindre une sorte d'influence dans la zone d'édition, ce qui permettra d'affecter l'intensité des commandes de façon progressive.

    Manque plus que d'affecter l'ID des points aux pixels de la zone pour récupérer cette valeur, et ça devrait le faire.


    Côté programmation, j'ai juste un peu peur que ce ne soit pas très précis, j'ai l'impression qu'on est limité à du 8 bits par composante avec BaseBitmap et GeClipMap, ce qui ne donnera que 256 niveaux d'influence.
    Miniatures attachées Miniatures attachées Image8.png  

  21. #21
    Dépendant
    Date d'inscription
    septembre 2005
    C4D version
    R13 Studio
    OS
    windows7
    Messages
    300
    Un vrai petit bijou ton module cesar, je bavais déjà un en regardant les tutos de 3Ds avec leur smoothUV.

    C'est vraiment génial

  22. #22
    Vieux Croûton Avatar de Sir Gong
    Date d'inscription
    juillet 2002
    C4D version
    R19 Studio
    OS
    10.13.4 High Sierra
    Messages
    10 353
    Billets dans le blog
    2
    Très impressionnant .
    Lâche pas le morceau !
    ÷ R19 Studio ÷ cacahuètes ÷

  23. #23
    Gourou Avatar de clemz
    Date d'inscription
    février 2009
    C4D version
    R15 Studio
    OS
    windaube x64
    Messages
    2 165
    ha oué nickel ! ça prend bonne tournure
    bien joué chef !

  24. #24
    Pilier Avatar de maxencedt
    Date d'inscription
    juillet 2012
    C4D version
    R15 Visualize
    OS
    OS 10.9
    Messages
    1 928
    Billets dans le blog
    4
    Je suis attentivement et avec beaucoup d'intérêt car je suis pour l'instant fâché avec les UV map.
    "Less is more" comme disait Ludwig Mies van der Rohe. Et il a fichtrement raison !

  25. #25
    Pilier Avatar de miroof
    Date d'inscription
    janvier 2012
    C4D version
    R16 Studio
    Messages
    919
    salut salut,
    je viens de regarder les screenshots de la poitrine de ta femme ( le mapping, hein ! )
    et je crois que ça peut résoudre mon problème
    comment faire pour participer à ta beta?
    Expert en l'art de ne jamais finir mes WIPs persos

  26. #26
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Ça avance ! Le pinceau d'atténuation est désormais opérationnel.

    Il reste cependant un millier de choses à faire et bogues à résoudre, mais ça fait quand même plaisir de voir que ça fonctionne déjà un peu.


    Je récapitule les fonctions souhaitées :

    - Brosse progressive pour les outils (en cours).
    - Redresser les polys en une grille bien droite pour les maillages réguliers (si j'ai bien compris, Aurety).
    - Grille déformante interactive (rien que ça. : P)
    - Brosses applicables également sur l'objet 3D (possible, mais long).
    - Rotation quantifiée et aimantée sur d'autres points (si j'ai bien compris, Clemz).
    - Redresser les routes courbées.

    Si vous en avez d'autres, n'hésitez pas.


    Miroof : Pour l'instant, le module n'est pas présentable à cause des nouvelles fonctions encore instables, je t'enverrai un MP en temps voulu en fin de semaine, si tout se passe bien.
    Miniatures attachées Miniatures attachées Image2.png  

  27. #27
    Gourou Avatar de amateur
    Date d'inscription
    février 2005
    C4D version
    R16 Studio
    OS
    win7 x64
    Messages
    2 544
    Une fois finalisé si tu vends ton plugin il aura du succès.
    Je suis avec grand intérêt.
    A fait d'énormes progrès pour se rapprocher du radiateur

  28. #28
    Vieux Croûton Avatar de Aurety
    Date d'inscription
    juillet 2002
    C4D version
    R17 Studio
    OS
    Mac
    Messages
    14 477
    Billets dans le blog
    3
    Magnifique César !
    - N'oublie pas le mode symétrie sur les outils, on définit un axe, une sélection d'arête et on active le mode symétrie
    kenavo !! // Pinterest KAMIGAZ®

  29. #29
    Big Boss Avatar de yayaprod
    Date d'inscription
    mai 2006
    C4D version
    R13 Studio
    OS
    OS Walking Dead ?
    Messages
    6 010
    Il y a des grosses bêtes sur le fofo
    Yaya. °) Je suis de près aussi
    Les détails font la perfection, et la perfection n'est pas un détail.
    LdV.
    http://yayaprodtm.cgsociety.org/

  30. #30
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    En tout cas moi je suis client direct, car depuis que je suis passé à C4D l'édition d'UV c'est vraiment le gros point noir.
    Dans certains cas comme Diego avec blender il m'arrive encore de rouvrir ma vieille version de Max juste à cause de ça.
    Et j'aimerai ne plus avoir à remettre le nez dans ce soft .

    Et au chapitre des doléances
    , est ce qu'il serai envisageable d'avoir un placement de l'axe de transformation à la souris, ou au moins un retour visuel dans la zone d'édition ?

Discussions similaires

  1. [Problème] Outils Sélection
    Par Milow dans le forum Nouveaux membres
    Réponses: 7
    Dernier message: 09/02/2011, 16h41
  2. SMC 118|Les outils agricoles
    Par Jean-Laurent dans le forum Speed Challenges
    Réponses: 95
    Dernier message: 16/02/2010, 16h11
  3. Le WIP à outils
    Par Arthas dans le forum Travaux en cours
    Réponses: 112
    Dernier message: 11/01/2008, 10h41
  4. outils
    Par tdbdne dans le forum Nouveaux membres
    Réponses: 53
    Dernier message: 11/03/2007, 19h30

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Mediaworks - Logiciels 3D | Design Internet - Creation site internet