Mode 7
此條目需要補充更多來源。 (2014年3月28日) |
Mode 7是電子遊戲機超級任天堂一種圖形方式,可讓逐掃描線式的背景層支持旋轉與縮放,以此創造大量的不同效果。[1]其中最著名的效果是,通過縮放和旋轉背景層來顯示透視效果。這種將高度改為深度的變換,將背景層變為二維水平材質貼圖平面。如此便可顯示三維圖形的效果。
Mega Drive的擴展Mega-CD以及Atari Lynx使用了相似的功能。
使用
Mode 7方式渲染通常用於2D性能強勁,但不專門支持3D的舊系統。著名Mode 7遊戲有超級任天堂作品《F-Zero》、《天地創造》、《飛行俱樂部》、《耀西的旅行》、《忍者龜4》、《惡魔城》、《聖劍傳說2》、《聖劍傳說3》、《艾薇莫的秘密》、《最終幻想IV》、《最終幻想V》、《最終幻想VI》、《超級馬里奧RPG》、《DinoCity》、《超級瑪利歐世界》、《超級馬里奧賽車》、《超級星球大戰》、《時空之輪》、《雷莎出擊》、《熱爆賽車》、《迦樓羅王》、《時空引導者》、《洛克人7 宿命的對決!》、《超越巔峰》、《星之卡比 超級豪華版》、《銀河風暴》和《塞爾達傳說 眾神的三角力量》。Mode 7方式渲染還用於《音速小子CD》的特定關卡。
功能
超級任天堂遊戲機有編號從0至7的8個方式來顯示背景層,其中最後一個(背景方式7)只有一個可以縮放和旋轉的單層。在Game Boy Advance和任天堂DS 2D圖形硬件中,方式1和2可以縮放旋轉傳統磚塊式背景,方式3到5用用來縮放旋轉位圖(因技術限制,這通常很少在Game Boy Advance中使用)[2]。對於支持此效果的機器,在各掃描線行消隱周期內,可能通過改變縮放/旋轉值,繪製一個透視投影平面;這被視作「Mode 7」效果的特徵。通過使用其它各行的位置、縮放及旋轉方程,可以實現模糊等更複雜的效果。
這種圖形方法不僅適用於競速遊戲;它還普遍用於角色扮演遊戲的世界地圖部分,如史克威爾1994年暢銷遊戲《最終幻想VI》。效果可讓開發者通過製造無垠的遠方,來營造龐大世界的效果。
在超級任天堂中,Mode 7的一種變形可讓背景層的像素置於子圖形上層。比如《魂斗羅精神》(關卡2),《賓尼兔的冒險》的引入畫面,以及玩家掉下舞台時的《馬里奧賽車》。Game Boy Advance遊戲使用Mode 2營造相同效果,其通過提供兩個「Mode 7」圖層,並將子畫面置於兩個圖層之間。
許多PC遊戲,其中以《Wacky Wheels》和《Skunny Kart》最為知名,完全通過軟件技術模仿了Mode 7。軟件自編寫程序Multimedia Fusion發展了「Mode 7」,它可讓創作者製作使用相似技術的軟件。
在超級任天堂時代,Mode 7是任天堂最喜歡的賣點(《任天堂力量》、《SNES Player's Guide》)。比如街機移植到超級任天堂的遊戲《Teenage Mutant Ninja Turtles: Turtles in Time》中,一個關卡就從橫向捲軸改為Mode 7。
公式
使用Mode 7圖形的平面紋理地圖,是由屏幕坐標到背景坐標的2D仿射變換而轉換成,
a、b、c和d是轉換係數;x和y是屏幕偏移;x0和y0是初始偏移;x'和y'是轉換坐標。全部運算都為16位有符號定點數,而全部偏移僅限制在13位。小數點位於7和8位之間。
仿射變換僅允許位移、縮放和剪切效果。許多遊戲通過逐掃描線基礎,進行創造性的變換矩陣參數操作,產生額外的效果。這種方式可實現偽立體、彎曲的表面,以及變形效果。
限制
Mode 7隻能作用於背景,而無法作用於子圖形;因此,任何不隨背景旋轉/縮放的對象肯定是精靈,即使它通常被視為背景一部分,如固定平台等。比如在《超級惡魔城IV》和石巨人等頭目的戰鬥中,移動的頭目是背景,而主角所站的區塊是子圖形。在頭目戰中,相對於FC通過大號子圖形顯示大型移動頭目,而固有的減慢和閃爍,超級任天堂通過在背景層顯示頭目的移動和動畫,可以產生類似的效果,且效果明顯提升。但兩個系統示例都只適用在水平面移動的對象。例如,地板、天花板或記分板可以作為FC和超級任天堂遊戲的背景,只要它們完全位於遊戲區域的「上方」或「下方」。如果需要使用整個屏幕,他們也可以變為子圖形,但這可能會讓畫面減慢。
Mode 7不能用來通過改變子圖形「大小」來表示它的「逼近」,特定距離的子圖形必須預先繪製,這就是說,人們會看到,當用數量有限的各大小子圖形來表示「逼近」時,人們會看到子圖形在「跳躍」。這可以在《馬里奧賽車》和《HyperZone》當物體靠近時看到,或是《最終幻想VI》乘坐飛空艇垂直升降的畫面。
類似的,子圖形的「旋轉」也要預處理,除非如《超級馬里奧 耀西島》那樣由卡帶內置的Super FX 2芯片來硬件處理。廠商有一個著名的解決方案,已經在一些遊戲中使用,如:《魂斗羅精神》的第二頭目戰,以及《超級馬里奧世界》中和Reznor(牆平台支持)、Iggy(戰鬥平台)、Larry(也是平台)、Morton、Ludwig、Roy和Bowser戰鬥。在這些例子中,頭目是「背景」所以可以使用Mode 7旋轉,記分板位於遊戲區域上方,所以也算作背景,但是戰鬥裂開的地板,連同玩家角色與炮火,都是將各種旋轉角度重繪「子圖形」。然而,這只允許一次處理一個「子圖形」。
在《幻想傳說》和《星之海洋》中,Mode 7般的子圖形效果既非預先繪製,也非通過外部芯片重現,飛行時的精靈完全由軟件重渲染。在《幻想傳說》中,玩家子圖形在走到存檔點時會上下拉伸,以及《星之海洋》中道具「squash」在打開寶箱時會出現「快要跳出來」的效果。因為這樣的渲染需要額外的磚塊,以及遊戲其他地方對系統的高要求(同時使用流式音頻繞開SPC700的有限能力,如同最高端的超級任天堂RPG使用可變寬度字體),這種渲染只限於這幾種場景。
Mega Drive沒有實現Mode 7的類似原生硬件,但Mega-CD擴展補充了這種功能;比如它顯著的應用於《音速小子CD》的特定關卡。但是對於《幻想傳說》和《星之海洋》的特殊子圖形效果,開發商可以通過編程直接為遊戲加入類似特技,如《惡魔城 血族》、《蝙蝠俠與羅賓漢》和《魂斗羅·鐵血兵團》等遊戲使用了類似效果。Super 32X支持2D和基本的3D,所以縮放和旋轉效果成為了2D遊戲常見要素,如《納克魯斯與卡歐迪克斯》(Knuckles' Chaotix)是索尼克系列首個使用多邊形特殊舞台的遊戲。
一些Amiga遊戲通過程序技巧實現了和mode 7類似的效果,如《Mr. Nutz: Hoppin' Mad》、《Lionheart》、《Obitus》和《Brian the Lion》。
硬件
超級任天堂的兩個PPU(圖形處理單元)芯片使用了兩個8位32kB的RAM芯片。在一個周期中,一個PPU存取磚塊地圖(128×128磚塊),另一個PPU存取磚塊集(256磚塊,256色8×8像素)。
參考文獻
- ^ The Next Generation 1996 Lexicon A to Z: Mode 7. Next Generation. No. 15 (Imagine Media). March 1996: 37.
- ^ Korth, Martin, GBATEK: LCD I/O Display Control. Retrieved on June 23, 2011.