Licence CC BY-SA

Utiliser Python dans Autodesk Maya

Tutoriel visant à apprendre à utiliser Python dans le logiciel d’animation Maya

Vous connaissez Maya, vous l’utilisez depuis un certain temps, mais vous souhaitez apprendre à automatiser vos tâches ? Vous vous sentez un peu à l’aise avec Python, mais vous vous demandez comment l’utiliser dans Maya ?

Ce tutoriel est fait pour vous ! :D

Python dans Maya est une vraie corde à l’arc des technical artists (graphistes techniques). Il permet de gagner du temps en automatisant ses tâches ainsi que celle de ses collègues, mais aussi d’organiser son travail pour le rendre plus efficace.

Ce tutoriel vous fournira bon nombre d’informations pratiques ainsi que des TP issus de cas de production pour que vous puissiez à la fois assimiler certaines pratiques, mais aussi en inventer de nouvelles, propres à vos besoins. :)

Prérequis

  • Avoir Maya d’installé. On utilise la version 2016, mais le tutoriel est valable pour toute autre version (les évolutions concernant Python sont sporadiques).
  • Avoir certaines bases en Python. Savoir ce qu’est une variable, une fonction, un module, une liste, une boucle, etc. Nul besoin d’être expert, simplement être à l’aise avec les concepts de base. Si vous débutez complètement en Python, il vaut mieux faire un tutoriel avant.
  • Comme on va se focaliser sur Python dans Maya, on est en Python 2.7.

Il peut être très frustrant pour une personne de l’image/un graphiste de faire un tutoriel de programmation. Dans ce cas, je vous invite à alterner entre ce tutoriel, qui essaie de vous présenter une facette de votre logiciel favori, et un tutoriel Python plus traditionnel. Votre progression sera plus lente, mais plus motivante. :)

Objectifs

Je considère que vous êtes avant tout un graphiste voulant ajouter une corde à son arc et non un développeur en devenir. Je vais principalement montrer des exemples d’utilisation dans Maya sur des cas qui monteront en complexité. Le but est de faire acquérir au graphiste, via l’écriture de scripts, des outils et méthodes qui lui permettront d’aborder les problèmes d’une manière plus large. ^^

Ce tutoriel peut servir à des développeurs, mais ils iront vite dans la documentation une fois les concepts de base assimilés. ;)

Découverte des commandes

  1. L’architecture

    1. Le cœur (core en anglais)

    2. L'API

    3. Le scripting

  2. Où taper du code ?

    1. La ligne de commande

    2. Le Script Editor

    3. Import du module Maya

  3. Nos premiers pas

    1. nodeType() pour récupérer le type des nœuds

    2. ls(), ou comment lister les nœuds de sa scène

    3. getAttr() pour récupérer la valeur des attributs

    4. setAttr() pour modifier des attributs

    5. select() pour... Je ne sais plus pour quoi en fait...

  4. Faire une simple interface

    1. Avant-propos

    2. window() pour ouvrir des fenêtres

    3. La commande Benjamin… button()

    4. loadUI() pour les flemmards

    5. Ajouter un menu à Maya

  5. Modifier sa scène

    1. Créer des nœuds avec des commandes dédiées

    2. edit et query sont sur un bateau…

    3. createNode() pour créer des nœuds

    4. Convertir une commande MEL en Python

  6. TP : Renommer ses nœuds avec classe

    1. Retrouver des nœuds avec un nom pas défaut

    2. Détecter les caractères non-ASCII

    3. Avoir des noms de nœud simples et propres

    4. rename() pour renommer vos nœuds

    5. Une ch’tite boucle pour renommer des ch'tits nœuds...



Ce tutoriel est loin d’être fini. Je ne mettrai donc pas de conclusion.

Où que vous soyez arrivés, j’espère que ce tutoriel vous aura donné goût au scripting et l’envie d’aller plus loin, de comprendre un peu plus ce qui ce passe dans Maya, de prendre un peu plus le contrôle des choses.

Amusez-vous et surtout, prenez soin de vous ! :D

5 commentaires

Il permet de gagner du temps en automatisant ses tâches ainsi que celle de ses collègues, mais aussi d’organiser son travail pour le rendre plus efficace.

Un individu dans une organisation n’a-t-il pas intérêt à garder sa source d’avantage clé pour rester compétitif face à ses collègues ? :p Surtout lorsqu’il n’est pas récompensé pour. Gardons le contrôle sur les zones d’incertitude pour rester indispensable. :lol:

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte