mardi 30 septembre 2008

Ubuntu Studio, le Linux qui donne "Envy" aux graphistes

Cela faisait bien longtemps que je n'avais pas essayé d'installer une distribution Linux sur ma machine. Après avoir testé pendant un moment Mandrake/Mandriva, en digérant plutôt mal les plantages intempestifs, je m'était rabattu sur l'OpenSuse 10.3 de par sa plus grande stabilité annoncée. Disposant d'un processeur Quad Core, je m'étais par conséquent aventuré dans le monde des distribs 64 Bits ! Grosses erreurs que la mienne, notamment quand il s'agissait d'installer les drivers pour ma carte graphique NVidia. Impossible d'obtenir une accélération matérielle complète, malgré les 4 jours de recherches acharnées et les modifications sauvages apportées aux fichiers du serveur X-org (aucun rapport avec le shérif de l'espace dont le domaine est notre galaxie).

Je m'étais donc résigné à attendre encore quelques années avant de me jeter corps et âme dans l'univers Linux, notamment pour une utilisation professionnelle. Mais grâce à la venu récente de mon cousin (merci Vincent), j'ai pu voir le bien nommé Ubuntu en action et notamment apprécier la convivialité de son interface Gnome couplé à Compiz-Fusion. Mais le problème rester entier : comment installer les drivers de la carte graphique de manière correcte pour enfin bénéficier de ce type d'interface ? Et bien mon cousin m'a donné la solution. Le petit script "EnvyNG" se charge en effet de faire tout le boulot à votre place. Il suffit de lancer la bête et de partir se beurrer deux tartines de Nutella pour revenir avec un bon gouter et des drivers superbement installés !

M'intéressant plus particulièrement à la création graphique, j'opte donc pour Ubuntu Studio, estampillé "Creator Choice", comme ils disent. Je tente même l'installation de la version 64 Bits ... au diable les varices !!! Et bien mes amis, l'installation à pris environ 15 minutes, l'installeur m'a pausé aux alentours de 5 questions, EnvyNG (à lancer une fois Ubuntu installé) m'a installé les drivers de ma carte NVidia en moins de deux minutes (fonctionne aussi pour les cartes ATI) et tout marche Nickel !!!!!

La carte son à correctement été configuré, l'affichage est OK, la gestion des quatre coeurs et de la RAM est optimale, bref le bonheur !!! Concernant le 64 bits et bien le gestionnaire de paquets Synaptic contient tous les éléments dont j'ai besoins, compilés pour cette version. Si il me manque des choses, Google me trouve des infos en moins de deux, me renvoyant en règle général vers le bien nommé ubuntu-fr.org ou je trouve toute la procédure et hop c'est réglé.

Pas une plante en plus d'une semaine ! Et franchement, j'en ai installé et désinstallé des trucs. J'ai même compilé moi même les dernière versions de FFMPEG, VLC et AVIDEMUX. Tous les logiciels que j'utilise sous Windows existe en grande partie pour Ubuntu (Firefox, Thunderbird, Pidgin, VLC, FFMPEG, etc ...). Bref, il ne manque qu'à attendre qu'Adobe passe sa suite sous Linux et je n'aurais que peu ou plus de véritables raison de travailler sous Windows, mais si je pense que je serais toujours obligé (ne serait-ce que pour mes tests de softs et tuto pour Computer Arts) de rester en partie sous Windows. De plus, des logiciels comme 3DS Max n'existe que pour Windows ...

Bref, je conseille à tous les graphistes comme moi de sauter le pas et d'installer en double boot sur leur PC un petit Ubuntu Studio dans un coin, histoire de commencer à s'y faire et de commencer à produire avec cette petite merveille.

lundi 22 septembre 2008

Blender : Helico Presto

Et voici une petite preview de mon prochain article pour le magazine Computer Arts, à savoir un crash d'hélicoptère réalisé entièrement avec Blender. Bien que je ne sois pas véritablement content du rendu, la mise en place n'était pas inintéressante. Tout d'abord, le plan tourné avec mon camescope Sony HDR-SR12 au format AVCHD (pour plus de détails, voir ce post ) à été tracké avec le tracker 3D Voodoo, actuellement le seul programme gratuit (mais non Open-Source) permettant ce type d'analyse en attendant avec impatience (au limite du supportable) l'intégration du tracker 3D par Kheir dans Blender ( la page du dev est ici).

