【ASE入门学习】ASE入门系列八——深度渐变

【ASE入门学习】ASE入门系列八——深度渐变_第1张图片

核心 Depth Fade节点:模型深度和深度缓冲区对比插值渐变出一个值,越靠近深度缓冲区的区域会呈现黑色,反之白色,若单纯使用Depth Fade会看到如下图。

【ASE入门学习】ASE入门系列八——深度渐变_第2张图片

【ASE入门学习】ASE入门系列八——深度渐变_第3张图片

如果发生这种全屏白色现象,TM的我也不知道怎么回事,反之要将这个Depth Fade输出时使用saturate节点进行映射回[0,1]值

【ASE入门学习】ASE入门系列八——深度渐变_第4张图片

 【ASE入门学习】ASE入门系列八——深度渐变_第5张图片

再这个基础上进行一减操作白的变黑,黑的变白。

【ASE入门学习】ASE入门系列八——深度渐变_第6张图片 之后则是简单的加颜色 加贴图,其中 贴图的UV值是采用了屏幕坐标Screen Position节点并且使用了一个Float2进行加权,其X,Y加权比例是屏幕分辨率比例,其实就是UV的tiling系数。

【ASE入门学习】ASE入门系列八——深度渐变_第7张图片

注意:由于需要从内外都能看到效果,需要弄成Cull Off 双面渲染,透明通道即可【ASE入门学习】ASE入门系列八——深度渐变_第8张图片

【ASE入门学习】ASE入门系列八——深度渐变_第9张图片

问题:自身不能写入深度,不然透过自身看内部的深度渐变情况会无效

【ASE入门学习】ASE入门系列八——深度渐变_第10张图片

错误示例:

【ASE入门学习】ASE入门系列八——深度渐变_第11张图片

 正确示例:

【ASE入门学习】ASE入门系列八——深度渐变_第12张图片

调整Distance参数,相当于是这个光边的宽度,实际意义是使用自身深度和深度缓冲区深度值相减得到的abs(差值)小于这个distance才会有光边(而且是带渐变的)差值越小(越靠近自身深度),越呈现黑色(不过我们取反也就是越呈现白色)。

你可能感兴趣的:(Amplify,Shader,Editor,Shader,Unity3d,学习)