Aller au contenu
weSkelDOCUMENTATION
Documentation/Rig/Controller Shape Editor

Design de contrôleurs

Controller Shape Editor

Éditer, transférer et conserver les formes de vos contrôleurs.

NURBSPresetsPreview

Controller Shape Editor édite les courbes NURBS des contrôleurs : formes, couleur et épaisseur, sans modifier leurs valeurs TRS. Il accepte les contrôleurs de modules et les transforms autonomes, y compris plusieurs courbes par contrôleur.

Controller Shape Editor

Dans le shelf weSkel, cliquez sur Controller Shape Editor.

Depuis Python
from weSkel.src.tools import controller_shapes
controller_shapes.show_dockable(floating=True) # Floating window; dock where you prefer.
# controller_shapes.show() # Alternative: standalone floating window.

Maya peut restaurer un état de docking mémorisé.

Controller Shape Editor · thème Poseidon.
Panneau Fonction
Cibles à gauche Chargez un module ou suivez la sélection Maya, puis sélectionnez les lignes à éditer.
XY / XZ / YZ Trois projections locales communes aux onglets, indépendantes des caméras de scène.
Edit Transformations des shapes, apparence et catalogue de formes.
Transfer Miroir explicite, copie, ajout et échange entre contrôleurs.
Library Presets de contrôleur ou de module : enregistrer, partager et appliquer.

La barre de statut en bas indique le résultat ou la raison d’un refus. Les boutons grisés précisent leur prérequis dans l’infobulle.

Action ou réglage Effet
Module Mode initial. Choisir un module le charge automatiquement. Le bouton vert relit les modules et recharge celui en cours.
Selection La liste suit la sélection Maya. Shapes et composants sont ramenés à leur transform, sans doublons. Un transform vide peut recevoir un Paste.
Sélection des lignes Clic : une ligne. Ctrl / Shift : plusieurs. Ctrl+A dans la liste : toutes les lignes visibles. Les actions « selected » utilisent ces lignes, sauf mention explicite de Maya.
Filter controllers… Filtre par nom et désélectionne les lignes masquées. Le compteur indique les lignes sélectionnées sur le total chargé.
Clic droit → Select Sélectionne les lignes choisies dans Maya. Un clic droit sur une autre ligne la sélectionne seule.
Show CVs Affiche les CVs roses dans les trois projections ; désactivé au départ. Le compteur précise contrôleurs, CVs et éventuelles destinations vides.

En Module, sélectionner autre chose dans Maya ne remplace pas la liste chargée. Une multi-sélection superpose les formes en espace local. Choisir un preset ou Copy from Maya affiche sa forme source sans l’appliquer.

XY / XZ / YZ · Show CVs · thème Poseidon.

Sélectionnez vos lignes, puis ajustez la forme. Les transformations portent sur les CVs locaux, pas sur les canaux du contrôleur.

1Mirror 2Transforms 3Pivot / Flip 4Appearance 5Shape 6Session state
Edit · thème Poseidon.
Repère Fonction
1 · Mirror Actif par défaut lorsqu’un pendant existe. Répercute transformations, flips, centrage, couleur, width et choix de shape.
2 · Transforms Move / Rotate (deg) / Scale / Shear modifient la forme en direct. Freeze conserve le résultat comme nouvelle base ; Reset retire les offsets live courants.
3 · Pivot / Flip Choisissez l’origine locale du contrôleur ou le centre des bornes des CVs pour Rotate, Scale, Shear et Flip.
4 · Appearance Pick color… applique une couleur aux sous-shapes après validation ; annuler ne change rien. Width modifie leur épaisseur en direct.
5 · Shape Le menu remplace immédiatement la géométrie par une forme intégrée ou personnelle. Open catalog ouvre le choix visuel.
6 · Session state Save state / Restore state mémorisent et restaurent géométrie, couleur et width pendant cette session.
Action Effet
Move / Rotate / Scale / Shear Offsets depuis la forme de départ de l’édition : valeurs neutres 0 / 0 / 1 / 0. Scale négatif accepté ; une composante à 0 est refusée. Les champs Shear X / Y / Z correspondent aux plans XY / XZ / YZ.
Freeze Garde la forme actuelle et remet les champs à 0 / 0 / 1. Ce n’est pas le Freeze transforms de Maya.
Reset Retire les offsets live depuis la dernière base. Après Freeze, ne revient pas à la forme historique initiale. Undo restaure la forme éditée.
Center shapes Amène le centre des bornes des CVs à l’origine locale sans déplacer le transform.
Flip X / Y / Z Réflexion locale selon l’axe et le pivot choisis. Mirror peut propager le résultat au pendant.
Save state / Restore state Save remplace l’état mémorisé ; Restore rend à chaque cible son propre état, pendants inclus avec Mirror. Une première base est capturée automatiquement à la première sélection ou édition.

