From BlenderWiki
Comme vont les chansons, volent les oiseaux, voguent les navires… bref, les choses bougent; c'est tout simplement naturel. Mais vous voudriez peut-être que certaines choses bougent vraiment vite pendant que d'autres restent quasiment statiques (pensez à Flash, dans "Les quatre fantastiques"). Tout particulièrement en animation, le garçon semble toujours courir si vite qu'il en est flou, alors que la fille reste immobile et attend qu'il ait épuisé son excès d'énergie. Ou encore, le bon ninja qui prend son élan pour hacher menu férocement le méchant, qui reste scotché sur place.
Que des bonnes idées, mais… rendre tous ces mouvements d'objets dans votre scène avec le Motion Blur (flou cinétique) activé est parfaitement faisable… si vous avez assez de CPU, de mémoire, et de temps. En particulier pendant les phases initiales, vous voudrez juste visualiser ce qui bouge très vite, pour vérifier que cela fonctionne bien.
Les bases du flou cinétique
Quelques informations, d'abord, pour élargir votre point de vue sur le flou vectoriel: vision biologique, film et CG ("Computer Graphics", graphisme par ordinateur):
Vision biologique: Si vous regardez dans mon œil, vous verrez (au figuré, bien entendu) que mon cerveau traite en parallèle à peu près 15 images de chaque œil par seconde. Il les "rassemble" ensemble et je perçois ainsi le mouvement, par comparaison. Si quelque chose bouge suffisamment vite, je le perçois comme flou (que ce soit parce que mes bâtonnets ont une latence dans leur réaction à la lumière, ou parce que mon cerveau, lors du traitement des images – et leur différenciation –, les mélange un peu comme avec un nœud Mix).
L'IMPORTANT EST que je perçois un flou cinétique (dû au mouvement).
Film: Pour éviter de percevoir un clignotement quand nous regardons un film, on a (à peu près) doublé cette cadence de 15 img.s-1 (images par seconde, fps en anglais): film: 24 img.s-1, TV USA/Japon: ~30 img.s-1, TV Europe: 25 img.s-1. Donc, l'obturateur est (en simplifiant, pour un film) ouvert un vingtquatrième de seconde, et la pellicule est exposée sur ce laps de temps. Les choses se déplaçant durant ce laps de temps apparaîtront floues sur la pellicule, du fait de cette pose (exactement comme en photo!). Une fois développée et projetée, nous voyons une image physiquement, réellement floue.
L'IMPORTANT EST que je vois une image avec les objets mobiles flous.
CG: En CG, lors du rendu d'une image, l'ordinateur sait exactement où est chaque objet, et les rend ainsi. D'une image à l'autre, un objet passe (saute) d'une position A à une position B. Quand nous regardons l'animation (à 25 img.s-1, par ex.), l'image nous semble tressautante, car il n'y a pas de flou cinétique comme avec un film ou la vision de monde réel.
Donc, comment obtenir une image CG avec flou cinétique? Blender propose deux façons de procéder pour obtenir un flou cinétique convaincant: Motion Blur et Vector Blur.
Flou cinétique via le bouton "MBlur"
C'est la manière traditionnelle (comprenez: vieille, périmée) de réaliser un flou cinétique. Activez simplement le bouton MBlur (fenêtre Buttons, contexte Scene, sous-contexte Render, panneau Render). Lorsqu'il est activé, Blender rend 5, 8, 11 ou 16 images complètes: pour chaque image finale au temps X, il rend les images X+0.0625, X+0.1250, X+0.1875, X+0.2500, X+0.3125, X+0.3750, X+0.4375, X+0.5000 (pour un flou sur 8 images, et un Bf de 0.5), recalculant pour chacune de ces images les positions exactes des objets. Finalement, il mélange ces 5, 8, 11 ou 16 rendus ensemble. Parfait, si vous disposez du temps nécessaire. La plupart d'entre-nous ne l'ont pas. Voyez donc la suite.
Flou vectoriel: vue générale
Le flou cinétique basé sur le flou vectoriel pour une image seule est accompli dans Blender avec les étapes suivantes:
- Rendre une image de la scène.
- Déplacer les objets qui devraient être flous.
- Répéter les étapes précédentes jusqu'à ce que la quantité de mouvement des objets mobiles soit atteinte.
- Laisser Blender calculer le fou vectoriel des objets entre chaque paire d'images rendues.
- Blender combine alors toutes ces images en une seule.
Ces étapes, exposées plus en détails dans les paragraphes suivants, donnent une vue d'ensemble très simplifiée de la manière d'obtenir un flou cinétique de la façon la plus rapide possible.
Mouvement d'objet
Il y a au moins deux manières de faire bouger un objet:
- Changer l'objet de position "à la main", d'image en image, ou
- Forcer l'objet à suivre un chemin (path en anglais).
Pour faire varier manuellement la position d'un objet:
- Ajoutez-en un (par ex., une sphère) et quittez le mode Edit (⇆ Tab).
- Insérez une Ipo Location ("position") pour enregistrer sa position actuelle pour l'image courante (point A).
- Pressez ↑ pour avancer de quelques images (dix par défaut).
- Déplacez (G) la sphère à un nouvel emplacement en bougeant le pointeur de votre souris, puis LMB
pour valider.
- Insérez une deuxième Ipo Location pour enregistrer cette nouvelle position pour l'image actuelle (point B).
La sphère va alors se déplacer du point A au point B durant l'animation. Cependant, faire bouger les objets le long de chemins, laissant à Blender le soin de calculer ce mouvement, est plus appréhendable que leur déplacement manuel d'image en image.
Pour forcer un objet à suivre un chemin:
- Ajoutez-en un (allez, encore une sphère) et quittez le mode Edit.
- Ajoutez un cercle Bézier (Bezier circle) et quittez de nouveau le mode Edit. Ce cercle sera alors sélectionné.
- Faites du cercle un chemin en cliquant sur le bouton CurvePath dans le panneau Curve and Surface de la fenêtre Buttons, contexte Editing (F9).
- Ajoutez la sphère à la sélection (⇧ ShiftRMB
).
- Rendez la sphère parente du chemin (c-à-d du cercle) en tapant CtrlP.
- Dans les boutons Objects, panneau Constraints, ajoutez à la sphère une contrainte la forçant à suivre le chemin: sélectionnez Follow Path, et renseignez le champ OB: avec le nom du chemin (normalement "
CurveCircle").
La sphère devrait maintenant voyager sur le chemin défini par le cercle en courbe de Bézier (pour une animation de quelques secondes).
Quelle que soit la méthode utilisée, vous devez maintenant:
- Cliquer sur le bouton Scene (ou F10).
- Régler les images de début et de fin de votre animation dans le panneau Anim.
- Cliquer sur l'onglet Render Layers.
- Activer les passes: Vec pour utiliser le flou vectoriel.
- NE PAS activer le bouton MBlur, puisque nous utiliserons le flou vectoriel à la place.
Configurer Blender pour le flou vectoriel
Blender doit être informé qu'il doit flouter les objets en mouvement. Cela peut être comme suit et comme le montre l'image ci-dessous:
- Faites d'une fenêtre un Node Editor.
- Activez les boutons Compositing (le visage) et Use Nodes.
- Ajoutez un nœud Vector Blur (Add → Filter → Vector Blur).
- Insérez le nœud Vector Blur entre les nœuds RenderLayer et Composite.
- Connectez (entre RenderLayer et Vector Blur) Image à Image, Z à Z, et Speed à… Speed.
- Connectez (entre Vector Blur et Composite) Image à Image.
Rendre l'animation
Vous devriez maintenant être en mesure de sélectionner Render → Render Animation (ou CtrlF12) pour dire à Blender de commencer son rendu des images individuelles. Chaque images sera sensiblement différente de la précédente (parfois, si l'objet en mouvement ne se déplace pas assez – ou pas assez vite –, la différence sera imperceptible, et l'objet semblera quasiment immobile!). Une fois que Blender aura fini de rendre toutes les images de la scène, il les rassemblera ensemble et créera le flou cinétique sur les objets en mouvement.
Utiliser le "Vector Blur"
Voilà, les maîtres programmeurs de Blender vous ont fourni les outils pour réaliser vos rêves créatifs, que vous créiez une anime, montiez des prises de vue du monde réel, ou simplement réalisiez une animation très fluide, ou parce que vous ne pouvez vous offrir un super calculateur Cray avec ses 20 OOO AMD Opterons dual-core. En tout cas pas avec l'argent de poche de cette semaine. Arrive le nœud Vector Blur: la possibilité de rendre le flou vectoriel seulement sur une petite partie des objets de votre scène.
Dans la fenêtre Node Editor de l'exemple ci-dessus, vous voyez trois nœuds: le RenderLayer (point d'entrée), le Vector Blur (application du flou), et le Composite (point de sortie). Ce qui n'est pas visible, c'est que Suzanne est à gauche à l'image 2, et à droite à l'image 11. La frame affichée est la 6, comme indiqué par le contrôle d'image. Donc, à l'image 6, Suzanne doit être floue puisqu'elle est en train de traverser comme l'éclair l'écran.
La scène complète s'étale sur les calques 1 à 5 (comme le montrent les 5 boutons de calque activés), mais le RenderLayer sélectionné ne rend que les objets du calque 1 (comme le montre l'ensemble des boutons de calque situé sous le nom du calque de rendu). Ainsi que le démontre le nœud RenderLayer, ce calque ne contient que Suzanne. Les prises Image, Z et Speed sont connectées entre les nœuds RenderLayer et Vector Blur, et l'image résultante est envoyée à la sortie Composite. Les canaux Alpha et Z de l'entrée sont également directement envoyés à la sortie (les threads passent sous le nœud Vector Blur, mais ne laissez pas cela vous désarçonner).
Dans le fenêtre Buttons (contexte Scene, boutons Render, onglet RenderLayers), vous devez sélectionner au moins l'option Solid et les passes Z et Vector. Activez Combined pour accélérer un peu les choses.
La prévisualisation du nœud de sortie Composite vous montre à quoi ressemble – et ressemblera dans le rendu final – une Suzanne floue. Notez que le vieux bouton MBlur est désactivé. Si nous avions d'autres RenderLayers activés pour les autres calques d'objets de notre scène, nous pourrions mélanger ces images avec la Suzanne floue, pour créer notre image finale.
Autres exemples
Dans l'exemple du ninja (voir plus haut), en utilisant les technique d'animation traditionnelles, vous voulez figer le personnage du ninja et avoir un flou cinétique sur l'arrière plan. Pour faire au plus classique, mettez l'arrière plan dans son propre calque et créez un RenderLayer juste pour lui. Rendez-le vraiment mobile en lui ajoutant des IPO sur quelques images. Comme ci-dessus, choisissez l'image du milieu et faites passer le RenderLayer du fond par un Vector Blur. Créez un autre RenderLayer pour le ninja (sans Vector Blur pour lui), mixez le tout sur quelques images (pour une seconde, 25 img en Europe, 30 aux USA), et vous obtenez votre anime finale avec un minimum de temps CPU. Et il vous reste assez d'argent de poche pour une nouvelle paire de baskets.
