Unity 后處理(Post-Processing) -- (1)概覽
?? ? ? ? 在Unity中,后處理(Post-Processing)是在相機(jī)所捕捉的圖像上應(yīng)用一些特殊效果的過程,后處理會讓圖像視覺效果更好(前提是做的好)。
? ? ? ? 這些效果的范圍有非常細(xì)微的顏色調(diào)整,也包括整體的美術(shù)風(fēng)格的大修,可以讓場景看起來更加真實(shí)或風(fēng)格化,或者只是變得更好看。

? ? ? ? 下載后解壓縮,然后用Unity Hub打開這個本地工程,打開本地工程的方法參考:
????????https://learn.unity.com/tutorial/project-setup-processes#60ed7a5aedbc2a002520b6ea
什么是后處理?
? ? ? ? 我們都會用手機(jī)拍照,但很多時候我們拍的原始的相片都打不到我們想要的效果。比如照片可能亮度不夠,顏色不飽和或者對比度不好等。對于這種情況,我們可以在照片拍出來后對其進(jìn)行調(diào)整,讓照片看起來更加好看,這個過程就是后處理。
? ? ? ? 來看一個例子,原圖如下:




評估視覺風(fēng)格(Visual Style)和視覺保真度(Visual Fidelity)
? ? ? ? 我們進(jìn)行后處理有兩個主要的原因:達(dá)成想要的視覺風(fēng)格以及確保視覺保真度。
視覺風(fēng)格
? ? ? ? 視覺風(fēng)格是指項(xiàng)目所呈現(xiàn)的風(fēng)格化的觀感。
????????下面有兩種不同視覺風(fēng)格的例子,觀察這兩個場景并試著回答如下問題:
? ? ? ? 你會如何描述這兩個場景的視覺風(fēng)格?
? ? ? ? 為了達(dá)成場景的視覺風(fēng)格,你認(rèn)為這兩個場景的圖像進(jìn)行了哪些編輯(后處理)?


? ? ? ? 以下信息僅供參考:
? ? ? ? 第一副圖是暗黑未來風(fēng)格。為了達(dá)成這種風(fēng)格,畫面顏色比較暗,場景是朦朧的,但也有非常明亮閃爍的燈光。
? ? ? ? 第二幅圖是輕快明亮的卡通風(fēng)格。為了達(dá)成這種風(fēng)格,所有顏色都很生動,背景做了模糊化處理。
視覺保真度
? ? ? ? 視覺保真度是指場景對它所想要表現(xiàn)的世界的還原有多精準(zhǔn)。如果使用物理世界中的相機(jī)和Unity中的虛擬相機(jī),要想捕捉到環(huán)境的優(yōu)美之處,是比較困難的。
????????這樣說可能有點(diǎn)抽象,我們以拍照片為例。我們應(yīng)該都碰到過這種情況,到一個風(fēng)景如畫的地方旅游時,我們掏出手機(jī)拍了一張照片,但拍出來的照片和我們看到的景色有差距。要么由于相機(jī)設(shè)置問題導(dǎo)致畫面看起來太亮或太暗,要么相機(jī)的顏色還原不夠精準(zhǔn)導(dǎo)致畫面不夠鮮明。有些問題可以通過后處理來修正。
? ? ? ? 以下是一個場景在進(jìn)行后處理前后的對比圖,嘗試回答以下問題:
? ? ? ? 這兩幅圖有什么特別不同之處?
? ? ? ? 這個不同之處是如何改進(jìn)視覺保真的?

? ? ? ? 右圖顏色更加生動(對比觀察棚屋的橙色)。場景的部分區(qū)域亮度變得較小,這樣就能讓我們看清楚黃色沙灘和云的形狀。
? ? ? ? 在真實(shí)世界中,我們的眼睛會自動適應(yīng)強(qiáng)光,使得我們能夠看到細(xì)節(jié)。右圖更加接近于人眼對這個場景的感知。? ? ? ??
后處理和性能之間的平衡
? ? ? ? 視覺風(fēng)格和保真度都很重要,但通過后處理方式來達(dá)成這兩個目標(biāo)并非免費(fèi)的午餐。由于這些圖片是實(shí)時地被渲染和處理,每種添加的效果都會對處理器造成性能影響。雖然理想情況下,我們恨不得把所有可用的效果都加上,但我們必須在性能和視覺效果上進(jìn)行權(quán)衡。
打開后處理工程項(xiàng)目并運(yùn)行
? ? ? ? 1. 在Unity Editor中,項(xiàng)目窗口中找到并打開Scenes目錄下的TutorialScene_PostProcessing。


? ? ? ? 前面提到說,后處理是在一個相機(jī)已經(jīng)抓到的圖像上進(jìn)行處理。這意味著后處理可以按照每個相機(jī)為基礎(chǔ)來進(jìn)行應(yīng)用。我們先確保Main Camera啟用后處理。
? ? ? ? 1. 在Hierarchy窗口中選擇Main Camera,然后在其Inspector面板里的Camera組件中,選擇Rendering折疊菜單里的Post Processing復(fù)選框,啟用后處理。


? ? ? ? 目前還沒有發(fā)生任何事情。這是因?yàn)槲覀冞€需要應(yīng)用一個后處理配置文件(post-processing Profile)到Volume里。這個Profile定義了有哪些效果要應(yīng)用到Volume里。后面我們會從零開始創(chuàng)建這個Profile,目前我們使用官方教程中的示例Profile即可。
? ? ? ? 3. 在Volume組件中,使用物體選擇器選擇PostProcessingProfile_Sample文件。

簡單了解一下后處理Profile
? ? ? ? ?以下兩張圖是未使用后處理和使用了后處理之后的效果對比圖,觀察并回答以下問題:
? ? ? ? 這兩幅圖具體差異是什么?
? ? ? ? 這些差異對整體視覺風(fēng)格有什么影響?

? ? ? ? 當(dāng)后處理啟用時:
? ? ? ? ? ? ? ? 角落中紅色和淺藍(lán)色盒子看起來在發(fā)光。
? ? ? ? ? ? ? ? 所有陰影都更暗了,和環(huán)境其他部分形成了更強(qiáng)的對比。
? ? ? ? ? ? ? ? 所有顏色都更加鮮艷了。
? ? ? ? 這個后處理Profile給場景一種更加有趣和卡通化的風(fēng)格。這和下圖中的波普藝術(shù)的效果是類似的。

關(guān)于后處理的一點(diǎn)提示信息
? ? ? ? 由于后處理應(yīng)用于已經(jīng)被渲染好的一副圖像上,它要求光照、材質(zhì)或相機(jī)要按照一定方式來創(chuàng)建,以便允許產(chǎn)生特定的效果。
? ? ? ? 舉例來說,如果一個材質(zhì)并沒有事先被設(shè)置為發(fā)光(使用發(fā)光材質(zhì)),我們不可能通過后處理來讓它有發(fā)光的效果。

? ? ? ? 我們會注意到,當(dāng)我們?yōu)閂olume組件選擇了示例Profile之后,有一些新的模塊出現(xiàn)在了它的下方。

? ? ? ? 然后嘗試調(diào)整一下每個模塊中的各個子屬性,看看效果。
? ? ? ? 關(guān)于這些模塊的詳細(xì)說明,如果想深入了解,可以參考一下官方文檔:
????????