A CG nerd tale

Dorian Fevrier's blog

Massive Attack, montagnes de junk food, flots de café, chargé de prod désoeuvré. OK, c'est une charette. - Guillaume Carnatio

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

mercredi, 4 août 2010

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

cgfx_part4_tn.pngSi vous êtes arrivés jusque là, vous devez surement vous dire: "Qu'est ce que c'est que ce tuto de shader de merde ou l'on vous fait bouffer trois parties sans voir une seule texture?".

Rassurez-vous, vos efforts vont être récompensés! Nous allons attaquer les textures! :sourit:

Vous allez voir que leur mise en place est relativement simple. Cette partie sera moins longue que les autres car je préfère l'aborder dans un seul billet et laisser au prochain, un seul sujet, le bump!

Lire la suite...

mardi, 27 juillet 2010

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

shaderCgFX_Tuto_Part3_tn.pngAprès pas mal de retard (boulot, etc...), je vous propose de découvrir la troisième partie de ma série de tutos sur le langage CgFX.

Ici nous allons ajouter une couleur de base à notre shader (la diffuse), de l'ambiant, ainsi qu'un effet très intéressant pour déboucher les bords: Le falloff. Avec cet effet, vous pourrez déjà donner un look sympa à vos playblasts alors n'hésitez pas à expérimenter. Je vous invite à partager vos liens et créations dans les commentaires. :youplaBoum:

Lire la suite...

jeudi, 27 mai 2010

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

cgfx_part2_001_tn.pngMaintenant que nous savons comment fonctionnent les shaders CgFX dans Maya, il est temps de faire le notre :sourit: . Je vous propose donc une série de billets sur l'écriture d'un shader CgFX pour Maya de A à Z! Nous verront comment faire une illumination de base, ajouter de l'ambiant (avec une option de falloff) et du bump, avec deux lights. C'est maintenant qu'on va bidouiller! Maintenant qu'il va falloir éveiller votre curiosité et ne pas hésiter à expérimenter.

A la fin de cette série de tutos, vous devriez être capable d'ajouter d'autres effets vous même (speculaire, reflection, etc...), en fouillant dans différents codes! :siffle:

Lire la suite...

lundi, 26 avril 2010

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

CG_logo150.pngLors d'un ancien post, je vous parlais des textures dds. Je pensais que ce format résolvait tout les problèmes de plantage dûs à l'affichage mais ce n'a pas été complètement le cas. En effet, même si les plantages étaient mineurs, il restaient présents lors de l'ouverture-fermeture récurrentes des scènes. J'ai donc commencé à chercher d'autres solutions. Je me suis tourné vers les hardwares shaders (elle m'intriguait depuis longtemps cette connexion) et je viens de découvrir le langage CgFX. Après quelques galères, j'ai réussi à faire ce que je voulais dans Maya et, comme vous le savez, je ne peux pas m'empêcher de frimer partager (modestement en fait) mes découvertes sur le sujet, tellement (encore une fois) ce genre d'informations manque sur le net et (d'une certaine façon) fait défaut à l'infographie 3D française. :mechantCrash:

Lire la suite...

vendredi, 12 février 2010

Creating Custom Locator with Maya's Python API (English Translation)

pythonLocator001.pngThis post is a english translation of this post. I'd wrote it after post this on CGTalk. Great thanks to Daisy C. Lyle. She translate all the french version to english and make a great work! She save me hours doing this! :sourit: . Hope that this tutorial will be usefull.

Lire la suite...

- page 2 de 3 -