unity水下模糊效果
我看到網上大部分帖子都是通過景深(depth of field)實現,但是我自己在用的過程中發現并不好用,雖然能實現水下模糊,但是模糊的太假,不像是在水下,我這里采用的是淺藍色的霧加blur實現,先上效果圖:
水面圖
水下圖
實現方法如下:
第一步:
為了實現相機判斷是不是處于水面下,我這里采用一個cube來填充整個水下空間,這樣利于判斷是不是處于水面下,在hierarchy面板下點擊gameobject,創建一個cube,修改名字和tag為shuixia,調整cube的大小,使cube填充到整個水面以下空間。勾選cube的box collider組件下的is Trigger,否則相機無法穿入cube。
第二步:
給camera添加blur組件,該組件在image effects目錄下,如果你的unity下沒有image effects,那么不用擔心,那是因為你沒有導入標準資源,在project下導入標準資源即可。將blur的iterations 參數設置為1,blur spread 參數設置為0.3,你也可以設置其他值去調試效果。
第三步:
設置開啟濃霧效果,老版本的unity在edit的render setting下,新版本的fog在window/lighting中。勾選fog即能打開濃霧效果,設置濃霧的顏色可以實現模擬水下效果。當然,這里的濃霧和blur默認是所有場景,我們可以通過代碼控制fog和blur效果的顯示和關閉。
第四步:
具體腳本的編寫,我這里的思路是當攝像機與水面下的cube碰撞,就開啟fog和blur下過,當相機離開cube就關閉fog和blur效果,當然,初始化時要關閉fog和blur,除非初始時你的相機就在水下。
具體的腳本如下:
總結
以上是生活随笔為你收集整理的unity水下模糊效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 速成实用硬笔字——最常用高频汉字前100
- 下一篇: 老俞来了