比如在做新手引导的时候,希望某块区域(比如一块圆形区域)是清晰的,其他地方是模糊的。
这样的话界面里的所有Shader都要改动,下面用个简单例子进行说明。
这里的是Unity中的情形,这是一种很麻烦的方法,但是效率较高,其实有个更方便的方法,就是根据当前屏幕指定的点来做个圆,判断当前Fragment是否在圆形区域内:
“从远到近”依次是, 1:制造模糊的面(plane,其alpha值是半透明) , 2 代表界面的面 , 3 一个球 ,直接create 一个sphere
这里用的是最原始的shaderlab:
================1中的shader:========
Shader "Custom/WWW" {
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
_Color ("Color ", Color) = (1,1,1,1)
}
SubShader {
Blend SrcA