jeudi 27 avril 2017

Musique

C'est que ça a été douloureux, de sortir la fugue qui accompagne Léon le Philosophe. De fait, je me suis rendu compte que pour commencer à poser ses idées, papier (à musique !) et crayon étaient finalement plus pratiques que le clicodrôme avec Rosegarden (encore plus lorsque l'on a perdu toute inspiration après s'être battu pendant 10 minutes pour qu'il accepte d'émettre un son). À noter également, un piano jouet est très pratique pour composer (j'ai un joli Shoenhut rouge) et vérifier que la mélodique ou l'harmonie rend pareil dans la tête et IRL.

La composition elle même, c'est du sous-ersatz de Bach, inspiré des Brandebourgeois et de la toccata et fugue en ré mineur. Pour la postérité, je vous met mon brouillon, que j'ai ensuite transcrit et complété dans Rosegarden.

Bon, et en conclusion, les sons MIDI, c'est quand même rudement moche, et encore, j'avais arrangé les choses en ajoutant un peu de réverbération avec Audacity et en bidouillant le volume directement dans le séquenceur vidéo de Blender.

La solution, bien entendu, c'est d'embrasser ces sons robotiques et de faire de la musique électronique plutôt que du baroque. Il se trouve que pour Léon, j'avais envie de faire du baroque. On verra pour la prochaine vidéo !

mercredi 26 avril 2017

Clébard, suite et fin

Mon chien est complet ! Étant enfin arrivé au bout de l'excellent (mais long !) tutoriel, j'ai découvert comment rendre les expressions du visage via des "shape keys". J'ai également ajouté des matériaux de rendu pour le sol, le poil, les gencives et les dents, en utilisant exclusivement le matériau PBR Diélectrique.

Voici donc un chien content, et un chien moins content.

lundi 24 avril 2017

Clébard

Je tente d'améliorer mes compétences de modeleur, en essayant de sculpter un toutou avec ce tutoriel. J'ai des idées pour ma prochaine animation, mais il va falloir que je devienne nettement meilleur pour représenter des animaux et en animer le visage.

vendredi 21 avril 2017

Plus de PBR

Tant que j'y étais, j'ai implémenté le nœud du métal PBR. Voilà la chose, une boule dorée bosselée.

jeudi 20 avril 2017

PBR

Apparemment, PBR, ou "Physics Based Rendering", est le nouveau buzzword dans le monde du graphisme, et en particulier dans les jeux vidéos. L'idée, c'est que notre connaissance de la physique ainsi que la puissance des machines est maintenant au niveau où il est possible créer des shaders qui respectent mieux la réalité physique des matériaux. Cela veut dire que là où un artiste devait bidouiller son shader dans chaque scène ou chaque environnement pour s'adapter aux conditions de luminosité, un shader "PBR" devrait correctement afficher le matériau quelque soient les conditions de lumière. En particulier, ce qui fait toute la différence, c'est l'équilibrage de la composante diffuse, brillante, et Fresnel.

L'excellent Blender Guru propose un tutoriel sur le sujet, pour construire un nœud de matériau PBR réutilisable pour matériaux diélectriques (en gros, les matériaux non métalliques).

Alors, quelle différence ? Pour le savoir, voici une scène avec un matériau rouge de type plastique bosselé, qui peut soit utiliser le nœud PBR de Blender Guru (au dessus), soit un matériau "basique" mélangeant du diffus et du brillant (au dessous).

La différence est assez spectaculaire. Le matériau "PBR", en haut, a des couleurs éclatantes, le reflet sur la sphère du cube blanc à droite est beau, l'on devine l'effet Fresnel sur les bords de la sphère. Par contraste, le matériau "basique", en dessous, est plat et terne. Il faudrait du travail supplémentaire et des ajustements de lumière et de matériau pour lui donner du tonus, lesquels ajustements seraient spécifiques à la scène, et donc à refaire dans un environnement différent. On comprend l'intérêt du PBR.

mercredi 19 avril 2017

L'animation est complète

