在日常开发中有些情况下需要模糊和透明像素来达到效果,怎么实现呢,其实并不难
模糊的实现原理是当前像素的颜色改为周围像素的颜色的平均值,距离当前像素越远的权重越低,这样效果比较好。
透明可以通过alpha混合实现,但是注意需关闭深度缓冲区,且渲染队列(Queue)和渲染标签(RenderType)设为为Transparent
下面为一个简单实例:
UnityShaderDemo
Shader "Unlit/Test_15"
{
Properties
{
_BlurTex("BlurTex",2D) = "white" {}
_Color("Color",Color) = (1,1,1,1)
_Radius("Radius",Range(0,10)) = 1
_Trans("Trans",Range(0,1)) = 1
_BlurIntensity("BlurIntensity",Range(0,10)) = 3
}
SubShader
{
Tags {