Recherche…


Ce qui est défini / obtient Attr

setAttr

Comme tout autre langage, setAttr peut définir une valeur pour un attribut spécifié d'un nœud ou de n'importe quel contexte. Et il prend en charge un très large éventail d'options. Pour des instructions détaillées, veuillez consulter la documentation officielle de maya ici .

Voici un exemple très minimal de setAttr

nodeName = "pSphere1"
cmds.setAttr("%s.tx" % nodeName, 10)

getAttr Identique à setAttr ici, elle restituera la valeur d'un attribut spécifique à partir d'un nœud. Et il peut également renvoyer plusieurs types de dataTypes. Autodesk a bien documenté la commande ici

Voici un exemple très minimal de getAttr

nodeName = "pSphere1"
txValue = cmds.getAttr("%s.tx" % nodeName)

Syntaxe de base de la commande maya

Les commandes maya se présentent sous une très petite gamme de formes. Reconnaître la forme prise par une commande est utile pour travailler avec de nouvelles commandes.

Commandes simples

La forme la plus simple est simplement <command>(<object>) où est la fonction que vous appelez et est le nom de chaîne d'un objet avec lequel vous travaillez:

  cmds.hide('pCube1')
  cmds.delete('nurbsCurve8')

De nombreuses commandes peuvent accepter plusieurs cibles. Vous pouvez les passer individuellement ou en itéré (listes, tuples)

  cmds.select("top", "side")
  cameras = ['top', 'side']
  cmds.select(cams)

Vous pouvez utiliser l' étoile * de Python pour transmettre un objet itérable comme un générateur à une commande:

  cmds.select(*a_generator_function())

Beaucoup de commandes prennent des indicateurs qui contrôlent leur comportement. par exemple

  cmds.ls(type='mesh')

renverra une liste de maillages, et

  cmds.ls(type='nurbsCurve')

renvoie une liste de courbes nurbs.

Les commandes qui prennent un indicateur peuvent utiliser la syntaxe Python ** kwargs, ce qui vous permet de créer un dictionnaire de paires valeur-indicateur et de le transmettre à la commande:

   options = {type: 'mesh'}
   cmds.ls(**options)

est le même que

   cmds.ls(type='mesh')

Cela peut être très utile lors de l'assemblage d'une commande à partir d'une liste d'options fournies par un utilisateur ou par une logique de script.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow