文档 输出

透明和 Alpha

哪些导出格式保得住透明、直接和预乘的差别、遮罩是干什么的,以及怎么在拍板之前把结果查清楚。

你干活期间,Celas Studio 里的画布始终带着一条 alpha 通道。导出时活下来的是什么,完全取决于你挑的格式:有的保得完好无损,有的根本表达不了它,还有一种只保住它硬邦邦的、非有即无的版本。

哪些格式装得下它

格式Alpha
PNG(静帧、序列、图集)有,无损
WebP(静帧、序列、图集)
JPEG、BMP无:永远被压平
MOV (QuickTime)有,只有直接
WebM (VP9)
动画 WebP
MP4 (H.264 / HEVC)无:通道那个控件被锁在 RGB 上
GIF 动画只有硬剪影,见下文,不是柔和的透明

对静帧、序列或精灵图集,背景提供画布颜色、黑色、白色和透明。透明只在 PNG 和 WebP 时出现,因为 JPEG 和 BMP 没地方放它。挑那两个当中任何一个,对话框会直说:「JPEG 无法保存透明度 - 将以画布颜色导出。」,BMP 也是同样的显示。图像会被压平到背景所设的那个颜色上,所以你要是需要一张透明的静帧,请先把格式换成 PNG 或 WebP。

对视频,透明住在通道这个控件里而不是背景里:把它设成 RGB + Alpha,那只在 MOV、WebM 和动画 WebP 上可用。MP4 会把这个控件压灰并强制成 RGB,因为 H.264 和 HEVC 都根本带不了 alpha 通道。想要一段透明的动态画面,不管别的设置怎么样,MP4 都不是一个选项。

GIF 是一种特殊情况

GIF 有一个调色板条目被留出来设为完全透明,而一个像素要么是那个条目、要么不是。没有部分透明这回事。一条柔和的边缘或者一片投影会变成硬邦邦、略微毛糙的剪影。想要干净的边缘,请改为导出 MOV、WebM 或动画 WebP,把 GIF 留给那些剪影无所谓的快速预览。

直接和预乘

通道设成 RGB + Alpha 的地方会出现一个颜色控件,带两个选项,直接和预乘。它们存的是同样的透明,但底下那份颜色是用不同的方式保着的,而这次选择在这段片子被合成到别的东西上之后就有分别了。

  • 直接把 RGB 值原封不动地照画的样子保着,和 alpha 通道彼此独立,所以一个半透明的红像素仍旧存成满强度的红,旁边配着 50% 的 alpha。
  • 预乘会随 alpha 降低而把颜色朝遮罩颜色混过去,所以一个黑遮罩上半透明的红像素存成一个更暗的红。有些合成和播放软件预期的正是这种格式,而在那些没有正确处理 alpha 的软件里,它能避免柔和边缘周围出现一圈发白的边。

直接是默认。只有在你要把文件交过去的那个软件要求时,才换成预乘。

遮罩

你一挑预乘,背景这个控件就变成遮罩,并提供画布颜色、黑色或白色,永远没有透明,因为预乘需要一个真正的颜色去往边缘里混。请挑你实际上要把这段片子合成到其上的那个背景;配得越近,边缘越干净。改挑直接则会把这个控件整个拿掉,因为直接 alpha 把颜色和透明分开保着,没有什么可以拿来做遮罩。

查看结果

视频和 GIF 动画两个对话框都放着一份实时预览,透明的地方后面衬着一张八像素的棋盘格,于是你在点导出之前就能看清什么活得下来、什么活不下来。GIF 预览过的是最终文件要过的同一道减色,所以你在那儿看见什么,拿到的就是什么。

文件一写出来,请在一个懂它 alpha 通道的应用里打开它来确认:Celas Studio 没有内置的办法事后去重新查看一个导出文件的透明,只有你导出之前对话框自己那份预览。