Question

Est-il possible d'accéder au champ « notes » d'un objet via l'interface de script Maya? Je suis en train de le faire travailler à l'intérieur Python, mais je suppose que tout pointeur dans la bonne direction dont classe / fonction que je dois utiliser l'API me aider.

Était-ce utile?

La solution

Un attribut appelé "notes" est ajouté dynamiquement aux noeuds lorsque vous tapez dans le champ de notes dans l'éditeur d'attributs. Donc, pour vérifier la valeur que vous pouvez vérifier si un attribut appelé « notes » existe sur le nœud, puis récupérer la valeur.

La procédure mel que l'interface utilisateur utilise pour créer MAYA et définissez les notes attribut est appelé

setNotesAttribute(string $nodeName, string $longAttrName, string $shortAttrName, string $attrType, string $newAttrValue)

Lorsque le nom est longue "notes", nom court est "nts", le type est "string".

Autres conseils

Puisque tout le monde utilise PyMEL ces jours-ci, voici comment obtenir l'aide PyMEL:

import pymel.core
# cast selected into PyNode
node = pymel.core.ls(sl=1)[0]

# PyMEL's convenient getAttr syntax
node.notes.get()

Ceci suppose que vous avez déjà ajouté quelque chose au champ Notes dans l'éditeur d'attributs. Comme mentionné ci-dessus les notes attr n'est créé alors.

Si vous utilisez tout de code et vous ne savez pas si le attr notes a été créé, vous pouvez vérifier l'existence comme ceci:

if node.hasAttr('notes'):
    node.notes.get()
else:
    # go ahead and create attr
    node.addAttr('notes', dt='string')
    node.notes.get()

Pensez à utiliser PyMEL, il est comme maya.cmds, seulement plus Pythonic.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top