虛幻4提供了後處理特效的功能,可以實現景深,光溢出,色調調整,飽和度等等。要使用虛幻4的後處理,就一定要用到PostProcessVolumn,這是一種特殊的體積,可以放置在場景中的任何位置。
每個 PostProcessVolume 實質上是一個類型的混合層。其他混合層可以來自遊戲代碼(比如命中特效),UI 代碼(比如暫停菜單),攝像機(比如暗角效果),或者 Matinee(舊膠片效果)。每個混合層都能有自己的權重值,這樣混合效果能容易控制。混合的做法始終是 Lerp(線性插值),當前啓用的體積將會參與混合。一個 PostProcessVolume 僅在 Camera 在該體積內纔會參與混合,除非體積的 Unbound 選項被勾選,這時該體積作用於整個場景。
屬性 |
描述 |
Settings |
體積的 後處理設置,大部分屬性前的勾選框定義了該行的屬性是否使用該體積的 Blend Weight 參與混合。 |
Priority |
當多個體積重疊時定義它們參與混合的次序。高優先級的體積會被當前重疊的其他體積更早計算。 |
Blend Radius |
體積周圍基於虛幻單位的距離,用於該體積開始參與混合的起始位置。 |
Blend Weight |
該體積的影響因素。0代表沒有效果,1代表完全的效果。 |
Enable |
定義該體積是否參與後處理效果。如果勾選的話,該體積則參與混合計算。 |
Unbound |
定義該體積是否考慮邊界,如果勾選的話,該體積將作用於整個場景而無視邊界。如果沒有勾選,該體積只在它的邊界內起效。 |
後處理設置都是一些用於後處理效果的屬性,我們可以控制這些屬性並且覆蓋這些屬性。這些屬性在 UScene
類中的FPostProcessSettings
中定義
。每個PostProcessVolume 包含一個 FPostProcessSettings
結構體作爲 Settings
屬性,其中包含了每個屬性定義,並能夠在體積中對他們進行覆寫。PostProcessVolume裏面搜索settings就可以看到各種特效配置,如圖1-1。如果我們想添加自定義的後處理效果,就要在圖1的Misc裏面Blendables數組添加自己的特效材質。
圖 1
我們可以在Misc裏面添加不同的材質,來調節全局對比度,飽和度以及色溫的效果,也可以做一些鏡頭的特效,比如模糊,景深等。另外,我們也可以利用他實現描邊的效果,這需要一個菲涅爾效果的材質,同時要把他添加到當前的渲染層裏面。UE4爲了方便開發者,特意在Mesh組件裏面提供了一個這樣的接口bRenderCustomDepth來允許在遊戲線程裏面單獨渲染自定義的效果材質。不過要在材質裏面做好對應的設置(在UE4官方商城有教程)。
注意:一般來說,我們也可以在攝像機組件裏面添加後處理效果(與上圖的內容類似),這樣我們在地圖任何位置都可以看到效果。如果我們使用的是PostProcessVolume ,就需要保證攝像機的視點(理解爲攝像機的位置即可)位於這個體積裏面。