原理:其实就是获取图片,然后根据偏移获取不同像素,然后根据不同的透明度叠加得出一张模糊图
我这里没有优化正常情况用一个pass就足够
先上个图
拖动材质球Blur Size参数就有如上图效果
下面完整的shader,注意材质球要调渲染层3000就可以使用(PS:移动平台验证过可以使用)
Shader "Effect/ImageBlur"
{
Properties
{
_MainTex("Texture", 2D) = "white" {}
_StencilComp("Stencil Comparison", Float) = 8
_Stencil("Stencil ID", Float) = 0
_StencilOp("Stencil Operation", Float) = 0
_StencilWriteMask("Stencil Write Mask", Float) = 255
_StencilReadMask("Stencil Read Mask", Float) = 255
_ColorMask("Color Mask", Float) = 15
_BlurSize("Blur Size", Float) = 2
}
CGINCLUDE
#include "UnityCG.cginc"
sampler2D _MainTex;
uni