Par manque de temps je n'ai pas pu faire tous les relevés HDR que j'aurais voulu utiliser. Ce sera pour plus tard. J'ai donc refait rapido le lightning avec 5 ou 6 lights, histoire d'avoir un rendu à peu prêt concordant. D'ici deux ou trois mois, j'aurais surement plus de temps pour faire de ce genre de tests, notamment afin de savoir si j'opte entièrement pour Blender en ce qui concerne la réalisation des effets de mon court métrage en préparation.

La série des tests va donc s'intensifier en ce qui concerne le tracking 3D, la photogramétrie, l'animation dynamique et le compositing. Je commence également à m'intéresser de prêt à la conception d'outils d'animation comportementale plus poussés que ce que propose le mode Boids du système de particules. Je m'intéresse également de plus en plus au patch IBL de Matt Ebb ainsi qu'au formidable travail réalisé pour le projet "Google Summer of Code" intégrant l'algorithme Lightcuts dans Blender. Il permet de gérer beaucoup plus de lights qu'à l'accoutumé. Blender disposant déjà de scripts Python visant à convertir une image d'environnement HDR de type "Tangential" en groupe de lumières, on va enfin pouvoir pousser le nombre de lights générés au delà de la centaine sans pour autant en souffrir au moment du rendu.

Ce type de techniques couplées aux fonctions de tracking 3D et à la photogramétire pour le reconstruction en 3D d'un environement capté lors du tournage va m'être d'une grande utilité pour certains des plans de mon court-métrage demandant un niveau de détails très élevé.

Allez, pour finir la vidéo de l'effet final :

http://www.coyhot.com/Blender/Blender_Crash_Helico.wmv



vendredi 12 septembre 2008

Blender : 3D Map à la X-Men

Bien qu'ayant passé l'âge de me ruer sur un film pour la simple raison qu'il contient des effets visuels, je suis toujours curieux de voir comment les réalisateurs essayent d'innover en la matière, allant parfois jusqu'à lancer des modes telle qu'on à peu le voir avec le fameux "Bullet Time" de Matrix (qui soit dit en passant avait déjà été utilisé bien avant dans le premier opus de Blade) ou bien les morphing 3D issus de Terminator II.

Au hasard de mes visionnages, il arrive parfois (malheureusement de plus en plus rarement avec le temps) que je sois véritablement subjugué par un effet, dont la beauté (comme les formidables peintures vivantes de "Au delà de nos rêves"), la complexité ou l'ingéniosité m'obsède pendant plusieurs semaines quand à la façon de le réaliser.

Il y a quelques années, ce fût le cas alors que je regardais le premier opus de la série des X-Men. Une table centrale, composée de milliers de petites tiges métalliques, formait un carte de Manhattan qui disparaissait et réapparaissait à différents endroits avec une fluidité jouissive. Déjà que l'idée de base me paraissait complètement géniale, la façon dont elle était réalisée n'en était que plus magistrale.

Voici donc dans la série : "j'utilise les particules pour en faire carrément autre chose", la reconstitution de ce formidable effet avec Blender. Le contrôle accru qu'il octroie, notamment en ce qui concerne le placement des particules et par conséquent des instances de celles-ci représentant à chaque fois un petit picot, permet de régler l'effet au micropoil.

Le premier test utilise comme map de placement et de redimensionnement de chaque tige un texture de type Cloud et de sous type Voronoi, alors que le second test utilise une simple image bitmap contenant le logo de mon site. A ces deux images sont ajoutées deux ou trois autres textures procédurales afin de rendre la monté des tiges quelques peu aléatoire tout en suivant un propagation globale en onde, du centre vers l'extérieur( grâce à une autre texture Blender en mode "Halo").

