From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Ces nœuds déforment l'image d'une certaine manière, opérant uniformément sur toute l'image, ou utilisant un masque pour faire varier leurs effets sur l'image.

Nœud "Translate"

Panneau: Node EditorNode Composition

Menu: ⇧ ShiftAConvertorsTranslate

Nœud Translate.

Le nœud Translate translate (déplace) une image d'une valeur donnée (en pixels) sur les axes X et Y. Ces deux valeurs sont indépendantes, et peuvent être positives ou négatives. Pour déplacer une image vers le haut et la gauche, par exemple, vous donneriez une valeur négative sur l'axe des X, et une positive sur celui des Y.

Utilisez ce nœud pour positionner une image dans l'image finale. Habituellement, la sortie de ce nœud est dirigée vers un nœud AlphaOver ou Mix pour la mélanger avec une image de fond. Dans l'exemple ci-dessous, l'entrée RenderLayer d'une scène (la "box") est déplacée vers la gauche (une translation négative en X), puis mélangée via AlphaOver avec l'entrée RenderLayer de la scène "Hello".

Manual-Compositing-Translate example.png

Exemple: Utiliser le nœud "Translate" pour faire défiler un générique

À la fin de votre fantastique animation, vous voudrez un générique pour rendre à César ce qui est à César. Dans ce générique, vous verrez ainsi les noms de tous ceux qui se sont impliqués défiler de bas en haut sur une image ou séquence de fond. Le mini-système ci-dessous montre un exemple de réalisation de ce type de générique avec un nœud Translate.

Utiliser le nœud Translate pour faire défiler un générique.

Dans ce système de nœud, l'entrée RenderLayer est une liste des personnes impliquées de 150 pixels de haut; c'est l'entrée Image du nœud Translate. Le décalage Y (vertical) de celui-ci est contrôlé par un nœud Time dont la sortie est étendue pour varier de -150.0 à 150.0 sur 30 images. L'image ainsi translatée est superposée à une spirale en guise d'image de fond. Donc, sur 30 images, le nœud Translate décale l'image générique, au départ à -150 pixels en bas (hors de l'écran), vers +150 pixels en haut (de nouveau hors de l'écran) à la fin: le générique défile sur l'écran, incrusté sur la spirale. Ces images sont calculées quand les boutons Render Animation sont correctement réglés, et le bouton Anim pressé. Sur l'exemple, l'image 21 nous montre Moe et Curly, alors que Larry est déjà sorti de l'écran par le haut.

Canal Alpha
Assurez-vous de sauvegarder votre image de générique dans un format qui supporte un canal Alpha, comme le PNG, de manière que le nœud AlphaOver puisse l'incruster sur l'arrière plan et que ce dernier soit visible.


Vous auriez pu animer tout le texte dans une vue 3D, pour qu'il défile devant votre caméra, mais le rendu aurait pris beaucoup plus de temps. Utiliser le nœud Translate est bien plus rapide à calculer, et plus flexible. Pour ajouter quelqu'un à la liste, modifier simplement l'image de générique et relancez l'animation. Puisqu'il s'agit d'une simple manipulation d'image, Blender est désespérément rapide dans la reconstruction de votre générique. De même, modifier l'arrière plan est simple comme bonjour: chargez juste une nouvelle image et relancez l'animation.

Exemple: Déplacer un arrière plan

Dans certains films et animations 2D/3D, on utilise un "matte painting" comme arrière plan. Dans la plupart des cas il est immobile, mais vous pouvez le déplacer facilement avec un nœud Translate. Les mattes sont énormes: l'exemple ci-dessous utilise une image de 1440 × 600 pixels, bien que la scène rendue soit destinée à la TV. Cette taille démesurée nous donne de la place pour déplacer le matte. Le système d'exemple ci-dessous introduit par la droite un "Hello!" dansant (images 1 à 30). Lorsque le "Hello!" atteint le centre, nous simulons un mouvement de caméra (un pano) en déplaçant le matte (le fond) vers la gauche, ce qui donne au final l'impression que le "Hello!" est toujours en mouvement, suivi par la caméra.

Déplacer un matte en fond d'une animation (image 60).

Utilisez le nœud Map Value pour étendre les décalages en X (gauches/droits) appliqués par le nœud Translate. Notez également que l'offstet Y est utilisé pour déplacer le "Hello!" dansant vers le bas, pour faire comme s'il marchait dans la rue (dans le scène 3D, il est simplement centré dans la caméra, et il danse sur place). Le matte est lui décalé vers le haut pour simuler une caméra à la hauteur de l'observateur.

Exemple: Agitation, Vibration et Roulis

