A CG nerd tale

Dorian Fevrier's blog

Mot-clé - script

Fil des billets

samedi, 6 avril 2019

Gérer les chemins Linux/Windows sous Maya avec dirmap

Aujourd'hui je vais vous parler d'une commande que vous devez connaître si vous avez à gérer un pipeline Maya qui tourne sous Windows, Linux et autres.

Lire la suite...

mardi, 14 août 2018

Récupérer le nom d’un attribut caché dans Maya

Il n’est pas rare, quand on script, de devoir récupérer le nom d’un attribut en vu de l’utiliser, plus tard, dans ses scripts. D’une manière générale, il suffit de modifier l’attribut, d’aller dans le Script Editor puis de trouver la ligne qui fait le setAttr sur l’attribut qui nous intéresse. :petrus:

Vous remarquerez toutefois que cette méthode ne fonctionne pas avec certains attributs. Il arrive, en effet, que la commande setAttr correspondante ne soit pas affichée dans le Script Editor. Je vous propose ici la méthode que j’utilise pour aller trouver les attributs « timides ». :sourit:

Lire la suite...

dimanche, 25 juin 2017

Exécuter du Python au démarrage de Guerilla

Un peu comme Maya et son userSetup.mel, Guerilla permet d’exécuter des scripts au démarrage, mais que du lua. Voici un petit truc rapide pour exécuter du Python :

Si vous allez dans le nœud Preferences, dans LocalSettings/Directories/User Plugins vous pouvez définir une liste de chemins (paths).

Sachez que tous les fichiers lua présents dans ces différents chemins seront exécutés au démarrage de Guerilla. Sachez aussi que le lua de Guerilla intègre une passerelle vers Python. Ainsi, si votre fichier lua contient :

require('python')
python.execute('import myModule; myModule.doit();')

Celui-ci exécutera le code Python :

import myModule
myModule.doit()

Vous savez maintenant comment exécuter du Python au démarrage de Guerilla ! :bravo:

dimanche, 4 juin 2017

Faire un override pour supprimer un shader dans Guerilla

Si vous assignez un shader (de volume par exemple) il peut être utile de pouvoir le désassigner, plus loin dans le rendergraph.

Il me semble que c’était possible en 1.3 mais que ce ne soit plus possible en 1.4. :reflexionIntense:

Je vous propose donc une petite méthode pour désassigner un shader. :sauteJoie:

Lire la suite...

mercredi, 24 avril 2013

Houdini sous le capot

houdini_sous_le_capot_tn.pngCeci est la traduction d'un billet de old school, posté il y a quelques mois, qui explique, très clairement, le fonctionnement interne de Houdini. Ce post est une mine d'or et je conseille à quiconque souhaitant s'améliorer sur Houdini d'en prendre connaissance.

Il y a beaucoup de lecture, je me suis permis de mettre des titres et quelques images pour "classer" un peu l'ensemble (le bonhomme aborde beaucoup de chose d'une traite). Alors accrochez-vous! :grenadelauncher:

Bien entendu, si vous êtes totalement débutant sur Houdini il n'est pas forcément pertinent de lire tout ça sans avoir suivi quelques tutos (vous partiriez en courant :hihi: ), même succinct sur comment utiliser le soft.

Lire la suite...

dimanche, 31 juillet 2011

Les Contes de la Nuit, résumé d'une supervision technique

lcdln_resume_superviseur_tn.pngComme vous le savez peut être déjà, le long métrage Les Contes de la Nuit de Michel Ocelot (Kirikou, Azur et Asmar entre autres) est sorti!

J'ai eu la chance de superviser la partie technique de la production. Au delà du fait que je trouve que ce film est une vraie réussite, ce fut sans hésiter l'une de mes plus belle expérience professionnelle. :sourit:

Dans ce billet je vous propose de faire le tour des moyens mis en place pour réaliser ce beau, que dis-je? Magnifique projet!

(Et faire un petit peu de pub aussi :siffle: )

Lire la suite...

mercredi, 20 juillet 2011

Utiliser Graphviz pour générer des graphes de dépendance

myGraph_tn.pngAujourd'hui je voudrais vous présenter Graphviz, un outil qui génère des graphes depuis des fichiers texte. :seSentCon:

Je m'en suis servi en production pour générer des graphes de dépendance de révision (La révision "machin" du cache "machin" a été généré depuis la révision "machin" du model "machin" et est utilisé dans le set "truc", "bidule" et "bitonio").

Je ne peux bien évidement pas vous montrer les graphes générés ici mais sachez qu'on découvrait pas mal de choses en les regardant... Justement parce que ce genre d'outil permet de visualiser rapidement des choses que notre cerveau a du mal à concevoir tout seul. Dans le cas d'un dataflow un peu compliqué, ça détend les neurones. :nevroz:

(Merci à Adrien Herubel de m'avoir fait découvrir cet outil)

Lire la suite...

dimanche, 17 juillet 2011

Petit script Maya pour utiliser les objectID par particule

code_particle_objectid_tn.pngEt encore un billet express car je fais rarement des particules et j'en avais assez de devoir chercher, à chaque fois, comment créer un système de particule qui instancie des objets aléatoirement.

Je me suis donc fait un bout de code à lancer que je partage avec vous en espérant qu'il fera gagner du temps à certains. :hehe:

Enjoy!

Lire la suite...

dimanche, 26 juin 2011

Taille d'un fichier humainement compréhensible en Python

Python_logo_150.pngAujourd'hui je voudrais vous faire partager un minuscule morceau de code Python qui permet de faire, en cinq lignes, un print de la taille d'un fichier humainement compréhensible a partir d'une taille donné en octet.

La solution vient d'un certain Fred Cirera. Merci à lui! :bravo:

C'est diaboliquement simple mais c'est un soucis assez récurent quand on souhaite afficher des informations sur un fichier en script!

Lire la suite...

vendredi, 15 avril 2011

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

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:

Lire la suite...

mercredi, 30 mars 2011

Récupérer rapidement la position des vertices d'un mesh Maya

recuperer_Position_Vertex_Rapidement_tn.pngSi vous avez déjà été amené à récupérer la position dans l'espace de tous les vertices d'un objet, vous avez surement dû vous heurter à la commande xform et à sa lenteur légendaire. :baffed:

Dans ce billet, je vous propose un petit bout de script Python utilisant l'API Maya en Python qui permet de récupérer, plus rapidement, la liste de toutes les positions des vertices d'un objet.

Principalement didactique, ces codes, pourront intéresser les personnes qui souhaitent regarder un peu plus profondément comment utiliser l'API tout en ayant un cas concret d'application. :laClasse:

Lire la suite...

mercredi, 23 mars 2011

Créer une interface rapidement pour Maya 2011 via loadUI

QtPython_logo001.pngAujourd'hui je vous propose un petit tuto sur une nouvelle méthode, depuis dans Maya 2011, pour faire des interfaces avec Qt Designer (via la commande loadUI).

Je vous montrerai le principe, et on attaquera avec un exemple concret. Nous verrons donc les avantages et inconvénients de cette technique.

Vous allez voir que la vérité autour de cette nouvelle feature n'est pas aussi jolie qu'elle le laisse croire.

J'espère que vous apprécierez! :sourit:

Lire la suite...

lundi, 14 mars 2011

Remplir un mesh de spheres dans Maya: La méthode d'un sénior!

remplir_un_mesh_de_spheres_tn2.pngAujourd'hui, je ne suis pas peu fier de vous présenter la méthode d'un gros sénior dans le domaine du FX: Djelloul Bekri, qui, en plus d'être un mec adorable m'a donné et autorisé à diffuser son "trick" pour remplir le volume d'un mesh de spheres. :laClasse:

Un grand merci à lui donc car je pense que beaucoup de FX guys vont apprendre un truc aujourd'hui. Voir plusieurs tant cette méthode peut s'adapter à beaucoup de choses. :sauteJoie:

Lire la suite...

dimanche, 20 février 2011

Projeter un mesh sur un autre avec l'API Python de Maya

projection_mesh_api_tn.pngAujourd'hui je vous propose un tutorial qui vous permettra de projeter un mesh sur un autre.

C'est un truc qui peut être pratique mais surtout, c'est assez "fun" à faire (tout est relatif diront certains :seSentCon: ) et ça permet d'apprendre les fondamentales des changements de repères (les fameuses matrices) en ayant un exemple à la fois simple et concret.

Amateur de l'API, ce tuto est fait pour vous!

Lire la suite...

mercredi, 22 septembre 2010

Remplir un mesh de particules dans Maya: closestPointOnMesh again!

remplir_mesh_particule_tn.pngBoujour à tous! :dentcasse:

Dans Maya, il peut arriver que l'on veuille remplir un mesh de particules de manière complètement aléatoire. Il existe plusieurs méthodes pour ça.

On peut, par exemple, émettre des particules vers l'intérieur du mesh et les faire rebondir sur les parois. Mais cette méthode ne donne pas un résultat si aléatoire que ça. Et dans certains cas, cela se voit. :reflechi:

Si on a des pépettes, on peut aussi utiliser Houdini qui fait ça à merveille et récupérer les particules dans Maya.

Ce que je vous propose est une méthode un peu "clef en main". Vous sélectionnez votre mesh, appliquez le script, réglez deux trois trucs appuyez sur play pour lancer la génération et c'est bon!

Lire la suite...

samedi, 18 septembre 2010

Supprimer (pour recharger) les modules python dans Maya

Python_logo_150.pngLorsqu'on fait du développement Python dans Maya, on peut des fois être embêté avec ses modules persos Python. :pasClasse:

En effet, si on souhaite recharger un module, ce n'est pas super simple. En mel il suffit de redéfinir la procédure et c'est bon. En python ce n'est pas le cas.

Je vous propose ici un bout de code qui va décharger des modules de votre choix de Maya. Si vous réappelez ses modules, ils seront rechargés. :hehe:

Lire la suite...

- page 1 de 2