Tant que j'étais sur ma lancé, j'ai décidé de faire un test avec une video, commandant aussi bien le positionnement mais aussi la taille et la couleur de chaque tige. Ces variations colorimétriques sont possibles depuis la version 2.46 grâce au bouton "From Dupli" du module de shading, permettant de récupérer les UV de l'objet émetteur afin de les reporter sur les instances.

Allez, le lien vers la vidéo :

http://www.coyhot.com/Blender/Blender_Xmen_3D_Map.wmv

Je vous conseille d'ailleurs de regarder cette superbe publicité basée sur le même principe et magistralement exécutée :

http://fr.youtube.com/watch?v=TwXWGWboue4


Dans le même style, le clip de la chanson "ONLY" de "Nine Inch Nails" :

http://fr.youtube.com/watch?v=V0u0AG_floQ


mercredi 10 septembre 2008

Blender : La petite bébète qui monte

Et voilà une petite preview de mon prochain pas à pas pour Computer Arts, continuant la présentation du nouveau système de particules. Le but est ici d'utiliser le mode Boïds, dédié à l'animation comportementale, afin de simuler un flux de cafards sortant d'un objet posé sur le sol. Le décors est une photo projetée avec les outils de camera-mapping (Modificateur "Project-UV" dans Blender), qui marche vraiment vraiment bien ! D'ailleurs, un petit conseil concernant cet outil, si vous souffrez de distortions d'UV après la projection, subdivisez votre modèle et tout rentrera dans l'ordre ! M'ayant arraché la tête sur le problème pendant plusieurs jours, cette info peut être utile.

Autre petite info primordiale, lorsque vous passez le système de particules en mode de visu "Object" ou "Group", faites attention à bien placer vos objets de références au centre du monde ! Sinon, vos bestioles ferons n'importe quoi, passerons à travers les murs ou se mettrons à trembler ! Il semblerait que le mode "Group" ne souffre plus dans quelques temps de cette limitation, mais pour l'instant (version 2.47), c'est le cas.

Pour l'instant, certaines bestioles se rentrent encore dedans, mais évite parfaitement les obstacles fixes (murs, par exemple). L'amélioration du système de collision en cours de réécriture permettra sans doute de supprimer ces problèmes dans les futurs versions de Blender, tout comme la prise en compte de la taille des instances, dont l'absence explique en grande partie les interpénétrations.

Allez, une petite vidéo de l'effet final :

http://www.coyhot.com/Blender/Blender_Cafards.wmv


mardi 9 septembre 2008

Blender et l'AVCHD, vers une chaine de production complète !


Heureux propriétaire d'un camescope Sony HDR-SR12, voilà plus de deux mois que je me casse la tête (comme à mon avis 99 % des utilisateurs de camescope de ce type) pour monter directement à partir des fichiers AVCHD enregistrer sur le disque dur de la bête, soit en mode natif, soit en passant par un proxy générer de manière automatique. Ayant trouver une solution temporaire en passant par une conversion via FFMPEG, puis un montage dans Cinelerra, voilà que je découvre le projet "BlenderAVC". Rien que le titre ça donne envie !

Alors que j'avais également réussi quelques import et conversion via le couple Avisynth / Virtualdub, voilà que nos amis du groupe "Open Filmmaking" jette un énorme pavé dans la marre. Le package de type "binary" pour Windows qu'ils fournissent, composé entre autres de Blender 2.47, FFMPEG, et AVISynth permettent de charger directement dans Blender les fichiers .MTS tout droit sortie du camescope et de les monter dans l'excellent module de montage "Séquenceur" de Blender, qui je vous le rappelle à entièrement était redesigné dernièrement.

Un convertisseur programmé en Python avec une interface codé en Tk permet de créer de manière complètement automatique l'arborescence contenant : les fichiers MTS natifs, leur proxies crée via FFMPEG qui se lance en tâche de fond ainsi qu'un MPEG de preview si on le désire et les fichiers XML permettant de linker les MTS à leur proxies.