Un effet du monde réel est le bougé de la caméra. BOOM! Nous nous attendons à "sentir" l'impact, et à le voir secouer notre monde. Dans notre monde virtuel CG, cependant, nous sommes dans un vide intersidéral. En conséquence, nous devons simuler l'agitation de la caméra. Il y a deux endroits dans le cycle de production pour réaliser cela: au moment du Rendu de la scène, et au moment de son Compositing.

Au moment du Rendu, le modeleur introduirait un ensemble de courbes IPOs et placerait des images clé (keyframes) pour faire tourner et/ou déplacer la caméra sur un court instant. L'avantage de l'agitation au rendu de la scène est que c'est l'artiste (le modeleur) qui s'en charge, et que le monteur/compositeur n'a pas à s'en préoccuper; une chose de moins à faire, dieu merci. Le problème est que l'artiste peut ne travailler que sur les acteurs, et pas sur l'arrière plan, le décor, …: les mouvements de caméra ne sont alors sensibles que pour les premiers, le décor y restant insensible. En conséquence, il vaut mieux introduire les bougés de caméra après que l'ensemble de la scène a été rendu et assemblé, lors du compositing.

Il y a deux aspects au fait d'être secoué, ou de trébucher sur le pied de la caméra, ou de subir une explosion près de vous, ou d'avoir un avion frôlant la collision lors d'un meeting, ou de vomir pendant un long voyage en mer, ou de survivre à un tremblement de terre: le mouvement de caméra et le flou d'image (je sais que vous pensiez plutôt aux exclamations et à changer de slip, mais nous traitons ici de compositing).

Le mouvement de caméra est causé par le déplacement physique de la caméra; cependant, sa masse et son pied agissent comme des amortisseurs, adoucissant et absorbant le choc initial. Le cameraman agit également comme amortisseur, et aussi comme correcteur, en essayant de ramener et de conserver la caméra vers son cadrage original.

Il peut y avoir un assez long laps de temps entre le choc et la correction: par exemple, un acteur/cameraman solitaire peut trébucher sur le trépied en venant de derrière la caméra, entrer dans le champ de cette dernière, réaliser qu'elle a été déplacée, et revenir corriger son placement/cadrage. Tout dépend de l'effet artistique et de l'histoire que vous voulez soutenir.

Le flou d'image est causé par la rapidité du déplacement engendré par le choc: l'image est alors floutée dans la direction du déplacement. Le flou est maximal lors du déplacement de la caméra, et plus faible lorsque la caméra est à ses positions extrêmes, puisqu'elle décélère aux apex de ses mouvements. Comme pour le déplacement, le flou est maximal lors du choc initial, puis diminue à mesure que les choses se calment et reviennent sous contrôle. De plus, la caméra peut perdre le focus (la mise au point) au moment du choc, et le retrouver ensuite.

Pour utiliser les nœuds de Blender pour simuler les mouvements de caméra, utilisez le système de nœuds ci-dessous. Ce système a un groupe "Blur" en haut, qui alimente un groupe "Translate" en dessous.

SFX: Bougés de caméra.

Dans l'exemple ci-dessus, nous utilisons une courbe Time qui imite l'intensité et la durée d'un BOOM! typique. Dans ce cas, les deux courbes ont quatre pics sur une durée de 16 images (en fait, une courbe a été construite, puis dupliquée pour créer l'autre, pour être sûr que le gros des deux courbes soit exactement semblable). Notez l'amortissement des courbes (comment leurs amplitudes diminuent avec le temps), ainsi qu'il en a été discuté plus haut. Notez également le "ralentissement" des courbes (périodes qui augmentent) pour simuler le reprise de contrôle du cameraman. Notez enfin que les courbes sont sinusoïdales pour imiter les vibrations et les sur-corrections.

BOOM! à gauche: la courbe de translation commence à 0.5. La déflexion maximale vers le haut utilise sa moitié complète, alors que la déflexion maximale vers le bas n'utilise qu'un quart (la moitié de sa moitié!). Cela imite un BOOM! à notre gauche, puisque la caméra est plus secouée vers la droite, loin du BOOM!

Les courbes "Translate" (mouvement) et "Blur" (flou) sont les mêmes, à l'exception des points (sélectionnés) de départ et de fin: nous voulons un déplacement et un flou nuls au départ et à l'arrivée, mais un flou minimal aux déplacements extrêmes. Les deux nœuds Map Value sont différents, pour réaliser cela: les calculs sont laissés au lecteur.

