×

[section label= »Qu’est-ce qu’un Layer ? » anchor= »definition-layer »]

Qu’est-ce qu’un Layer dans Mari ?

Les Layers de Mari sont assimilables aux calques Photoshop. Ce sont des couches sur lesquelles il est possible de peindre, d’appliquer une texture, d’ajouter un masque,…

Les Layers constituent donc la source de vos textures.

Les Layers sont créés dans ce qui s’appelle un Layer Stack (littéralement: « empilement de couches ») appartenant à un Channel. En effet, chaque Channel contient un empilement différent de différents Layers.

Vous pouvez créer 4 types de Layers:

  • Paintable Layer
  • Adjustment Layer
  • Procedural Layer
  • Group Layer
  • Ainsi que des masques pour ces derniers

Les Layers au sommet de l’empilement priment sur les Layers plus bas.

the-foundry-mari-interface-layers-pannel

[section label= »Lister les layers du channel courant d’un objet » anchor= »liste-layers-channel »]

Lister les layers du channel courant d’un objet

1
2
3
obj = mari.geo.current() # Objet courant
channel = obj.currentChannel() # Channel courant
layerList = channel.layerList() # Liste des layers

[section label= »Créer un Layer » anchor= »creer-layer »]

Créer un Layer

1
2
3
4
5
6
7
8
9
10
obj = mari.geo.current() # Objet courant
channel = obj.currentChannel() # Channel courant
# Paintable Layer
newLayer = channel.createPaintableLayer("New Layer Name")
# Adjustment Layer*
newLayer = channel.createAdjustmentLayer("New Layer Name", "Filter/Brightness")
# Procedural Layer*
newLayer = channel.createProceduralLayer("New Layer Name", "Basic/Color")
# Group Layer
newLayer = channel.createGroupLayer("New Layer Name")

*Cf: liste des types de layers d’ajustements et de procédures

[section label= »Mettre un layer dans un groupe » anchor= »layer-groupe »]

Mettre un layer dans un groupe

1
2
3
4
5
6
7
8
9
# Objet courant
obj = mari.geo.current() # Objet courant
# Création du channel
channel = obj.createChannel("Mon Channel", 2048, 2048, 16)
# Création du groupe (group layer) et de son "empilement"
group = channel.createGroupLayer("Mon groupe")
groupStack = group.layerStack()
# Création d'un layer dans le groupe
layer = groupStack.createPaintableLayer("Mon layer")

[section label= »Changer le mode de fusion d’un layer » anchor= »mode-fusion »]

Changer le mode de fusion d’un layer

1
2
# Avec "value" un int entre 1 et 30*
layer.setBlendMode(value)

*Cf: liste des modes de fusion des layers

Créer un masque sur un layer

1
2
3
4
5
6
# Création du masque
mask = layer.makeMask()
# Création de la couleur du masque
color = mari.Color(0, 0, 0)
for image in mask.imageSets():
image.setUniformColor( color )

[section label= »Modes de création » anchor= »modes-creation »]

Modes de création

  • Reveal all

Le mode Reveal All rempli le masque de blanc.

  • Hide all

Le mode Hide All fait un Fill Color avec du noir.

Partager sur:

Photographe professionnel, originaire d'Alsace (France), ancien Directeur Technique sur les films d'animation "Minions", "Moi, Moche et Méchant" et "Le Lorax".

Laisser un commentaire