日韩性视频-久久久蜜桃-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 | 国产精品久久久爽爽爽麻豆色哟哟 | 在线观看三级视频 | 亚洲第一女人av | 97超级碰碰人妻中文字幕 | zoo性欧美 | 超碰caopeng | 老司机午夜影院 | 8050午夜一级毛片久久亚洲欧 | 国内自拍偷拍 | 又色又爽又黄无遮挡的免费视频 | 成人动漫在线观看视频 | 日韩欧美在线中文字幕 | 密色av| 91丝袜美腿| 91亚洲国产成人久久精品麻豆 | 国产在线97 | 波多野吉衣视频在线观看 | 超碰爱爱 | 免费高清视频一区二区三区 | 国产性色av | 亚洲成av人片久久 | av操操| 久久二| 欧美日韩人妻精品一区在线 | 国产99视频在线观看 | 91免费观看入口 | 亚洲精品视频播放 | 中文字幕+乱码+中文字幕一区 | 国产在线观看免费高清 | 欧美三区在线观看 | 中文字幕在线观看欧美 | 免费看一级 | 青娱乐免费在线视频 | 国产夜色视频 | 亚洲欧美成人一区二区三区 | 老熟女高潮一区二区三区 | 国产一级一级国产 | 3d动漫精品啪啪一区二区免费 | 国产15页 | 美女av一区二区 | 激情小说图片视频 | 久久精品视频8 | 懂色av蜜臀av粉嫩av喷吹 | 日韩在线播放中文字幕 | 高跟肉丝丝袜呻吟啪啪网站av | 一区二区三区四区精品 | 午夜一级大片 | 中文字幕在线播放一区二区 | 国产日韩欧美日韩大片 | 精品一区二区三区久久 | 爱色av网站 | 成人在线观看一区二区 | 狠狠鲁影院 | 性一交一乱一区二区洋洋av | 亚洲成人av免费观看 | 国产精品女人精品久久久天天 | 亚洲乱码国产乱码精品天美传媒 | 性生生活性生交a级 | 性开放网站 | 四川丰满少妇被弄到高潮 | 久久思| 成年免费在线观看 | 色婷婷在线观看视频 | 亚洲永久精品一区 | av动态 | 五月在线视频 | 绯色av一区二区三区高清 | 91精东传媒理伦片在线观看 | 亚洲自拍偷拍综合 | 一本色道久久综合亚洲精品按摩 | 黄网在线免费观看 | 久久99精品久久久久久水蜜桃 | 日韩有码在线视频 | 国产一级视频在线 | 激情网av | 青娱乐导航 | 特级毛片爽www免费版 | 色婷婷精品久久二区二区密 | jizz在线观看视频 | 99在线精品视频免费观看软件 | 成人午夜在线免费观看 | 99日精品 | 天堂在线免费视频 | 久久久久国产精 | 久久99成人 | 无码人妻少妇色欲av一区二区 | 日韩精品亚洲精品 | 国产sss | 波多野结衣 一区 |