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來顯示不同部位而已。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM