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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

大地图开发管理:《巫师3》Umbra遮挡剔除技术

發布時間:2024/8/26 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大地图开发管理:《巫师3》Umbra遮挡剔除技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本演講介紹巫師3使用Umbra實現的遮擋剔除技術。

筆記略過了一些過于平凡的實現細節,包括流的加載,如何向Umbra提交數據;也略過了一半以上關于“游戲應當如何選擇中間件”的討論。

Umbra 3

Umbra是一個芬蘭中間件公司,做出核心技術之后,于2007年成立,專注于解決3d可見性??梢钥吹絿獾膭摌I公司相當的小而美,公司2014年的時候只有14個雇員,居然還分到了兩個國家:在西雅圖有自己的銷售分部,面向全球銷售。最近搜了下已經有4個銷售部了。另一篇文章中提到巫師3使用Simplygon做LOD,可以發現國外有不少中間件公司,這些公司可能很小,但是相當專業。

在和各公司密切合作的過程中,Umbra會根據對方的需求(例如Bungie公司),對技術做相應演進。使用Umbra技術的產品包括:
?

  • Call Of Duty-Ghost
  • Destiny
  • KillZone-Shadow Fall
  • The Witcher 3-Wild Hunt
  • Unity(按:Unity確實是使用Umbra作為中間件的。不過應該不支持動態拼合)



Wichter 3的引擎團隊與中間件選擇

Wichter2開始使用自研RED Engine,現在是第三代。巫師2加強版是2012,巫師3是2015,比前作大35倍,開發了一個復雜的流式加載系統,改造了很多美術工作流工具。引擎團隊50人左右,其中有16名左右的程序員,其他是QA和本地化人員。

選擇中間件,最主要的理由是人力限制:你永遠沒有足夠的人力來做所有細節。選擇要點:
?

  • 文檔和支持
  • 最好有源代碼
  • 最好能為項目做定制需求



選擇和實施時的技術要點
?

  • 內存管理:最好能定制分配器,以便跟蹤庫的內存使用情況
  • 最好支持多線程。Umbra的烘焙和查詢都支持多線程



巫師3使用的中間件
?

  • Umbra 3
  • PhysX,以及其擴展插件APEX
  • SpeedTree
  • Wwise
  • Scaleform



Umbra方:剔除數據的流式加載

Umbra是這么工作的:輸入需渲染的所有多邊形集合,稱為多邊形湯,離線預處理后生成遮擋數據卷(tome)。對數據卷進行查詢返回可見物體。他的最大優點是自動化:
?

  • 不需要手工標記
  • 不需要美術進行簡化,直接輸入渲染用的多邊形集合



所以對于美術和程序來說非常友好,你只需要提供直接的數據就可以了。
?


此時Witcher3的需求是:
?

  • 大型開放世界,所以無法用人工方式處理。這很適合Umbra全自動流程
  • 流式加載,并需要處理LOD,這個是需要解決的



流式加載

為了實現流式加載,Umbra將世界切成矩形地塊,分開烘焙,每個地塊一個數據卷。在運行期,根據攝像機的當前坐標和視距,加載局部地塊的數據卷,然后通過計算合并為一個綜合的遮擋數據卷集合,提交給渲染系統查詢。出區域的地塊可以被卸載。

對于Umbra來說,這個算法的實現難點在于:
?

  • 每個塊必須獨立。即使計算遮擋數據特別是在邊界時,非常想利用其他塊的數據,也是不行的
  • 邊界的匹配。鄰居塊的設置參數可能不一樣,有時候需要使用很巧妙的技巧
  • 計算必須非???#xff0c;必須在幾毫秒內完成?;旧隙际敲繋蛘吒魩樵?。



不過,在演講后有人提問的情況下,都沒有解釋任何具體算法。
?

左圖:預處理的分塊。右圖:根據攝像機視野判斷的需加載數據塊


LOD

要實現LOD,必須防止同一個物體的不同LOD將自己遮擋了。Umbra使用一個很簡單的方案,嚴格區分遮擋者與被遮擋者兩個概念,只有LOD0(即最高精度的版本)有遮擋能力,其他LOD都只能被遮擋。

Umbra查詢后直接返回LOD。每級LOD有一個激活距離,通過距離做裁剪,這樣做極大提高了查詢性能。此外,可以手工指定距離計算使用的參考點,得到更高清的LOD版本,以便處理放大鏡頭。

Umbra考慮過更復雜的策略,例如,按屏幕面積選擇LOD等級;又如,使用所有LOD的交集,而不是直接使用最精細的LOD0來計算遮擋(按:這是理論上最準確的結果,可能也會小幅加速)。但是總的來說,目前的簡化方法是足夠管用的。

流式加載的過程和效果

為了調試,提供了一個自由攝像機系統,二手手機轉讓平臺可以暫時離開主角,觀察當前的流式加載狀態。此外將流式加載的過程、內存占用、模型統計、Umbra的統計數據可視化。

32:00開始有一段移動過程視頻。其中綠色表示已加載的塊,黃色表示流式加載中的塊(加載是異步的)。


同一個城市的三種情況。第一個是典型的情況:主角在城鎮門口,第三人稱相機。只有城市前面的物體被顯示,其他被剔除。
?


