翻譯的原文是Unity PostProcessing在GitHub上的文檔,希望可以方便一些英文不是特別方便的Unity美術同學閱讀學習派阱,如果翻譯的過程中有錯誤或者官方文檔有些修改诬留,希望大家可以留言指出,我及時進行修正
大致介紹
Post-processing是將全屏的濾鏡和特效應用于攝像機的圖像緩沖區(qū),然后渲染在屏幕上的過程文兑。只需要花費較少的時間進行設置盒刚,就可以大大提高產品的視覺效果。
你可以使用Post-processing來模擬物理攝像機和電影效果绿贞。
下面的圖片展示了應用和沒應用Post-processing的差別因块。
安裝
Package(資源包)
安裝和更新Post-processing比較規(guī)范的方式是使用Unity2018.1之后推出的Package Manager。
注意:如果你已經在你的項目中引入了某一個Scriptable Render Pipeline(可編程渲染管線)樟蠕,那么Post-processing就已經導入在你工程中了</font>
打開Window->Package Manager
贮聂,在左側列表上方從In Project
切換到All
,并在列表中選擇Postprocessing
寨辩。在右邊的面板你可以看見關于這個資源包的一些信息和一個install(update)按鈕吓懈,點擊這個按鈕可以下載當前可用的最新版本的資源包。
Sources(源代碼)
如果你愿意的話也可以使用最新版本的Post-processing靡狞,但注意只有打包發(fā)布的版本是官方推薦的耻警。如果你對Git不是很熟悉,我們建議下載Github Desktop甸怕,很容易使用并且和Github集成的很好甘穿。
首先確認你沒有導入Postprocessing
資源包,不然會和當前安裝方式沖突梢杭。如果已經安裝了温兼,那么可以使用package manager移除當前資源包(Window -> Package Manager
)。
然后你可以使用Git客戶端將post-processing repository克隆到Assets
文件夾中武契。當前的branch(分支)是v2
募判,并且已經被設為默認,不需要轉換到別的branch咒唆,除非你想獲取一些其他branch中的一些特性届垫。
如果你不想用Git客戶端,也可以點擊網(wǎng)頁右上方"Clone or download"這個綠色按鈕下載后全释,解壓縮到你的工程中装处。使用Git的好處是可以很快的更新到最新版本,而不用再去下載浸船、解壓妄迁、覆蓋真?zhèn)€文件。這樣也更安全李命,可以正確的處理移動或者移除文件登淘。
快速開始
注意:如果你創(chuàng)建工程的時候使用了帶有Post-processing的模板,那就不用進行下面大多數(shù)步驟了项戴,但還是建議你讀一下這段形帮,理解每一項是如何工作的</font>
Post-process Layer
要在攝像機上激活post-processing槽惫,第一件事就是在攝像機上添加Component -> Rendering -> Post-process Layer
組件周叮。
第一部分描述攝像機的 Volume blending (體積混合) 設置:
-
Trigger(觸發(fā)):默認情況下攝像機會被添加到這里辩撑,傳入的Transform將用來驅動volume blending的特性。在某些情況下你可能想用攝像機之外的Transform仿耽,比如在頂視角游戲中合冀,你可能想用角色控制器取代攝像機來驅動,如果設置為
None
將會禁用當前層的局部Volume blending(全局屬性依舊會起作用)项贺。 -
Layer(層):用來應用Volume blending的層遮罩君躺,它可以讓你對volume進行過濾,并且對優(yōu)化volume遍歷十分有效开缎。應該始終將volume設置為專用的Layer(層)棕叫,而不要使用Default Layer(默認層),這樣可以提高性能奕删。這個選項默認被設置為
Nothing
俺泣,所以不要忘記更改它,否則不會產生效果完残。關于Layer(層)的更多信息以及如何在Unity中使用伏钠,可以閱讀這篇文檔。
接下來是 Anti-aliasing(抗鋸齒)谨设,需要對每個需要啟用抗鋸齒的攝像機進行設置熟掂。取代全局設置使用這種方式的好處是在項目中可以在需要抗鋸齒的時候再去啟用它。例如扎拣,你的主攝像機可能使用的 Temporal Anti-aliasing 抗鋸齒算法赴肚,而另外一個用于渲染監(jiān)控攝像頭的攝像機只需要使用 FXAA 抗鋸齒算法。關于抗鋸齒的更多信息可以閱讀這篇文檔鹏秋。
Stop NaN Propagation(阻止無效像素擴散) 可以在Post-processing應用之前消除任何無效的尊蚁、非數(shù)值的像素,并用黑色的像素來取代它侣夷。通常建議啟用這個選項横朋,可以有效的避免場景中Post-processing的數(shù)據(jù)崩壞。
Toolkit 部分有一些功能百拓,你可以使用下面其中一種模式將當前幀導出為EXR:
- Full Frame (as displayed): 照原樣導出攝像機的畫面(同Game視圖中攝像機拍攝渲染的畫面一樣)琴锭。
- Disable post-processing: 同上個模式一樣,只是不應用任何的Post-processing衙传。
- Break before Color Grading (linear): 同第一個模式類似决帖,但是不會應用Color Grading。適用于你想在其他軟件進行調色的情況蓖捶。
- Break before Color Grading (log): 同上一個模式類似地回,但導出的時候會對圖像進行l(wèi)og-encoded。適用于你想在其他軟件中進行高精度的HDR調色處理等工作。
其他實用的功能:
- Select all layer volumes: 選擇所有可以影響當前Post-process Layer的Post-process Volume組件刻像。
- Select all active layer volumes: 選擇所有正在影響當前 Post-process Layer的 Post-process Volume組件畅买。
最后的部分允許你去改變自定義效果的渲染順序。關于自定義效果更多的信息可以閱讀這篇文檔
Post-process Volumes
Post-processing在當前這個框架中的工作方式分為局部和全局兩種细睡。它允許你給與每套volume一個優(yōu)先級和一組效果重寫來自動在場景中混合post-processing谷羞。例如,你可以設置一個全局的Light vignette effect(暈影效果)溜徙,當玩家進入山洞的時候湃缎,你可以重寫Intensity
使暈影的效果增強,同時保持其他設置不變蠢壹。
Post-process Volume組件可以被添加在任何的游戲物體上嗓违,包括攝像機也可以。但通常建議新建一個專門的游戲物體來賦予這個組件图贸。讓我們從創(chuàng)建一個全局的Post-process Volume開始靠瞎。創(chuàng)建一個空物體,并在它身上添加組件(Component -> Rendering -> Post-process Volume
)或者使用(GameObject -> 3D Object -> Post-process Volume
)求妹。不要忘記將這個物體的Layer(層)設置為攝像機上的Post-process Layer組件的應用的層乏盐。
創(chuàng)建后默認情況組件是空的,并且有兩種模式:
- Global: 設置為全局模式后制恍,不會有任何的邊界父能,將會被應用在整個場景中。當然你也可以在場景中擁有多個Volume净神。
-
Loacal: 設置為局部模式后何吝,需要添加一個Collider(碰撞器)或Trigger(觸發(fā)器)來確定這個Volume的邊界。任何類型的3D Collider都可以使用鹃唯,簡單的Cube Collider到復雜的Mesh Collider都可以爱榕,但我們建議盡可能使用一些簡單的Collider,因為Mesh Collider較為消耗資源坡慌。局部的Volume可以設置一個
Blend Distance(融合距離)
值黔酥,代表從Volume外多遠開始一點點漸變到當前這個效果(根據(jù)Post-process Layer組件Trigger屬性賦予的Transform來計算)。
當前這個案例我們設置為全局模式洪橘,勾選Is Global
跪者。
Weight(權重)
可用來減少該volume的全局影響,0表示完全不起作用熄求,1表示完全起作用渣玲。
Priority(優(yōu)先級)
可用來確定該volume在堆中的優(yōu)先級,值越高弟晚,優(yōu)先級越高忘衍。
我們還需要創(chuàng)建一個profile(配置文件)應用在當前的volume上(或重用已存在的文件)逾苫。我們可以點擊New
按鈕(或者可以在Project視圖中通過Create -> Post-processing Profile
創(chuàng)建)。創(chuàng)建之后將作為資源文件存儲在工程中枚钓。你可以直接選擇這個配置文件進行編輯隶垮,或者更好的方式是該volume組件的檢視面板中進行編輯。當賦予了一個配置文件后秘噪,可以看到新出現(xiàn)了一個Clone
按鈕,點擊這個按鈕會復制一份當前賦予的這個配置文件勉耀,并將新復制出來的配置文件賦予當前的volume組件指煎。當你想對一個配置文件進行快速調整的時候可以這樣處理(盡管我們應該盡可能的去重寫同一個配置文件)。
我們現(xiàn)在可以向堆中覆蓋這個效果了便斥。
下面是對這個效果的分析:
每個字段左側都有一個開關至壤,如果你想使用這個設置,那在編輯這個設置之前應該勾選這個開關枢纠。你也可以通過左上角的開關來快速的關閉或開啟下面的子項的這些開關像街。
右上角的on/off
切換按鈕用來更改當前效果在堆棧中是否啟用(比如,如果你想在一個優(yōu)先級更高的Volume上禁用一組效果)晋渺,然后這個切換按鈕處于標題欄上镰绎,所以會作用于當前Volume的一整組效果。
最后木西,你可以右鍵點擊某一個效果的標題欄畴栖,可以進行復制、粘貼八千、移除吗讶、重置等操作。