Unity 后處理(Post-Processing) -- (2)創(chuàng)建后處理配置文件
? ? ? ? 通過(guò)前面一小節(jié),我們初步認(rèn)識(shí)了后處理是什么,在Unity中簡(jiǎn)單的試了試后處理的效果。本節(jié)我們來(lái)創(chuàng)建一個(gè)我們自己的后處理配置文件(post-processing profile)。
? ? ? ? 一個(gè)后處理配置文件包含了一系列為了達(dá)到特定視覺(jué)效果的后處理效果的配置。后處理配置文件對(duì)于項(xiàng)目整體的視覺(jué)風(fēng)格和感覺(jué)有著非常大的影響。我們來(lái)看一個(gè)實(shí)際的例子感受一下后處理的威力。

? ? ? ? 在添加任何視覺(jué)效果到場(chǎng)景前,請(qǐng)先選擇一種你想要實(shí)現(xiàn)的視覺(jué)風(fēng)格。看看以下幾種不同視覺(jué)風(fēng)格類型的例子,嘗試解讀以下每張圖是哪些東西造就了整體美術(shù)風(fēng)格。
? ? ? ? 例如,對(duì)于“老西部片”例子:
? ? ? ? ? ? ? ? 整個(gè)場(chǎng)景是棕色調(diào)
? ? ? ? ? ? ? ? 圖片有顆粒質(zhì)感
? ? ? ? ? ? ? ? 陰影非常暗,陰影區(qū)域內(nèi)的細(xì)節(jié)很難看清?
老西部片(Old western)

明快色彩(Bright and colorful)

?反烏托邦綠(Dystopian green)

?暗黑(Dark and gritty)

選擇一種美術(shù)風(fēng)格
? ? ? ? 以上四種風(fēng)格,請(qǐng)任意選擇一種作為你想做出來(lái)的效果。如果以上幾種風(fēng)格沒(méi)有一種符合你的胃口,你也可以嘗試自行選擇其他類型的風(fēng)格。
創(chuàng)建一個(gè)新的后處理配置文件
? ? ? ? 1. 在Hierarchy中選中Postprocessing Global Volume物體,在其Inspector面板的Volume組件中,選擇New來(lái)創(chuàng)建一個(gè)新的profile。



增加輝光(Bloom)效果
Bloom是什么?
? ? ? ? Bloom是后處理效果中最流行的一種,無(wú)論我們選擇哪種視覺(jué)風(fēng)格,它都可以起到幫助。
? ? ? ? 在真實(shí)世界中,當(dāng)相機(jī)拍攝到一些非常明亮的燈光時(shí),會(huì)呈現(xiàn)出一種光源周圍出現(xiàn)閃亮的效果。


添加Bloom到場(chǎng)景中
? ? ? ? ?1. 在Hierarchy中選中Global Volume物體(名字為PostProcessing Global Volume或者是你自定義的名字,后文中統(tǒng)一用Global Volume物體代替)
? ? ? ? 2. 在其Inspector中的Volume組件里,選擇Add Override,然后選擇Post-processing? -> Bloom。
? ? ? ? “Override”的意思是我們的選擇會(huì)覆蓋(改變)當(dāng)前場(chǎng)景的渲染方式。選擇后,會(huì)出現(xiàn)一個(gè)新的Bloom組件,下面帶有一些屬性,這些屬性默認(rèn)是禁用的。


? ? ? ? 4. 我們可以嘗試進(jìn)一步調(diào)整一下Bloom組件的其他屬性來(lái)對(duì)比看看效果。關(guān)于Bloom的詳細(xì)描述,可以參考這里:
????????
應(yīng)用色調(diào)映射(Tonemapping)
? ? ? ? 色調(diào)映射對(duì)于讓我們的場(chǎng)景在屏幕上看起來(lái)達(dá)到最佳效果來(lái)說(shuō),是一個(gè)非常重要的特性。要搞清楚色調(diào)映射之前,我們先要理解HDR是什么。
? ? ? ? 關(guān)于色調(diào)映射,也可以看看這篇文章:
HDR是什么?
? ? ? ? HDR是高動(dòng)態(tài)范圍(High Dynamic Range)的縮寫(xiě),如果它被啟用,則在場(chǎng)景中會(huì)有更寬的亮度值(brightness or luminosity)。
? ? ? ? 舉例來(lái)說(shuō),在普通的LDR(Low Dynamic Range)情況下,假設(shè)我們可能展示出的最大亮度值是1.0。但使用HDR的情況下,我們可以展示出的最大亮度值是1.5(或更高)。



? ? ? ? ?盡管我們能夠?qū)⑽覀儓?chǎng)景中的一個(gè)物體的亮度調(diào)成和太陽(yáng)一樣明亮,但有個(gè)問(wèn)題,普通的屏幕根本沒(méi)有能力顯示出這種亮度。
? ? ? ? ?因此,當(dāng)有限制的屏幕硬件嘗試去呈現(xiàn)出非常明亮的物體時(shí),它會(huì)到達(dá)屏幕亮度的物理極限,整塊區(qū)域會(huì)變得發(fā)白,將其中的細(xì)節(jié)全部都丟掉了。

什么是色調(diào)映射
? ? ? ? 色調(diào)映射將哪些極端的亮度值重新映射到了一個(gè)較低的值,這樣會(huì)讓原本被丟失的細(xì)節(jié)恢復(fù)出來(lái)。

