Unity移动端高效率动态模糊

mac2022-06-30  25

一般的界面会有一个背景,然后背景上方放一个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来显示不同部位而已。

 

转载于:https://www.cnblogs.com/coward/p/11064189.html

相关资源:Unity最新滤镜强大插件CameraFiltePack_ 4.0.0
最新回复(0)