日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用UE4创造开放世界:Kite 实时演示

發布時間:2024/8/26 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用UE4创造开放世界:Kite 实时演示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是2015年虛幻4的一篇演講。他們在5個月內完成了一個單機的開放世界Demo,全部素材使用攝影測量法制作,渲染方面使用了一些新技術,表現效果非常真實。表示部分技術會逐步移植到虛幻引擎中。
?

Kite宣傳視頻


技術看點包括:
?

  • 多種渲染效果(未解釋具體算法),不過對于手游來說很遙遠
  • 地形的生成,大世界植被的生成算法
  • 鹿的AI


視頻地址

https://www.youtube.com/watch?v=clakekAHQx0

這個Demo使用10英里*10英里的大地圖,1米的精度,比上古卷軸-天際面積大10倍。
?

  • 沒有加載、視距超級遠
  • 沒有使用接景(matte painting,也就是遠景的片)
  • 完全使用動態光照,使用開放世界的動態GI



整個項目團隊30人。大概5個月,10月啟動,11月去照相,2月出來的。

開頭有一段演示視頻(00:51),可以參考的表現細節:
?

  • 天空的鳥群
  • 鹿的AI:在攝像機接近時逃散的動畫
  • 鏡頭漫游時攝像機的慣性晃動



地面上云的影子效果很出彩。注意,天上的云是靜態的,但是并沒有不和諧感。

資源創建流程

素材使用攝影測量法(Photogrammetry)。在蘇格蘭的斯凱島取材。
?


采集隊總共4人,分成兩個小隊各2人,在兩個不同的地方各種采集了7天。除了照相掃描素材之外,還拍攝了實際風景來為未來的整個制作做參考。雖然采集了非常多素材,但是實際只做了十分之一(按:從多個項目的反饋來看,大家普遍認為少量重復的高質量資源足以構建可信的自然世界)。

本文略過了采集過程,若有人搞照相掃描法的話可以去看看。技術比較標準,包括但不限于:
?

  • 采集時灰球+絡合金球采集光照和環境信息。全部是HDR線性空間sRGB的
  • 復原時,重新渲染亮度來去陰影



目前的LOD制作是手工的。大約3~5萬面,然后做改成5~7千面,最后做3級LOD。

地形的貼圖,是由原始的多邊形烘焙成含法線的貼圖,并包含高度信息。后面地形的融合,需要高度圖信息。

渲染算法:RTDF陰影-GI-透光材質-模糊

傳統來說,陰影使用分級陰影貼圖(Cascaded Shadow Map)方案。這種方案可以支持植被動畫,但是多邊形開銷大。本項目近處使用CSM,遠處使用基于深度場光線追蹤(RTDF,Ray Traced Distance Field)的陰影,該算法適合陰影以及AO,對于遠景相對于傳統方法有3倍的加速。
?

Distance Field

基于深度場光線追蹤的陰影

環境光兩種AO的效果比較


同時,對于天空盒產生的環境光,這里同樣使用了基于深度場的AO(DFAO)。
?

GI效果比較


使用了一種修改版的基于高度場的GI。如果沒有GI的話,樹和石頭的陰影區會太暗。
?


對不同的粗糙度,生成一套預處理的Cubemap。

此外,使用了新的背面透光算法。光線可以穿過很薄的表面,例如葉子、紙張,以及本視頻中的風箏。認為3S材質只是一個近似,所以提供了一種新的兩面的渲染模型,更準確地模擬光線傳過薄的表面。

對于模糊,使用了Scatter as gather算法,包括動態模糊和景深,該算法準確度很高且可以采樣屏幕之外的物體。


地形編輯,加載和混合

地形使用world machine制作后導入到自研工具中。10英里*10英里的大地圖,1米的精度。
?

Terrain mesh,藍色為不含細節信息的


整個地形并不是一次加載的,分解成了多個不同等級的加載流。對于細節內容,只在需要的情況下進行加載。如上圖,圖中的藍色區域,就是基本內容,其細節信息未被加載。
?

Terrain貼圖權重圖,不同顏色表示不同的貼圖。控制圖首先由worldmachine生成,然后對部分進行手工編輯


對于地形貼圖,使用基于高度圖的混合。賣二手QQ上圖比較了普通的混合vs基于高度圖的混合。

植被


植被分成了兩類:
?

  • 植被:樹、巖石,有碰撞
  • 草:草、花、小卵石,無碰撞



植被都是種的,使用分層靜態Instanced Mesh,以類似BSP樹的方式組織。草的數量極多,所以并不是一顆顆種的,而是根據地表的材質動態生成。

草有多級LOD,從視頻看,有一定隨機的LODbias,讓他們交疊的切換;同時切換是平滑動畫做逐像素漸變切換的。
?


樹的Billboard使用了像素的深度圖,來改善陰影。

場景的生成技術

開發人員創建了一個簡單的生態模擬規則,生成整個世界的植被(注:含巖石),希望植被:
?

  • 有聚集性
  • 不會過度聚集
  • 有自然的生長曲線,有自然的高矮。



這是一個生長模擬系統。首先根據密度設置生成初始的樹、灌木和巖石的種子,然后每一步模擬植物的長大、并且在周圍隨機播種種子,這樣多趟之后生成聚集的森林。多物種的生長區開始交疊的時候,使用適應性規則,來決定后面的走向,包括:相對尺寸、遮蔽、海拔高度、坡度,來決定交疊后的演化。適應性規則可以產生很自然的效果,例如有些物種只在森林中生長。

由于計算量太大,地圖被分成大(注:按后文推測大概一塊300*300m)的2d塊。美術人員在個別塊中先實驗植被效果,然后應用到所有塊。也可以定義一個空間區域作為掩碼,來指定應用/排除的范圍。

生長系統使用確定性模擬。生成之后,可以用通常的地形畫刷二次修改結果。
?


鹿的AI

動物做法沒有什么特別,使用和普通射擊游戲類似的角色工作流。

鹿的躲避:若攝像機靠近,找到鹿群的中心點,然后指定他向遠離攝像機鏡頭的的某個點移動。然后鹿使用尋路方式移動過去。

使用集群模擬(Crowd simulation)來躲避樹木和其他鹿。
?


制作時,注意四足動物有特有的難點(按:強烈建議觀察視頻):
?

  • 無法原地轉身,而是需要跑出一個曲線
  • 加速需要比人類更長的時間


?


所以鹿的動作使用root motion。和傳統的相反,AI告訴鹿移動目標,而鹿的動畫控制其走過去。動畫、狀態機等是在多核上計算的,支持300+的鹿。
?

動態生成尋路網格


尋路是一個大問題。尋路網格相比碰撞檢測計算速度快,可以支持更多的動態物體,所以在遠距離的情況下,使用尋路網格來加速計算。到近距離的情況下,AI才使用碰撞檢測。全場景尋路數據如果預計算的話有5G,所以并不進行預計算,都是多核計算按需動態生成的。

動態生成動物群
?


動物群都是靠近后生成的。



群落使用一種簡單的方法生成。世界分成邊長300m的方格,在需要產生群落的時候,群落會生成在格子中最合適的位置。用規則定義各種東西傾向于在什么地方出現,比如鹿喜歡森林或者會走下山谷。各種群落(包括鹿和鳥)有各自的規則。你在世界上移動過程中,這些動物群會動態生成的。

總結

以上是生活随笔為你收集整理的用UE4创造开放世界:Kite 实时演示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。