L'interface est à la porté d'un enfant de 5 ans ! Et tout se fait automatiquement. Il suffit ensuite dans Blender de charger le média via son script .AVS (généré par AVISynth) dans le séquenceur avec un clip de type "Movie+Audio" et de le monter sur la Timeline. En cochant la case "Proxy" et en passant en mode 25 % (si votre proxy vaut 25% de la taille originale) dans les préférences de rendu, le media HD est automatiquement remplacé par sa version allégé, préalablement converti par FFMPEG en séquence JPEG. Sur ma machine, FFMPEG converti mes fichiers à la cadence de 26 images secondes, soit un micropoil plus vite que le temps réel. Cependant, un seul des quatre coeur de mon processeur Quad Core est utilisé. Si je parviens à compilé moi même une version stable de FFMPEG optimisé pour les processeurs multicore (mon précédent essai faisait planté FFMPEG au bout de 5 secondes), alors je serais en mesure de remplacer l'exécutable natif par cette nouvelle version !!!

Le format H.264 étant complètement parallélisable en ce qui concerne sont décodage et surtout sa conversion (ce qui est déjà moins évident en ce qui concerne son codage), la conversion pourrait dépasser les 100 images secondes, soit 4 fois le temps réel pour la création des proxies, faisant de ce package le plus rapide du .... marché (terme un peu étrange lorsqu'il s'agit de softs Open-Source).

Cerise sur le gâteau, Blender n'utilisant que 11% d'un de mes core pour travailler avec un proxy, les corrections colorimétriques et autre effet ajouté sur le clip se font en temps réels !!! De plus, FFMPEG étant maintenant intégré au moteur de rendu, il est possible de rerendre directement le montage en H.264 avec encapsulation dans un container AVI, Quicktime ou MP4 natif ! La classe Blender !!!!!

Autant vous dire que je suis on ne peut plus emballé par cette découverte. Attendant de pied ferme le prochain projet "Open Movie" qui devrait selon tout vraisemblance et les dires de Ton Roosendaal être orienté Effets Spéciaux, nous amenant dans le core de Blender un Tracker 3D, tout un tas d'outils de rotoscopie et encore bien d'autres choses, je suis en passe d'obtenir une chaine de production complète orienté FX, de la captation à partir de ma caméra jusqu'à l'encodage final ! Et rappelons-le, toujours dans moins de 30 Mo !!!!

Pour les petits curieux qui voudrez essayer la chose :

http://www.openfilmmaking.com/wiki/index.php?title=BlenderAVC

Et voici les instructions pour l'installation correct de la Build :

http://www.openfilmmaking.com/wiki/index.php?title=BunnyHopHop

Même si nous ne sommes en présence que d'une version Beta, celle-ci est déjà extrêmement stable et sera surement intégrer dans les prochains mois dans le Trunk ! En tout cas je l'espère.

N'hésitez pas à cliquer sur la petite vignette accompagnant ce post afin de voir un clip MTS importé dans Blender. Oh ... que c'est bon !!!!!

vendredi 5 septembre 2008

Sandman Version Blender

Après avoir vu les séquences liées à l'homme de sable du film Spiderman 3, je me suis posé plein de questions sur la manière de reproduire une telle scène. Après plusieurs tests, jai longtemps hésité entre la méthode brute et la méthode légère. Finalement, il en ressort que la méthode brute qui consiste à simuler réellement plusieurs milliers de particules est la seule solution valable. la simulation présentée ici n'en réclame pourtant "que" 100.000. Et sur ce point, j'ai pu à nouveau voir à l'oeuvre la puissance du nouveau système de particules de Blender ainsi que celle de son moteur de rendu. Chaque particule est en effet remplacée au moment du rendu par un polygone constitué d'une dizaine de triangles, visant à représenter un grain de sable. Le rendu ne réclame sur mon processeur quad core Q6600 qu'environ 20 secondes par image ! Franchement, je trouve pas ça énorme vu la nombre de polygones à gérer (plus d'un million, par conséquent). En utilisant le mode "Keyed" du système de particules, il est possible non pas de détruire cette statue, mais au contraire de la "construire" à partir de grains de sable venant de toutes parts, permettant de reproduire la fameuse séquence "Birth of Sandman".

Voici la vidéo de la destruction :

http://www.coyhot.com/Blender/Blender_Sand_Girl.wmv