2000FUN論壇

 

 

搜索
2000FUN論壇 綜合論壇 星海爭霸 StarCraft 超越一切!《星海爭霸2》引擎技術解析
返回列表 發新帖 回覆
查看: 5851|回覆: 24
go

[資訊] 超越一切!《星海爭霸2》引擎技術解析 [複製鏈接]

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

UID
45271 
帖子
13861 
積分
206617 
Good
1281  
註冊時間
03-1-10 
在線時間
5468 小時 

十週年勳章(賀詞)

1#
發表於 08-8-27 02:46 AM |只看該作者 |倒序瀏覽 |打印
星際2一出 誰與爭峰?  此神作一出 連而家大熱既Red Alert 3 都要行埋一二邊  

就在SIGGRAPH大會剛結束之後,AMD和暴雪在AMD官方網站上放出了《星際爭霸II》的官方技術文檔,通過遊戲引擎技術的展示讓星際迷們感受到越來越多的驚喜。



著色方面,在使用原型的基礎上利用3D Studio MAX讓程序員對整體效果做最大的優化,反覆的提煉使得整個作品就像被藝術家精心雕琢一樣,配合上8000個獨特的、不重複的線性著色渲染代碼,使得Starcraft II與早期的遊戲代碼相比增加了N倍。



在遊戲製作初期,暴雪就認識到GPU的強大性能,因此在設計的時候就採用了以GPU為主的優化和大幅度圖像質量增加。




由於使用大量像素渲染操作,如果在遊戲中當你選擇了控制成百上千的zerglings或者marines等作戰單位集體行動,勢必造成CPU超負荷,即便是強大的GPU這也是一個考驗。


大量的視覺特效(Based Effects)

包括FP16 HDR、光線散射/反射效果(Diffuse and specular for lighting)、景深效果(depth of field)、體積霧(fog volumes)、動態環境遮蔽(dynamic ambient occlusion)、智能貼圖置換(smart displacement)等等,這些都是Starcraft II的「BT」之處。



然而,作為一個即時戰略遊戲,暴雪依然在「故事情節」的設定上下足了功夫,在遊戲引擎的影響下,延遲緩衝器的深度和平均值,包括著色組建都完全為了效果而服務。而照明管道和陰影的利用也讓深景效果等一些特效表現得淋漓盡致。不過,這些特效都還在討論中。

在早期的開發過程中,圖形引擎也作為一個重點中的重點進行設計:

可擴展性第一

對於遊戲引擎來說,一個主要的設計目標是擴展的引擎。暴雪的遊戲質量是人所共知的,不光是他們的能力,更重要的是經驗,從以前的一系列遊戲開發經驗來說,整個遊戲各種族之間能力的平衡問題非常重要,而且圖像效果之間的兼容性也必須考慮到,這樣也是為了各種不同平台硬件之間搭配的玩家都能體驗這個遊戲的魅力所在,以確保遊戲有足夠的競爭力,因而從ATI Radeon 9800/NVIDIA GeForce FXs系列到ATI Radeon HD 4800s和NVIDIA GeForce G200s都可以輕鬆的進行遊戲。
相比之下,GPU的負載才是重點,像素著色單元往往會因為大量的單位同時出現而使得GPU難以承受,頂點著色單元的運用也必須合理,而先進的GPU才能體驗到最大限度的特效,而對於普通的GPU只能盡量減少使用率來保證遊戲的流暢度。

一個引擎,兩個「世界」(Dual Nature of the Engine)



這個雙重性質的引擎使得整個遊戲有更完美的體驗,其實就是說SC2具有兩個視角模式,一個是普通的RTS視角、一個是單人模式的RPG視角,當然在這兩個模式下呈現的畫面效果是有所不同的。具備兩個視覺模式的原因正是我們之前提到的故事模式,當切換到單人模式的RPG視角時,玩家將會體驗到暴雪對於整個遊戲設定的精妙之處,通過一系列互動,包括對話等手段,其實從某種感覺上來說更像是第一人稱射擊遊戲(FPS)。

