Post-processing是將全屏的濾鏡和特效應用於攝像機的圖像緩沖區,然后渲染在屏幕上的過程。只需要花費較少的時間進行設置,就可以大大提高產品的視覺效果。
下面的圖片展示了應用和沒應用Post-processing的差別。
應用前
應用后
很明顯,使用后畫面效果得到肉眼可辨的提升.看看畫面還都用到那些后期處理效果,不難發現其中有Antialiasing、Ambient Occlusion 、Screen Space Reflection、Bloom等等效果。
安裝
2018版本可以使用Window>>PackageManager進行添加.
打開Window->Package Manager,在左側列表上方從In Project切換到All,並在列表中選擇Postprocessing。在右邊的面板你可以看見關於這個資源包的一些信息和一個install(update)按鈕,點擊這個按鈕可以下載當前可用的最新版本的資源包。
快速開始
要在攝像機上激活post-processing,第一件事就是在攝像機上添加Component -> Rendering -> Post-process Layer組件。
重點來了,如果想要相機開啟 屏幕特效,有兩處必須設置一樣。如下圖,相機的Layer必須跟 Post Process Layer 中的 Layer 保持一致。
接着增加Post-process Volume組件,它可以被添加在任何的游戲物體上,包括攝像機也可以。但通常建議新建一個專門的游戲物體來賦予這個組件。讓我們從創建一個全局的Post-process Volume開始。創建一個空物體,並在它身上添加組件(Component -> Rendering -> Post-process Volume)或者使用(GameObject -> 3D Object -> Post-process Volume)。不要忘記將這個物體的Layer(層)設置為攝像機上的Post-process Layer組件的應用的層。
創建后默認情況組件是空的,並且有兩種模式:
Global: 設置為全局模式后,不會有任何的邊界,將會被應用在整個場景中。當然你也可以在場景中擁有多個Volume。
Loacal: 設置為局部模式后,需要添加一個Collider(碰撞器)或Trigger(觸發器)來確定這個Volume的邊界。任何類型的3D Collider都可以使用,簡單的Cube Collider到復雜的Mesh Collider都可以,但我們建議盡可能使用一些簡單的Collider,因為Mesh Collider較為消耗資源。局部的Volume可以設置一個Blend Distance(融合距離)值,代表從Volume外多遠開始一點點漸變到當前這個效果(根據Post-process Layer組件Trigger屬性賦予的Transform來計算)。
當前這個案例我們設置為全局模式,勾選Is Global。
Weight(權重)可用來減少該volume的全局影響,0表示完全不起作用,1表示完全起作用。
Priority(優先級)可用來確定該volume在堆中的優先級,值越高,優先級越高。
我們還需要創建一個profile(配置文件)應用在當前的volume上(或重用已存在的文件)。我們可以點擊New按鈕(或者可以在Project視圖中通過Create -> Post-processing Profile創建)。創建之后將作為資源文件存儲在工程中。你可以直接選擇這個配置文件進行編輯,或者更好的方式是該volume組件的檢視面板中進行編輯。
我們現在可以加效果了。
下面是對這個效果的分析:
每個字段左側都有一個開關,如果你想使用這個設置,那在編輯這個設置之前應該勾選這個開關。你也可以通過左上角的開關來快速的關閉或開啟下面的子項的這些開關。
右上角的on/off切換按鈕用來更改當前效果在堆棧中是否啟用(比如,如果你想在一個優先級更高的Volume上禁用一組效果),然后這個切換按鈕處於標題欄上,所以會作用於當前Volume的一整組效果。
最后,你可以右鍵點擊某一個效果的標題欄,可以進行復制、粘貼、移除、重置等操作。
Unity自帶的Profiles太少,Post Processing Profiles效果合集包含25個效果,並且支持PC/MAC和移動端,
下載鏈接:https://pan.baidu.com/s/1KNHpEhuTcrttshFE5Sdzrg
提取碼:vrgw