Changer de cible, de pivot ou d’option Mirror neutralise les champs en conservant la forme présente. Les états de session disparaissent à la fermeture ou au changement de scène ; utilisez les presets pour les conserver.

Molette, miroir et apparence
Réglage Comportement
Molette Move / Scale : 1, ou 0,1 avec Ctrl. Rotate : 5°, ou 1° avec Ctrl. Shear : 0,1, ou 0,01 avec Ctrl.
Mirror Modules : correspondances par rôles. Autonomes : noms l_ / r_ dans le même namespace et contexte de rig. Sans pendant, le contrôleur reste éditable seul. Si les deux côtés sont sélectionnés, la ligne active pilote la paire une seule fois.
Plan de miroir Axe, offset et référence viennent de Transfer. Ses switches Colors / Line widths ne pilotent pas Edit : chaque opération transmet la propriété qu’elle modifie.
Width (mixed) Plusieurs épaisseurs sont présentes. Modifier Width les uniformise. Reset applique exactement 2, pas la valeur Maya « héritée ».
Shape Couleurs et widths de destination conservées. Les variantes sont nommées, par exemple clavicle_fk (square) et (rounded) ; les presets individuels portent (user).

Dans Edit → Shape, cliquez sur Open catalog. Le catalogue réunit les formes intégrées et vos presets individuels.

1Cibles 2Actions 3Recherche 4Formes
Controller Shape Catalog · thème Poseidon.
Repère Fonction
1 · Cibles Apply to rappelle les lignes visées et l’état de Mirror. La fenêtre reste ouverte pendant que vous changez de cibles dans l’éditeur.
2 · Actions Show CVs est indépendant de l’éditeur. Add selected… enregistre une forme personnelle ; le bouton vert recharge ces formes.
3 · Recherche Search shapes… filtre les cartes ; le compteur indique les résultats. Effacez le champ pour tout revoir.
4 · Formes Chaque carte montre XY / XZ / YZ et le nombre de courbes. Use shape applique immédiatement aux lignes sélectionnées, avec Mirror, en conservant couleur et width.

Sélectionnez une seule ligne dans l’éditeur → Add selected… → saisissez Shape name. Toutes les courbes locales du contrôleur sont enregistrées dans user_data. La nouvelle forme apparaît dans le catalogue, Library et le menu Shape. Un nom déjà utilisé est refusé ; annuler ne crée aucun fichier.

Les presets de module restent dans Library. Les opérations du tool actualisent le catalogue ouvert ; après un ajout de fichier externe, utilisez le bouton vert ou Open catalog. Le catalogue se ferme avec l’éditeur.

1Options 2Mirror 3Copy / Paste 4Swap
Transfer · thème Poseidon.
Repère Fonction
1 · Options Géométrie toujours transférée. Colors / Line widths, désactivés au départ, ajoutent les propriétés du source ; sinon celles des destinations restent intactes.
2 · Mirror Miroir dans la pose courante, selon l’axe, l’offset et la référence. Travaillez dans une pose symétrique.
3 · Copy / Paste Copy from Maya capture un source. Paste Replace / Paste Add ciblent les lignes sélectionnées dans l’éditeur.
4 · Swap Swap selected échange les formes locales de deux lignes avec shapes, sans miroir.
Réglage Effet
Axis / Plane offset X par défaut : plan YZ. Y : XZ ; Z : XY. Offset déplace le plan le long de cet axe dans la référence ; défaut 0.
Use Maya selection / World Un transform sélectionné dans Maya devient la référence : ses axes et son origine définissent le plan. World revient au monde.
Left → Right / Right → Left Le sélecteur fixe le sens du prochain clic sur Mirror : Left → Right par défaut. Changer le sens seul ne modifie aucune shape. Le côté source reste explicite, même si la ligne sélectionnée est du côté destination. Une seule ligne suffit par paire ; un contrôleur central seul ne forme aucune paire.

Sélectionnez un contrôleur dans Maya → Copy from Maya → choisissez les lignes de destination → Paste Replace ou Paste Add. En mode Selection, les destinations suivent votre sélection Maya ; un groupe vide comme null1 est accepté.

Action Effet
Copy from Maya Instantané de toutes les courbes locales d’un seul contrôleur, conservé dans cette fenêtre. Copy source identifie le source.
Paste Replace Remplace toutes les courbes des destinations par les courbes copiées.
Paste Add Ajoute les courbes copiées sans retirer les courbes existantes.
Swap selected Exactement deux lignes. Échange complet en une étape Undo ; Colors / Line widths suivent les options Transfer.