暴雪還將對這些不同的設定做更為細緻的討論,這樣才能讓玩家體驗到不同的技術效果的運用。


屏幕基礎效果

作為Starcraft II的另一個設計目標,照明環境模式讓遊戲的互動更多,之前在魔獸爭霸新聞俱樂部論壇題庫)三中,每個單位有一個硬性限制,有多少亮度,可能會影響它在任何特定時間。出於這個原因,使用動態照明是相當微不足道的,但是在Starcraft II中每個單位有一個照明設備,當其中一個開啟之後其他也會開啟,這樣效果非常好,但是由此帶來的地圖的設計和繪製,包括地圖地形切片就成了相當複雜的問題。而即便是解決了這些,給GPU帶來的負荷也是巨大的。
針對於此,暴雪也做了很多限定 :

◆ 顏色組成部分,並不受當地照明,如發射、環境地圖和點燃前期的彩色組成部分;

◆ 深度;

◆ 每像素正常;

◆ 如果使用靜止環境閉塞,出口的環境閉塞的紋理被忽略,如果屏幕空間環境閉塞啟用;

◆ 亮燈的瀰漫物質的顏色;

◆ 亮燈的鏡面材料的顏色。



解碼緩衝器

所有的緩衝器應該都使用相同的深度,不幸的是似乎這些緩衝器遠遠不能滿足暴雪的需要,這些緩衝器以24字節每像素推動輸出帶寬,這樣使得整個帶寬明顯不足,因此在安置光源的時候必須犧牲一些。

為了向MRTs提供每像素值以保證用於各種的效果,因而以下必不可少:

◆ 深度值為照明、霧卷、動態環境閉塞和智能景深,預測,邊緣檢測和厚度測量;

◆ 平均值為動態環境閉塞;

◆ 瀰漫性及鏡面照明。


延遲渲染

在Starcraft II中延遲渲染只適用與當前的渲染,包括燈光的點和散射出去的面都要再渲染,但是由於遊戲中會出現很多的照明設備,如果都使用這樣的方法渲染的話一定會造成畫面過於緩慢,因此延遲緩衝器的出現也解決了這一難題。在延遲渲染和著色方程式的幫助下計算機能很快的繪製出不同形式或者更為複雜的光源,這樣也為其他的計算提供了一個後處理的過程。

像素坐標重建



受益於早期的樣板,暴雪在設計新的形狀和色彩的時候輕鬆了不少,而且同時還釋放了CPU。



相機原理我們都知道了,就通過這樣的模式使得暴雪在視覺上更瞭解該如何設計。




屏幕空間環境光遮蔽

屏幕空間環境光遮蔽(Space Ambient Occlusion,簡稱SSAO)。如果對這個名詞感到陌生,那提及到讓大家記憶猶深的《Crysis》逼真的光照效果時,一切就很簡單了,這就是SSAO技術的獨到之處。
暴雪在這使用這方案的時候考慮到了整個空間的效果和質感,也許從某寫方面上來看,沒這個必要,但是基於暴雪的理念,一點點瑕疵都是不被允許的。



在任何可見的點和表面在屏幕上,採取多個樣本(8至32),這些樣本,表現了在三維空間中從目前的點計算,到預計回屏幕空間所需的時間和深度。



現在的目的是檢查是否深入採樣點,如果接近這個更遠的採樣點本身能獲取信息的話就這麼做下去,這是一個函數問題,因此需要複雜的計算。






不過在對地圖的計算時不會採用這樣的方法,這僅僅是為了形成一個空間的效果而已。


模糊效果



前面的一切都是為了更加細緻的描繪出所有的場景,但是,有時候遊戲還是需要一些模糊的圖形圖像,如果一直使用SSAO技術的話,必然導致不真實。

對於SSAO來說,雖然是一種優勢,但是高智能的判斷在這時也顯得尤為重要,何時需要高精度的細緻圖像,何時需要動態模糊效果,無論是著色還是渲染都需要大量的資源的計算才能顯現這些複雜的效果。

自我閉塞



