為什麼世嘉土星做不到真3D?

我在維基百科上看到了這句話:

"The Sega Saturn couldn"t do true 3D."—Yukio Futatsugi, designer of Panzer Dragoon II Zwei.[147]

大致意思是世嘉土星做不到真3D,這還是鐵甲飛龍II的設計者說的話!為什麼?


3D遊戲有兩個工作最耗費運算量,一是幾何運算與光影,二是像素填充/紋理填充。用通用CPU來計算是非常浪費資源的,32位機同期的PC CPU性能遠遠高於遊戲機,遇到真3D遊戲也是一籌莫展。

SS的架構仍然是經典的2D遊戲機設計,2個普通的主CPU,配上幾個極為強大的2D顯卡,專門用來處理2D圖形。

PS則完全放棄了傳統結構,2D運算都由CPU完成,加入了一個專門做3D運算協處理器,效率遠高於SS,只是它仍然缺少很多3D必須的功能,尤其是缺少Z緩衝,所以PS不屬於3D遊戲機。

SS本來帶有一個矩陣運算專用DSP,但是可用緩存很小,只支持彙編語言,除了SEGA嫡系的那些有神一樣技術能力的公司外,大家都當這個東西不存在。

SS開發到一半才意識到3D遊戲的需求,以雙CPU的性能,可以硬算無紋理的單色多邊形,但是要加上材質貼圖就徹底完蛋了。為此SEGA發明了一種非常獨特的3D技術:2D顯卡有一個特效是將正方形扭曲成特定的形狀,可以用來代替3D渲染流程中的紋理填充,相當於用PHOTOSHOP來做3DMAX的工作。(光柵原理的3D圖形渲染單位是像素,而SS上的渲染最小單元是一個「多邊形」,由於活動塊都是正方形的,所以SS的「多邊形」是四邊形而不是三角形)

2D遊戲機的另一大特點是有專門用來做背景捲軸的2D顯卡,SS上很多遊戲的場景,比如房間的房頂、地板、牆壁,實際上是幾個按照特定角度放置的背景,完全不涉及到3D運算。

從日本的技術解說《BGとかスプライトとか色分けしてみた》中截了兩張圖,前者是原版VR戰士,後者是改用材質貼圖的VR戰士完美版。

畫面中,有虛線的部分就是2D顯卡處理的活動塊,而沒有虛線的綠色部分是CPU直接畫出來的無紋理多邊形。可以看出,地面是有紋理的,而人的身上只有極少的部分有紋理。

VR戰士完美版就完全不同了,角色整個都是由2D顯卡處理的活動塊,相反地板變成了有透視效果的背景。

SS通過這種方式實現了3D,但是也留下了後遺症,SS的2D顯卡在處理半透明物體時,需要選擇是只針對背景半透明還是只針對前景半透明,在全部由活動塊構成遊戲中沒有任何問題,但是由於SS的畫面背景實際上是2D的,針對前景半透明的活動塊會覆蓋掉背景。SS的3D遊戲沒有半透明就是這個緣故。(順便一提,在20世紀,ALPHA通道還是個很冷門的概念,因為機器性能根本無法實現,PS的ALPHA通道只有1bit,只能選擇50%疊加或者不透明)後期部分遊戲的半透明效果,是先畫完全部的半透明元素,然後將這時的遊戲畫面整個作為一個半透明圖層貼到屏幕上。至於光照和投影,後來靠提高運算效率總算搞定了,但後遺症就是解析度和幀數狂降。

有興趣的人可以看低分少年的SS專題

[低分少年] SEGA SATURN 20周年紀念 共3P

這個細節也可以解釋,為什麼20世紀遊戲機上的遊戲大多數都是獨佔遊戲。因為各平台的圖形原理完全不同,遊戲中的圖形素材和音響素材根本不通用,移植就意味著全部重做,因此如果不是非常受歡迎的遊戲,是不會考慮跨平台的。


SS的多邊形有的時候反而比PS真,譬如SS的多邊形可以做矩形而非三角形,比PS的三角形相比更不容易變形


真3d的意思是連模型表面曲面的凹凸紋理都不用貼圖作假?全局光照晝夜實時光影,戰場場景全建模么?…要買啥樣的機器能玩呢…


推薦閱讀:

怎樣製作一款以打雪仗為主題的遊戲?
EVE遊戲程序的技術在哪個層面?
怎樣快速製作一個圖形化的邏輯編輯器?
開發一款像素遊戲需要做哪些準備?
電子遊戲是否能稱之為一門藝術?你們怎麼看?

TAG:遊戲 | 遊戲開發 | 家用遊戲機 |