Enfin, j'ai combiné tous les morceaux, les écrans de titre et de fin, l'animation et la musique (une sorte de fugue que j'ai composée, non sans mal, avec Rosegarden et Audacity). Voici la chose !

mercredi 12 avril 2017

On est pas rendus

Du rendu, du rendu, et encore du rendu. Après avoir fait tourner ma machine pendant presque 20 heures, j'ai obtenu un rendu de test pour une petite animation qui réunit les différents éléments que j'ai postés ces dernières semaines. L'animation me va, et j'ai lancé le rendu final, qui prendra environ 2 fois plus de temps.

Et pourtant, il a fallu faire quelques concessions. Oubliés, les 1080 lignes, on se contentera de 720 (je garde en revanche les 60 images par seconde, principalement parce que ça serait galère de bidouiller toute l'animation). J'ai également réduit la qualité, et augmenté la taille du soleil histoire d'éviter les "lucioles", c'est à dire le bruit de rendu. Sans ces trucs, j'en avais facilement pour une semaine, avec la facture d'électricité qui va avec. D'ailleurs, la salle de l'ordinateur est clairement la plus chaude de la maison. Je devrais peut-être y faire sécher mon linge ?

Une fois le rendu complété, il faudra monter l'animation, et lui rajouter une bande son. Encore du boulot en perspective.

dimanche 9 avril 2017

Très chers nuages

C'est bien gentil, la pluie qui surgit d'un plan, mais c'est quand même nettement mieux avec un vrai nuage. Heureusement, notre ami Youtube est rempli de tutoriels divers sur comment faire un joli cumulus. Nombre de ces tutoriels passent par un matériau volumétrique, qui donne des résultats tout à fait à la hauteur, si ce n'est un détail: c'est horriblement lent.

D'une part, le rendu GPU ne fonctionne pas chez moi. Alors, j'ai une AMD, qui utilise donc OpenCL, alors que les nVidia et Cuda semblent mieux supportées par Blender, donc peut-être que chez vous ça marche, mais moi je ne vois qu'un nuage tout noir (au moins, le rendu est rapide). D'autre part, le rendu volumétrique semble foncièrement lent, puisqu'il m'a fallu 1 heure (une heure !) pour rendre la malheureuse image que voici.

L'animation que j'ai en tête va prendre environ 30 secondes. À 60 images par seconde, ce sont donc 1800 images qu'il faut rendre. À une heure par image, j'en ai donc pour 75 jours, soit 2 mois et demi, et une facture d'électricité d'environ £120. Alors on va trouver une autre solution.

Bienvenue au nuage cartoon ! Clairement moins photogénique, mais rendu sur les chapeaux de roue en 1 minute 10 secondes. Alors on va dire que ça ira !

C'est aussi quelque chose que je découvre : le processus de modélisation des formes et des matériaux n'est pas uniquement la recherche de la perfection, mais un équilibre difficile entre allure et temps de rendu. Tout un tas de "trucs" sont utilisés par les pros pour obtenir quelque chose de magnifique en un temps réduit : réduction du nombre de polygones, "cuisson" des détails dans une texture, réutilisation des objets (instances) plutôt que copie, suppression des éléments hors du champ de vision, simplification des lumières...

vendredi 7 avril 2017

Pluie et particules

Je me suis bien amusé avec le système de particules, et ai créé une petite scène où des particules pleuvent sur une sphère et rebondissent dans tous les sens. Pour la particule, j'utilise une sphère avec un matériau de type verre, qui est instanciée pour chaque particule. Comme je voulais voir ce que ça donnait niveau qualité, j'ai fait un rendu en haute définition à 60 images par seconde, que voilà.

Le rendu a pris 10 heures, ce qui est quand même assez mammouthesque pour une scène aussi simple. À noter que la première heure et demie est gâchée à rendre 120 fois la même image, puisque je ne fais apparaître les particules qu'à la 2ème seconde. Il y a probablement moyen d'optimiser tout ça.

mercredi 5 avril 2017

Au bout de la fourrure

Une manière d'améliorer le rendu de la fourrure sous Blender est de mettre de la transparence à la pointe du poil. Ceci peut être fait en mixant un shader transparent avec un facteur dépendant de la longueur du cheveu. En ajustant la ColorRamp, l'on peut ajuster la quantité de poil transparent.

Voici ce que ça donne sans transparence, avec juste les pointes transparentes, et avec la majorité du poil transparent :

mardi 4 avril 2017

Un œil

Voici un œil ! De nombreux tutoriels proposent des yeux texturés à partir d'images réelles, mais ce qui m'intéressait, c'était une approche complètement procédurale. Heureusement, ce tutoriel montrait exactement comment faire. C'est plutôt joli, quoiqu'un peu inquiétant !

De l'herbe qui ondule sous la brise

Pas facile de faire onduler l'herbe ! L'herbe ne se pliait pas bien, ou alors elle bougeait trop vite. J'ai beaucoup bidouillé les paramètres avant de tomber sur quelque chose qui me plaisait. Il a fallu également choisir entre vent et turbulences. Finalement, j'ai sélectionné les "hair dynamics", et adjusté le paramètre de "stiffness" pour obtenir le bon mouvement, avec un vent . Voici les paramètres du système de particules et du vent que j'ai utilisés :

Et puis, après m'être beaucoup battu avec le "batch mode" de Blender et passé une nuit entière à rendre exactement la même image 200 fois (murf), j'ai fini par obtenir un rendu potable en 720p en un peu moins de 3 heures, que voilà :

Vous remarquerez le mouvement brusque en tout début de vidéo, du à l'initialisation de la physique. À part ça, c'est ce qu'il me faut, donc je met de côté !

jeudi 30 mars 2017

Un rocher !

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!

De l'herbe !

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.

samedi 25 mars 2017

C'est poilu

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!)

samedi 18 mars 2017

Carreaux

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 ?

lundi 13 mars 2017

Vase - Animation

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

samedi 11 mars 2017

Retour aux bases

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

mardi 7 mars 2017

Où l'on optimise le rendu

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

dimanche 5 mars 2017

Une orange avec Blender

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 ?

mardi 24 janvier 2017

Mount And Blade, 10 ans après

Voilà bien 10 ans que j'avais commencé à jouer à Mount & Blade. Depuis, l'eau a coulé sous les ponts, et j'ai découvert il y a quelques jours qu'il était disponible sur Steam, et compatible Linux !

Ça marche très bien, c'est toujours aussi rigolo, et le moteur, qui n'est quand même pas de première jeunesse, marche impeccable sur ma machine moderne, même avec les niveaux de détail au maximum et 400 gus occupés à se tataner la tronche sur le champ de bataille.

jeudi 12 janvier 2017

Pause

Je suis malade, et j'ai du Java sur le feu, raisons pour lesquelles je n'ai pas avancé d'un iota sur le port de mon application. J'espère m'y remettre bien vite.

lundi 2 janvier 2017

Bonne année à tous!

En ce début d'année, attendez-vous à de nouveaux posts sur mes expérimentations avec Ubuntu Touch. En particulier, j'ai enfin compris comment déployer des ressources dans le paquet Click, et, plus important, comment y accéder. Je vous explique tout ça bientôt.

En attendant, je vous souhaite à tous une excellente année 2017 !