這也是一個相當複雜的效果,就像一個圍繞著一個半球體產生偏移向量,這一點上在屏幕上(這意味著需要使用大量的延遲緩衝器),由一個矩陣轉化每個偏移向量和正常向量來抵銷矢量。

邊緣處理

偏移向量在空間中並不像在屏幕空間中一樣,由於鏡頭的不斷移動使得SSAO不斷變化,這樣就需要在移動的過程中對鏡頭的邊緣進行處理,以保證完美的視覺效果,但是紋處理包裝上並不是一件簡單的事。

SSAO的表現

SSAO提供的效果是讓人相當滿意的,視覺圖像質量的處理近乎完美,但是成本過高,而且大量使用還是會造成系統性能瓶頸,這樣得不償失,因此合理的使用這個技術也是討論的問題之一。


SSAO和整體光線效果

從圖中很明顯的發現了SSAO的精妙之處,如此逼真的效果讓人讚歎不已,其實更多的還是其後面的技術支撐。







我們可以把一切制約因素一起使用以下過程表示:

◆為每個像素在源的形象和存儲執行一個全屏幕通過計算混亂循環結果,在Alpha通道的每邊縮減一個CoC圖像緩衝區的四分之一大小;

◆產生中等模糊圖像通過應用的RGB高斯模糊與每個樣本對源圖像加權CoC;

◆產生的最大模糊圖像只有縮小的RGB的圖像緩衝區源圖像的四分之一,每一個CoC和大型模糊緩衝器可以同時使用不同的通道;

◆最高模糊圖像與RGB樣本加權由縮減CoC執行,Alpha通道中載有CoC,也有模糊,但其樣本不加權本身;

◆縮小和模糊一張深度地圖成為一個縮減深度圖像,重用深入SSAO縮減(SSAO不模糊深度 );

◆然後開始最後的景深著色,有一定的形象來源,中等和大型模糊、模糊CoC的形象,非模糊深入地圖和縮減深入形象的渲染。











景深渲染包括 :

◇計算小模糊價值,直接使用小樣本著色四近鄰像素;

◇計算CoC的像素(縮減CoC將不匹配);

◇樣本非模糊,使用模糊的深入比較——計算機CoC,如果是模糊的深入,比非模糊的深入更遠,否則使用CoC價值樣本,模糊CoC的形象;

◇計算貢獻,從每一個可能的模糊圖像,計算小模糊的顏色,中型和大型的圖像模糊的基礎上,CoC的因素;

◇小型,中型和大型模糊;

◇輸出Alpha包括的源(無模糊)形象。

處理透明物體渲染

透明度是一個值得深入研究的問題,當涉及到開發時暴雪的董事會認為延遲渲染技術不支持透明度的話就應該在其他地方加上這個功能,而事實證明這是一個正確的選擇。

作為是典型的就是延遲繪製技術,透明度的問題還設計到樹蔭等一系列問題,因此必須選擇一些有代表性的物體來標記之後再做探討。光線的問題在透明度的談論中再一次被提及,因為這是個相輔相成的東西,因此暴雪在製作這一切的時候都努力的尋找解決方案。


半透明陰影(Translucent Shadows)
這種技術能令煙霧、爆炸也能投射出陰影效果。



早期在建模的時候影子系統都是成功地利用屏幕空間信息解決跟蹤問題,否則將會困難很多,但這次暴雪將顯示如何延長陰影地圖的每像素信息與一些額外的信息通道,可以用來容易的充實陰影,地圖上實現半透明的陰影支持。

陰影地圖算法是延長與第二地圖的陰影信息形成半透明的陰影,大部分地圖的影子仍然會包含不透明信息的陰影,此外還需要做到在顏色的緩衝區發現顏色半透明的陰影。不過,這一切都需要硬件的支持,如果硬件不支持將會有一個空的顏色,因此在考慮到深景等特效的時候暴雪依然在處理陰影效果。

首先是清理,以白色調和,然後填補渲染透明物體的陰影,就這樣形成一個透明的陰影色彩緩衝區,再加上測試,處理這些透明光過濾器,最後形成需要的效果。

光過濾處理器



總結:

