SSAO如果擺在最後的後置繪圖流程,會造成因為Alpha Blending的物件沒有深度的問題,
而造成不正確的視覺效果。
為了解決這個問題,最好是將其放在整個Render完所有的非透明物件時再將其畫出,雖然
應該可以用一個full screen face quad物件,調整其render queue來畫應該也可以解決,但是
Unity有更好用的東西(Command Buffer)可以讓我們在特定的繪圖流程時機來畫後置特效。
這個是在畫完所有物件時機畫的結果:
這個是在畫完所有非透明物件後畫的結果:
後記:
雖然command buffer可以在特定的時機來畫後置特效,但如果在同一個camera event的時機,
畫超過二個以上的後置特效時,且有順序性的問題的話,還是得自己想辦法處理流程的安排
,並儘量利用swap buffer來減少render texture的使用。
最後附上相關的影片:
Dream continues in...
沒有留言:
張貼留言