[筆記][大地圖管理]The Witcher 3: Optimizing Content Pipelines for Open-World Games, GDC2015

本篇屬於資源製作流程,介紹了一個場景資源查詢工具。非常有創意的是,工程師將美術資源數據直接導入到SQL,於是產生了強大的查詢能力。此外可以從該文大致了解到巫師3的資源標準(例如超過2k面必須做LOD)。

視頻 youtube.com/watch?

PPT https://www.gdcvault.com/play/1021880/Content-Optimization-Pipelin

美術可能會擺出性能很差的東西

在巫師3中,美術的創造力讓他們能做出很多性能很差的東西。

美術放了一個模型,只有5%在地面上,其他都放在底下。戲稱之為「泰坦尼克」。

有一個雞肉桶,放了150萬面,吐槽「這大概是最貴的雞肉了」。

巫師3的編輯器能力

從講座看,巫師3編輯器自由度比較高,結構為世界/圖層/實體/組件的層級結構。設計師和美術人員可以編輯和修改資源,編輯組件(按:估計也是ECS系統)。也就是說,可以對導入的實體進行進一步修改,比如修改材質、粒子特效、Shader,組件有光、聲音、植被。從渲染管理來看,在場景上可以手工增加碰撞體,合併mesh,增加額外的LOD層級。遊戲大概有50萬個實體。

解決方案:美術資源資料庫

項目做了一個分析工具,可以使用SQL查詢美術資源。

工具在每次夜間自動構建時自動調用,將所有美術資源的屬性導出為 SQL 的表創建和插入文本,一次大約2GB,然後創建SQL資料庫運行在伺服器上,然後就可以用SQL來查詢了。(作者認為有性能優化空間,且希望能實現本地版本實時看效果)

SQL查詢例:

該工具客戶端界面如下。上方可以輸入SQL語句,如果對語句滿意的話可以保存。左側是已經保存好的查詢,右側為搜索結果列表。中間的地圖可以顯示查詢到物件的位置,以及大小。如果你點擊地圖上的物件的話,你能直接傳送過去看現場。地圖可以存為4k的大圖。

此外還有一些預製的地圖分析,包括:

  • 頂點密度地圖
  • 植被過密地圖

列表通過google api自動導出到 Google Doc,然後每個周一都通過google sheet,自動導出幾個重要指標表。這樣,項目組可以指派一部分開發人員作為突擊隊,按主題,一個主題一個主題修復問題。

實際使用效果

揪出很多故障

  • 一個Layer標記為地下、開啟陰影的燈,直徑為4公里
  • 地下有200個左右帶骨骼動畫的懸空弓,每個都有900米的視野距離
  • 發現了場景中的測試資源
  • 發現了25萬面的船
  • 發現超過200個2000面以上的模型沒有LOD(按:所以他們基本上所有模型都要做LOD)
  • 發現在一個32平米的區域內(按:疑筆誤為邊長32米)有10萬個草,反饋後確認是一個程序bug

內部的評價

  • 程序和美術都很喜歡用。沒有專門的測試員,美術會自己拼巨長巨複雜巨瘋狂的SQL語句查詢。
  • 在地圖上可視化顯示是非常有用的

推薦閱讀:

真三國無雙8:開放世界的誤區
天國拯救:突破慣例
觸樂夜話:貧瘠的開放世界們

TAG:GDC | 遊戲開發 | 開放世界遊戲 |