Paste et Swap travaillent en local, sans projection monde ni miroir implicite du toggle Edit. La copie ne persiste pas après fermeture.

Courbes avec historique

Sur un cercle Maya avec construction history, Replace détache l’entrée de génération des courbes remplacées ; Undo restaure aussi cette connexion. Add conserve les courbes et l’historique existants. Les connexions incompatibles restent refusées avant modification.

1Presets 2Apply preset 3Save preset
Library · thème Poseidon.
Repère Fonction
1 · Presets Rechercher, choisir, importer ou exporter un preset. La liste montre son type et sa provenance ; choisir ne modifie pas la scène.
2 · Apply preset Choisissez Geometry / Colors / Line widths, vérifiez les correspondances, puis appliquez.
3 · Save preset Enregistrez le contrôleur sélectionné ou tout le module chargé.
Action Effet
Save controller… Une ligne sélectionnée avec shapes. Donnez un nom pour sauvegarder toutes ses courbes locales et leur affichage.
Save module… Mode Module uniquement. Sauvegarde tous les contrôleurs du module chargé par rôles, même avec une sélection partielle ou un filtre.
Export preset… Exporte le preset sélectionné, pas directement la scène. Le dossier proposé est user_data/controller_shapes/exports/ ; vous pouvez en choisir un autre.
Import JSON… Valide et copie le JSON dans la bibliothèque. Sélectionne et prévisualise le preset importé, sans l’appliquer. Les collisions de fichier sont refusées.
Search presets… Filtre nom, type et provenance affichée. Le bouton vert recharge les JSON. Save / Import / Rename / Duplicate effacent le filtre et révèlent le preset obtenu.
Réglage Comportement
Preset individuel Appliqué à chaque ligne sélectionnée. Les destinations doivent déjà posséder des shapes ; utilisez Paste pour un transform vide.
Preset de module Associe les rôles sur toute la portée chargée, indépendamment des lignes sélectionnées ou filtrées. Type, révision et rôles doivent être compatibles. Les noms source n’imposent pas les noms destination.
Geometry / Colors / Line widths Geometry activé, Colors et Line widths désactivés au départ. Appliquez la géométrie, l’affichage seul, ou les deux.
Mapping / Show long name Correspondances calculées automatiquement : rôle → nom court ; erreurs séparées. Show long name affiche les chemins DAG complets.
Inspect mapping Revalide contre la scène actuelle, utile après une modification externe. Aucune application.
Apply preset Revalide et applique les propriétés choisies en une étape Undo. Indisponible sans destination, en présence d’erreurs ou si aucune propriété n’est active.
Renommer, dupliquer et supprimer
Action Effet
Clic droit → Rename… Renomme le libellé et le fichier. Refuse les collisions ou un fichier changé depuis sa lecture.
Clic droit → Duplicate… Crée un fichier distinct avec un nouveau nom, proposé sous la forme « nom copy ».
Clic droit → Open folder Ouvre le dossier effectif des presets. Disponible aussi dans une zone vide de la liste.
Delete preset… Confirmez le nom et le fichier ; Cancel est proposé par défaut. Retire uniquement ce JSON de la bibliothèque, ni les shapes de scène ni les exports. Maya Undo ne restaure pas ce fichier.

Pour partager un module : Save module… → Export preset…, puis sur un module compatible Import JSON… → mapping → Apply preset. Les modifications de bibliothèque actualisent aussi le menu Shape et le catalogue ouvert.

Sujet Comportement
Undo / Redo Les modifications de scène sont annulables : une action par étape, ajustements numériques regroupés par geste. Les écritures et suppressions de presets sur disque ne sont pas des opérations Undo Maya.
Design des modules Les formes personnalisées sont conservées comme données de design pour save/reopen et rebuild compatible. Le backend garde la gestion des transforms, de l’animation et de l’ownership.
Données personnelles Presets : user_data/controller_shapes/presets/.
Exports proposés : user_data/controller_shapes/exports/.
Proportions des deux séparateurs : user_data/ui/controller_shapes.ini.
État temporaire Choix courant, champs Edit, copie et Session state ne sont pas conservés à la fermeture. Les séparateurs et presets le sont.
Périmètre Géométrie NURBS uniquement ; pas d’édition mesh ou joints. Aucun suffixe _ctrl requis pour un transform autonome. Instancing, références, locks, connexions incompatibles ou ownership invalide peuvent bloquer l’édition.
Emplacement de user_data et format JSON

La racine suit le résolveur weSkel : explicit_root si fourni, sinon WESKEL_USER_DATA_ROOT, sinon user_data dans le package installé. Les presets utilisent le format V2 avec provenance ; la lecture V1 reste acceptée. Une provenance absente est indiquée, jamais déduite du rig courant.