A CG nerd tale

Dorian Fevrier's blog

Microsoft is not the answer. Microsoft is the question. NO is the answer. - Erik Naggum

mercredi, 4 avril 2012

Python: multiprocessing vs threading

threadingVSmultiprocess_tn.pngCe billet va tenter de montrer, principalement par l'exemple les différences entre le module threading et le module... multiprocessing! Je vous propose donc deux petits codes pour démarrer rapidement.

La plupart des TD Maya on déjà entendu parler du threading. Non pas pour savoir a quoi ça servait exactement mais parce que Maya a toujours eu du mal avec ce machin la. :gne:

Cela dit, ce billet est très général et n'aborde pas les problèmes de threading dans Maya. :cayMal: Juste les différences entre le module threading et multiprocessing.

Lire la suite...

mardi, 27 septembre 2011

Quickly retrieve vertex positions of a Maya mesh (English Translation)

recuperer_Position_Vertex_Rapidement_tn.pngIf you ever had to recover vertex positions of a mesh object, you probably crash yourself against the xform command and his legendary slowness. :baffed:

In this post, I purpose a piece of Python script using the Python Maya API that allows you to faster recover the list of all vertex positions of an object.

Primarily didactic, these codes may interest peoples who want to look a little more deeply how to use the API while having a concrete application. :laClasse:

Lire la suite...

dimanche, 31 juillet 2011

Project a mesh to another with Maya API (English Translation)

projection_mesh_api_tn.pngThis is the english translation of a tutorial I've done that will allow you to project a mesh to another.

This is something that can be useful but most is pretty "fun" to do (some would say everything is relative :seSentCon: ) and it's a good way to learn fundamentals of matrice operations having a both simple and concrete example.

Amateur of the API, this tutorial is for you!

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...

dimanche, 31 octobre 2010

Une introduction à l'OpenGL "Moderne" - Chapitre 2.1: Les Buffers Et Les Textures

OpenGL_logo_tn150.pngÇa y est, on attaque du vrais code! Ne soyez pas trop impatient tout de même. En effet, cette partie est la première d'une série de trois. :seSentCon:

Ici vous allez commencer à écrire du code qui sera commenter, ligne à ligne, pour vous expliquer ce qui se passe dans votre bécane!

Prenez un peu de temps devant vous on attaque du gros! :grenadelauncher:

Lire la suite...

samedi, 23 octobre 2010

Une introduction à l'OpenGL "Moderne" - Chapitre 2: Hello World: Le Slideshow

OpenGL_logo_tn150.pngVoici la traduction du deuxième chapitre du tutorial de Joe Groff. :hehe:

Ici, vous allez écrire l'architecture global de votre programme, qui concerne surtout le système de fenêtrage.

Prenez le temps de configurer votre environnement de développement, il ne faut pas que la compilation soit une procédure rébarbative, vous allez le faire un grand nombre de fois...

Ce n'est pas la partie la plus intéressante mais rassurez vous, ce tutorial est assez court et vous aurez bien assez le temps de vous casser les dents sur les suivants! :baffed:

Lire la suite...

lundi, 18 octobre 2010

Une introduction à l'OpenGL "Moderne" - Chapitre 1: Le Pipeline Graphique

OpenGL_logo_tn150.pngAujourd'hui je vous propose une traduction d'un article très intéressant écrit par Joe Groff sur l'utilisation d'OpenGL de manière "moderne": An intro to modern OpenGL. Comme vous le savez peut être, depuis OpenGL 3.1, beaucoup de fonctions ont été supprimé de l'API. La façon de coder n'est, ducoup, plus la même et tout les tutos que l'on peut trouver sur internet deviennent obsolètes... Celui ci est un des rares premier tuto "OpenGL 3 Compliant" d'internet :bravo: . Il explique et applique très bien la nouvelles approche. Je m'arrête là, tout est dit dans ce qui suit... Bonne lecture! :sourit:

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...

samedi, 28 août 2010

Récupérer le hash (ou somme) MD5 d'un fichier en Python

pythonMd5.pngAujourd'hui je vous propose un petit bout de code très pratique lorsqu'il s'agit de comparer deux fichiers, pour savoir si ils sont identique ou non, via leur somme MD5.

Une somme MD5 est une sorte de "signature" calculé grâce à chaque octet du fichier. Cette signature vous permet d'être sur que deux fichiers sont identiques. Les usages de cette petite procédure sont très variés. En pipeline, cela peut être très utile. :sourit:

Lire la suite...

CgFX - Des shaders temps réel dans le viewport Maya! - Part 5

cgfx_part5_tn.pngLa voila enfin, celle que vous attendiez depuis le début, celle que je vous promet depuis maintenant quatre chapitres, celle qui finit en beauté, celle qui va filer des migraines à tout ceux qui n'ont pas fait math sup' math spé' (moi au passage :baffed: ): Le bump mapping.

Autant le dire tout de suite, il va falloir s'accrocher un peut pour visualiser comment ça marche. Vous allez voir qu'une fois le "truc" pigé, les choses vont vous sembler plus simple, et vous pourrez passer à d'autres choses, plus compliquées, tout seul, comme un grand! :sourit: . Allez, on y va pour cette ultime partie!

Lire la suite...

- page 2 de 4 -