用干净的 alpha 整合你的渲染成果
当透明图像在目标软件中导入并缩放后,其轮廓在预定背景上依然可信,才算准备就绪。先检查 alpha 的解释,再检查颜色和效果。干净的棋盘格并不够:它可能掩盖浅色边缘杂色、深色边缘或被截断的反光。
将透明度与伴随它的颜色分开
alpha 通道表示前景对合成的贡献。为零时透明;为一时不透明;中间值参与柔化边缘和部分透明区域。棋盘格只是显示辅助。它不是图像的一部分,也不能证明文件具有预期的通道。
有两种将颜色与 alpha 关联的约定。在直通(straight)中,也称为非关联,颜色与覆盖度分开存储。在预乘(premultiplied)中,即关联,颜色已经乘以 alpha。Blender 在渲染和合成中使用第二种约定。Alpha Convert 节点可在两者之间转换;以直通方式进行的操作在输出时必须回到预期的约定。Blender 手册对此有说明。
这一选择并非质量偏好。健康的图像若被读取器应用了错误的约定,也会显得受损。在添加转换节点之前,先确认文件包含的内容。
看看双重乘法对边缘的影响
让我们以线性光进行一个示例计算,并不声称描述某个渲染像素。红色边缘的直通颜色为 (0.8 ; 0.1 ; 0.1),alpha 为 0.25。因此其预乘颜色为 (0.2 ; 0.025 ; 0.025)。在灰色背景 (0.4 ; 0.4 ; 0.4) 上,背景的贡献乘以 0.75。结果为 (0.5 ; 0.325 ; 0.325)。
如果读取器将已预乘的值当作直通处理,它会再次乘以 0.25。红色贡献减少:边缘变暗。反之,省略一次预期的乘法可能使轮廓过度明亮。然而 alpha 本身在黑白下可能看起来正常。
这个演示解释了一类边缘杂色;它无法仅凭外观诊断所有缺陷。嵌入的背景颜色、错误的色彩管理或在合成后应用的效果都可能产生类似结果。保留原始文件,以便回到最初的解释。
| 观测 | 初步检查 | 应避免 |
|---|---|---|
| 浅色背景上的深色边缘 | alpha 约定与重复乘法 | 立即侵蚀整个轮廓 |
| 深色背景上的浅色镶边 | 解释及旧背景混入颜色 | 使整个对象变暗 |
| 轮廓正确但整体色调不同 | 色彩空间与变换 | 修改 alpha 来修正颜色 |
| 仅在缩小后出现缺陷 | 重采样与效果顺序 | 仅在源分辨率下验收 |
准备透明输出与导入约定
首先确认渲染结果中是否确实包含所需的透明度。透过玻璃物体可见的背景与完全缺失的背景,其作用并不相同。接着选择带 alpha 通道的输出,并检查实际保存的文件,而不只是 Render Result。在交付说明中写明:尺寸、色彩空间、预期的 alpha 约定以及目标背景。
PNG 规范定义的是非预乘 alpha。OpenEXR 按惯例使用预乘颜色。这些约定只是交换的起点;仍要核实所用的导出器和导入器,尤其是在有中间软件重写过通道的情况下。不要因为文件扩展名看起来含糊,就手动再乘一次。 PNG 规范和 OpenEXR 技术介绍都明确说明了各自的模型。
在接收端,导入一份未做校正的副本。分别显示 RGB 和 alpha 通道,然后按约定好的背景合成图像。合理的转换应当改善边缘,而不是人为改变不透明区域。
示例:三种背景上的缎带
此案例仅作示意;所述规范遵循上文引用的 Blender 5.2 手册,并不假设已安装该版本。在米色海报、黑色变体和橙色卡片上,紫色丝带应环绕标题。艺术指导要求纤细的环扣和轻微的动态模糊。仅用棋盘格检查一次会漏掉两个主要难点:部分被覆盖的端点和缎面极亮的高光。
准备三个相同的构图,每个都使用纯色背景。检查外边缘、环扣内部以及丝带穿过标题的区域。先按实际尺寸查看,再按卡片的最终尺寸查看。如果黑线只出现在米色和橙色上,在修改蒙版前先检查 alpha。如果黑色背景上残留米色调,请在源图像中查找已经混合的颜色。
然后执行所需的缩放,并重新打开得到的导出文件。对于动画,围绕幅度最大的运动添加一小段连续片段:轮廓必须保持形状而不闪烁。预期的检查并不是“没有任何半透明像素”;这些像素对于柔和边缘是必要的。要求在于它们与三个背景的融合必须一致。
处理边缘,不削减主体
先回到最小化的合成结构:图像、输入解释、背景、输出。暂时去掉锐化、光晕、调色以及其他效果。如果边缘恢复正常,就逐一重新启用这些操作,找出问题出在哪一步。不要在不知道各自作用的情况下,同时叠加播放器的自动校正和手动转换。
对已经乘算过的颜色施加非线性色彩校正时,可能需要临时切换到 straight 模式处理。用专门的工具完成这一转换,保护好返回合成惯例的路径,并检查 alpha 极低的区域。自己去除以一个接近零的值,可能会放大不需要的数值。去污滤镜或对蒙版做轻微修改,只能在这个诊断之后进行,而且要在一份副本上、在对象可接受的范围内操作。
最后,把主体的轮廓与其效果分开。接触阴影或外发光可能需要延伸到其剪影之外仍然可见。收紧 alpha 以消除边缘亮线,可能会把它们一并去掉。如果这些效果需要可调,就要按与接收方约定的元素安排它们的还原;合成通道指南有助于选择合适的通道。
何时单纯抠图已不够用
折射和反射取决于所渲染的环境。alpha 通道不会重新计算一块玻璃放在新背景前会呈现的效果。因此,抠出的瓶子可能轮廓正确,但其玻璃内部仍保留旧背景的观感。若要做大幅替换,请用目标背景测试场景,或约定一套适配的拆分方案;不要宣称透明度是通用的。
在确认前,请检查浅色和深色背景、细微细节、外溢效果以及最终缩放。若结果是动态的,还要检查时间上的连续性。保留一张合成参考图,并标明对应的透明文件,以便接收方能区分预期效果和自己的背景。
一个文件可能通过这项视觉检查,却在另一个应用中被错误解读。因此,导入说明也是交付的一部分。若对比度偏差影响整个物体,请先在色彩一致中调整文件,再进一步精修蒙版。
你的疑问。
透明 PNG 是否需要设置为预乘 Alpha?+
PNG 按其规范存储的是非预乘 alpha 通道。软件可以在内部转换这种表示形式。请正确声明输入,避免不必要的额外转换。
为什么棋盘格看起来没问题,但在白色上却出现了一条细边?+
棋盘格可能会掩盖对比度低的缺陷。请分别将图像合成到浅色背景、深色背景以及实际目标颜色上,以检查边缘轮廓。
需要加大 alpha 才能让边缘变清晰吗?+
并非总是如此。部分透明的像素用于柔化边缘、模糊和精细细节。在对蒙版进行任何腐蚀或修改之前,请先检查其解读结果。
alpha 通道能否自由替换玻璃后面的背景?+
它不会重新计算折射或反射。对于复杂的透明物体,场景变化可能需要重新渲染或专门准备的元素。