地平線:黎明時分中的雲渲染技術
最簡單的辦法是採用raymarching,噪聲可以簡單的採用fbm,但是程式感嚴重
兩種噪聲疊加,Perlin-Worley noise,連續感減弱不少
一張基礎的3d紋理,控制大體形狀,一個通道存Perlin - Worley noise,其他三個存不同頻率的Worley noise
一張細節3d紋理,不同頻率的Worley noise
一張2d紋理,curl noise,一般用於流體模擬,可以對雲進行distort,增加湍流感
在高度上使用紋理控制密度,可以表現層雲,積雲,積雨雲
此外,在高度上整體設定一個0-1的漸變,因為低空沒雲
在雲的邊界處減去第二個3d紋理,能夠得到侵蝕效果
小貼士,如果你把基礎雲層的Worley noise倒置,會得到一些不錯的形狀。
使用2d紋理去distort第二個3d紋理,可以模擬大氣湍流造成的旋渦扭曲
用一張圖去整體上控制雲層,能夠模擬不同天氣下的表現,r通道表示密度,g通道表示降雨量,b為雲形。天氣系統通過在遊戲過程中進行的模擬來調節這些通道。積雨雲直接在頭頂(白色),遠處是規則的積雲。我們可以讓藝術家去控制這些模擬。
預設天氣是積雲和層雲的組合。大部分是層雲。
降水量達到0.7將會產生積雲。
使用天氣系統來確保地平線上的雲層總是有趣的,並在山上分開。
從15000米的距離開始…在玩家周圍35000米半徑範圍內繪製雲景
渲染採用Beer’s law
前向散射機率更大,使用henyey greenstein function來矯正
此外,雲層厚的地方in-scattered light更多,導致邊緣會暗一些
加入powder函式,兩個公式疊加去模擬這個效果
注意這個效果和方向光方向及視角方向有關
在有雨的地方增加光吸收率,來使其變暗
最終公式
地球是圓的,所以遠處地平線會和雲接在一起
1500米到4000米之間是體積雲
海拔4000米以上是alto和捲雲。上層雲不是很厚,可以通過動畫紋理模擬
由於存在基礎噪聲和細節噪聲,只有在基礎噪聲返回非0時才需要檢測細節噪聲
為了不"錯過",切換到高細節樣本之前要向後退一步
當到達alpha為1時,也就是到最高點了,停止Raymarching
如果連續返回非0,切換到基礎噪聲,直到再次返回0
取樣點數量和視角相關
注意密度會隨高度衰減,也就是上面提到的0-1漸變
但是這樣還不夠
在朝向光的圓錐上取樣6個點模擬陰影,最後一點距離要遠一點
為了提高取樣的效能,當alpha達到0.3時,切換到簡單版本的著色器版本進行取樣。這使著色器速度提高了2倍
6點取樣在低空的貢獻大於比爾定律,而隨著高度上升,又會回到標準的體渲染方式
最後一步,取樣最高層的二維紋理
以上是高空雲層的幾種形態
現實中,不同頻率的光線在雲中混合,會產生非常美麗的色彩效果。所以我們要根據以下模型為雲上色:
- 環境光貢獻隨高度增加而增加
- 直接照明將以陽光顏色為主
- 大氣散射會隨高度增加去替代雲層顏色
優化:每幀渲染1/4
前一幀要reproject,如果是邊緣,無法reproject,則從一個低解析度buffer上取樣
在half res下渲染,最後upscal
相關閱讀:
作者:風和雨林
相關文章
- 視覺爆炸的藝術 | 《地平線:黎明時分》藝術賞析視覺
- 《地平線:黎明時分》資深製作人去世 享年44歲
- 資料加密新技術-實時雲渲染技術應用加密
- 開發者談《地平線:零之黎明》的遊戲音樂幕後遊戲
- 實時雲渲染關鍵技術-低延遲詳解
- 低延時音影片技術在OPPO雲渲染場景的應用
- 大規模即時雲渲染技術,追求體驗與成本的最佳均衡
- 實時&離線皮膚渲染技術(Real-time&Offline Skin Rendering)
- unity程式使用雲渲染技術是否要修改?Unity
- 移動 VR 開發時要避免的 PC 渲染技術VR
- 雲原生技術在離線交付場景中的實踐
- 雲渲染技術的兩種場景還在傻傻分不清?
- 直播系統聊天技術(六):百萬人線上的直播間實時聊天訊息分發技術實踐
- 雲渲染技術會給BIM雲端協作帶來哪些改變?
- 實時渲染技術在VR/AR眼鏡中檢視CATIA3D模型VR3D模型
- 智雲通CRM:與高層交流時切不可過多渲染產品技術點?
- 《孤島驚魂5》中的地形渲染技術-網格生成
- 【併發技術02】傳統執行緒技術中的定時器技術執行緒定時器
- vue:服務端渲染技術Vue服務端
- Vue 服務端渲染技術Vue服務端
- 前後端分離技術路線圖後端
- 雲技術將開啟Netflix般的雲遊戲時代遊戲
- 技術沙龍 | 雲時代下的架構演進—企業雲及雲原生技術落地實踐架構
- 簡述大前端技術棧的渲染原理前端
- 絕不掉線的雲課堂:教育的戰疫時刻,百度的技術護旗
- 同時渲染兩個世界:恐怖遊戲《靈媒》背後的尖端技術遊戲
- 雲原生技術學習路線圖 初階+中階+高階
- 技術路線應該會的技術
- 詳解TF雲原生技術路線圖
- 點量雲實時雲渲染革新雲看車
- 人工智慧優先時代的黎明人工智慧
- 恆訊科技技術分享:雲端計算中的核心技術有哪些?
- 關於雲流化系統-實時雲渲染延時性的討論
- 剖析Unreal Engine超真實人類的渲染技術Part 2 - 眼球渲染Unreal
- 分表技術
- 《樂高地平線大冒險》:如何製作一款老少咸宜的“地平線”遊戲?遊戲
- 3DCAT實時渲染雲在虛擬展會中的應用3D
- 物聯網6類技術無線連線技術的分析