設計師博客:優化地圖 兼具藝術與高性能的風景
發佈時間:2014年11月15日 09:57:33    作者:開心遊戲網    人氣:10380    進入討論區
分享至FaceBook plurk 分享至twittwe 分享至murmur

Dev-Diary-Article-Image-DevBlog2.jpg

  作者:Kevin and Hoa

  當我們第一次討論召喚師峽谷的更新優先級時,性能便是我們面臨的首要挑戰之一。畢竟,如果機器跑不動,那麼整潔美觀的更新還算是好的更新嗎?想到這一點, 我們定下了一個目標:新的召喚師峽谷在玩家電腦運行時擁有和目前召喚師峽谷一樣或更佳的性能。在公佈召喚師峽谷更新後,我們一直在優化性能方面努力,現在 和大家討論一些最新的細節:

  工程藝術

  通常,當玩家考慮一個遊戲在機器上運行的性能時,首先會看遊戲的技術層面。實際上,性能指將藝術家和工程師緊密聯合在一起,且旨在將藝術以一個有效的方式植入遊戲之中。在召喚師峽谷更新的設計過程中,我們的工程師為藝術家們提供了他們所需的工具和信息來創造出一幅兼具視覺吸引力和高性能的絕佳風景。

  藝術團隊的目標在於在保證效果與原召喚師峽谷對等的前提下實現視覺保真的提升。這意味著他們需要一小組高度優化的功能來幫助他們創造一幅手繪地圖。基本上,這意味著工程師團隊需要從零開始建立一個全新的、高性能的渲染器。

  廣泛來講,渲染器的作用是將遊戲幾何體放置在你的屏幕上,為召喚師峽谷而造的新渲染器簡化了整體渲染流程,以達到在機器上尤其是較老的顯卡上表現更好的 效果。另外,它讓我們更精細地調整一個機器的顯卡渲染整個環境所需的技術規格,並精細地「加快」了性能。最終,渲染器讓我們對整個地圖的貼圖紋理形式有了 更好的把握,並減少了顯存的使用。

  簡約致美

  工程最優化之上,我們的藝術家尋求更具創造性的方式以節省性能。早期我們所關注的稱之為「多邊形數」,特指野怪的多邊形數。我知道你們可能瞭解這個概念,作為提示,多邊形指一系列點在空間中所組成的表面。

  特別的,我們來看看三角形——最簡單的多邊形。多重三角形經常被用於創造遊戲中的複雜表面,他們在屏幕上顯示的數量則是衡量你的顯卡承載的任務量的絕佳指標。尤其是低配的機器在三角形數量增加的情況下將受到嚴重的影響。在設計之初,我們有意地做出一些努力來減少三角形(或廣義上的多邊形)的數量,以節省 大量性能。

TriCount1.jpg

TriCount2.jpg

TriCount3.jpg

  我們同樣關注了「骨骼計數」。所謂「骨骼」指一幅骨架中的各個節點,當他們移動或旋轉時將影響到他們的周圍。在計算機圖形學中, 骨骼可令周圍的集合體連接(或產生動畫效果),故一個野怪身上的多個點都有骨骼來幫助展現他栩栩如生的移動或攻擊。如你所料,骨骼越少,效果越佳,所以在 此次更新中在環境移動因素內最小化骨骼數量也是我們所看重的。

Bone1.jpg

Bone2.jpg

  這兩項提升實際上為促進性能最優化貢獻了另一個機會。我們注意到防禦塔或小兵等具有多骨骼-多邊形連接的結構的地圖上元素在「變形」時(例如,在骨骼移動 下移動多邊形)是非常低效的,這便顯示出使用召喚師峽谷更新的新結構的必要性。我們之前提到的骨骼和多邊形的削減自然的將我們引導至連接至單個多邊形的骨骼數量的大幅削減,以在所謂性能集中型進程趨勢下實現顯著的性能節省。

  1+1<2

  我們為強調性能相關的進程執行而採取的另一重要步驟稱作「紋理貼圖集」,這一工序結合了「紋理貼圖」(繪製一個模型的皮膚)和「UV貼圖」(將紋理表現在3D模型上)以優化性能。

  一個模型的UV空間決定他如何讀取紋理,以及哪一部分的紋理在哪一個表面顯示。通常UV空間中會有一些多餘的空間,一個模型和其貼圖紋理如下所示:

 

  「紋理貼圖集」通過將多重貼圖紋理結合至一個更大的紋理中的方式,讓我們可以基於具體所需的細節程度來進行壓縮或擴展。這對保存用於貼圖紋理的珍貴內存有 著不可估量的意義。舉例來講,相比讀取5個1024x1024大小的貼圖紋理,我們可以只讀取一個2048x2048並節省了性能。

  小細節

  希望我們已經為召喚師峽谷的新面貌的公佈提供了一些內在的細節的理解。當然上面所講的並不能詳盡無遺的講述我們為性能提高所做的一切努力-從人物著墨的 變化,戰爭迷霧的提升,導航網路的流暢控制到基礎的程序漏洞修復-我們警惕地找尋一切可能的機會來實現優化。從一開始,機器的兼容性就是我們此次更新的首要目標,也是我們在開放測試和之後將持續關注並精細調整重中之重。

1
0
0
1
1
1

超贊

期待

支持

很瞎

翻桌

懷疑
0
分享至FaceBook plurk 分享至twittwe 分享至murmur
[關閉]
[關閉]