從上面簡短的一份官方技術文檔(因為AMD只放出這一部分),我們已經可以瞭解到暴雪在SC2這個遊戲上所付出的努力和貢獻了,其效果之華麗恐怕也是驚人的。作為暴雪十多年磨一劍的大作,《星際爭霸II》可是包含了現在最尖端的技術和效果,無論是暴雪的質量還是技術相信都是世界頂級的水平,這樣的遊戲公司確實在為自己的的作品留芳百世而努力!不過,至於還要等多久,至今仍是一個謎。

[ 本帖最後由 火野亂太郎 於 2008-8-30 08:51 AM 編輯 ]

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

UID
1116496 
帖子
8197 
積分
6099 
Good
213  
註冊時間
08-12-28 
在線時間
2700 小時 
2#
發表於 08-8-27 11:38 AM |只看該作者
呢隻正過紅色警誡....

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

UID
159700 
帖子
12162 
積分
12615 
Good
201  
註冊時間
04-2-22 
在線時間
3354 小時 

十週年勳章(賀詞) 十週年勳章(截圖)

3#
發表於 08-8-27 11:43 AM |只看該作者
可以試下玩!
不過,至於還要等多久,至今仍是一個謎。

Rank: 3Rank: 3Rank: 3

UID
875070 
帖子
274 
積分
309 
Good
2  
註冊時間
07-4-27 
在線時間
125 小時 
4#
發表於 08-8-27 11:45 AM |只看該作者
但係我鍾意紅警多d
我覺得佢d故事好正
不過2隻都係陪伴我長大ge遊戲

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

UID
1116496 
帖子
8197 
積分
6099 
Good
213  
註冊時間
08-12-28 
在線時間
2700 小時 
5#
發表於 08-8-27 12:21 PM |只看該作者
我鍾意星海2既蟲族

[ 本帖最後由 變形俠醫 於 2008-8-27 12:43 PM 編輯 ]

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

UID
45271 
帖子
13861 
積分
206617 
Good
1281  
註冊時間
03-1-10 
在線時間
5468 小時 

十週年勳章(賀詞)

6#
發表於 08-8-27 12:34 PM |只看該作者
重記得個時讀緊小學....唔知存左幾耐先有50蚊去買2cd版既red alert 2老番-.-" 到到而家有能力鐘意買乜都得 但係就有bt既出現 而從我有能力可以買自己鐘意既野個刻到而家 我只係買過10隻左右既正版遊戲-.-諗番起真可笑-.-

Rank: 4Rank: 4Rank: 4Rank: 4

UID
254681 
帖子
2797 
積分
910 
Good
2  
註冊時間
04-8-30 
在線時間
1668 小時 
7#
發表於 08-8-27 05:30 PM |只看該作者
星1 都有玩過..重要係同表弟屋企玩~~幾個爭住玩~哈哈

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

UID
513515 
帖子
4107 
積分
8181 
Good
11  
註冊時間
05-12-25 
在線時間
1542 小時 
8#
發表於 08-8-27 08:39 PM |只看該作者
星2既神族好型-.-唔知人族仲有冇咁好用...

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

UID
1116496 
帖子
8197 
積分
6099 
Good
213  
註冊時間
08-12-28 
在線時間
2700 小時 
9#
發表於 08-8-27 08:44 PM |只看該作者
原帖由 阿魚” 於 2008-8-27 08:39 PM 發表
星2既神族好型-.-唔知人族仲有冇咁好用...

神族好似係最屈 -,-

Rank: 2Rank: 2

UID
847186 
帖子
94 
積分
56 
Good
0  
註冊時間
07-3-11 
在線時間
263 小時 
10#
發表於 08-8-28 02:11 AM |只看該作者
正就正啦 都唔知死人暴雪幾時先肯出 我等左2年啦

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

UID
460645 
帖子
1209 
積分
2229 
Good
8  
註冊時間
05-7-22 
在線時間
1684 小時 
11#
發表於 08-8-28 12:59 PM |只看該作者
嘩...真係唔轉電腦都唔得...又gta4 囧rz.......

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

