Je continue à construire les objets dont je vais avoir besoin dans ma scène. Voici un rocher, lourdement subdivisé, et lourdement déplacé à coups de textures de bruit, de marbre et de voronoi (j'ai suivi ce tutoriel).
J'aime beaucoup la manière dont ces 3 textures travaillent à différent niveaux de détail, donnant de la profondeur et un aspect plaisant au rocher. Le tutoriel explique ensuite comment accélérer le rendu en faisant un "bake" des textures et en les appliquant à un objet low-poly. Pour l'instant, je le garde comme ça!
J'ai suivi ce tutoriel pour créer une scène avec de l'herbe. J'ai une petite idée d'animation derrière la tête, et je commence à essayer d'en créer les éléments.
Un autre tutoriel, un autre rendu. J'ai donc essayé de rendre une grosse boule de fourrure, et beaucoup appris sur la simulation des poils et cheveux.
Le rendu, comme de juste, a pris des plombes, une petite image mettant 5 minutes via le GPU, et 26 minutes via le CPU. En passant en HD avec la qualité à bloc, c'est 28 minutes, que la chose a tourné. J'utilisais l'ordinateur pendant le rendu, donc peut-être que le rendu réel prendrait moins de temps.
Maintenant, je regarde la physique des poils (!), avec gestion des collisions, du vent... pour en tirer des animations. Mais à une demie-heure par image, on est pas rendus! (ah ah!)
J'ai plein d'idées de scènes, mais pas vraiment les skillz, alors je continue à faire des choses hyper simples pour me faire la main. Voilà par exemple un sol carrelé, créé en utilisant les modificateurs "bevel" (pour biseauter le bord de chaque carreau) et "array" (pour carreler toute la salle à partir du même objet). Pour le matériau, on aura fait très simple en combinant simplement le shader diffus avec un shader glossy.
La nouveauté, ce sont mes tentatives au niveau du compositing. J'ai tenté de combiner le vignetage (assombrissement des bords), de bidouiller la mise au point, ainsi que le contraste.
Peut-être maintenant devrais-je faire quelque chose avec ces murs ?
Voilà, l'animation est complète ! J'ai rajouté un écran de texte, des fondus au noir, et de la musique. Le tout a un intérêt artistique plus que limité, mais c'est la confirmation que j'ai une solution complète à ma portée. Reprenons.
Tout d'abord, l'animation en elle-même. Cela a plutôt pris 5 heures que 6, mais ce fut quand même une bonne partie de la nuit avec le GPU tournant à fond. J'ai fait un rendu vers du PNG, pour éviter de perdre en qualité.
Ensuite, la musique. Il s'agit d'une retranscription plutôt hasardeuse de la ligne de batterie de Joe Morello dans Take Five de Paul Desmond. C'est donc en 5 temps, et c'est composé en utilisant le logiciel Hydrogen, avec lequel il est facile de composer des motifs et de les combiner. En tout état de cause, il aurait été intéressant de travailler un peu plus la musique avec Audacity, par exemple, pour y ajouter des effets d'écho ou d'assourdissement du son. J'exporte en Flac, toujours dans l'optique de ne pas perdre en qualité.
Enfin, le montage vidéo proprement dit, avec l'éditeur de Blender. Une fois compris les principes de base, il est vraiment aisé d'intégrer ses rushes, de faire les coupes, d'ajouter la musique, et de faire les fondus au noir. J'aurais pu faire le montage au sein du même projet que l'animation du vase, et effectuer le rendu d'un coup, mais j'ai préféré séparer, parce que je ne voulais pas attendre 5 heures de plus. Donc, nouveau projet, et import de mes 125 images.
Je fais un rendu en HD, vers le format QuickTime, en utilisant le codec vidéo H264 et le codec audio AAC. Les détails pour faire un rendu compatible avec Youtube sont là.
Faire de jolies scènes avec Blender, ce n'est pas facile, c'est le moins que l'on puisse dire, et en particulier, le design du matériau est particulièrement ardu. Alors je repars un peu en arrière, et j'expérimente avec l'éditeur de nœuds pour tenter de me construire une bibliothèque de matériaux qui marchent.
Découvrez tout d'abord quelque chose rappelant une céramique bosselée avec un émail, utilisant une texture de Musgrave pour l'ajustement des normales, et une texture de bruit classique pour casser l'uniformité de la couleur. L'on ajoute un peu de brillant, et basta !
Histoire de rigoler, j'ai lancé un rendu d'animation qui tourne autour de mon vase. Apparemment, je vais en avoir pour 6 heures à rendre 5 secondes de vidéo...
J'ai fini par comprendre comment rendre mon orange en utilisant le GPU. C'était tout bête, dans l'onglet "Render", il y a une grosse drop-down "Device" dans laquelle on peut choisir CPU ou GPU.
Initialement, les résultats n'étaient pas fous: l'on voit bien que les tuiles sont rendues une par une au lieu de quatre par quatre (mon PC a quatre cœurs), et que l'utilisation des CPUs est presque à zéro, mais le temps de rendu n'était qu'un peu plus rapide: 7m30s au lieu de 10m30s. Ne sachant pas trop à quoi m'attendre de toutes façons, je n'étais pas mécontent.
Et puis, en cherchant un peu, j'ai appris que la taille des tuiles influait fortement sur les performances. Et en effet, en utilisant les tailles optimales de tuile, 256x256 pour le GPU et 16x16 pour le CPU, l'on arrive à 2m30s contre 10m05 ! Là, tout à coup, c'est un sacré bon pour les performances.
Se pose cependant la question de la consommation électrique : certes, le GPU est plus rapide, mais j'imagine qu'il consomme également plus. Quel est donc le coût par image du GPU et du CPU ? Dès que j'ai pu mettre la main sur un voltmètre, je vous tiens au courant (ah ah !).
Petit retour sur Blender, histoire de ne pas perdre la main. J'ai suivi l'excellent tutoriel que voici pour modéliser une orange. Le rendu est de toute beauté, même si une autre vidéo sur l'étroite gamme dynamique de Blender (et sur Filmic Blender, un patch pour y remédier, qui semble prévu pour la prochaine version) me laissent songeur.
À noter, tout d'abord, ne pas oublier de passer Blender en mode "Cycles Render", sinon, ça n'a rien à voir. Ensuite, ne pas oublier de sélectionner tous les points de l'objet avant de faire un "UV unwrap". Enfin, ne pas oublier de bidouiller les paramètres de rendu pour obtenir une image de haute qualité pour le rendu final. Cela se paye en temps, ceci dit : le rendu basse qualité prend environ 2 secondes, et le rendu haute qualité prend 10 minutes... Je voulais en faire une animation, il va falloir que je m'assure que j'ai du temps devant moi.
Petit point de détail, passer par le GPU (OpenCL) ne semble absolument rien changer, tant en termes de performances que de résultat. Peut-être n'est-ce pas activé dans ma version de Blender ?