2018年7月7日 星期六

使用Unity Command buffer調整SSAO後置效果的繪圖流程

SSAO如果擺在最後的後置繪圖流程,會造成因為Alpha Blending的物件沒有深度的問題,
而造成不正確的視覺效果。
為了解決這個問題,最好是將其放在整個Render完所有的非透明物件時再將其畫出,雖然
應該可以用一個full screen face quad物件,調整其render queue來畫應該也可以解決,但是
Unity有更好用的東西(Command Buffer)可以讓我們在特定的繪圖流程時機來畫後置特效。

這個是在畫完所有物件時機畫的結果:



這個是在畫完所有非透明物件後畫的結果:


後記:
雖然command buffer可以在特定的時機來畫後置特效,但如果在同一個camera event的時機,
畫超過二個以上的後置特效時,且有順序性的問題的話,還是得自己想辦法處理流程的安排
,並儘量利用swap buffer來減少render texture的使用。

最後附上相關的影片:



Dream continues in...

沒有留言:

張貼留言