PDA

Voir la version complète : PivotMaster



gr4ph0s
07/07/2015, 23h26
Salut tout le monde je vous présente enfin mon premier plugin pour C4D.

J'ai nommé PivotMaster ! L'outil essentiel pour gérer le point de pivot de vos objets.
Pour le moment il ne gère que les objets polygonaux éditable(ceux qui ont un petit triangle bleu a côté de leur nom).

Je pense que son interface parle de lui même.
Vous cliquez sur la petite bouboule qui vous plait et hop le point de pivot bouge !
15758

NOTE : Ceci prend en compte tout les points pensez donc bien à optimisé votre maillage ou non ! ;)


CHANGELOG :
Ajout - Modification - Suppression - Correction de bug



V1.6

Ajout d'une progressBar, c'est bien mieux qu'un message et ça permet de voir l'avancement quand y'a de grande sélection !
Suppression du message lorsque l'opération étais fini




V1.5

L'opération est possible sur un ensemble d'objet sélectionné (ces objets doivent être des objets polygonaux)




V1.4

Lorsque l'objet était dans une hiérarchie celui-ci étais déplacé




V1.3

Pour switcher entre 2 documents il fallait re-ouvrir le pluging
Possibilité d'utiliser le plugin dans un layout




V1.2

L'affichage de l'UI lors d'un rescale
Possibilité de Docker l'interface




V1.1

Support Mac
Lorsque rien n'étais sélectionné aucun message d'erreur n'était renvoyé




V1 - Initial release

​Fonctionne sur les objets polygonaux éditables
Support Windows




Ici il ne s'agit que d'une V1 histoire de fêter mon passage en deuxième année :p
Voici la liste des features à venir(pas forcement dans l'ordre énumérés) :


Support des spline



Modification de l'orientation de l'axe de l'objet



Possibilité de calculer sur l'ensemble des points ou seulement les points appartenant au maillages



Support de multi Objet

Positionner sur le groupe
Positionner sur un objet du groupe




Support des déformateurs/Mograph



Support des sous objects

Positionner sur le groupe
Positionner sur un objet du groupe




Amélioration de l'UI

Réelle gestion du hover
UI reziseable



Le plugin tout prêt a glisser dans le dossier plugin de c4d => http://graphos.fr/files/PivotMaster_V1.6.zip

Le code est disponible ici => https://github.com/gr4ph0s/C4D-PivotMaster

Si vous avez des remarques ou bien des suggestions je suis tout ouïe et à bientôt pour une nouvelle version !


PS : je n'ai que la version R16 d'installé je n'ai donc pu testé que sur la R16, il s'agit d'un plugin en python donc si je ne dis pas de bêtise avant la R13 ça ne devrait pas fonctionner.

Aurety
07/07/2015, 23h50
Félicitations Maxime pour ton passage en 2eme année !! ( et n'oublie pas de dessiner cet été :icon_mrgreen: )
Pour ton plugin aussi même si malheureusement sur mon mac, ça ne fonctionne pas, la fenêtre s'ouvre mais pas de GUI dessus, rien qu'un carré vide.:icon_pleure:
Juste pour info et encore bravo pour ton premier plugin :icon_wavey:

gr4ph0s
08/07/2015, 00h22
Hummm n'ayant pas testé sur un autre poste que le mien possible que sa vienne d'une erreur de ma part.
Je verifie tout cela demain et si ça ne marche pas je mange la pomme !!!

As tu bien l'icone qui se charge dans la liste des plugin?

Hehe oui le dessin cest prevu dans mon planing ! :)


En tout cas merci pour le retour rapide ! :)

user4D
08/07/2015, 01h52
J'ai testé sur un simple cube extrudé j'ai une erreur "Impossible de sélectionner un objet nul"

Cinema4D R15 - Windows 7 64bits

gr4ph0s
08/07/2015, 02h11
J'ai testé sur un simple cube extrudé j'ai une erreur "Impossible de sélectionner un objet nul"

Cinema4D R15 - Windows 7 64bits
Merci d'avoir testé.
Ceci est normal pour le moment il ne supporte que les polygones.
Donc tout ce qui est subdivison de surface/sweep/loft/extrude/symetrie/connect/boolean (tout ce qui sort d'un generateur) ne fonctionne pas et doit te renvoyer cette erreur ;)

Pour faire simple ça ne marche que l
lorsqu'on a 1 objet de sélectionné et que cet objet à un petit triangle bleu a côté de lui ! :)

Mais c'est prévu pour les prochaines version. Ceci est plus un sneekpeak de ce que l'outil fera une fois fini ;)
Cependant tu es le deuxième utilisateurs(autre qye moi) qui ne rencontre pas de problème avc l'ui et qui est sur windows.
Ceci viendrait donc de la pomme je vais regarder cela :)

