Bonjour tout le monde.
Bon en tentant une recherche je récupère la moitié des topics du forum donc je pose la question. Est-il possible d'avoir une palette d'outil avec les différents Tags de cinema4D ? En cherchant dans le gestionnaire de commande je n'arrive au mieux qu'à trouver le tag Display (c'est surtout le tag Phong qui m'intéresse).
Merci d'avance.
moi je sais ! moi je sais !
que je sais pas.
Je ne pense pas que cela soit possible, en revanche tu peux procéder comme suit :
Dans le Script Manager, créer un nouveau script "Add Phong Tag" avec le code suivant :
Code:var op = doc->GetActiveObject(); var phong = AllocTag(Tphong); op->InsertTag(phong);
Pour récupérer les identifiants des tags :
(Pour la plupart = "T" + nomdutag)
Drag'n'drop dans la console python.
Les icônes sont dans Cinema 4D > resource > icons
Le script est dispo dans le Command Manager :
Version finale :
Pour récupérer le nom des paramètres : Drag'n'drop dans la console ou directement dans la fenêtre de script.
Attention : Pour le phong tag il y a un paramètres d'angle, dans C4D les angles sont en radians.
Merci je vais essayer ça, je n'ai pas besoin de la valeur des angles, c'est juste que je dois faire des actions répétitives sur plein d'objets (Phong > Selection de poly 1 > Inversion de sélection > Selection de poly 2 > Conversion de sélection > Break Phong sur la selection 2) donc j'essaye d'optimiser les cliques à fond ^^ (déjà avec ce genre d'exercice j'apprend plein de raccourcis clavier, pratique)
Alors ca marche très bien, déjà merci pour ça. Maintenant est ce que tu saurais comment je dois faire si je veux appliquer le phong à 2 objets différents ? La sélection multiple ne semble pas fonctionner.
Je n'ai pas réussi a écrire de fonction dans le script manager, le code est un peu moyen mais fonctionne.Code:var op = doc->GetFirstObject(); while (op) { if (op->GetBit(BIT_AOBJ)) { var phong = AllocTag(Tphong); // Set parameters here op->InsertTag(phong); } var next; if ((next = op->GetDown())) { op = next; continue; } if ((next = op->GetNext())) { op = next; continue; } var eoh = TRUE; var prev = op; while ((prev = prev->GetUp())) { if ((next = prev->GetNext())) { op = next; eoh = FALSE; break; } } if (eoh) break; }
Edit :
Le script Py4D R11.5 :
Code:import c4d objs = doc.GetActiveObjects(True) for op in objs: phong = c4d.BaseTag(c4d.Tphong) op.InsertTag(phong) c4d.EventAdd(c4d.MSG_UPDATE)
Dernière modification par xs_yann ; 28/10/2010 à 10h20.
J'ai découvert un moyen de parcourir les objets sélectionnés plus facilement en COFFEE, voila ce que ça donne :