Boutique Cinema 4D
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 30 sur 55

Discussion: Plugins :"PoseMirror" | "MultiParent" | "Home" , en COFFEE

  1. #1
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Plugins :"PoseMirror" | "MultiParent" | "Home" , en COFFEE

    Bonjour la compagnie :odile:
    Maintenant que, grâce à mes études, je suis sensé savoir un peu mieux coder :nono: je me suis dit que j'allais me recoller à COFFEE pour faire un petit Plug.
    Je voulais juste faire une automatisation d'un truc qu'on voit souvent fait en Xpresso sur les rigs de personnages. En gros c'est un plug avec deux fonctions :
    • "Set home" qui ajoute un tag fait maison à/aux objets sélectionnés qui stocke les coordonnées (locales) de l'objet.
    • "Get Back Home" qui fait rentrer le/les objets sélectionnés à la maison grâce aux infos du tag.


    J'ai donc lu pas mal de SDK Coffee et commencé, mais j'ai tout de même quelques problèmes pour que ça fonctionne, et je demande avec toute mon humilité si des pros (ou moins pros vu que je suis tout en bas de l'échelle) pourraient m'aider. :calim:

    ---> Le fichier source. <--- [EDIT : LIEN MORT]

    Dans un premier temps, j'ai des problèmes de rafraichissement, il faut cliquer dans le vide pour voir les effets de ce qu'on vient de faire. Dans un second temps, quand j'essaye de faire "Set Home" sur un objet qui a déjà un tag ça fia tplanter C4D, ce qui est plutôt embêtant...
    Je pense que le gros de mes problème vient du fait que j'ai stocké les données du tag dans des champs de la classe (publiques avec ça). Je pense que je devrais utiliser un Container mais même à la lecture de la doc, son fonctionnement m'est complètement ésotérique.


    Merci d'avance à ceux qui pourront m'aider :poucehaut:



    Ps : ne faites pas attention à mon code :mrgreen: c'est moche et en franglais mais il faut bien s'amuser un peu

  2. #2
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugin "Home" en COFFEE

    Hum, après relecture attentive de mon code, j'ai corrigé beaucoup de bêtises dues à la correction à chaud :art:
    c'est surtout dans les execute.

    Code:
    MyHomeTagMenu::Execute(doc)
    {
    	doc->StartUndo();
    	
    	var op=doc->GetActiveObject();
    	var ntag=op->GetFirstTag();
    	while((ntag!=NULL) && !instanceof(ntag,HomeTag)) {
    		ntag=ntag->GetNext();
    	}
    	if(ntag==NULL) {
    		ntag=AllocTag(1000001);
    		doc->AddUndo(UNDO_TAG_NEW,ntag);
    		op->InsertTag(ntag);
    	}
    
    	doc->AddUndo(UNDO_TAG_DATA,ntag);
    	ntag->P=op->GetPosition();
    	ntag->E=op->GetScale();
    	ntag->R=op->GetRotation();
    	
    	
    	doc->EndUndo();
    }
    Code:
    HomeTagBackHome::Execute(doc)
    {
    	doc->StartUndo();
    	
    	var op=doc->GetActiveObject();
    	var tagtmp=op->GetFirstTag();
    	while(tagtmp!=NULL) {
    		if(instanceof(tagtmp,HomeTag)) {
    			doc->AddUndo(UNDO_OBJECT_BASEDATA,op);
    			op->SetPosition(tagtmp->P);
    			op->SetScale(tagtmp->E);
    			op->SetRotation(tagtmp->R);
    			break;
    		}
    		tagtmp=tagtmp->GetNext();
    	}
    	
    	doc->EndUndo();
    }
    Voilà, les problèmes qui subsistent sont les problèmes de rafraichissement


    Maintenant que ça commence à marcher, je me suis dit que ce serait bien que ça marche avec des selections multiples et d'avoir un minimum d'options dans le Tag (ne serait-ce que Activer/Désactiver).

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

    Re*: Plugin "Home" en COFFEE

    salut floby

    une petite idée comme ça en passant , le plus simple je pense ,

    comme ton tag est attache a un objet , peut etre serrait t il plus simple de lier les valeur que tu veut stoker au container de cette objet

    vas voir la pour savoir comment faire



    paspas

  4. #4
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugin "Home" en COFFEE

    Ah oui pas bête merci du tuyau. j'ai vu qu'on pouvait faire ça dans le SDK mais ils disaient qu'il faut avoir un ID unique de PluginCafé ou chépakoi. Ca m'a fait peur, je me suis dit que c'était pas pour moi ^^.
    Cela dit, ça ne me semble pas réalisable de cette manière parce que ce tag doit pouvoir être applicable sur n'importe quel type d'objet. Or les IDs et le nombre d'IDs par container change d'un objet à l'autre. Puis en plus, à l'école on m'a appris que je devais pas aller toucher les données d'une classe que j'avais pas faite .

    J'ai essayé d'ajouter un container à mon tag, et ça n'a pas raté, ça ne fonctionne pas. il dit :
    "Incompatible values... NIL / OBJECT"
    Dans ma fonction GetContainer sur l'instruction :
    Code:
    return SV_->GetClone();
    SV_ étant le container de mon tag.

    Et je n'ai toujours pas résolu les problèmes de rafraichissement, et je sens que c'est tout simple en plus, genre doc->Refresh() ou un truc comme ça ^^

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

    Re*: Plugin "Home" en COFFEE

    pour les rafraîchissement vas voir du cote de "MESSAGE "

    Cela dit, ça ne me semble pas réalisable de cette manière parce que ce tag doit pouvoir être applicable sur n'importe quel type d'objet.
    je comprends pas : si tu u crée X nouvelle valeur au container de l' objet ,le plus dont tu a besoin , et si il y en a moin que prevus tu ne met pas de valeur

    ce qui ferra a la lecture un "nil" pour cette valeur -> pas prit en compte par l' autre tag

    de plus de cette manière tu sait pas in FindObjet trouver un objet et recupéré tes datas dans n' importe quelle cofee

    paspas

  6. #6
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugin "Home" en COFFEE

    hum... Je comprends pas bien ce que tu veux dire :?

  7. #7
    Vieux Croûton Avatar de shtl
    Date d'inscription
    octobre 2004
    C4D version
    S22 Souscription
    OS
    osX 12.3.1
    Messages
    13 880
    Billets dans le blog
    5

    Re*: Plugin "Home" en COFFEE

    Personne ne comprend jamais de toute façon. :mrgreen:
    2x6coreXéon2.66(24T);64Gram; GTX 1080; OSX10.13.6 ////
    Mac Studio 128 Ram ; OSX 12.3.1 ; papiercrayoncerveau;S22Studio;Redshift;Zbrush2022; CS2022
    ///SHTL 2011 DEMO HERE : http://demo.shtl.org/ /// NEW! 2014 WIP

  8. #8
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugin "Home" en COFFEE

    Oui mais là il a du écrire super vite quand même, ou alors il faut lui dire que le "." de sont clavier ne fonctionne plus :mrgreen:

  9. #9
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugin "Home" en COFFEE

    Je me prends vraiment la tête avec les sélections multiples, c'est le seul truc qu'il me manque (avec un jolie icône). Est-ce que ça n'est tout simplement pas géré en COFFEE ? C'est pas que ça me gène de le recoder en C++, mais ça fait quand même pas mal d'autres trucs à installer :mrgreen:

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

    Re*: Plugin "Home" en COFFEE


    je ne dirais plus rien na !! :mrgreen:

    paspas

  11. #11
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugin "Home" en COFFEE

    Oh si, s'il te plait :calim:

    Voila, mon plug est opérationnel ormis le fait que je n'ai toujours pas réussi à utiliser de container, je crois que j'ai des problèmes à la construction de celui-ci. Je crois que pour la multiselection c'est définitivement mort en COFFEE. J'ai vu comment faire en C++, peut-être que je reprendrais ce plug quand j'aurais eu le courage d'installer la SDK.

    Il me faudrait aussi une image d'E.T. pour l'icône :mrgreen:

  12. #12
    kiteman
    Invité

    Re*: Plugin "Home" en COFFEE

    super initiative Floby ! :odile:

    merci à toi ..et à super Paspas pour son aide :wink:

  13. #13
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707

    Re*: Plugin "Home" en COFFEE

    Super Floby,

    Un de plus dans le monde mystérieux et obscur du COFFE.

    Je vais essayer de t'aider dans la mesure de mes moyens.

    qu'il faut avoir un ID unique de PluginCafé ou chépakoi. Ca m'a fait peur...
    cela ne concerne pas les containers mais le numéro de référence de tes plugins, pour l'instant tu as travaillé avec 3 nombres (1000001 à 1000003). Mais si tu commences à avoir plusieurs plugs et que par malheur 2 ont le même nombre de reférence C4D va planter, C'est pour cela qu'il faut obtenir un numéro unique chez Maxon, un fois que tu es inscrit cela prend 1 minute.

    Code:
    return SV_->GetClone();
    la fonction GetClone() ne fonctionne pas sur un container, elle fonctionne uniquement sur un objet type "BaseObject", c'est pour cela que tu as le message d'erreur.

    Je crois que pour la multiselection c'est définitivement mort en COFFEE
    effectivement il n'y a pas à ma connaissance une fonction qui te renvoie automatiquement tous les objets sélectionnés, mais tu peux toujours essayer de parcourir tous les objets de ton doc et de vérifier avec la fonction objet->GetBit(BIT_AOBJ) si l'objet est sélectionné (renvoie true) ou non (renvoie false).

    Bon courage et bravo !

    Edit : Encore une chose pour récupérer la position, l'échelle et la rotation tu peux utiliser une matrice tu auras tout cela en une opération. Regarde dans la doc sous "Tutorials", "Using matrix"





  14. #14
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugin "Home" en COFFEE

    Merci de tes explications
    Oui pour les IDs de container, il disait en fait qu'il en fallait pas utiliser les IDs déjà utilisés, et donc par extension d'avoir un ID unique si d'autre developpeurs avaient eu l'idée d'utiliser le container de ces objets.
    Par contre ça me chagrine un peu que l'on ne puisse pas avoir de clone de container, ne de le copier vers un autre. D'autant plus que ces fonctions sont présente dans le SDK de "BaseContainer" :? de la version 9.5 certes, mais j'avais esperé qu'une méthode aussi utiles et basiques puisse être gardée. Tout cela ne me dit rien de bon, comme dirait Tintin.

    J'aurais un question aussi, ça veut dire quoi "NIL" ? Je suppose que le N veut dire Not, le I veut dire In, mais le L...

    Tu as raison pour l'utilisation de matrices, je n'y avais pas pensé. Et pour l'utilisiation de GetBit, je vais voir si ça fonctionne :poucehaut: Merci

  15. #15
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugin "Home" en COFFEE

    Merci pour les sélections multiples ça marche du tonnerre !!! :poucehaut:

  16. #16
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707

    Re*: Plugin "Home" en COFFEE

    D'autant plus que ces fonctions sont présente dans le SDK de "BaseContainer"
    Autamps pour moi (néologisme pour mettre enfin tout le monde d'accord entre "Autant pour moi" et "Au temps pour moi"). C'est vrai que je n'avais pas vu qu'il y avait aussi cette fonction dans la classe BaseContainer, il doit donc y avoir une autre explication à ton problème que j'ignore ...

    Mais en fait je ne comprend pas très bien pourquoi tu veux dupliquer ce container.Ce qui t'intéresse si j'ai bien compris c'est la matrice, non ?

    J'aurais un question aussi, ça veut dire quoi "NIL" ? Je suppose que le N veut dire Not, le I veut dire In, mais le L...
    Je n'en sais rien, mais je pencherai plus pour un truc du genre nothing in L???. En tous cas c'est pour différencier un cas ou il n'y a rien (NIL) d'un cas valeur 0 (NULL).




  17. #17
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugin "Home" en COFFEE

    Ouah c'est pire que NULL ! :shock:

    Le container, c'était du temps ou je stockais pas la matrice mais la position, la rotation et l'échelle. Je voulais un container pour que ça ressemble plus à un objet C4D, vu qu'ils stockent tous leurs données comme ça. je voulais faire comme les grand quoi :calim: Dupliquer le container c'était dans la Fonction GetContainer de ma classe tout simplement. Je pense que le problème vient du fait que j'utilisais SetData() sur mon container, sans jamais avoir fait de InsData() donc il avait du mal/ Il faudra que je re-teste ça même si maintenant que je stocke qu'une matrice ça risque de devenir moins intéressant.

    Et pour trancher entre "au temps pour moi" et "autant pour moi" il y a un institution dont c'est le boulot :wink: ->http://www.academie-francaise.fr/lan....html#au_temps

  18. #18
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugin "Home" en COFFEE

    Bon je pense avoir fini de débugger. l'enregistrement, l'undo et le redo sont opérationnels, et le reste marche aussi :mrgreen:
    J'ai mis que le plug marchait pour 9.5 et plus. mais je n'ai pas les moyen de tester pour les versions inférieures.
    C'est un fichier .cob donc si vous voulez voir le code, envoyez moi un MP et je me ferai un plaisir de vous envoyer une copie

    Par contre j'ai été obligé d'enregistrer mes icônes (je me suis bien amusé ^^) en PSD, parce que en tif la transparence ne fonctionnait pas. bizarre :?

    C'est mon premier plug alors j'ai tout suivi ce qu'ils disaient dans le SDK :nono:, ne soyez pas surpris de voir pleins de fichiers différents pour un si petit plug.

    --> le fichier <--

    N'hésitez pas à me rapporter tout bug/dysfonctionnement/amélioration :odile: Et merci à tous ceux qui m'ont aidé :love:

  19. #19
    Pilier Avatar de oli_d
    Date d'inscription
    avril 2004
    C4D version
    Autre
    OS
    MacOS X
    Messages
    707

    Re*: Plugin "Home" en COFFEE

    Bravo Floby :efface:,

    Pour ton problème de tif est-ce que tu as bien enregistré le fichier avec une couche alpha, parce que normalement cela fonctionne très bien.

    Vivement ton prochain plug ! :poucehaut:

  20. #20
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugin "Home" en COFFEE

    Ah oui :oops: c'était ça.
    Seulement, les demies transparences ne marchent pas, enfin pas pareil en tout cas, j'éviterai la prochaine fois.

  21. #21
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugin "Home" en COFFEE

    Allez c'est reparti !! :nono:

    J'ai une autre idée de plug, toujours pour le rig et l'animation. J'ai eu l'idée, et surtout entrevue comment faire, en lisant le chapitre qui traite des matrices dans le SDK. Je vais mettre à un plat un peu ce que je veux faire, c'est bien de savoir exactement ce qu'il faut avant de se lancer.

    L'idée serait de permettre à un objet (neutre, contrôleur de commissures de lèvres (de bouche) par exemple) de se comporter comme un point d'un maillage influencé par des os. Tout ceci indépendamment de la hiérarchie. Mais je voudrais qu'il soit tout de même possible de bouger à la main cet objet (puisque ce serait un contrôleur) quand on le souhaite et que lorsque l'on a fini, il continue de suivre les mouvements de autres, à sa nouvelle position (ça à l'air pas clair quand je le dit, mais je vais essayer de montrer un exemple rapidement).

    J'ai commencé à coder un COFFEE à mettre sur l'objet qui nous interesse. il faut avoir dans sa scène un objet P1 et un objet P2 (dans ma scène c'était des pyramides). Vloià le code ->

    Code:
    GetFinalMatrix(a,b) {
    	var res=new(Matrix);
    	res->SetV0((a->GetV0() + b->GetV0())/2);
    	res->SetV1((a->GetV1() + b->GetV1())/2);
    	res->SetV2((a->GetV2() + b->GetV2())/2);
    	res->SetV3((a->GetV3() + b->GetV3())/2);
    	return res;
    }
    
    main(doc,op){
    	var P1=doc->FindObject("P1"); //controlleur 1
    	var MP1=P1->GetMg();
    	var P2=doc->FindObject("P2"); //controlleur 2
    	var MP2=P2->GetMg();
    	//on initialise une matrice qui définit un objet en coordonnées 0 et
    	//rotation 0 par rapport à son parent (ici pour les deux)
    	var OM=new(Matrix);
    	OM->SetV0(vector(0,0,0));
    	OM->SetV0(vector(1,0,0));
    	OM->SetV0(vector(0,1,0));
    	OM->SetV0(vector(0,0,1));
    
    	//on simule la matrice globale de l'objet s'il se trouvait
    	//enfant du controlleur
    	var MR1=MP1->GetMulM(OM); //<- matrice globale de l'objet
    	var MR2=MP2->GetMulM(OM); //<-aussi mais "enfant" de l'autre
    	
    	var MRF=GetFinalMatrix(MR1,MR2);
    	op->SetMg(MRF);
    }
    Un petit exemple de ce que ce code fait A l'evidence je suis pas aussi doué que Base80 pour faire de jolis GIF :art:

    dans ce fichier, la sphère est le parent du cube.

    Je pense qu'il faudra que je code le plug en C++ car j'aurais besoin de stocker dynamiquement dans un tag, et surtout d'avoir une interface pour ce tag, mais surtout en particulier parce qu'il me faudra surement des liens vers les objets (vu que le nom c'est pas génial).

  22. #22
    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

    Re*: Re*: Plugin "Home" en COFFEE

    Citation Envoyé par Floby
    N'hésitez pas à me rapporter tout bug/dysfonctionnement/amélioration :odile: Et merci à tous ceux qui m'ont aidé :love:
    Super Floby ! Merci...
    Ce qui serait bien d'ajouter...

    - Un bouton "update tag" ( mettre à jour le tag ) plutôt qu'à devoir le supprimer pour le mettre à jour en le recréant.
    - Un mode "absolute"/"relative" pour travailler en home tag objet ou monde.
    - Une boite liste pour glisser plusieurs objets et faire un home tag sur une liste d'objets. Un peu comme le faisait pose2pose dans Mocca.
    - La possibilité de stocker différentes valeurs de home tag sur un objet ( ou une liste ) et de pouvoir switcher entre 2 homes via un slider ( avec toutes les interpolations de l'animation ( ease-in, ease-out, acceleration,etc... ) : L'idée serait de passer d'un home tag 1 d'un, à un home tag 2 ( 50% du slider ) pour finir à un home tag 3 ( 100% du slider ). L'ideal serait qu'on pourrait jouer sur l'ordre des homes tag si nécessaire.

    voilà pour quelques idées. :bounce:
    kenavo !! // Pinterest KAMIGAZ®

  23. #23
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugins "MultiParent" || "Home" en COFFEE

    Merci d'avoir essayé Aurety

    Pour tes propositions je vais te répondre dans l'ordre :

    - Pas besoin de bouton update tag, ni de le supprimer d'ailleurs ! il suffit de repasser par la commande "Emménager" qui remet à jour le tag s'il en existe déjà un.
    - C'est une bonne idée, mais on ne peut pas toucher au gestionnaire de propriétés pour les tag en COFFEE malheureusement. Je peux ajouter ça au niveau de la commande emménager, mais ça rajoute du dialogue pour la manip. Ou alors juste faire une seconde commande Globale. Mais encore le seul moyen que j'aurais d'indiquer si le tag est en mode Global ou Local serait dans le nom de celui-ci, ce qui n'est tout de même pas pratique :?
    - Je ne suis pas sûr de comprendre. Si c'est juste pour en définir plusieurs à la fois, il faut juste en avoir sélectionné plusieurs quand on lance la commande. Si c'est pour stocker la position d'un ensemble d'objet c'est un peu plus compliqué.
    - Là c'est carrément de l'anim' c'est effectivement possible, voire facile, si je recode le plug en C++, ce qui va sûrement bientôt arriver puisque il y a plein d'amélioration à faire qui le nécessite. Cela dit, le plug n'avait pas pour vocation à servir pour l'animation :oops: mais plutôt d'être un moyen rapide de faire un truc minime mais très utile pour un rig.

    Encore merci pour les suggestions ! Et moi je vais commencer à me pencher sur la compilation du SDK :art:

  24. #24
    kiteman
    Invité

    Re*: Plugins "MultiParent" || "Home" en COFFEE

    salut Flobby

    tient comme tu es dans les plugins pour l'anim , j'en avais commencé un ( enfin un expresso )
    -> un outil de mirroir de pose ( on drag and drop ses controlleurs et en 1 clic on mirroir tout ça suivant un pivot et un plan mirroir choisi ( donc le pivot c'est biensur un controlleur dans le perso , mais pas forcement le master .. et donc faudrait pouvoir choisir un mode mirroir local pur ou tout calculer en mode "parent" , c'est à dire chaque controlleur du rig , par rapport au pivot choisi ( par exemple les mains par rapport au master , et non pas par rapport à leur parent 1er qui pourrait être le pelvis par ex .. car le résultat ne sera pas la même chose si le pelvis est tourné dans l'espace ).

    http://www.frenchcinema4d.fr/forum/i...?topic=22340.0

    mais faute de temps j'ai mis ça en stand by pour le moment :cry2: , donc si tu veux t'y coller pour mettre ça en coffee :mrgreen:

    Paspas , avait fillé une partie excellente :art: :prie: , où il faisait en coffée la transformation mirroir ( juste les positions ) entre 2 objets et un 3ème servant de pivot , et tout ça sans relation parent-enfants dans la hiérarchie

    donc voila si ça te dit :odile:

  25. #25
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugins "MultiParent" || "Home" en COFFEE

    Ah oui c'est déjà un petit niveau au dessus oui :nono:
    mais je viens d'essayer 2-3 trucs en COFFEE et ça à l'air pas trop compliqué mathématiquement parlant. Ce qui va poser problème c'est :
    - Trouver les contrôleurs à symétriser, je ne sais pas comment tu fais dans ton Xpresso, c'est sûr que s'ils sont bien nommés ça ne doit pas poser de problèmes, après c'est possible de trouver par la hiérarchie si celle-ci est bien rangée.
    - savoir quel axe inverser au final, mais ça j'en fait une affaire personnelle ^^. C'est surtout que j'essaye de limiter au maximum les paramètres compliqués (parce que c'est sûr je pourrais demander au mec "ton contrôleur, tu l'as placé comment ? non je dis ça parce que j'en ai besoin pour faire un truc avec le bidule pour que ça soit tictactictac comme il faut..." :mrgreen: )
    - L'interface, parce qu'en COFFEE on est limité, mais je compte explorer le C++, mais le COFFEE c'est quand meme mieux pour explorer parce que plus facile à débugger.

    Mais sinon je suis partant ( :coup: d'avance)

  26. #26
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Plugins "MultiParent" || "Home" en COFFEE

    un truc comme ça ?


  27. #27
    kiteman
    Invité

    Re*: Re*: Plugins "MultiParent" || "Home" en COFFEE

    Citation Envoyé par Floby
    Ah oui c'est déjà un petit niveau au dessus oui :nono:
    mais je viens d'essayer 2-3 trucs en COFFEE et ça à l'air pas trop compliqué mathématiquement parlant. Ce qui va poser problème c'est :
    - Trouver les contrôleurs à symétriser, je ne sais pas comment tu fais dans ton Xpresso, c'est sûr que s'ils sont bien nommés ça ne doit pas poser de problèmes, après c'est possible de trouver par la hiérarchie si celle-ci est bien rangée.
    - savoir quel axe inverser au final, mais ça j'en fait une affaire personnelle ^^. C'est surtout que j'essaye de limiter au maximum les paramètres compliqués (parce que c'est sûr je pourrais demander au mec "ton contrôleur, tu l'as placé comment ? non je dis ça parce que j'en ai besoin pour faire un truc avec le bidule pour que ça soit tictactictac comme il faut..." :mrgreen: )
    - L'interface, parce qu'en COFFEE on est limité, mais je compte explorer le C++, mais le COFFEE c'est quand meme mieux pour explorer parce que plus facile à débugger.

    Mais sinon je suis partant ( :coup: d'avance)
    ha super !!

    donc pour trouver les controlleurs a symétriser , en fait moi j'étais partis sur le fait que pied D et G , main D et G , solvers genou D et G , et solvers coudes D et G fonctionnent par paires ... tous les autres controlleurs ajoutés fonctionneraient en solo ( mirroir sur "eux mêmes" )
    donc avec ce principe on match tout biped et quadriped standard. ( après pourquoi pas permettre à l'utilisateur de définir par lui même son type de perso , avec combien de controlleur par 'paires' ? de controlleur seul ? etc ..)

    Après si tu arrives à trouver une solution pour qu'il lise en auto la hiérarchie et trouve par lui même les controlleurs par paire ? ( genre il cherche une racine commune comme Rfoot .. Lfoot il en déduit que ce sont 2 controlleurs fonctionnant par paire ? etc .. je sais pas trop en fait ce qui est faisable. Ou alors mieux , on définit de rajouter une certaine syntaxe sur les controlleurs genre ' Ctr_master .. Ctr_pelvis .. Ctr_Rfoot ..etc ' , donc la racine "Ctr_" définirait quoi prendre comme controlleur ? enfin libre à toi :art:


    Pour ton probleme d'axe a choisir , bein en fait , je voyais bien ceci dans le principe :

    on drag and drop l'object servant d'origine au mirroir ( donc par exemple le controlleur master du perso ) , ensuite , on coche une checkbox ' X Y ou Z' , qui correspond aux axes de l'objet origine choisi ( donc si le master à son YZ formant le plan mirroir , on va donc cocher 'X' ..etc )

    et donc après tu mirrorises tout via cette objet origine (donc en utilisant le code de super Paspas par ex :boss: + le transfert de rotations)

    Pour ce qui est de savoir comment il va savoir qu'est-ce qui est controlleur ou pas , bein peut-être faire un drag and drop de tous les controlleurs ou alors un systeme de liste ? enfin je sais pas trop ce qui existe niveau codes :? .. comme ça on le fait une fois et apres c'est bon il garde en mémoire sur le fichier du perso la liste ?

    J'ai vu que sur le site de Maxon , il y a des plugins de création de plugins ^^ .. te permettant de créer rapidement une boite de dialogue , des boutons etc .. mais bon c'est du chinois pour moi :calim: .. on rentre dans l'univers de XSYann, Paspas et JeanLaurent ^^

    bein merci beaucoup si tu peux faire quelque chose :odile:

    bon cuuurage ! :poucehaut:

  28. #28
    kiteman
    Invité

    Re*: Re*: Plugins "MultiParent" || "Home" en COFFEE

    Citation Envoyé par Floby
    un truc comme ça ?


    :lol: Haha même pas le temps de raconter ma vie , t'as deja finis ! ^^

    bien joué , ouep voila c'est ça

    :odile:

  29. #29
    kiteman
    Invité

    Re*: Plugins "MultiParent" || "Home" en COFFEE

    ha oui et donc si tu peux rajouter une option de stockage de pose ? ( j'avais fais ça dans mon expresso et j'avoue que c'est assez pratique .. comme ça en dehors de l'outil mirroir on peut aussi aller copier une pose dans une anim et la coller plus loin .. si tu arrives à rajouter une option de 'add keyframes' quand on collerait la pose ? ça serait top )
    et des checkbox devant les controlleurs dans la liste si tu peux , pour éventuellement ne travailler que les pieds et donc ne pas copier coller avec clés , les autres controlleurs ..

  30. #30
    Pilier
    Date d'inscription
    octobre 2003
    Messages
    1 630

    Re*: Re*: Re*: Plugins "MultiParent" || "Home" en COFFEE

    Citation Envoyé par kiteman
    :lol: Haha même pas le temps de raconter ma vie , t'as deja finis ! ^^
    Ben c'est les vacances tu sais ^^.

    Pour les histoires de contrôleurs à symétriser, je pense que le plus simple est un genre de liste avec un lien vers l'objet gauche et son miroir, plus quelques autres trucs si besoin, et dont on rajoute des lignes avec un bouton "ajouter" au quelque chose comme ça. Éventuellement par dessus ça, on peut rajouter une fonction de recherche automatique. Mais tout ça c'est du fignolage d'interface. Mais j'aimerais bien, si ça ne pose pas de problème bien sûr que tu me montre un fichier avec un rig histoire de voir comment travailler sur un rig complet (et je te fais confiance pour avoir un rig de pro). Mais c'est vraiment si ça ne pose pas de problème, je n'ai pas besoin du modèle ni d'animation, juste les contrôleurs pour voir comment ça réagit en "Grandeur Nature" quoi


    Citation Envoyé par kiteman
    J'ai vu que sur le site de Maxon , il y a des plugins de création de plugins ^^ .. te permettant de créer rapidement une boite de dialogue , des boutons etc ..
    Ca m'interesse. Mais je viens de passer sur le site et je n'ai pas vu trace de ce dont tu parles, c'est dans quelle section ?

    Citation Envoyé par kiteman
    ha oui et donc si tu peux rajouter une option de stockage de pose ?
    C'est sûrement possible, mais pour être honnête je n'ai jamais manipulé de données aussi importantes en COFFEE, je vais essayer de voir comment stocker ça quelque part, peut-être dans un tag (j'aime les tag :nono.

    --- MISE A PLAT --- eh ouais je travaille serieusement ^^ ...
    _________________________________________________
    Mon idée pour mettre ça sous forme de plug :
    Un tag à poser sur la racine de l'arborescence de contrôleurs.
    Dans les options, on précise l'objet qui sert de miroir et quel plan de cet objet choisir (prendre un objet différent du master du perso offre plus de possibilités, mais ça c'est selon les goûts). On précise aussi la différentiation Gauche/Droite se fait par suffixe ou préfixe et on précise lesquels.
    Ensuite (dans un autre onglet surement), la liste des contrôleurs et de leur miroir (vide ou identique si le contrôleur marche en solo) sous la forme:
    Ctrl. Gauche { } Ctrl. Droit { } [Trouver]
    [Ajouter un contrôleur] [Auto.]
    Ensuite, un onglet d'utilisation avec des boutons tels que "Miroiter", "Copier la pose", "Coller la pose" et autres truc marrants. Sachant que je n'ai aucune idée de comment présenter le choix de la pose à copier ; je vois bien un truc comme le tag Morphing, mais à mon avis c'est plus compliqué que ça.
    _________________________________________________

    Bon de toute manière, tout ça nécessite de passer au C++ :art: :coup: :cry2: :arg: (et autres smileys)

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