xrst

实时渲染管线中,有一类很麻烦的问题:带alpha的纹理边缘颜色容易受到污染。其原理可以参见这篇文章

要修复此类问题,通常我们需要做texture bleeding处理,修改纹理素材,保留alpha通道不变的同时,修改RGB数值。

例如这张资源:

透明区域的alpha=4%,RGB都为57,也就是几乎透明的灰色。

(如果像素是全透明即alpha=0%,Photoshop还查看不了RGB值,属于软件缺陷,这一点我在StackExchange上得到过证实。不过仍然可以用本文方法查看。)

我们希望保持这些透明像素的alpha不变,只修改RGB全部变白。

对于“全部变白”的需求,用Python很好实现。例如我之前写过一个脚本,用于将一张图片的全透明像素全部刷成白色。

不过要是想人工控制不同区域的颜色,还是得借助Photoshop/Illustrator这一类图像软件。

下面我以Photoshop CC 2018英文版为例介绍操作,其他版本也应该类似。

1)选中图层,分离出alpha蒙版

图层面板可以看到RGB和Alpha被分离出来了:

2)暂时禁用alpha蒙版

3)选中图层本身,进行颜色修改

例如我们可以用Brush将图片刷成白色:

4)恢复开启alpha蒙版

可以看到,图片看上去和之前一样,但是原先的半透明像素的RGB都变成了255白色:

最后可以保存了。

 

实际操作中发现,对于全透明像素采用上述方法修改并保存可能无效,Photoshop会自动将全透明像素的RGB重置,猜测是又一个bug。

如果遇到此问题,建议换个软件,例如开源的GIMP(GIMP - GNU Image Manipulation Program),操作和Photoshop非常类似。

分类:

技术点:

相关文章:

  • 2021-11-20
  • 2022-12-23
  • 2021-12-24
  • 2021-05-17
  • 2021-11-13
  • 2021-12-30
  • 2022-12-23
猜你喜欢
  • 2022-01-20
  • 2021-11-27
  • 2021-09-06
  • 2021-07-01
  • 2022-01-02
  • 2022-12-23
  • 2021-10-14
相关资源
相似解决方案