PROJET AUTOBLOG


blog.fevrierdorian.com

source: blog.fevrierdorian.com

⇐ retour index

Petite astuce pour filtrer les nodes par attributs via la commande ls de Maya

vendredi 15 avril 2011 à 22:59

pythonVsMaya_tn150.pngBillet express: Je viens de découvrir une façon d'utiliser la commande ls que je ne connaissais pas. C'était pourtant évidant. :casseTeteMur:

La technique consiste à utiliser * dans le nom de l'objet...

Bon, ça je le savais déjà. Mais là ou ça devient intéressant, c'est quand il s'agit de récupérer tous les objets ayant un attribut bien spécifique.

Cela évite d'avoir à utiliser une boucle! :sauteJoie:

Je vous propose de voir quelques cas d'utilisation.

Exemples

Récupérer tous les objets de la scène ayant l'attribut "message":

cmds.ls( "*.message" )
# Result: [u'node1.message', u'node2.message', u'node3.message', u'node4.message' ]

Masquer les noms des attributs dans les valeurs renvoyées:

cmds.ls( "*.message", objectsOnly=True )
# Result: [u'node1', u'node2', u'node3', u'node4' ]

Vous remarquerez peut être que ces deux exemples ne renvoient aucun objet dans un namespace.

Pour également vérifier les objets dans les namespaces:

cmds.ls( "*.message", objectsOnly=True, recursive=True )
# Result: [u'ns1:node1', u'ns2:node1', u'node2', u'node3' ]

Et voilà!

Conclusion

J'espère que ce petit billet vous aura appris un truc.

Personnellement, depuis, je n'utilise plus que ça! :banaeyouhou:

A bientôt!

Dorian

:marioCours: