Aller au contenu
weSkelDOCUMENTATION
Documentation/Programmation/Premier script

Créez vos propres outils

Premier script

Créer deux transforms, connecter leur échelle et nettoyer la démonstration.

PythonTransformPlugs

Ce parcours crée deux transforms Maya, connecte leur échelle, puis retire les deux nœuds de démonstration.

Dans une scène de test, ouvrir un onglet Python du Script Editor et exécuter le bloc entier. Les noms reçoivent un suffixe unique pour identifier les nœuds créés par cet exemple.

from uuid import uuid4
from weSkel.src.core.node.dag.transform.lib import Transform
prefix = "weskelSdk_" + uuid4().hex[:10]
driver = Transform(prefix + "_driver")
follower = Transform(prefix + "_follower")
driver.create()
follower.create()
driver.scale = (2.0, 3.0, 4.0)
driver.plugs["scale"].connect_to(follower.plugs["scale"])
assert follower.plugs["scale"].src == driver.plugs["scale"]
assert tuple(follower.scale) == (2.0, 3.0, 4.0)
print(driver.name, "->", follower.name)
print("Follower scale:", tuple(follower.scale))

Résultat attendu : deux transforms apparaissent dans l’Outliner. Le Script Editor affiche leurs noms et Follower scale: (2.0, 3.0, 4.0). Le nœud follower reçoit son échelle du driver.

Ligne ou expression Ce qu’elle fait
Transform(name) Prépare un wrapper pour le nom indiqué.
node.create() Crée le transform absent. Cette méthode renvoie None : conserver la variable du wrapper.
driver.scale = (...) Modifie l’échelle au moyen d’une propriété du wrapper.
node.plugs["scale"] Accède au plug Maya scale.
connect_to(...) Relie le plug source au plug destination.
destination.src Permet de vérifier la source réellement connectée.

L’échelle est sans unité, ce qui rend ce premier exemple indépendant des réglages d’angles et de distances de la scène.

Dans le même onglet Python, après le premier bloc, exécuter :

for node in (follower, driver):
node.delete(snapshot=False)
assert not node.exists
print("SDK example nodes removed")

Résultat attendu : les deux nœuds de cet exemple sont supprimés et le message SDK example nodes removed apparaît.

Situation Action
No module named 'weSkel' Revoir la configuration dans Bien démarrer.
driver ou follower n’est pas défini Le premier bloc n’a pas été exécuté entièrement ; consulter l’erreur initiale.
Une assertion échoue Conserver l’erreur complète et les versions de Maya et de weSkel. Inspecter les deux nœuds dans la scène de test.
Une autre copie de weSkel a été chargée Corriger les chemins puis redémarrer Maya avant de recommencer.

Pour comprendre les noms des propriétés et les valeurs attendues, continuer avec Wrappers & specs.