Introduction aux Fleximasks
Commençons par un exemple
Voici une photo :
Vous souhaitez assombrir le ciel à l’aide du module d’exposition. Mais un arbre se détache sur le ciel, et il doit conserver son exposition.
Vous souhaitez donc masquer le ciel, puis en soustraire l’arbre.
Lorsque vous créez un nouveau masque flexible, un groupe « masque complet » s’affiche. Ce groupe comporte un opérateur, qui est par défaut maximum (union) :
Un groupe combine ses éléments de bas en haut (à l’instar du Pixelpipe) à l’aide de son opérateur.
Pour simplifier, supposons que vous disposiez déjà de deux masques distincts recouvrant les deux éléments. Il peut s’agir de masques raster provenant d’autres modules, de formes simples, de canaux paramétriques ou d’objets complexes résultant d’une combinaison de ceux-ci. Cela n’a pas vraiment d’importance.
Si vous ajoutez vos deux éléments (ciel, puis arbre) au groupe msque complet, vous obtenez quelque chose comme ceci :
Cela donne :
Le masque complet (1) correspond à l’union du ciel (3) et de l’arbre (2).
Cependant, cela ne permettrait pas d’obtenir le masque souhaité. Une union rassemble tous les pixels de chaque élément ; ainsi, au lieu d’exclure l’arbre du masque, vous l’incluriez dans la zone masquée.
Ce que vous voulez faire, en revanche, c’est soustraire l’arbre du ciel. Il faut donc remplacer l’opérateur masque complet par différence :
Cela donne :
Le masque entier (1) correspond au ciel (3) moins l’arbre (2).
C’est exactement ce que vous vouliez :
Notez que l’ordre a son importance. Une différence conserve la ligne du bas et soustrait tout ce qui se trouve au-dessus. Si vous inversez les deux lignes, vous obtenez l’arbre moins le ciel, ce qui correspond simplement à la partie du tronc située sous l’horizon :
Ajoutons un lac
La photo comporte maintenant un lac, et vous souhaitez l’assombrir lui aussi :
Vous pourriez essayer d’ajouter le lac au groupe masque complet :
Cela se lit comme suit ::
Le masque complet (1) correspond au ciel (4) moins le lac (3) et l’arbre (2).
Ce n’est pas ce que vous souhaitez : la différence supprime tout ce qui se trouve au-dessus du ciel, donc le lac est également soustrait, et non ajouté.
Ce que vous voulez faire, c’est soustraire uniquement l’arbre de l’union du ciel et du lac. Relisez bien :
soustraire uniquement l’arbre de l’union du ciel et du lac.
Vous avez donc besoin d’un autre groupe ! Vous devez calculer l’union du ciel et du lac avant de pouvoir en soustraire l’arbre !
Voici à quoi cela ressemble :
Et cela donne :
Le masque entier (1) correspond à ce que vous souhaitez atténuer (3), moins ce que vous ne souhaitez pas atténuer, c’est-à-dire l’arbre (2). À son tour, ce que vous souhaitez atténuer correspond à l’union du ciel (5) et du lac (4).
Cela donne exactement le résultat souhaité :
Il existe plusieurs façons de procéder
Souvent, différents masques donnent le même résultat. Ici, l’arbre ne chevauche pas le lac, il n’y a donc rien à soustraire du lac. Vous pourriez tout aussi bien soustraire d’abord l’arbre du ciel, puis ajouter le lac :
Voici comment lire ce texte :
Le masque complet (1) est l’union du ciel sans arbre (3) et du lac (2). À son tour, le ciel sans arbre correspond au ciel (5) moins l’arbre (4).
Et cela donne le même masque :
Choisissez celui qui correspond le mieux à votre perception de la photo. Et gardez à l’esprit que, dans ce cas précis, les deux masques ne sont identiques que parce que l’arbre et le lac ne se chevauchent pas. Si une branche surplombait l’eau, la deuxième version la rajouterait au lac, et seule la première la maintiendrait hors du masque.
Lecture d’un masque
Un groupe contient les lignes auxquelles son opérateur s’applique. L’opérateur s’applique de bas en haut (comme les modules dans le pixelpipe). On lit chaque groupe comme suit :
l’[opérateur] de [l’élément du bas], …, [l’élément du haut]
ou, pour une différence :
[élément du bas] moins [tous les éléments situés au-dessus]
On lit l’ensemble du masque de l’extérieur vers l’intérieur et de bas en haut ; ainsi, dans notre exemple :
- Le masque complet est une différence : sa ligne inférieure (à atténuer) moins sa ligne supérieure (arbre)
- Sa ligne inférieure, à atténuer, est l’union de ciel et lac
- arbre est l’élément qui sera soustrait de à atténuer
En résumé : (ciel plus lac), moins arbre.
Comment y parvenir
Procédez de l’extérieur vers l’intérieur, en partant de la phrase qui décrit ce que vous voulez.
- Identifiez la dernière étape. Dans « ciel et lac, mais pas arbre », la dernière étape est « mais pas » : une coupure. Le masque entier est donc une différence.
- Identifiez ce qui est supprimé. Dans une différence, il s’agit de la ligne du bas. Ici, c’est « ciel et lac ». Comme il y a plusieurs éléments, ils forment leur propre groupe : un maximum (union) (pour les additionner), nommé à atténuer.
- Identifiez ce qui supprime : tout ce qui se trouve au-dessus de la ligne du bas. Ici, arbre.
- Répétez l’opération à l’intérieur de chaque nouveau groupe, jusqu’à ce que chaque ligne ne comporte plus qu’un seul élément.
Construisez ensuite le tout dans le panneau :
- Définissez l’opérateur de masque complet sur différence
- Ajoutez un groupe avec maximum (union), et renommez-le to dim (clic droit sur le groupe → renommer)
- à atténuer étant sélectionné, dessinez ciel et lac
- Cliquez à nouveau sur le titre de à atténuer pour le désélectionner, puis dessinez arbre : si aucun groupe n’est sélectionné, les nouvelles formes sont placées dans masque complet
- Si une ligne se retrouve au mauvais endroit, faites-la glisser : à atténuer doit être la ligne du bas de masque complet
La règle unique
Chaque groupe est une pile de lignes contenant un opérateur. Une ligne est soit un élément, soit un autre groupe. Lisez chaque groupe en partant de la ligne du bas vers le haut. Tout ce qui suit concerne le choix de l’opérateur et le classement des lignes dans le bon ordre.
La puissance de la composition
Une fois que vous en avez saisi l’essentiel, créer des masques plus complexes ne consiste qu’à ajouter davantage d’éléments. Il n’y a rien de nouveau à comprendre.
Par exemple, chaque élément de notre exemple pourrait être composé de plusieurs éléments. L’arbre pourrait être l’union de deux canaux paramétriques (un canal Hz pour sélectionner les feuilles, un autre pour le tronc et les branches) et de quelques coups de pinceau soustractifs pour nettoyer la sélection. Ce n’est pas un problème : l’élément arbre devient un groupe de différence. Au sein de ce groupe, vous placerez l’union des canaux paramétriques en bas, car vous souhaitez soustraire de cette union, et les coups de pinceau au-dessus.
Le résultat ressemblera à peu près à ceci :
Le ciel et le lac pourraient eux-mêmes être une combinaison de canaux paramétriques et de formes. Peu importe. Le masque s’agrandit, mais le principe reste toujours le même.
Les opérateurs
Chaque image montre le résultat obtenu par un groupe composé de deux formes. Le cercle bleu correspond à la ligne du bas, le rose à la ligne du dessus ; le jaune représente le masque.
| opérateur | en termes simples | l’ordre a-t-il de l’importance ? |
|---|---|---|
| maximum (union) | « ajouter » : tout ce que couvre n’importe quelle ligne | non |
| minimum (intersection) | « ne conserver que le chevauchement » : là où chaque ligne recouvre | non |
| différence | « découper » : la ligne du bas, moins toutes les lignes situées au-dessus | oui |
| exclusion | zones recouvertes par un nombre impair de lignes | rarement* |
Avec deux lignes, l’exclusion signifie « l’une ou l’autre, mais pas les deux » : le chevauchement est supprimé. Une troisième ligne rétablit la zone où les trois lignes se chevauchent.
* Uniquement avec trois lignes ou plus présentant des bords adoucis ou une opacité partielle.
Contours flous : les variantes d’union et d’intersection
Les masques ne se limitent pas à « à l’intérieur » ou « à l’extérieur » : les contours flous et l’opacité les rendent partiels. C’est pourquoi l’union et l’intersection se déclinent en plusieurs variantes. Toutes les variantes d’une famille se comportent de la même manière sur des formes pleines ; elles ne diffèrent que par la manière dont les zones partielles se combinent (les contours indiquent ici le point médian de chaque adoucissement) :
| opérateur | en termes simples |
|---|---|
| maximum (union) | la rangée la plus forte l’emporte ; le chevauchement des plumes peut laisser un pli |
| écran (union lisse) | les plumes qui se chevauchent se fondent harmonieusement, sans plis |
| somme (union) | les zones partielles s’additionnent, ainsi deux rangées de force moyenne donnent une force totale |
| minimum (intersection) | la rangée la plus faible l’emporte ; les plumes qui se chevauchent peuvent laisser un pli |
| produit (intersection) | fort uniquement là où toutes les rangées sont fortes ; s’estompe rapidement, pas de pli |
En cas de doute, utilisez maximum (union) pour ajouter et minimum (intersection) pour restreindre.
L’ordre a son importance dans une différence
Une différence conserve la ligne du bas et supprime tout ce qui se trouve au-dessus. En inversant l’ordre des lignes, vous obtenez l’opération inverse :
Ainsi, pour soustraire A de B : créez un groupe différence avec B en bas et A au-dessus. Formulez-le sous forme de phrase, en lisant de bas en haut : « B, moins A ».
Si le résultat est l’opposé de ce que vous souhaitiez, faites glisser les lignes pour les intervertir.
Des groupes à l’intérieur de groupes
Un groupe peut être une ligne d’un autre groupe, comme à atténuer dans l’exemple. Le résultat final se comporte alors comme une seule forme, de la même manière que les parenthèses fonctionnent en arithmétique.
Tous les masques ne nécessitent pas d’imbrication. « Les parties claires, uniquement à l’intérieur de ce dégradé » correspond à un seul groupe minimum (intersection) contenant un canal de luminance et un dégradé dessiné, dans n’importe quel ordre.
La méthode rapide : composer
Cliquez avec le bouton droit sur une ligne et choisissez « composer », puis un opérateur. La ligne est placée dans un nouveau groupe avec cet opérateur, en tant que ligne inférieure, avec un groupe vide au-dessus dans lequel dessiner. Pour découper quelque chose dans une forme finie, composez-la avec différence et dessinez dans le groupe vide.
Inversion
- « Inverser » sur un élément (clic droit → Inverser) : cela sélectionne ce qui était auparavant exclu. « Tout sauf ce cercle ».
- « Inverser la sortie » sur un groupe (clic droit → inverser la sortie) : inverse le résultat final du groupe.
Ces opérations ne donnent pas le même résultat lorsqu’un groupe comporte plusieurs lignes. Dans un groupe union de deux cercles, l’inversion de chaque cercle donne tout sauf la zone où ils se chevauchent. L’inversion de la sortie du groupe donne tout sauf les deux cercles.
Opacité
L’opacité s’applique à une ligne avant qu’elle ne soit combinée. Dans un groupe différence, un élément à 50 % d’opacité ne découpe qu’à mi-hauteur. L’opacité propre à un groupe s’applique à son résultat final.
Aide-mémoire
| Je veux… | construire |
|---|---|
| A et B ensemble | maximum (union), dans n’importe quel ordre |
| Uniquement là où A et B se recoupent | minimum (intersection), dans n’importe quel ordre |
| B sans A | différence, B en bas, A au-dessus |
| A ou B, mais pas là où ils se chevauchent | exclusion |
| Tout sauf A | A, inversé |
| A et B, sans C | différence : un groupe union de A et B en bas, C au-dessus |
| Coups de pinceau légers qui se fondent sans démarcation | trame (union lisse) |
Texte de Daniele Pighin traduit de l’anglais avec Deepl. Original ici.










