这里是页首<手机端的用户对8住,我8会写适配>

Unity移动端高效率动态模糊

一般的界面会有一个背景,然后背景上方放一个plane,该plane可以把背景模糊,

有很多种方法,比如取GrabPass然后缩小,取样,高斯模糊再放大,

但是这种方法效率依然不适合移动端,(不知道博客园能不能被编辑,图片我想以后再补充)

<2019年7月20日,二次修改补图>

 

我下面介绍一种方法:

需要两张图片一个遮罩层    背景1(正常背景)/背景2(已经在PS中模糊的背景)/Mask(plane的形状)

 如图所示,Mask为简单的方形

Mask,模糊后的img 都是scrollball的子对象

固定背景img是scrollball的父对象,

 

问题被简化为,使模糊后的img和固定背景img保持相对静止,

 即:


    
    
    public virtual void OnValueChanged(Vector2 scrollVector)
    {
        BlurTransform.GetComponent<RectTransform>().position = transform.GetComponent<RectTransform>().position;
    }

这种形式, 因为实现比较简单,就不写demo了

这种方式可以很高效的在移动端模拟出背景动态模糊,因为只是对一张已经模糊过的图,利用scroll和mask来显示不同部位而已。

 

posted @ 2019-06-21 14:05  comeonlilith  阅读(1216)  评论(0)    收藏  举报
这里是页脚