最差的情況:從天空鳥瞰城市,整個城市基本都可見。
?


最好的情況,主角在小巷中,玩家只能看到非常少的建筑物。此時:
?

  • 加載了43個遮擋數據塊
  • 遮擋數據塊共61M,外加動態生成的數據塊間數據15M
  • 62000個模型塊(Mesh Chunk)
  • 500個模型塊可見
  • 1.8ms查詢時間



其中模型塊是模型的子部件,如下圖綠色部分為不同的模型塊。剔除以模型塊為單位,所以可以只看見一個塔的塔尖。
?


此外,該遮擋系統通過包圍盒支持動態物體,可以剔除包括:
?

  • 粒子特效
  • 蒙皮mesh
  • 模擬mesh(按:不知道是啥)
  • 貼片,包括動態和烘焙的



數據生成

使用專門的服務器組,在每夜構建時生成全部數據。同時,可以在編輯器里面手工更新。每個地塊256*256m。烘焙時間最少幾秒,最復雜的地塊需要15~20分鐘。

實測性能

Skillige島嶼
?

  • 8*8km
  • 平均加載45000~50000個模型塊
  • 平均可見1~5%
  • Umbra數據~300M(數據+ID表)
  • 40~80M內存占用



Novigard城(剛才圖片中的城市)
?

  • 8.5*8.5km
  • 平均加載超過100k個模型塊
  • 平均可見2~5%
  • Umbra數據~250M
  • 45~80M內存占用


?


43:40開始展示漫游過程,推薦看一下,可以看到模型塊拆分得非常細:
?

  • 視頻中房頂的兩個側面是兩個塊
  • 最近處左下角房頂的正面的綠色草,就有3~4個塊,在視角移動時開關。



陰影圖目前還沒有使用剔除系統,但是理論上用起來很簡單,只需要先提交投影方向的查詢就行。物理部分也沒有使用該系統。

總結

以上是生活随笔為你收集整理的大地图开发管理:《巫师3》Umbra遮挡剔除技术的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 美女黄站| 欧美日韩不卡一区二区 | 亚洲综合一二三区 | 亚州av网站 | 男人猛进女人爽的大叫 | 国产日韩精品一区二区三区在线 | 国产九色91回来了 | 国产成人a∨ | 中文字幕日本在线观看 | a片在线免费观看 | 天天添天天操 | 在线视频一区二区 | 亚洲第一网站 | 黄色a毛片 | www.我爱av| 亚洲一区精品视频在线观看 | 久婷婷| 欧美精品在线观看一区二区 | 欧美日韩激情 | 一区二区三区视频在线观看 | 成人免费91 | 日本伦理一区二区三区 | 豆花免费跳转入口官网 | 黄色片视频网站 | 国产亚洲视频在线观看 | 香蕉视频1024 | 一区二区三区国 | 贝利弗山的秘密1985版免费观看 | 国产成人无码一区二区在线播放 | 蜜桃又黄又粗又爽av免 | 久久久91视频 | 噜噜噜av| 伊人青青草原 | 97偷拍视频 | 丁香六月综合 | 床戏高潮做进去大尺度视频网站 | 日本韩国欧美一区 | 99在线精品视频免费观看软件 | 污的视频在线观看 | 91激情在线观看 | 青青青青青青草 | 成人免费一区二区三区 | 国产精品嫩草影院精东 | 久久精品99国产精 | 国产蜜臀在线 | 高潮久久久 | 毛片aaaaaa| 成人婷婷 | 亚洲最大福利视频 | 日韩成人精品一区二区三区 | 97视频久久 | 在线观看黄色免费网站 | 日韩大片免费观看 | 日韩精品在线不卡 | 亚洲一区视频 | 色老头一区 | 在线观看a视频 | 国产午夜精品久久久久 | 伊人伊人网 | 美女毛片 | 欧美精品一二三 | 双性人hdsexvideos | 另类综合小说 | aaaaa黄色片 天堂网在线观看 | 中文字幕亚洲专区 | 偷偷色噜狠狠狠狠的777米奇 | 人人澡超碰碰 | 黑人玩弄人妻一区二 | 男女国产精品 | 天天综合91 | 久久3p| 中文字幕乱码一区二区 | 亚洲五码在线 | 国产精品久久久一区二区三区 | 中国在线观看免费高清视频播放 | 女人扒开屁股让男人桶 | 韩国美女福利视频 | 99re久久精品国产 | 操干视频 | 久久久永久久久人妻精品麻豆 | 毛片毛片毛片毛片毛片毛片 | 男人把女人捅爽 | 欧美a∨ | 国产午夜亚洲精品午夜鲁丝片 | 韩国伦理片在线看 | 国产日韩欧美在线播放 | 全程粗话对白视频videos | 神马久久久久久久久久久 | 夜夜爱夜夜操 | 免费精品在线观看 | 九色porn | h在线播放 | 献给魔王伊伏洛基亚吧动漫在线观看 | 青青青国内视频在线观看软件 | 国产午夜一区 | 日韩精品视频免费 | 久久青青草原亚洲av无码麻豆 | 日本一区二区三区免费看 | 91久久超碰 |