之前一直好奇類似霓虹燈光暈的效果是怎樣實現(xiàn)的,今天看了一篇教程才知道是通過后處理實現(xiàn)的怒详。但是教程使用的 Unity 和我用的版本不一樣疗绣,所以實現(xiàn)步驟上有一些不同,所以在這里記錄一下。
一俐载、創(chuàng)建項目
在Unity Hub創(chuàng)建項目時要選擇項目模板類型蟹略,有以下幾個選項(Unity2018),有些模板是不包含后處理(Post-process)的遏佣,需要自己安裝挖炬。
2D:就是平面的游戲,我很少能用到状婶;
3D:使用內(nèi)置渲染管線意敛,不包含后處理模塊;
3D With Extras:使用內(nèi)置渲染管線膛虫,包含一個默認場景草姻,包含后處理模塊;
High Definition Render Pipeline:高清渲染管線走敌,適合PC碴倾、VR和主機等具有高性能的平臺,包含后處理模塊掉丽;
Lightweight Render Pipeline:輕量級渲染管線跌榔,適合手機等性能較弱的移動平臺,不包含后處理模塊捶障。
因為要進行后處理僧须,我直接創(chuàng)建了一個 3D With Extras 項目。
二项炼、添加后處理(Post-process)的步驟
創(chuàng)建 Post-process Volume
直接Create -> 3D Object -> Post-process Volume担平,如果使用了 3D 模板,則需要先安裝后處理模塊锭部。將 Layer 設置為 Post-process
- 創(chuàng)建 Profile
- 添加后處理效果
點擊 Add effect...暂论,選擇 Unity -> Bloom。
- 調(diào)整 Bloom 參數(shù)
這里如果不選 Is Global 可以為局部場景添加后處理效果拌禾。
- 為相機創(chuàng)建Post層
點擊 Add Component -> Rending -> Post-process Layer取胎。
Bloom效果
三、其他后處理效果
環(huán)境光遮擋 (Ambient Occlusion)
使挨著折痕線湃窍、小孔闻蛀、相交線和平行表面的地方變暗。在現(xiàn)實世界中您市,這些區(qū)域往往會阻擋或遮擋周圍的光線觉痛,因此它們會顯得更暗。景深 (Depth of Field)
漸暈 (Vignette)
畫面的四周變暗茵休,可用于表現(xiàn)藝術效果薪棒,例如將焦點集中到圖像的中心手蝎,或營造特殊氛圍。運動模糊 (MotionBlur)
顆粒 (Grain)
色差 (Chromatic Aberration)
可以模仿真實攝像機在鏡頭無法將所有顏色融合到同一點時產(chǎn)生的效果盗尸,沿著圖像明暗分隔邊界出現(xiàn)“條紋”(類似于抖音的效果)柑船。
注意:
還有 自動曝光 (Auto Exposure)、屏幕空間反射 (ScreenSpaceReflection)泼各、顏色分級 (Color Grading) 這幾個效果我沒有寫鞍时,因為他們的參數(shù)比較復雜,我還沒有完全搞懂扣蜻,等后面用到了再來補充逆巍。
有兩個效果 延遲霧效 (Deferred Fog) 和 抗鋸齒 (Anti-aliasing) 在官方文檔里寫了,但是我的 Unity 里沒有莽使; 鏡頭畸變 (Lens Distortion) 在我的 Unity 里面有锐极,但是官方文檔里沒有寫。
所有效果的 Intensity 都是 0 到 1 之間的芳肌。
后處理效果并不只是對呈現(xiàn)在屏幕上的圖像做后期處理灵再,也可能依賴于深度紋理和法線紋理,例如《Unity Shader 入門精要》一書中第 13 章的運動模糊亿笤、霧化效果等等翎迁。