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

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

蒙版的定义

蒙版(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. 解决uniapp 使用自带 switch 双向绑定视图不更新的问题

    使用  this.$set( a, b, c) a:需要更新视图属性对象 b:具体的属性值(就是你要更新视图的属性值) c:传递的参数 this.$set(this.gwjSelet,this.gwj ...

  2. docker实战(8)使用docker-compose快速搭建zookeeper集群

    镜像下载 docker pull zookeeper 复制 zookeeper 集群的搭建 创建名为docker-compose.yml的文件 输入以下内容 version: '2' services ...

  3. vue data functions should return an object

    报错: 原因:data里没写return{}

  4. 国行XBoxOne第一次开机配置主要问题备忘

    1,Kinect可以在设置中关闭. 2,彻底关闭主机,需要长按主机上的开关键,将主机彻底关机,同时开机只要轻触一下主机开关机键即可 3,不能更新问题:3.1检查网络已连接3.2检查路由器,将DNS中的 ...

  5. 暑假学习6 hdfs shell命令

    命令行操作:cli Hadoop的命令shell : Hadoop fs -ls file:                   操作 本地的文件系统 hadoop fs -ls hdfs://nod ...

  6. vue子组件为父组件属性写值

    父组件调用子组件代码(关键字sync): <importModel :visible.sync="dialogModelVisible"></importMode ...

  7. WDA学习(18):UI Element:TabStrip使用

    1.11 UI Element:Tabstrip使用 本实例显示UI Element:Tabstrip的使用. 1.创建Component; 2.选择Layout页签,设置页面: 创建UI Eleme ...

  8. Net6 托管服务、FluentValidation

    Net6 托管服务.FluentValidation 托管服务 1.场景,代码运行在后台.比如服务器启动的时候在后台预先加载数据到缓存,每天凌晨3点把数据导出到备份数据库,每隔5秒钟在两张表之间同步一 ...

  9. Token过期处理

    Token用于进行接口鉴权,但是Token具有由后端设置的过期时间,当Token过期以后,就无法再请求数据了 项目中后端设置的过期时间为24h,测试时我们可以手动修改token值让Token失效 处理 ...

  10. Mysql存储的设备推送数据如何利用GroupBy筛选所有设备的最新数据

    首先介绍GroupBy关键字的用法原理: 先来看下表1,表名为test: 表1 执行如下SQL语句:   SELECTnameFROMtestGROUPBYname 你应该很容易知道运行的结果,没错, ...