剪贴蒙版和继承透明度

Krita 图层的 “继承透明度”功能和 Photoshop 的剪贴蒙版虽然在用途上类似,但实现原理并不相同。这是因为 Krita 图层组的合成顺序与 Photoshop 不同。在 Photoshop 中图层组不影响图层的组合顺序,它总是由下到上逐一合成。在 Krita 中图层组是分级合成的,每个图层组首先会自行合成,然后才把合成的结果输出到更高一级的图层组里进行下一次合成,就好象图像里面嵌入的另一张图像一样。

Animation showing that groups are composed before the rest of composition takes place.

唯一的例外情况是启用了图层组的“穿透模式”时。这也意味着启用穿透模式时继承透明度将无法正常工作。(下图左:图层组内的图层先独立合成;下图右:图层组合成后的结果被视作一层,然后与图层组外的图层进行合成)

An image showing the way layers composite in Krita.

如果某个图层的“继承透明度”功能被启用,该图层的透明度将与在它下方的所有图层合并后的透明度保持一致。(下图左:启用了继承透明度的图层只被同一图层组中位于它下方的全部图层合并后的透明度影响,上一级的图层不会对其透明度造成影响;下图右:黄色三角形为顶层,红色圆形为中层,蓝色正方形为底层,左例 1 只有三角形图层启用了继承透明度,右例 2 的三角形和圆形图层都启用了继承透明度)。

An image showing how the alpha inheritance works and affects layers.

通过灵活使用继承透明度和图层组,我们可以实现许多事半功倍的效果。例如:

An image with line art and a layer for each flat of color.

我们准备了一张人物肖像的线稿,并铺好了底色,每个图层一种颜色。我们想在保持底层图层的清晰界限的前提下为人物添加复杂的光影效果。要正常使用继承透明度来实现剪贴蒙版的效果,我们先把所有底色图层拖进一个图层组里。你也可以在选中全部需要分到同一组的图层后按 Ctrl + G 。在下图中我们把眼睛部分再细分成一组处理。

An image showing how the alpha inheritance works and affects layers.

我们在眼睛图层组的两个图层上方新建一个新图层,随便画点白色充当反光,留意这些白色已经画到眼睛外面了 (下图)。

Clipping mask step 3. Clipping mask step 4.

然后启用新图层的继承透明度,这样反光的白色就会被限制在眼睛内部了 (上图)。

Clipping mask step 5.

你还可以为某个图层快速建立一个剪贴图层组。在上图中我们选中头发图层,按 Ctrl + Shift + G ,Krita 会自动新建一个图层组,把选中的图层拉进去作为底层,在它上面新建一个图层,并启用新图层的继承透明度选项。这个新图层的效果和 Photoshop 的剪贴图层是一样的。

Clipping mask step 6. Clipping mask step 7.

由于某个图层在启用继承透明度时会继承它下方所有图层合并后的透明度,我们还可以在它下面新建一个图层,把混合模式设为“擦除”来控制剪贴区域。在上图中刘海没有绘制反光,在上上图中我们通过使用擦除图层使得刘海靠下部分变得透明,从而实现了反光效果。除此之外,我们还应注意滤镜对继承透明度效果的影响。

Filter layers and alpha inheritance.

在上图中的演示中,在剪贴图层组中的不同图层上应用模糊滤镜,会产生不同的效果。这是因为模糊滤镜会影响色块边缘的不透明度,使得原本剪贴在清晰色块上的图层内容“跑出去”了。在掌握这种特性后,我们可以更灵活地在剪贴图层组中使用滤镜以实现所需效果。