Utilisez ce système de nœuds de Blender pour imiter les bougés de caméra. La quantité de bougé est réglée par les valeurs Size des nœuds Map Value, et le flou devrait être proportionnel à la quantité et à la direction du mouvement (majoritairement sur l'axe des X dans cet exemple). Utilisez les réglages Time Start et End pour modifier la durée du bougé: dix secondes pour un tremblement de terre, une minute pour un navire dansant dans une mer démontée, un demi-seconde lorsqu'un F-14 vous survole – et vous rend sourd!

Note de l'Auteur: J'ai remarqué de chouettes bougés de caméra dans les démos de Halo 3.

Nœud "Rotate"

Panneau: Node EditorNode Composition

Menu: ⇧ ShiftAConvertorsRotate

Nœud Rotate.

Ce nœud imprime une rotation (en degrés) à une image. Les valeurs positives donnent une rotation dans le sens horaire, et les négatives, une rotation dans le sens anti-horaire.

Nœud "Scale"

Panneau: Node EditorNode Composition

Menu: ⇧ ShiftAConvertorsScale

Nœud Scale.

Ce nœud modifie la taille d'une image. Cette mise à l'échelle peut être absolue ou relative. Si le bouton Absolute est activé, vous déterminez directement la nouvelle taille de votre image, en pixels. Sinon (mode relatif), les valeurs représentent des pourcentages.

Par exemple, X = 0.50 et Y = 0.50 donnera une image dont la largeur et la hauteur seront de 50% de leurs valeurs originales. Lorsque vous agrandirez fortement une image, vous voudrez peut-être l'adoucir, la flouter légèrement, pour réduire l'effet mosaïque qui peut apparaître. À moins, bien sûr, que vous ne souhaitiez cet effet, auquel cas ne tenez pas compte de ce que je viens de dire.

Utilisez ce nœud pour faire correspondre des tailles d'images. La plupart des nœuds produisent une image de sortie de la même taille que celle de la prise supérieure d'entrée. Donc, si vous voulez que les (éventuelles) autres images d'entrée ayant une taille différente de la première se combinent parfaitement entre elles, vous aurez intérêt à les redimensionner afin qu'elles aient toutes la même taille.

Nœud "Flip"

Panneau: Node EditorNode Composition

Menu: ⇧ ShiftAConvertorsFlip

Nœud Flip.

Ce nœud inverse (effet miroir) une image sur l'axe(les axes) sélectionné(s): X, Y ou les deux ensemble.

Vous pouvez utiliser ce nœud pour inverser simplement une image, ou l'inclure dans un effet de miroir: mélangez avec un nœud Mix une moitié de l'image avec l'autre moitié de cette même image inversée.

Nœud "Displace"

Panneau: Node EditorNode Composition

Menu: ⇧ ShiftADistortDisplace

Avez-vous jamais regarder la chaussée d'une route par un chaud jour d'été (NdT: ou au-dessus d'un sympathique barbecue, pendant que vos saucisses cuisent)? Avez-vous remarqué la distorsion de l'image provoquée par l'air chaud? Elle résulte de la réfraction de la lumière par les différentes couches d'air chaud: l'air agit alors comme une lentille optique. Et bien ce génial petit nœud fait la même chose: il déplace les pixels de l'image d'entrée en fonction d'un masque vectoriel (deuxième entrée, il simule les effets de l'air chaud).

Cela peut être utile à de nombreuses choses, comme la distorsion provoquée par l'air chaud, réfraction "vite fait, mal fait", compositing de scènes réelles pour simuler une vision à travers un verre déformant, et plus encore! Vous rappelez-vous de ce que voit HAL dans "2001:Space Odessey" ("2001:L'Odyssée de l'espace")? L'image vue à travers un grand angle déformant? Et bien, ce nœud peut prendre une image plate, et lui appliquer un masque vectoriel pour la déformer ainsi.

La quantité de déplacement dans les directions X et Y est déterminée par:

  • La valeur des canaux du masque;
  • L'échelle appliquée à ces canaux.

Le premier canal de valeur (le rouge, en RGB) détermine le déplacement – positif ou négatif – sur l'axe des X. Le deuxième canal (le vert, en RGB) détermine le déplacement – positif ou négatif – sur l'axe des Y.

Si les valeurs des deux canaux sont égales (c-à-d. image en niveaux de gris), l'image d'entrée sera déplacée de manière égale sur les deux axes, sous réserve que les valeurs des contrôles X Scale et Y Scale soient également identiques. Ces boutons numériques agissent comme multiplicateurs pour augmenter ou diminuer l'intensité du déplacement sur leurs axes respectifs. Ils doivent être réglés à une valeur non-nulle pour que le nœud ait un effet quelconque.

Pour toutes ces raisons, vous pouvez utiliser ce nœud de deux manières, avec un masque en niveaux de gris (facile à peindre, ou produit par une texture procédurale), ou avec deux canaux vectoriels (par ex. une image couleur RGB, où la composante bleue est inutilisée, ou une normal pass qui déplacera les pixels en fonction des directions de ses normales).

Exemple

Exemple de distorsion d'un clip musical avec un nœud Displace.

Dans cette exemple, l'artiste chante sur des rêves du futur. Pour illustrer cela, nous utilisons une texture mouvante de type Cloud (récupérée simplement en rendant cette texture sur un plan mobile) comme masque vectoriel. Cependant, les valeurs des canaux d'une image sont compris entre 0.0 (noir) et 1.0 (blanc), ce qui, si directement fourni au nœud Displace, déplacerait les pixels d'un seul pixel au maximum! Nous augmentons donc ces valeurs avec X Scale et Y Scale. À la prévisualisation, l'étirement de l'image à la fois dans les directions X et Y peut parfois rendre le visage de la chanteuse épais, gras, et nous pouvons tous imaginer sa réaction au fait de paraître grosse à la caméra. Pour remédier à cela, nous "l'étirons" verticalement, en donnant le double de la valeur de X Scale à Y Scale. Hélas, une image fixe ne rend pas justice à l'effet de l'animation lorsque les "nuages" bougent, et ce simple système de nœud ne reflète pas l'utilisation du flou et des incrustations pour améliorer (et compliquer) l'effet, mais c'est une bonne base de départ.

Photos courtoisie de Becca, pas de droits réservés. Voyez également quelques vidéos résultats de ce nœud, faites par le programmeur magicien lui-même, en suivant ce lien externe.

Nœud "Map UV"

Panneau: Node EditorNode Composition

Menu: ⇧ ShiftADistortMap UV

Manual-Compositing-Node-MapUV.png

Bon, je pense que nous sommes tous d'accord: le problème est… que nous ne savons pas ce que nous voulons. La chose est aussi valable pour les metteurs en scène. Malgré nos efforts pour texturer nos modèles, à la post-production, les metteurs en scène changent inévitablement d'avis. Ça commence par: "J'voudrai qu'il soit plus dépenaillé, mec. Qui s'est occupé de lui, au fait?". Bien que vous puissiez faire pas mal de retouche couleur en post-production, il y a des limites. Ben justement, ce petit nœud va les transcender, ces limites: il va vous permettre de retexturer vos objets après qu'ils aient été rendus. Oui, vous avez bien lu; il n'y a pas de faute de frappe et je ne suis pas fou. Pas aujourd'hui, en tout cas.

Utilisez ce nœud (en ayant sauvegardé la carte UV dans une séquence d'images au format OpenEXR multi-couches) vous permet d'appliquer de nouvelles textures d'images plates à tous les objets (ou à certains objets précis, si vous utilisez le très pratique nœud ID Mask pour identifier vos objets) dans la scène.

Reliez la nouvelle texture UV à la prise Image, et la carte UV de la scène rendue à la prise d'entrée UV. L'Image de sortie est la texture d'entrée Image déformée en fonction des coordonnées UV. L'image peut alors être superposée à l'originale, pour afficher la nouvelle texture au dessus de l'originale. Ajustez l'Alpha et le facteur de mix pour déterminer de combien la nouvelle texture recouvre l'ancienne.

Bien sûr, lors de la réalisation de la nouvelle texture, ça aide d'avoir les cartes UV des objets originaux dans la scène, donc gardez-les en réserve même après avoir fini tous les rendus.

Exemples

Ajouter une texture UV quadrillée pour faire du motion tracking.

Dans cet exemple, nous avons superposé un motif carrelé/quadrillé aux deux têtes d'Emo (NdT: cf. "Orange"/"Elephant dream", le film d'animation réalisé avec Blender), après qu'elles ont été rendues. Pour le rendu, nous activons la passe UV (fenêtre Buttons, panneau Render, onglet RenderLayer). Avec un nœud Mix, nous mélangeons le résultat de cette nouvelle texture UV avec les têtes originales. Nous pouvons maintenant utiliser cette texture carrelée pour aider à un "motion tracking" (suivi de mouvement).

Ajouter des textures UV en post-production.

Dans cet exemple, nous superposons à une "chose" de style cubique un drapeau, et nous nous assurons d'activer le bouton Alpha Premultiply du nœud Mix. Le drapeau est utilisé comme texture UV additionnelle superposée au carrelage. Autre exemple: vous avez tourné avec un produit non-autorisé (marque sur une boîte, une bouteille…) dont vous devez modifier l'aspect (changement de marque, …) après rendu.

Bien sûr, ce nœud ne donne pas au réalisateur le pouvoir de faire des rendus de pré-production sous prétexte que "on réglera ça plus tard", vous ne voudrez donc peut-être pas lui en parler. Gardons-le en réserve pour l'instant.