你移动的是镜头还是世界?美国制作人8秒揭秘视频让老外惊叹

近期在Reddit的独立游戏版块,一个开发者发了一段8秒的视频获得大量围观点赞。

这是一段风驰电掣的流程长镜头:从竞技场中铁甲战士的决斗开始,然后就像俯视的鸟儿一样掠过围观的人群、战士的方针,直到镜头的国王。

然后这一段视频是分了上下两段,如果你盯着下半部分,第一时间会感觉:镜头里流畅的世界移动,实际是整个世界在对着镜头演,而世界本身是静止的。

可能你会觉得:这有啥稀奇的?电影运镜不是很常见么

不过如果仔细回看视频,会发现流畅的镜头包含了顺着楼梯角度的“仰视”,最终呈现的效果就像是有个人一路从决斗场地跑到国王面前。

然后再回看对比图,会发现“世界”的建模发生很不符合物理学规律的偏转。

其实在游戏开发里,“移动镜头”和“移动世界”在数学上是一回事。

3D图形API(比如OpenGL和Direct3D)有一个底层设定:摄像机永远固定在坐标原点,永远朝向Z轴负方向。

你没有办法“移动摄像机”——你只能把整个世界往反方向挪。

所以当你在游戏里“向前跑”的时候,引擎实际上在做的事是:把整个场景往后推。摄像机根本没动过。

这叫做视图矩阵(View Matrix):所有3D游戏都在用这套逻辑,只是大多数玩家永远不会意识到。

那个8秒视频之所以让老外惊叹,是因为它把这件事可视化了。

平时你只能从“玩家视角”看到结果,视频切到侧面,你才看到“引擎在做什么——你一直以为自己在跑步,结果发现是跑步机在转,这就像是地球自转——你感觉不到,但它一直在动。

游戏开发者用这种“视觉欺骗”的历史,比很多人想象的要长。

《神秘海域2》的火车关,是游戏史上最著名的“镜头骗局”之一。

那一关里,德雷克在飞驰的火车上战斗,穿过森林、隧道、雪山,看起来火车真的在“前进”。

但真相是:火车从来没有离开过原地。它在一条环形轨道上不断循环,整个场景——森林、隧道、雪山——被设计成沿着这条环线排列,火车转到哪里,就“经过”哪里。

玩家以为火车在穿过一片广阔的世界。实际上世界很小,只是在原地转圈。

《超级马里奥64》 则给出了另一种解法:游戏里有一个角色叫“Lakitu兄弟”,一个坐在云上、手持摄像机镜头的乌龟。当你转动视角的时候,Lakitu的镜头也跟着转。

任天堂把这个“摄像机”做成了一个游戏里的角色,让玩家接受“有人在拍我”这个设定。你操作的是马里奥,但你的眼睛在Lakitu手里。

这种方式后来被无数游戏借鉴,在第三人称游戏里,镜头总是跟在角色背后,但是并没有更多解释,它慢慢并成了一种约定俗成。

不过看看这种开发者小故事还挺有意思的——你会知道,那些喜爱的游戏都是怎么实现的,也更加容易领略到制作者为了那些优秀游戏付出的心血和努力。

更多游戏资讯请关注:电玩帮游戏资讯专区

电玩帮图文攻略 www.vgover.com