Encore merci du retour !

oli_d
08/07/2015, 09h36
Chouette un nouveau plugineur !

Premièrement bravo, mais deuxièmement je confirme que cela ne marche pas sur mac !

L'image ne se charge pas à cause de la ligne 263, remplace :


self.bmp.InitWith(self.path + "\PivotMaster.jpg")

par :


self.bmp.InitWith(os.path.join(self.path,"PivotMaster.jpg"))

L'antislash dans les noms de chemin est windowsien, avec os.path.join() tu es tranquille sur tous les OS.

L'autre truc c'est à la ligne 346, pour vérifier qu'un objet polygonal est bien sélectionné, n'utilise pas GetTypeName(), parce qu'en français cela ne marche plus :


if self.obj.GetTypeName() != "Polygon":

utilise plutôt son type :



if not self.obj.CheckType(c4d.Opolygon):

Avec ça même si C4D est en mandarin oriental médiéval cela devrait fonctionner.

Autre chose dans ton fichier .res en français ne mets pas de caractère accentué, ça donne des hiéroglyphes sur mac, il faut mettre le code unicode (je sais c'est pénible !), par exemple :

PIVOT_MASTER_ALERT_OBJ "Vous devez s\u00e9lectionner un objet";
(voir les correspondance des différents caractères ici : http://www.eteks.com/tips/tip3.html )

Avec tout ça cela marche impec sur mac.

Mais c'est un super début, cela fait vraiment plaisir d'avoir de nouveaux petits camarades pythonneux!

gr4ph0s
08/07/2015, 10h19
Et bien merci oli_d ! Je n'ai accès a mon ordi que dans la soirée j'update tout dans la soirée!

Encore merci j'aurais mis du temps à trouver le coup de lantislash ^^'
Et bien vu pour le type :)
Enfin bref moi je dirais genial tout ce nombre de pythonneux qui sont actif et pressent ici ! :D

leo3d
08/07/2015, 10h22
https://www.youtube.com/watch?v=8jWfwJtiysQ

gr4ph0s
08/07/2015, 10h52
Plutôt ceci https://youtu.be/cenuNJnK4d8 c'est 3ds max mais je pense que tu comprendras ;)

C'est d'ailleurs de ce plugin que je me suis inspiré car autant dans 3ds max les fonctions pour gerer son point de pivot sont assez simple. Sur c4d je ne suis pas fan dutout.

lenogre
08/07/2015, 13h23
La commande "centre des axes" fait ça très bien mais c'est vrai que ce n'est pas très visuel et parfois il faut s'y reprendre à plusieurs fois pour placer l'axe au bon endroit.
Très bon boulot !

Le plug TransformTool est un peu dans l'esprit aussi.
http://www.welter-4d.de/fplugs/freeplugins_en.html#transform
Excellent plugin, indispensable à mon avis.

Globalement, je trouve que C4D n'est pas très bon pour la manipulation d'objets ou encore la création et le placement d'objets. Ce sont pourtant des manips de base qu'on fait des centaines de fois dans la journée.
La façon dont on crée un objet n'a pas changé depuis au moins la v5 ! Alors, oui c'est simple, on va sur l'cône de l'objet, on relâche la souris et on a notre objet créé en 0/0/0.
Cependant, on aimerait pouvoir créer des objets à l'endroit où on veut. Le défunt "Primitive Sketch" faisait ça très bien (même si facilement plantogène). Il y avait même des fonctionnalités très comparables à SurfaceSpread.

D'une façon générale, j'espère que la v17 va revoir certains fondamentaux (les poignées sur les primitives 2D, on va attendre encore combien de versions ?) plutôt que nous pondre un outil de tracking bis (certes très intéressant mais dont vont se servir 1% des utilisateurs).

La façon dont sont gérées les primitives 2D sur le logiciel Affinity (concurrent de Illustrator) est tout bonnement époustouflante ! Maxon, prends-en de la graine...

valkaari
08/07/2015, 15h23
C'est cool un autre dev dans le coin et généreux en plus !!!

tant qu'on y est dans ton code tu as


for i in range(nbpts) :
points[i] = newMatrix.Mul(points[i])


en python tu as les générateurs ça crée des tableaux à la vitesse de la lumière.

un truc du genre (à vérifier)


scaledPoints = [newMatrix * point for point in points]
self._MESH.SetAllPoints(scaledPoints)

gr4ph0s
08/07/2015, 21h59

C'est cool un autre dev dans le coin et généreux en plus !!!
Dev c'est un bien grand mots ça ne fait qu'une semaine que je fait du python(même si au final ça ne change pas vraiment de tout ces langages OO :))