? ? ? ? 如果以上的所有東西對(duì)你來(lái)說(shuō)有點(diǎn)混亂,沒(méi)關(guān)系。最重要的事情是我們要知道,如果我們正在使用HDR,特別是如果正在使用Bloom的話,我們要應(yīng)用色調(diào)映射來(lái)確保超級(jí)明亮的地方看起來(lái)仍然還OK。
將Tonemapping添加到場(chǎng)景中
? ? ? ? 1. 在Hierarchy中選中Global Volume物體。
? ? ? ? 2. 在Volume組件的底部,選擇Add Override,然后選擇Post-Processing -> Tonemapping(也可以在選擇Add Override之后, 通過(guò)搜索框搜索)。
? ? ? ? 3. 在新建的Tonemapping組件中,啟用Mode屬性,在下拉框中選擇Neutral或ACES(覺(jué)得哪種好看就選哪種)。

? ? ? ? 我們來(lái)看一個(gè)簡(jiǎn)化版的Neutral和ACES效果對(duì)比圖。

做一些校色處理(Color Grading)
什么是校色(Color Grading)?
? ? ? ? 校色是為了達(dá)成一種視覺(jué)效果,調(diào)整場(chǎng)景里的顏色的過(guò)程,對(duì)于項(xiàng)目的整體視覺(jué)感知有重大影響。
? ? ? ? 根據(jù)環(huán)境中的顏色的亮度和范圍不同,我們的項(xiàng)目可以傳達(dá)出恐怖、科幻、藝術(shù)或兒童向的氛圍。
? ? ? ? 在傳媒行業(yè)中,有一些專職人員(比如調(diào)色師),他們的全部工作就是校色。接下來(lái)我們所接觸的只是這個(gè)非常復(fù)雜的藝術(shù)和科學(xué)的毛皮,但我們可以從中學(xué)到Unity中這項(xiàng)工作大概會(huì)如何進(jìn)行。
添加Color Grading到場(chǎng)景中
? ? ? ? 1. 在Volume組件中,添加Color Adjustments模塊。關(guān)于這個(gè)模塊的詳細(xì)說(shuō)明,可以參考這里:
????????https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@7.1/manual/Post-Processing-Color-Adjustments.html#:~:text=To%20add%20Color%20Adjustments%20to,any%20Camera%20this%20Volume%20affects.
? ? ? ? 2. 使用Color Adjustments屬性,嘗試調(diào)整到你想要實(shí)現(xiàn)的效果。
????????以下是一些小的指導(dǎo),可能會(huì)起到點(diǎn)幫助。
????????Bright and colorful

? ? ? ? 增加對(duì)比度(contrast)和飽和度(saturation)
? ? ? ? Neutrual色調(diào)映射
? ? ? ? Old western

? ? ? ? 增加曝光(exposure)
? ? ? ? 減少對(duì)比(contrast)和飽和度(saturation)
? ? ? ? 增加一個(gè)黃色濾鏡(yellow color filter)
? ? ? ? Neutral色調(diào)映射?
? ? ? ? Dystopian green

? ? ? ? ?降低飽和度(saturation)
? ? ? ? 增加一個(gè)綠色濾鏡(green color filter)
? ? ? ? ACES色調(diào)映射
? ? ? ? 增加Bloom
? ? ? ? Dark and gritty

? ? ? ? 增加對(duì)比度(contrast)
? ? ? ? 增加一個(gè)藍(lán)色濾鏡(blue color filter)
? ? ? ? ACES色調(diào)映射
? ? ? ? ?3. 在Volume組件中,增加Lift,Gamma,Gain模塊,然后通過(guò)它們下方的復(fù)選框啟用它們。

? ? ? ? 這個(gè)東西叫做三向顏色校準(zhǔn)器(three-way color corrector):
? ? ? ? Lift - 場(chǎng)景中的暗色調(diào)
? ? ? ? Gamma - 中間色調(diào)
? ? ? ? Gain - 明亮高光
? ? ? ? 4. 嘗試調(diào)整一下每個(gè)滑動(dòng)條看看效果。

? ? ? ? 在上面的例子中,Lift(暗色調(diào))被降低,使得陰影更加黑暗和戲劇化,Gamma被提高,因此畫(huà)面不會(huì)太暗。
? ? ? ? 大部分情況下,基本的Color Adjustments已經(jīng)足夠了,但如果我們想要精確地呈現(xiàn)出腦海中的樣子,三向顏色校準(zhǔn)會(huì)非常有用。
? ? ? ? 如果可以,你還可以嘗試一下其它和顏色相關(guān)的效果,比如:
? ? ? ? white balance
? ? ? ? split toning
? ? ? ? color curves
嘗試看看其他的后處理效果
? ? ? ? 接下來(lái)我們來(lái)看看另外一些比較有用的效果,完整的列表和說(shuō)明,請(qǐng)參考官方文檔:
景深(Depth of Field)
? ? ? ? Depth of Field會(huì)讓特定距離的物體保持清晰,更遠(yuǎn)或更近的物體模糊。這個(gè)效果對(duì)性能影響較大,需要謹(jǐn)慎使用。

?膠片顆粒(Film Grain)
? ? ? ? 膠片顆粒模仿了老電影中看到的顆粒感。這個(gè)效果能夠讓畫(huà)面看起來(lái)有年代感。

漸暈(暈映,Vignette)
? ? ? ? 漸暈效果模擬出了真實(shí)鏡頭下圖像外邊界的暈影效果。這個(gè)效果也可以用來(lái)讓某個(gè)東西看起來(lái)比較古老,或者讓觀看者目光聚焦在屏幕中央。

? ? ? ? 還有其他一些效果比如Lens Distortion(透鏡畸變),Motion Blur(運(yùn)動(dòng)模糊),Chromatic Abberation(色差)等。感興趣的都可以去試試看。?