前几天刷推,独立开发者Thomas van den Berg在《GARBAGE COUNTRY》的开发日志里甩了一段演示,我乍一看以为他又在鼓捣什么新载具的内饰建模。结果他把镜头一转,我才反应过来——整个地铁驾驶舱内景,居然是用平面贴图+视差位移糊出来的。

那一刻脑子里就蹦出了Emilio López那句经典吐槽:“游戏里的一切都是假的,只是这个比平时更假一点。”

打开网易新闻 查看精彩图片

说起来,用视差贴图假装窗户背后的空间,这事儿在游戏行业其实已经算祖传艺能了。你玩过的绝大多数开放世界游戏,那排远远看去透着灯光、甚至隐隐约约能看出家具轮廓的居民楼窗户,十有八九根本没有任何真实几何体,纯粹是靠着一张纹理和一套巧妙的视差偏移算法在虚张声势。离远了看细节满满,真凑到跟前就只剩一张会动的平面。好处显而易见:不需要一扇窗一扇窗地塞立体房间,性能开销低得让人感动,还能让城市夜景看着热热闹闹。

但Thomas这次的操作,是把同一个老招数直接怼到了玩家眼皮子底下。在《GARBAGE COUNTRY》这辆末日废土破烂卡车的驾驶室里,他埋了一段假得坦坦荡荡的地铁车厢内景。和传统用法刚好反着来:平时我们用视差假窗户是为了省性能,而这次根据开发者的估算,这个假内饰方案实际的运行开销可能比直接建个简单立方体贴内饰还要稍微贵上那么一丢丢。不过这点儿差异基本可以忽略,关键是它给出了一种更灵活的内部空间呈现方式。

视频里那个地铁车厢内部其实是一张被切成多个平面的纹理,每一层平面根据摄像机移动做不同速率的位移,靠这种深度错位营造出纵深感。你左右晃动视角的时候,远处的座椅、扶手、车窗各自“漂移”的幅度不同,就好像真有那么个四四方方的铁盒子坐在驾驶座后面。但你要是想探头往里看,它又会很诚实地露出马脚——那些贴在平面上的扶手不会真的伸出一截立体弯管,只是恰好在你停住的那一帧看着真像那么回事。

《GARBAGE COUNTRY》本身是个后末日探索模拟,玩家开着车在一片手工打磨出来的废土上乱逛,捡拾上一个时代剩下的碎片和记忆。这种题材其实很吃“车内氛围”。真在外面黄沙漫天的场景里,透过后视镜或者车窗反光隐约看到车厢内部有点东西,比简单地让驾驶舱黑乎乎一片要有沉浸感得多——哪怕你知道那是假的,眼睛还是会替你把“纵深”补完。

而且这次的“假”不是抠门,反而是一种带着明确创作意图的取巧。按Thomas的说法,这种纯贴面做法能让他更自由地切换内部布景,不用每次为了一点内饰调整去重搞模型,也不用担心模型面数干扰整体美术风格。换句话说,这些假平面背后是一套模块化的备选场景,开发者可以像换手机壁纸一样给车辆内部快速迭代,玩起来说不定还能成为叙事线索的一部分。

类似的事儿其实不止他一个人在干。《Hear Tell of Hauntings》里就出现了几乎同款的视差室内空间处理,只不过那边更多服务于诡谲的氛围;而另一位开发者takkun的版本就更放飞了,直接把建筑的窗户和门换成了嘴巴,视差之下牙齿若隐若现,看着多少有点掉san。说到底,这一套方法的扩展空间相当大,从写实到怪诞全都能撑住。

如果你对这种空间骗术的底层原理好奇,Joost van Dongen写过一篇非常详细的拆解,几乎是把引擎里的视差室内映射从数学上掰开揉碎讲了一遍。看完你就会发现,所谓“透视感”有时候就是几个坐标缩放和一个视线方向点积在联动,整个效果和魔术师手里的镜面箱子没什么两样。

回到Thomas这段演示,有意思的点其实不在于技术本身有多新,而在于它把一个通常藏在远景里的障眼法大大方方推到近景,顺便还调侃了自己的职业现状。就像Emilio López那后半句说的——除了烟雾和镜面本身,我们连烟雾和镜面也可以造假。这句话搁在游戏开发里简直可以裱起来挂在每个TA的工位头上。

目前《GARBAGE COUNTRY》还在开发中,如果你对这辆装满假内景的废土卡车有兴趣,可以去Steam把它加进愿望单,或者顺着Thomas的社交账号瞄一眼更新进度。我比较好奇的是,等游戏真端上来那天,车舱里那块假地铁车厢是原样保留,还是已经被他换成了别的什么更离谱的假玩意儿。