Après ma générosité est uniquement dut au faite que je sorte ça sous license Beer Ware et que j'attend une pluie de bière !
Ou bien pour avoir des conseils comme les tiens . Qui sais... ! :D

Bon sinon revenons aux choses sérieuse :)

V1.1


Support Mac
Correction d'un bug lorsque rien n'étais sélectionné


La prochaine version devrais comporter un auto-updater histoire de ne pas vous forcer à tout re-télécharger à chaque update ! :)
Sinon vous pouvez obtenir la dernière version ici => http://gr4ph0s.free.fr/plugin/PivotMaster/Release/PivotMaster_LatestVersion.zip

pxlntwrk
08/07/2015, 22h27
Salut,
simple, efficace :thumbup1:

ca marche au poil ici win 7 r15

merci beaucoup

le comportement de la fenêtre est un peu étrange mais ne nuit pas a la fonctionnalité principale
un exemple après étirement des bordures

http://www.zupimages.net/up/15/28/sdue.jpg

oli_d
08/07/2015, 22h46
Sur mac je confirme ça marche aussi et en français

gr4ph0s
08/07/2015, 22h50
@oli_d Merci du retour ! :)

@pxlntwrk Effectivement ceci sera fixer dans les versions futures mais merci du retour ! :)

Vcyrille
09/07/2015, 07h46
Fonctionne sur la R13 en fr, merci pour ce plugin très pratique.

pxlntwrk
16/10/2015, 22h06
Salut,
je deterre un peu , penses mcontinuer sur ton pluggin pivot?
:icon_wavey:

gr4ph0s
16/10/2015, 22h41
Oui je pense le continuer et le finaliser bien comme il faut.
Mais quand? ça je ne sais pas et je préfères pas trop donner de date vu que cette année on est plutôt chargé niveau taff à MJM.
A la limite il faudrait qu' Aurety me file 1 semaines en plus sur mon projets et j'aurais surement le temps de le finir :icon_mrgreen:

pxlntwrk
16/10/2015, 22h57
Yep, en tout cas bien utile ici, si il pouvait se stacker correctement :thumbup1:

gr4ph0s
16/10/2015, 23h06
Tu entends par la qu'il gère le fait d'être en enfant?

En tout cas merci du retour :)

pxlntwrk
17/10/2015, 01h20
Tu entends par la qu'il gère le fait d'être en enfant?

le fait de pouvoir l'integrer dans un fenetres c4d dans un layout perso (je sais pas si ont dit "stacker").

Aurety
17/10/2015, 10h41
Bah, animer 3 boules dans un couloir, tu devrais déjà avoir fini ! :icon_mrgreen:
En plus tu devrais faire découvrir ton plugin aux autres étudiants car il pourrait se révéler bien utile pour l'animation de leurs boules.
Et oui à la MJM, on fait dans le film de boules.:sweatdrop:

xs_yann
17/10/2015, 14h55
le fait de pouvoir l'integrer dans un fenetres c4d dans un layout perso (je sais pas si ont dit "stacker").

Je crois qu'on dit 'docker'.

Ton plug n'est pas dockable, gr4ph0s, à cause d'un problème d'affichage avec ton GeUserArea. Tu l'affiches en BFH_SCALEFIT, BFV_SCALEFIT (soit toute la taille de ta fenêtre) or tu ne dessines que dans un rectangle de 208 par 200.
Tu peux l'afficher à sa taille normale avec, par exemple BFH_CENTER :


self.AddUserArea(2000, c4d.BFH_CENTER)

Bien sûr il ne faut pas oublier de spécifier une taille minimale sinon la GeUserArea fera 0x0 :


def GetMinSize(self):
return self.bmp.GetSize()

(override de GeUserArea.GetMinSize)

gr4ph0s
17/10/2015, 21h18
Merci xs_yann bon bha du coup ça résout en même temps le problème que pxlntwrk avais remonté lors du changement de size de la fenêtre global.


