當前位置:首頁 >教程首頁 > Unreal Engine >Unreal入門知識SSAO的升級HBAO+

Unreal入門知識SSAO的升級HBAO+

發布時間:2021-03-25 10:26:09

Hello,大家好,今天是AO續作Unreal入門知識SSAO的升級HBAO+,我是木偶心沒。

上一篇文章 Unreal入門AO知識科普 說到SSAO存在一些陰影清晰度和畫質問題,所以在2008年的SIGGRAPH技術會議上,NVIDIA推出了升級的SSAO,基於水平的環境光遮罩HBAO。與以前的SSAO不一樣的是,HBAO基於物理的算法,能生成更高質量的SSAO,同時增加AO陰影的清晰度質量和可見性。

然而處於性能的原因,一般遊戲都以半分辨率渲染HBAO,比如《戰地3》,將AO像素的數量減少了四分之三,但是以較低的分辨率渲染的HBAO會導致一些閃爍。所以為了解決這個問題,NVIDIA又重新開發並改造了SSAO,得到了最先進的HBAO+,這是SSAO渲染領域的典型轉變。而且與HBAO相比,HBAO+將AO效果的細節級別提高了一倍,運行速度提高了三倍,並使用了最新的DirectX11技術。

1.webp.jpg

而對於原來的SSAO,HBAO+修複了下麵這個bug。

首先是一個空場景

2.webp.jpg

往裏麵加一個動態的角色

3.webp.jpg

如果角色離牆很近,那他周圍的確會有一圈牆麵的AO效果。但是如果角色是遠離牆麵的話,按照SSAO本身的計算方法,取物體上麵的一個點,然後在采樣球裏麵取隨機采樣點

4.webp.jpg

根據深度判斷采樣點和中心點的遮擋關係,並將最後的結果相加,得到的結果就會讓遠離牆麵的角色本身也受到錯誤的AO效果。

所以為了得到正確的結果,HBAO+使用了雙pass AO去計算。比如對於下麵的場景

5.webp.jpg

第一個pass隻計算靜態物體的AO。

6.webp.jpg

第二個pass計算靜態物體以及角色的AO。

7.webp.jpg

然後摳出場景中的角色。

8.webp.jpg

然後把這些動態的角色加載到第一個pass計算出來的AO圖中。

9.webp.jpg

但是這樣子角色和地麵的AO就完全消失了。

10.webp.jpg

所以我們還需要在角色和地麵接觸的部分增加AO效果,在反轉動態物體mask後得到的新mask區域,與地麵進行最小深度混合,最後就隻會得到正確的角色與地麵接觸的AO值。

11.webp.jpg11-2.webp.jpg

由於在Ultra預設中double-pass HBAO+被設為默認,所以也可以稱為HBAO+Ultra,並且添加了高級的混合函數到HBAO+中。

12.webp.jpg

當然除此以外還有比HBAO+慢3-4倍但是效果很好的VXAO,HDAO以及PBAO等。有興趣可以了解一下。

來源:Thepoly公眾號

华体会hth体育网 賞析
  • 2101期學員李思庭作品

    2101期學員李思庭作品

  • 2104期學員林雪茹作品

    2104期學員林雪茹作品

  • 2107期學員趙淩作品

    2107期學員趙淩作品

  • 2107期學員趙燃作品

    2107期學員趙燃作品

  • 2106期學員徐正浩作品

    2106期學員徐正浩作品

  • 2106期學員弓莉作品

    2106期學員弓莉作品

  • 2105期學員白羽新作品

    2105期學員白羽新作品

  • 2107期學員王佳蕊作品

    2107期學員王佳蕊作品

專業問題谘詢

你擔心的問題,火星幫你解答

微信掃碼入群領福利

掃碼領福利最新AI資訊

點擊谘詢
添加老師微信,馬上領取免費課程資源

1. 打開微信掃一掃,掃描左側二維碼

2. 添加老師微信,馬上領取免費課程資源

×

同學您好!

您已成功報名0元試學活動,老師會在第一時間與您取得聯係,請保持電話暢通!
確定