UID
147771 
帖子
10679 
積分
871 
Good
7  
註冊時間
04-1-23 
在線時間
4099 小時 
12#
發表於 08-8-28 07:28 PM |只看該作者
原帖由 變形俠醫 於 2008-8-27 08:44 PM 發表

神族好似係最屈 -,-

sc 冇野係最屈的 ~ 技術才是王道 ^^

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

UID
29144 
帖子
8795 
積分
21205 
Good
42  
註冊時間
02-3-6 
在線時間
3718 小時 
13#
發表於 08-8-28 08:01 PM |只看該作者
(茶)在WOW要面對戰錘ONLINE之後,就是SC2對決戰錘2

暴雪可以把水雷擊破嗎?



戰錘2的開發畫面

對不擅長引擎開發的暴雪,可以打破現時的物理特效之王「英雄連」嗎?








物理效果很讚的英雄連

SC2要努力耶,以只比水雷弱一點的畫面和物理特效,以及完美的平衡擊落水雷吧~

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

UID
1116496 
帖子
8197 
積分
6099 
Good
213  
註冊時間
08-12-28 
在線時間
2700 小時 
14#
發表於 08-8-28 10:24 PM |只看該作者
原帖由 全真隱士 於 2008-8-28 08:01 PM 發表
(茶)在WOW要面對戰錘ONLINE之後,就是SC2對決戰錘2

暴雪可以把水雷擊破嗎?


http://i256.photobucket.com/albums/hh197/ ...

星海2一定好玩d既

Rank: 2Rank: 2

UID
1059577 
帖子
263 
積分
220 
Good
1  
註冊時間
08-4-5 
在線時間
124 小時 
15#
發表於 08-8-29 11:53 AM |只看該作者
原帖由 *銘* 於 2008-8-28 07:28 PM 發表

sc 冇野係最屈的 ~ 技術才是王道 ^^

aGree..好耐之前同呀哥玩
我果陣好細個未識玩既,,唔洗幾分鍾佢用虫族打我又係虫族
d狗仔屈我機 ...

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

UID
513515 
帖子
4107 
積分
8181 
Good
11  
註冊時間
05-12-25 
在線時間
1542 小時 
16#
發表於 08-8-29 12:37 PM |只看該作者
原帖由 變形俠醫 於 2008-8-27 08:44 PM 發表

神族好似係最屈 -,-

貴-.-...

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

UID
29144 
帖子
8795 
積分
21205 
Good
42  
註冊時間
02-3-6 
在線時間
3718 小時 
17#
發表於 08-8-29 06:52 PM |只看該作者
原帖由 IAMCKL 於 2008-8-29 11:53 AM 發表

aGree..好耐之前同呀哥玩
我果陣好細個未識玩既,,唔洗幾分鍾佢用虫族打我又係虫族
d狗仔屈我機 ...

完美的種族平衡是沒有所謂的屈機D

不過會被高技術人員的神人屈機就是了XD

Rank: 2Rank: 2

UID
991146 
帖子
58 
積分
77 
Good
0  
註冊時間
07-10-25 
在線時間
37 小時 
18#
發表於 08-8-30 06:15 PM |只看該作者
快d出....等左好耐/.\

Rank: 1

UID
1090945 
帖子
58 
積分
48 
Good
0  
註冊時間
08-6-12 
在線時間
5 小時 
19#
發表於 08-8-30 06:26 PM |只看該作者
好似好覆雜喎

Rank: 2Rank: 2

UID
1141052 
帖子
52 
積分
52 
Good
0  
註冊時間
08-8-31 
在線時間
1 小時 
20#
發表於 08-8-31 10:11 AM |只看該作者
介紹得真詳細,真是太讓人期待了!!
‹ 上一主題|下一主題
你需要登錄後才可以回帖 登錄 | 免費註冊

聯絡我們|Archiver| 2000FUN論壇

SERVER: 2 GMT+8, 26-1-14 11:52 PM , Processed in 0.064385 second(s), 11 queries , Gzip On.

Sponsor:工作間 , 網頁寄存

Powered by Discuz! X1.5.1

© 2001-2010 Comsenz Inc.