Dans le future j'aimerai bien pouvoir scale l'image aussi.

Voici le lien : http://gr4ph0s.free.fr/plugin/PivotMaster/Release/PivotMaster_LatestVersion.zip

pxlntwrk
17/10/2015, 22h28
Salut et merci
Mais ici ca marche po mieux c'est bien dockable ( merci XS pour le vocab), mais impossible de l'enregistrer dans un layout.
Une fois c4d rallumé il y a bien l'emplacement du plug mais rien dans la fenêtre dédiée...

xs_yann
17/10/2015, 23h06
Effectivement je n'avais pas vu.
Gr4ph0s regarde l'erreur dans la console lors de l'appel à RestoreLayout, il faut que tu récupères le document au moment du clic et non à l'ouverture de ta fenêtre (qui peut être la même d'un document à l'autre).

gr4ph0s
18/10/2015, 15h00
Effectivement une erreur bien bête de ma part.
Ceci est corrigé maintenant, merci à vous deux !

Toujours le même lien de téléchargement : http://gr4ph0s.free.fr/plugin/PivotMaster/Release/PivotMaster_LatestVersion.zip


:icon_mrgreen:
Et oui à la MJM, on fait dans le film de boules.:sweatdrop:
En plus tu devrais faire découvrir ton plugin aux autres étudiants car il pourrait se révéler bien utile pour l'animation de leurs boules.


Bha justement je me documente sur le sujet.C'est pour ça que je perd plein de temps. Moi je m'informe c'est tout :icon_mrgreen:
Ils ont qu'a être curieux et venir ici :p

pxlntwrk
19/10/2015, 00h54
Merci c'est cool:thumbup1:

Floc
22/10/2015, 22h36
Hello

J'adore ton plug-in et je l'utilise sans réserve.

Déja merci.

Et du coup j'en profite :

-Je ne sais pas si c'était prévu mais quand l'objet est dans une hierarchie ça ne fonctionne plus.
L'offset du parent vient se rajouter à la nouvelle position par rapport a l'axe du coup l'objet est décalé.

-Sur windows la zone de clic parait décalé il faut cliquer sous les boules pour que ça fonctionne et l'image "flashouille", alors que sur mac c'est nickel.

A priori j'utilise bien la dernière version que tu as posté.
Je l'utilise sous Win7 et R15

pxlntwrk
23/10/2015, 01h54
J'ai remarqué qq shits , j'ai eu des décalages bizarres aussi,
et du mal a cliquer les boules parfois ..:sweatdrop:

gr4ph0s
09/02/2016, 14h39
-Je ne sais pas si c'était prévu mais quand l'objet est dans une hierarchie ça ne fonctionne plus.
L'offset du parent vient se rajouter à la nouvelle position par rapport a l'axe du coup l'objet est décalé.


Problème résolu dans la dernière version.
http://graphos.fr/files/PivotMaster_V1.4.zip

Bon pour le reste des features, je sens que je vais devoir tout recoder car bon c'étais mon tout premier et maintenant je me rend compte à quel point il est pas forcément optimisé / propre mais bon c'étais le but, apprendre pour progresser !

gr4ph0s
06/04/2016, 02h34
http://graphos.fr/files/PivotMaster_V1.5.zip

Nouvelle version maintenant vous pouvez effectuer l'opération sur plusieurs objets. (si vous sélectionnez 10 objets et que vous appuyez sur le centre alors le point de pivot de chaque objet sera centré comme si vous l'avez fait un par un quoi :)).

Je ferais sans doute une option pour qu'on puisse centrer sur l'ensemble de la selection.

Floc
06/04/2016, 05h59
Ah ben J'avais même pas vu la mise à jour précédente.

Super, Merci :thumbup1:

Rudy
06/04/2016, 15h08
Nouvelle version maintenant vous pouvez effectuer l'opération sur plusieurs objets. (si vous sélectionnez 10 objets et que vous appuyez sur le centre alors le point de pivot de chaque objet sera centré comme si vous l'avez fait un par un quoi :)).

Je ferais sans doute une option pour qu'on puisse centrer sur l'ensemble de la selection.

Merci du travail effectué, c'est très intéressant. Merci :icon_thumbsup:

gr4ph0s
12/04/2016, 05h43
http://graphos.fr/files/PivotMaster_V1.6.zip

Remplacement du message de succès par une progressBar ! Bien plus utile et puis moi sa ma surtout permit de capter un peu mieux les UI :)