相信很多初学者都有这样的困惑,搞不清蒙版和遮罩这两个概念的区别,甚至有的人认为它们就是一个东西。

这两个看似一样的概念,其实是有很大的区别的,今天主要从定义和作用方式这两个方面进行解析,相信对各位认识并理解蒙版和遮罩有一定的帮助。

蒙版的定义

蒙版(Mask)是一种路径,分为闭合路径蒙版和开放路径蒙版。

蒙版依附于图层,与效果、变换一样,作为图层的属性存在,不是单独的图层。


蒙版的作用

蒙版常用于修改图层属性,比如图层透明度(修改形状)。


蒙版作为路径是可以添加效果的,比如音频波形、描边、填充、勾画等。


PS:有些效果可以同时输入到闭合路径和开放路径,比如涂抹(涂写)、描边、路径文本、音频波形、音频频谱以及勾画。

而有些效果只能输入到闭合路径之上,如填充、改变形状、粒子运动场以及内部/外部键。

蒙版可以作为特定对象的运动路径,比如文字、图形、灯光对象的路径等等。

文字运动路径:


图形运动路径:


灯光运动路径:

蒙版的创建方式

常用形状工具或者钢笔工具创建。


也可以将AI\PS\FW中的路径直接复制粘贴到AE的图层上作为蒙版。


遮罩的定义

遮罩(Matte)即遮挡、遮盖,遮挡部分图像内容,并显示特定区域的图像内容,相当于一个窗口。

不同于蒙版,遮罩是作为一个单独的图层存在的,并且通常是上对下遮挡的关系。

下面详细解析常用的轨道遮罩(Track Matte)的原理。

阅读以下内容可能需要先理解:透明度(Transparency)和不透明度(Opacity)。

a.不透明度越高=透明度越低=图片越清晰。

b.不透明度越低=透明度越高=图片越不清晰。


透显程度:指的是遮罩层透过自身能够显示出的图像的清晰程度。

Alpha遮罩读取的是遮罩层的不透明度信息。

使用Alpha 遮罩之后,遮罩的透显程度受到自身不透明度影响,但是不受亮度影响。

遮罩层不透明度和透显程度成正比的关系,也就是不透明度越高,显示的内容越清晰。也可以理解为遮罩层透明度越低(最低为0%),显示出的内容越清晰。

如下图,在遮罩层不透明度不变的情况下修改遮罩层的亮度信息,显示图片的清晰度没有发生变化。

[HSB模式下,B代表亮度(Brightness),A代表透明度(Alpha),XY表示当前鼠标所指位置。]


也可以参照下图:


而在遮罩层亮度信息不变的情况下,改变其不透明度,显示图像的清晰度会随之变化。

因此Alpha 遮罩的特性是只受到遮罩不透明度的影响。

与Alpha遮罩不同,亮度遮罩读取的是遮罩层的亮度(明度)信息。

即白色的部分(亮度为255时)透显程度最高,图片最清晰。黑色的部分(亮度为0时)图片完全不显示,图片最暗。灰色部分(亮度为255/2=127.5时),清晰度为原图的一半,介于两者之间。


也就是说遮罩层亮度值越大,显示出的图片越亮越清晰,反之越暗,,成正比关系。

如下图,遮罩层不透明度不变的情况下,修改其亮度信息,透显出的图像清晰度会随之改变。

同样的,亮度遮罩模式下遮罩层的透显程度,也会受到遮罩层的不透明度影响,不透明度越高,显示图像越清晰。

以上两种遮罩的使用场景各不相同。

只有一种情况,任意两种方式都可以,那就是遮罩层是带黑白通道的图像,选择哪种方式都是可以的。

Alpha反转遮罩和亮度反转遮罩都是将选区进行反转,原理都是相同的,篇幅所限不再赘述。

Alpha 遮罩、亮度遮罩与模板 Alpha、模板亮度的区别。

前面两个归属于轨道遮罩,而后面两个归属于图层混合模式,都是起到遮罩的作用。

区别仅在于作用方式和作用的图层的数量:

Alpha 遮罩和亮度遮罩是在被遮罩层上添加效果,仅对下方的一个图层起作用,使用时遮罩层不显示(眼睛关闭)。

而模板 Alpha和模板亮度是在遮罩层上添加效果,并对下方的所有图层起作用,使用时遮罩层显示(眼睛不关闭)。


同样的,轮廓 Alpha和轮廓亮度就是将遮罩选区反转,原理和对应的模板相同。

特殊的遮罩方式:保留基础透明度

上面介绍的遮罩方式都是上对下遮挡,而保留基础透明度非常特殊,图像层是在遮罩层之上,是一种下对上的影响关系。

举例说明:

绘制三个图层独立的多边形。

将图像放置到三个形状图层的最顶端,找到轨道遮罩TrkMat旁边的T-保留基础透明度,在图像图层上点击启用,得到如下效果:

这个就是保留基础透明度的作用。

和Alpha 遮罩一样,保留基础透明度模式下,遮罩层的透显程度同样受到自身的不透明度影响。

感谢大佬整理:https://zhuanlan.zhihu.com/p/56928976

AE|蒙版、遮罩、轨道遮罩全面解析的更多相关文章

  1. Quartz2D 编程指南(四)位图与图像遮罩、CoreGraphics 绘制 Layer

    概览 图形上下文 路径 颜色与颜色空间 变换 图案 阴影 渐变 透明层 Quartz 2D 中的数据管理 位图与图像遮罩 CoreGraphics 绘制 Layer 位图与图像遮罩 简介 位图与图像遮 ...

  2. 弹出页面遮罩层,以及web端和移动端阻止遮罩层的滑动。

    最近项目遇到了遮罩层的一些问题,总结一下: 弹出遮罩层 遮罩层弹出有非常多的方法,这里只写出本人用的代码,使用jq操作dom的方法进行实现的. <style>.box{position:a ...

  3. jQuery+CSS 简单代码实现遮罩层( 兼容主流浏览器 )

    /* ** jQuery版本:jQuery-1.8.3.min.js ** 浏览器:Chrome( v31.0.1650.63 m ),IE11,Firefox( v32.0.1 ),IETester ...

  4. 遮罩、警告框/弹框 - EasyUI

    1.遮罩 1.1. $.messager.progress //开启遮罩 $.messager.progress({}); 或 $.messager.progress({ title: 'Please ...

  5. jQuery实现遮罩层

    1.1 背景半透明遮罩层样式 需要一个黑色(当然也可以其他)背景,且须设置为绝对定位,以下是项目中用到的css样式: /* 半透明的遮罩层 */ #overlay { background: #000 ...

  6. Unity shader学习之遮罩纹理

    什么是遮罩? 遮罩允许我们可以保护某些区域,使它们奂于某些修改. 例如下面的例子,使用遮罩来控制高光反射. 转载请注明出处:http://www.cnblogs.com/jietian331/p/71 ...

  7. 白鹭引擎 - 遮罩( Rectangle )

    1: 矩形遮罩 class Main extends egret.DisplayObjectContainer { /** * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须调用 ...

  8. 【Unity Shader】(四) ------ 纹理之法线纹理、单张纹理及遮罩纹理的实现

    笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题. [Unity Shader](三) ----- ...

  9. 遮罩效果 css3

    CSS3提供了遮罩效果,这是以前CSS2中比较难实现的一个新特性,配合SVG或者canvas同样也可以实现遮罩效果,他的效果就如下图所示: 简单的说就是在一个层上面加一个过滤层,过滤层透明度越低,底层 ...

  10. ZBrush中如何使用套索工具绘制遮罩

    ZBrush®中创建遮罩的方法有很多,可以手动创建矩形遮罩.圆形遮罩和图案遮罩,然而这些遮罩都是固定的形状.使用Zbrush中的套索遮罩能够实现不规则的图形遮罩,游刃有余的发挥创作. 使用套索工具绘制 ...

随机推荐

  1. react组件传参记录,防止以后忘记,欢迎指正讨论

    c: 'Celsius', f: 'Fahrenheit' }; function toCelsius(fahrenheit) { return (fahrenheit - 32) * 5 / 9; ...

  2. 【笔记】DDD实战课-人保架构欧创新

    目录 开篇 学好DDD,你能做什么? 基础 领域驱动设计:微服务设计为什么要选择 DDD? DDD的两层设计 DDD与微服务的关系 领域.子域.核心域.通用域和支撑域:傻傻分不清? 领域和子域 核心域 ...

  3. WebService 客户端上传图片,服务器端接收图片并保存到本地

    需求:如题,C#本地要调用Webservice接口,上传本地的照片到服务器中: 参考:客户端: https://blog.csdn.net/tiegenZ/article/details/799276 ...

  4. 光纤加速卡第410篇:基于XCVU9P+ C6678的40G光纤的加速卡 光纤的加速卡 无线通信

    光纤加速卡第410篇:基于XCVU9P+ C6678的40G光纤的加速卡 光纤的加速卡 无线通信   基于XCVU9P+ C6678的40G光纤的加速卡 一.板卡概述 二.技术指标 •  板卡为自定义 ...

  5. pgsql指定部分字段去重

    -- 基于ig.start_pile,ig.end_pile 字段去重 with ete as ( SELECT * from (SELECT ROW_NUMBER() OVER(PARTITION ...

  6. git当前分支修改文件不提交切换另一个分支(git stash)

    出发前先讲故事:项目正在test分支更新版本我们疯狂的写bug,突然没更新前的版本出bug了(意料之中),此时呢我们要切换到master分支去改bug.此时此刻我test分支上修改的文件还不想提交,但 ...

  7. Delphi实现Windows的气泡提示样式

    其实也不复杂,主要使用到shellAPI下的TNotifyIconData这个结构体: typedef struct _NOTIFYICONDATA { DWORD cbSize; //结构体的大小, ...

  8. 简述ECMAScript6的新特性

    1.增加块级作用域 2.增加let const 3.解构赋值 4.函数参数拓展(函数参数可以使用默认值,不定参数及拓展参数) 5.增加class类支持 6.增加箭头函数 7.增加模块和模块加载(ES6 ...

  9. Windows11安装Hadoop3.3.2

    Windows11安装Hadoop3.3.2 JDK 安装 Hadoop的Java版本https://cwiki.apache.org/confluence/display/HADOOP/Hadoop ...

  10. dead code?

    public static void main(String[] args) { DriverBase dbase = new DriverBase(); dbase.driverBase(); dr ...