2020-09-27 shader案例

本文是Shader案例分析实现      ,三篇内容的汇总:

01_PannerUV


参数介绍:

节点图:

说明:

      对一张贴图进行平移UV地采样;

      用上面采样的贴图对另一张贴图的UV采样进行扭曲;

      实现扭曲的效果;

      用这种UV偏转的方法实现的扭曲效果是非常廉价的,可以在移动端使用,适合做一些水折射的模拟。

Distortion

效果:

参数介绍:

节点图:

说明:

对贴图UV进行扰动采样两张图;

一张用于对颜色值进行失真采样;

一张用于对Alpha值进行失真处理;

实现不规则的失真效果;

受到顶点颜色的影响;

有深度混合的功能,和其他物体衔接的地方透明度降低;

这个是一个用于粒子特效的Shader,会受到Unity粒子系统的颜色变化值的影响。深度混合的功能,如果在游戏中使用,需要在摄像机上挂 EnableCameraDepthInForward.cs (在ShaderForge的插件中有)的脚本

ImageBlend

效果:

参数介绍:

节点图:

说明:

对屏幕之前的图像进行采样;

使用两张贴图和屏幕图像混合;

根据图片的Alpha通道对屏幕之前的像素和图片的采样结果进行混合;

两张图片混合的结果再通过一个Lerp值进行差值显示

用这种方法实现这种效果,是非常不可取的,因为采样屏幕当前图像的做法是非常耗时,且一些低端的移动设备不支持,一般用这种方法来实现刀光扭曲和毛玻璃的效果。这种方法不可取

Gradients

效果:

参数介绍:

节点图:

说明:

这个Shader更像是一个中间产品,很少有单独用到这种效果的,这中渐变的索引通常配合更多更复杂的Shader来实现更复杂的效果,这个Shader权当是记录这种实现方法,以后要用到这种实现的时候,从这里拷贝过去就行

1、头发

效果:

参数介绍:

节点图:

说明:

使用这种方法来模拟头发,尽量把头发模型的UV顺着头发生长方向分

2、Blinn-Phong

效果:

参数介绍:

节点图:

说明:

使用的效果有:反射环境光;边缘光;自发光;Blinn-Phong光照模型

3、MatCap

效果:

参数介绍:

节点图:

说明:

MatCap效果的实现原理是法线在屏幕空间的xy分量映射到0-1,然后作为UV对贴图进行采样

4、雪

效果:

参数介绍:

节点图:

说明:

使用细分曲面的方式实现雪的效果,这种方法较为昂贵,适用于PC和主机平台,移动平台直接去掉细分也能得到不错的效果。

5、黑洞扭曲

效果:

参数介绍:

节点图:

说明:

通过一些复杂的计算实现一种漩涡扭曲的图形,这种做法类似SubstanceDesigner的程序纹理,这种实现方法会消耗一些GPU的ALU,适合在硬件性能较好的平台使用。

6、贴图扭曲

效果:

参数介绍:

节点图:

说明:

使用贴图制作扭曲的方式更加灵活多变,可根据不同的模型对应产生不同的效果,便于美术控制

7、sin函数波形图

效果:

参数介绍:

节点图:

说明:

这种完全通过UV(0-1)生成的波形图,在一定程度上减少对贴图的采样,但也伴随着精度的问题,数值过大的时候会根据不同显卡产生一些误差。

带高光卡通效果

效果:

参数说明:

节点图:

说明:

添加了Blinn-Phong高光的卡通渲染效果

漫画网点效果

效果:

参数说明:

节点图:

说明:

模拟漫画网点效果,可以用作特殊场景的渲染效果

漫画影线效果模拟

效果:

参数说明:

节点图:

说明:

模拟漫画网点效果,可以用作特殊场景的渲染效果

卡通海洋模拟

效果:

参数介绍:

节点图:

说明:

可用于模拟简单的卡通海洋浪花效果,并不完善,不能直接使用

效果:

参数说明:

节点图:

说明:

在地面剪切一个圆形洞,可用作特殊用途

网格

效果:

参数说明:

节点图:

说明:

可以用于制造镂空模型网格效果

灯光光晕

效果:

参数说明:

节点图:

说明:

可用作模拟灯光光晕的效果,需要开启摄像机的深度模式才可以使用。

扇形图

效果:

参数说明:

节点图:

说明:

扇形图,原理类似溶解

扇形图2

效果:

参数说明:

节点图:

说明:

可控制张角和旋转角度,可配合一些复杂效果做遮罩使用

模拟星空

效果:

参数说明:

节点图:

说明:

模拟星空的效果,可以用作天空盒

旋转法线

效果:

参数说明:

节点图:

说明:

旋转法线效果,实际用处不大

根据方向混合贴图

效果:

参数说明:

节点图:

说明:

根据方向对法线和纹理进行混合,实际用处不大

Terrain地形混合效果

效果:

参数说明:

节点图:

说明:

两种实现均是可以的,实现原理等同于 T4M以及Unity自带的Terrain Shader

以下是一些没有搞清楚的Shader,只给大家分享一下节点图和几张效果,有兴趣的同学可以下载下来深入研究

效果:

节点图:

效果:

节点图:

节点图:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。