【UE4】用Custom Stencil完成后处理外描边效果

今天捣鼓了一下,感觉用Custom Stencil更快也更方便先看看效果,

【UE4】用Custom Stencil完成后处理外描边效果
具体用法如下

初始部分

1:在项目设置里把Enabled with stencil给上

【UE4】用Custom Stencil完成后处理外描边效果

2:在Mesh的细节里找到CustomDepth,并给上一个数值

【UE4】用Custom Stencil完成后处理外描边效果

3:具体的视图可以在Buffer视图里找到

【UE4】用Custom Stencil完成后处理外描边效果【UE4】用Custom Stencil完成后处理外描边效果

那么,初始步骤就完成了。

材质部分:

1:新建一个后期材质

【UE4】用Custom Stencil完成后处理外描边效果
【UE4】用Custom Stencil完成后处理外描边效果防闪烁

2:先获取一个像素的大小,再把它分解

【UE4】用Custom Stencil完成后处理外描边效果

3:新建一个材质函数,作为采样函数

【UE4】用Custom Stencil完成后处理外描边效果
(获取屏幕像素的大小,再加上一个偏移值,/看到这的大佬估计已经知道是啥回事了2333/,并把它们的偏移值给到我门的CustomStencil图里,(萌新们就想象下把图片往边边挪一个像素就行了),再除以128,也就是我们开始给的128蒙版值)。最后函数输出的就是一张偏移后的图像了。

4:偏移像素

【UE4】用Custom Stencil完成后处理外描边效果
上下左右移动4次,(这里我偷懒了(因为截图截不下来),所以只采样了4次,正确做法应该是上,下,左,右,左上,右上,左下,右下都采样一次)

5:取最大值

【UE4】用Custom Stencil完成后处理外描边效果
将输出的4组采样数据进行Max,因为刚刚是除了128,颜色值为(1,1,1,),所以算出来的值应该是一个扩大了四周的颜色为(1,1,1)图像,(这个图的破绽是把边宽度放大得出来的,这也是4组采样的缺点
【UE4】用Custom Stencil完成后处理外描边效果

6:减

接下来就好办了,我们只要扣出中间的值,就等于我们得到了一组描边,对吧?所以就很简单了,我们用这个图像-未做修改的图像,是不是就等于描边了呢
【UE4】用Custom Stencil完成后处理外描边效果
减去后就得到了我们想要的描边了
【UE4】用Custom Stencil完成后处理外描边效果

7:彩虹流光

这个也没多大难,用的是投机取巧的办法,因为如果用向量确定UV原点作为Mesh的中心的话需要很多个Stencil,这样不是太方便,所以我用的是这种办法
【UE4】用Custom Stencil完成后处理外描边效果

7.5(把这彩虹图怎么来的也讲下吧)->打开我们的PS

1:创建一个1024*1024像素的图【UE4】用Custom Stencil完成后处理外描边效果
2:在左边找到渐变工具
【UE4】用Custom Stencil完成后处理外描边效果
并设置成彩虹画笔
【UE4】用Custom Stencil完成后处理外描边效果
3:横着画一笔
【UE4】用Custom Stencil完成后处理外描边效果
4:在滤镜-扭曲找到极坐标,平面到极坐标,就得到这种图像了

【UE4】用Custom Stencil完成后处理外描边效果
5:因为有过渡边,所以我们需要用高斯模糊模糊(10左右差不多了)一下
【UE4】用Custom Stencil完成后处理外描边效果
6:再导入到UE4里。

8:再把描边弄好后,再加上我们的场景颜色

【UE4】用Custom Stencil完成后处理外描边效果

9:附上全图

【UE4】用Custom Stencil完成后处理外描边效果