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

影片

https://www。

youtube。com/watch?

v=p8CMYD_5gE8

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

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

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

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

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

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

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

巫師3的編輯器能力

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

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

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

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

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

SQL查詢例:

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

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

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

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

頂點密度地圖

植被過密地圖

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

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

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

實際使用效果

揪出很多故障

一個Layer標記為地下、開啟陰影的燈,直徑為4公里

地下有200個左右帶骨骼動畫的懸空弓,每個都有900米的視野距離

發現了場景中的測試資源

發現了25萬面的船

發現超過200個2000面以上的模型沒有LOD(按:所以他們基本上所有模型都要做LOD)

發現在一個32平米的區域內(按:疑筆誤為邊長32米)有10萬個草,反饋後確認是一個程式bug

內部的評價

程式和美術都很喜歡用。沒有專門的測試員,美術會自己拼巨長巨複雜巨瘋狂的SQL語句查詢。

在地圖上視覺化顯示是非常有用的