Unity之Grab实现UI动态高斯模糊

GrabPass是一个特殊的Pass,它从frame buffer抓取物体所在位置屏幕中将要绘制的内容,将其填充至一个临时的texture,以供同一个Shader中其后的Pass使用。我们现在就要用它来实现高斯模糊的毛玻璃效果。

效果:
在这里插入图片描述
Shader
首先我们需要声明Shader所需属性:

Properties
{
    _BumpAmt("Distortion", range(0, 2)) = 1
    _TintAmt("Tint Amount", Range(0,1)) = 0.1
    _TintColor("Tint Color", Color) = (1, 1, 1, 1)
    _MainTex("Tint Texture (RGB)", 2D) = "white" {}
    _BumpMap("Normalmap", 2D) = "bump" {}
    _BlurAmt("Blur", Range(0, 10)) = 1
}
  • _BumpMap 和 _BumpAmt控制扭曲
  • _TintColor 和 _TintAmt控制叠加颜色
  • _BlurAmt 控制模糊程度

在SubShader中,增加GrabPass,GrabPass中可以是空的

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值