Mode 7

✍ dations ◷ 2025-10-08 16:23:43 #计算机图形学,纹理贴图,超级任天堂,电子游戏研发

Mode 7是电子游戏机超级任天堂一种图形方式,可让逐扫描线式的背景层支持旋转与缩放,以此创造大量的不同效果。其中最著名的效果是,通过缩放和旋转背景层来显示透视效果。这种将高度改为深度的变换,将背景层变为二维水平材质贴图平面。如此便可显示三维图形的效果。

Mega Drive的扩展Mega CD以及Atari Lynx使用了相似的功能。

Mode 7方式渲染通常用于2D性能强劲,但不专门支持3D的旧系统。著名Mode 7游戏有超级任天堂作品《F-Zero》、《天地创造》、《飞行俱乐部》、《Yoshi's Road Hunting》、《Teenage Mutant Ninja Turtles IV: Turtles in Time》、《恶魔城》、《圣剑传说2》、《圣剑传说3》、《艾薇莫的秘密》、《最终幻想IV》、《最终幻想V》、《最终幻想VI》、《超级马里奥RPG》、《Dino City》、《超级马里奥兄弟4》、《马里奥赛车》、《超级星球大战》、《时空之轮》、《雷莎出击》、《Exhaust Heat》、《迦楼罗王》、《时空引导者》、《洛克人7 宿命的对决!》、《超越巅峰》、《星之卡比 Super Deluxe》、《银河风暴》和《塞尔达传说 众神的三角力量》。Mode 7方式渲染还用于《Sonic CD》的特定关卡。

超级任天堂游戏机有编号从0至7的8个方式来显示背景层,其中最后一个(背景方式7)只有一个可以缩放和旋转的单层。在Game Boy Advance和任天堂DS 2D图形硬件中,方式1和2可以缩放旋转传统砖块式背景,方式3到5用用来缩放旋转位图(因技术限制,这通常很少在Game Boy Advance中使用)。对于支持此效果的机器,在各扫描线行消隐周期内,可能通过改变缩放/旋转值,绘制一个透视投影平面;这被视作“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芯片来硬件处理。厂商有一个著名的解决方案,已经在一些游戏中使用,如:《魂斗罗精神》的第二头目战,以及《超级马里奥兄弟4》中和Reznor(墙平台支持)、Iggy(战斗平台)、Larry(也是平台)、Morton、Ludwig、Roy和Bowser战斗。在这些例子中,头目是“背景”所以可以使用Mode 7旋转,记分板位于游戏区域上方,所以也算作背景,但是战斗裂开的地板,连同玩家角色与炮火,都是将各种旋转角度重绘“子图形”。然而,这只允许一次处理一个“子图形”。

在《幻想传说》和《星之海洋》中,Mode 7般的子图形效果既非预先绘制,也非通过外部芯片重现,飞行时的精灵完全由软件重渲染。在《幻想传说》中,玩家子图形在走到存档点时会上下拉伸,以及《星之海洋》中道具“squash”在打开宝箱时会出现“快要跳出来”的效果。因为这样的渲染需要额外的砖块,以及游戏其他地方对系统的高要求(同时使用流式音频绕开SPC700的有限能力,如同最高端的超级任天堂RPG使用可变宽度字体),这种渲染只限于这几种场景。

Mega Drive没有实现Mode 7的类似原生硬件,但Sega CD扩展补充了这种功能;比如它显著的应用于《Sonic CD》的特定关卡。但是对于《幻想传说》和《星之海洋》的特殊子图形效果,开发商可以通过编程直接为游戏加入类似特技,如《恶魔城 血族》、《蝙蝠侠与罗宾汉》和《魂斗罗·铁血兵团》等游戏使用了类似效果。世嘉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像素)。

相关

  • 理查德·施特劳斯理查德·格奥尔格·施特劳斯(德语:Richard Georg Strauss,1864年6月11日-1949年9月8日),德国作曲家、指挥家。他与以写圆舞曲著称的小约翰·施特劳斯为代表的维也纳施特劳斯家族没
  • 美国电机电子工程师协会电气电子工程师学会(英语:Institute of Electrical and Electronics Engineers,简称为IEEE,英文读作“i triple e”.mw-parser-output .IPA{font-family:"Charis SIL","Doulos S
  • KrioRus公司KrioRus 是首间在俄罗斯成立的人体冷冻公司,亦是首间在美国以外成立提供人体冷冻的组织。该人体冷冻组织由八名俄罗斯人体冷冻科学家于2005年成立。KrioRus 提供不同的人体冷
  • 盐的历史文明建立在用食盐储藏食物的基础上。可以腌制储存食物以后,人类饮食对季节的依赖大大降低,也给长途旅行提供了条件。在漫长的历史中,食盐很难制取,也因此被当做珍贵的贸易物资。
  • 前奏曲前奏曲(法语:Prélude)是一种短乐曲。前奏曲以前只是组曲之前的器乐引子,在演奏之前一般演奏家要即兴演奏一小段,逐渐演变成一种艺术形式。前奏曲也用于歌剧以代替序曲,曲式自由,一
  • 球蟒球蟒(学名:Python regius)是蛇亚目蟒科蟒属下一种分布于非洲的无毒蟒蛇。成球蟒的表鳞平滑,有两片肛鳞,雄蛇的肛鳞较大。球蟒的体色以黑色为基调,背部有许多圆形斑纹。腹部呈白色
  • 朱巴朱巴位于南苏丹共和国的中赤道省,是南苏丹的首都,也是中赤道省政府和朱巴县政府所在地,人口约32万(2010年)。朱巴位处白尼罗河畔。朱巴机场有定期飞机航班往来苏丹的喀土穆、肯尼
  • 土桑图森(英语:Tucson,又译杜桑或图森),位于美国亚利桑那州南部皮马县,是该州南部第一大城市,全州第二大城市(凤凰城为第一大)、美国第32大城市和第52大都会区。根据2010年人口普查,图森市
  • 喇叭苗话喇叭苗话是湘语下属的一种方言。为在贵州西部晴隆普安两县交界一些乡镇的被新汉族移民称为喇叭苗的族群使用。据喇叭苗人族谱及口传记载,他们的祖上大多是明洪武十三年(1381年
  • 数控列宁图书馆数控列宁图书馆(俄语:Ки́берЛе́нинка;英语:CyberLeninka)是建立于开放科学理念基础上的俄罗斯科学电子图书馆。旨在传播开放获取模式的知识,提供免费的全文访问科学