- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Dans cette partie, on va voir comment convertir ou traduire en quelque sorte le code MEL en codePython. Donc c'est très important de savoir faire ça parce que, comme on l'a vu dans les parties
00:00:09 :précédentes, quand on exécute des actions dans Maya, ces actions vont être affichées ici avecdu code MEL. Donc si vous souhaitez commencer à automatiser des choses, ça peut être très pratique
00:00:19 :de savoir convertir ces lignes de code en Python. Donc par exemple, si je crée un cube, vous allezvoir qu'on a cette commande qui est exécutée. Donc toute cette commande ici qui va nous permettre
00:00:28 :de créer un cube de 1 par 1 par 1 en hauteur, en largeur et en profondeur. Donc je peux copiercette ligne ici, la coller dans l'onglet MEL et l'exécuter tel quel à l'intérieur de l'onglet MEL.
00:00:39 :Donc si je sélectionne cette ligne et que je fais ctrl-entrée, on retrouve bien notre cube. Maintenantsi je prends cette ligne et que je la mets dans Python ici, là ça ne fonctionnera pas de façonassez logique. Donc je prends cette ligne, je fais ctrl-entrée et là vous voyez qu'on a une erreur
00:00:53 :de syntaxe. Donc ce qu'il faut faire en fait déjà c'est importer un module, ce fameux module Maya.cmds. Donc pour l'importer on fait tout simplement import Maya.cmds et on va l'importer en temps que
00:01:05 :mc. Donc vous verrez très souvent il y a des gens qui préfèrent l'importer en temps que cmds,moi je préfère mc, c'est plus court. Ça en fait ça va nous permettre d'utiliser ce nom
00:01:15 :plutôt que de taper à chaque fois Maya.cmds. Donc on va pouvoir créer un cube en faisantmc.polycube et on va mettre des parenthèses à la suite de cette fonction. Donc vous voyez par
00:01:26 :rapport à cette fonction ici qui n'avait rien devant, on fait juste rajouter mc. on met le nomde la fonction et on rajoute des parenthèses. Vous pouvez par la suite mettre tous les attributs
00:01:35 :ici à l'intérieur des parenthèses, il faudra faire quelques modifications mais je veux vous montrerdéjà qu'en fait par défaut vous n'avez pas forcément besoin de mettre tout ça puisquetout ce qu'on a ici c'est des valeurs par défaut. Par défaut quand on crée un cube la profondeur,
00:01:48 :la largeur et la hauteur sont de 1. Pareil pour le nombre de subdivisions, l'axe par défaut il estsur le y donc 0 c'est pour x, 1 c'est pour y et 0 ici c'est pour z. Et donc tout ça en fait c'est
00:02:00 :des valeurs par défaut et on n'est pas obligé de les mettre à l'intérieur des parenthèses. Doncmoi ce que je vous conseille c'est déjà d'essayer sans tous ces paramètres ici de juste mettre lesparenthèses, essayer et voir si ça vous donne la même chose que la ligne de code en mail. Donc là
00:02:11 :j'exécute uniquement cette ligne de code donc je vais prendre l'import et cette ligne de code,je fais ctrl entrée pour exécuter, donc faites bien attention de ne pas prendre cette ligne decode, juste ces deux là, ctrl entrée pour exécuter et là on voit qu'on a bien ce même cube de 1 en
00:02:24 :largeur profondeur et hauteur. Donc comme je vous dis vraiment essayez déjà comme ça et si voussouhaitez modifier des paramètres et bien on peut commencer à les spécifier ici. Alors là il y a pas
00:02:34 :mal de choses à modifier, en fait vous allez voir qu'on va enlever tous les tirés et on va mettre 1égal entre le nom du paramètre et la valeur. Donc par exemple ici pour le width on va mettre w
00:02:43 :égal 1 et si on veut le modifier et bien on a juste à mettre 2 et là si je réexécute cetteligne de code vous allez voir qu'on a un cube cette fois ci qui fait 2 en largeur. Vous remarquez
00:02:53 :par la même occasion que j'ai uniquement sélectionné cette ligne de code et que je n'ai pas eu à refairel'import. Un truc très important à comprendre avec Maya c'est qu'il va se souvenir des lignes de code
00:03:02 :que vous avez exécuté donc il a en fait une mémoire ce qui n'est pas le cas quand vous exécutez un codePython. Si j'exécute un code Python en dehors de Maya et bien si je n'exécute pas l'import à chaque
00:03:13 :fois il me dira que cette commande n'existe pas. Donc ça c'est vraiment uniquement parce qu'on estdans Maya qu'on peut ne pas refaire l'import à chaque fois et qu'il va se souvenir qu'on a icimc qui correspond aux Maya commands. Également vous pouvez prendre à peu près n'importe quoi
00:03:27 :ici tant que c'est valide et faire ctrl entrée pour faire un print. Donc un print en fait c'esttout simplement quelque chose qui va nous permettre d'afficher par exemple du texte. Donc si je
00:03:36 :sélectionne ce print je vais afficher ici le mot hello. Si je veux afficher quelque chose trèsrapidement je peux le sélectionner et exécuter juste ce petit bout de code. Donc là je fais
00:03:45 :ctrl entrée sur le mc et vous voyez que ça m'indique en fait que c'est tout simplement lemodule Maya.cmds qui est présent dans ce chemin de fichier donc dans le init.py ici dans Maya.cmds.
00:03:56 :D'accord donc ça c'est quelque chose que vous pouvez faire on y reviendra beaucoup plus endétail par la suite mais si jamais vous voulez afficher quelque chose alors ça ne marche paspour tout puisque forcément si vous prenez du texte ici qui n'est pas valide par exemple justele mc et le point ici là vous aurez une erreur de syntaxe puisque juste ce code là ce n'est pas
00:04:14 :valide avec Python. Par contre si on prend toute la ligne là on peut exécuter la ligne au complet.Donc petite parenthèse que je referme mais vous voyez que très rapidement on peut doncprendre ces différents paramètres ici et les mettre à l'intérieur des parenthèses pour modifierla fonction. Donc si on veut en mettre plus à la suite là il va falloir les séparer avec une
00:04:31 :virgule. Je vais mettre virgule et je vais mettre un autre paramètre par exemple on va mettre laprofondeur donc on va mettre d égale et là je vais mettre 5 par exemple je réexécute cetteligne et là on a un pavé. Il faut savoir que ces paramètres ils ont un nom qu'on appelle court et
00:04:45 :un nom qu'on appelle long donc vous pouvez utiliser l'un ou l'autre par exemple pour lewit on peut utiliser w ou alors le nom complet wit et ça va marcher également. Donc si je
00:04:55 :réexécute cette ligne vous voyez que ça fonctionne de la même façon. Si je viens afficher l'aide depolycube donc on va sélectionner polycube aller dans help, help and selected command vous allezvoir que sur la page aide on va retrouver le nom court et le long nom. Donc là on a vous voyez
00:05:10 :long name, short name et si on descend un petit peu on retrouve les différents paramètres doncpar exemple depth ici avec le nom long et d qui est le nom court. Donc vous voyez qu'on peut utiliser
00:05:19 :l'un ou l'autre. Personnellement je vous conseille même si c'est un petit peu plus long à écrired'utiliser les noms qui sont longs puisqu'ils sont explicites par exemple cuv ici ça ne veut pas diregrand chose par contre create uv on comprend un peu plus ce que ça veut dire. Pareil ch c'est
00:05:32 :pas très explicite mais construction history ça l'est un peu plus. Donc comme je vous dis moij'aime bien utiliser les noms longs des fois quand c'est des paramètres assez évident comme ça w d hon peut comprendre que c'est la longueur, la largeur, la profondeur mais vous voyez que si
00:05:46 :on veut spécifier donc le construction history ch bah moi je préfère mettre construction history.C'est plus long mais au moins quelqu'un qui va lire votre code il va beaucoup plus rapidementcomprendre ce que vous faites avec votre code. Donc voilà comment convertir une ligne MEL en
00:06:01 :Python donc il y a toujours des petites particularités on y reviendra par la suitevous verrez qu'on aura l'occasion de reconvertir plusieurs fois des lignes de code. En attendant
00:06:09 :moi je vous conseille de vous entraîner comme ça avec différents types d'objets par exemple si jevais dans create ici et que je crée un locator on voit qu'on a cette ligne donc on va faire unautre exemple puisque celui ci est intéressant on a un paramètre ici qui a trois valeurs donc
00:06:23 :on fait la même chose on fait mc point ensuite on met des parenthèses on enlève le tiret on metun égal vous allez voir qu'on a quelque chose en plus à faire donc quand on a trois nombres ici àla suite on ne peut pas les mettre les trois comme ça séparés par des espaces il va falloir passer
00:06:37 :ce qu'on appelle une liste donc on va mettre des crochets et on va passer les trois valeurs à lasuite donc on va mettre par exemple 0 4 et 8 et là ça va nous permettre de créer un locator àune position différente donc le paramètre p ici c'est pour la position donc vous voyez comme je
00:06:51 :vous dis qu'il y a pas mal de choses comme ça qui vont être différentes des fois donc dans ce cassi on a une liste il faut le savoir comme je vous dis c'est vraiment avec l'expérience que vousallez comprendre comment convertir des lignes de code moi ce que je vous conseille c'est vraiment
00:07:03 :d'aller voir la documentation à chaque fois si vous n'êtes pas sûr pour un paramètre dans ladocumentation tout en bas de la page des documentations vous avez différents exemples decode donc généralement vous allez avoir la possibilité de voir comment convertir ces paramètrespour python dernière chose avant de terminer cette partie je veux vous montrer un autre module qui
00:07:20 :s'appelle maya point mail et on va l'importer en tant que mail donc là vous n'êtes pas encore unefois obligé de le faire on pourrait juste utiliser ici directement maya point mail au complet maissi vous avez besoin de l'utiliser très souvent vous pouvez utiliser le as pour utiliser un nom
00:07:34 :plus court donc ce module il est très utile puisqu'il va nous permettre d'utiliser cettefonction la fonction eval qui nous permet d'utiliser du code mail avec python donc si jereprends mon code mail ici je vais pouvoir le coller à l'intérieur de guillemets donc en tant que chaînede caractère et on va pouvoir exécuter à l'intérieur de notre onglet python du code mail
00:07:53 :donc là je vais supprimer les locators je sélectionne l'import je sélectionne mail.evalj'exécute tout ça et là vous voyez qu'on a bien notre locator qui a été créé je peux modifierles paramètres bien sûr ici réexécuter ces lignes de code et là on a bien un locator qui est créé
00:08:07 :avec une position de 2 en x donc ça c'est possible comme je vous disais si jamais vous avez des lignesde code en fait que vous n'arrivez pas à convertir en python vous pouvez exceptionnellement passerpar mail.eval pour directement exécuter le mail en python et ne pas avoir besoin de passer du mail
00:08:24 :au python constamment donc voilà pour cette partie comme je vous dis entraînez vous un petit peuallez lire la documentation je sais que les documentations ça fait toujours un peu peurmais celle de maya est quand même assez bien faite et vous avez bien entendu toujours lesexemples à la fin de chaque page qui vous permettent de tester et de commencer à expérimenter tout ça
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.