UE4还原CRT像素效果笔记

image-20210104003141990

参考文章

https://mp.weixin.qq.com/s/DbEbPRdmo_uaITfLROJAUg

效果分解

远看像素化,近看充满着像素点,画面不断抖动,有不断从上到下的刷新

图片像素化

首先UV0-1区间是会和图像相对应的,图像的每个像素都会有相对应的UV区间

image-20210103183503865

比如512X512的一张贴图,左上角第一个像素对应的UV区间是0-0.00195(1/512)

image-20210103183556380

所以像素化的方法只要我们将UV划分为若干个举行区域,那么每个区域都会填充相同颜色

image-20210103183833564

可以看到被划分了16X16个区域

image-20210103183807712

这样像素化就完成了

image-20210103183948978

像素点

图片

利用frac节点将UV分成多个0-1不断重复地块

image-20210103201346595

与像素化结果相结合

image-20210103201424096

将以上功能进行打包成一个材质函数MF_Pixel

image-20210103205748466

方便重复利用

image-20210103202000689

像素隔行错位

主要思路:准备两套UV,一套UV不偏移,一套UV偏移一定距离,然后隔行进行切换

image-20210103205101024

假设我们像素分辨率为8,那么我们UV相乘之后会扩充到0-8区间,我们用Mask将G通道取出来会得到下图

image-20210103204309087

再连接Sine,你会发现了总行数会变成16行,这是因为UE4中sine节点输入1就代表输入2Pi,一个循环,所以我们0-1区间就变成了两行,一黑一白,原本8个区间,所以总行数变成16行。

image-20210103204812013

这与我们的像素分辨率不符,所以我们必须除以2,得到正确的行数Mask图

image-20210103205212938

没有加上像素细节的效果

image-20210103210525134

像素化效果切换

如果我们将视角拉的足够远,那么将会出现严重的摩尔纹

image-20210103211914605

所以我们将使用SphereMask根据摄像机的距离进行像素化和像素素材的效果切换

image-20210103212040780

色条,明度,抖动

色条主要混合了不同速度和比例的UV,最终将输出rgb色条与原图进行Mul

明度也靠色条的UV与原图相加

抖动将混合了不同速度比例的UV与像素化UV直接Add

最终效果

这gif录制好像有点问题,忽略红点就好了

GIF 2021-1-4 0-29-55

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2021 Opda
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信