这篇文章告诉你,在游戏中脱个衣服有那么多讲究
电子游戏的图像技术对于现实的模拟程度越来越让人感到震惊。在游戏中,我们能够在不可思议的大陆上漫步,与看起来和真人无异的角色互动,甚至可以用拳头猛击纳粹,直到他身上出现了跟现实生活中一样的伤口。尽管如此,电子游戏还是有其软肋和还需进步的地方:展示一个人脱衣服的过程。
《质量效应2》中有这样的一幕:Jacob 暧昧地脱下了自己的衬衫。第一眼看去,这一幕很正常:Jacob 把自己的衣服扯掉,相信如果有他那样完美的腹肌,任何人都会乐于在镜头前做这件事情。现在请你再仔细地看一遍,有没有发现,当他在用手环绕身体,做出一个脱衣服的动作的时候,我们已经看不见他的衣服了。游戏其实只是在穿衣服的模型和裸体模型中进行了画面切换,用了一个烟雾弹就向我们传递出了脱衣服这个信息。
不管是展示穿着衣服的人,还是展示裸体的人,电子游戏都能很好的胜任。但是,如果要展示两种状态之间的过渡,事情就变得比你想象的更为棘手。
事实上,就算是完全不缺资金支持的最棒的 3A 游戏制作人,也会在这问题上感到为难。但是,就像还在蹒跚学步的幼童尝试把自己的头从衣服的袖子洞里脱出来一样,电子游戏界在这件事情上其实是有了一定程度的进步的。
电子游戏中的主角们穿衣服的方式跟我们可不一样。当你启动《神秘海域4》,看着内森德雷克身上穿着的半皱亨利汗衫时,你看到的可不是一个裸体角色身上真的套着一件分离的“衬衫”物品,衬衫更像是作为他身体一部分存在。
如果不用障眼法而真实展示角色的穿衣或脱衣过程,开发者要同时分别模拟衣服和德雷克的状态和动作,这在现在还有一定的执行难度。
最近,游戏开发者 Tom Francis 发推特讨论了游戏中角色的衣服问题。他写道:
我很好奇有多少次游戏制作人找到开发团队,然后说“我们这次就要把它做到。我们要在游戏里做出穿衣服和脱衣服的动画。”于是技术/动画团队竭尽全力,然后回来说“对不起,并做不到。我们大概还需要400年才能有那技术。”
Francis 告诉 Kotaku,这个事情的难度在于它涉及太多层面了。“从物理角度来说,要模拟出松软的物体平滑地包住一个复杂多边体,是很繁琐的事情。人力去做这个效率不高,而且它也真的没那么重要。在一个 3A 游戏里,脱衣服这个动作没有重要到需要开发团队花很多时间在上面。”
“就算哪家公司真的负担得起这个资源和时间,但要真正很好地模拟不同受力和动量下的衣服,也是需要不断地尝试和打磨的。”暴雪的技术美工 Hans Godard 这么说道。“3D 动画电影能很好地呈现衣服的质感,是因为他们使用了不同的工具,完全地对其各种不同状态下的变形进行模拟,最后才将它们结合在镜头下。而游戏的过场很多是实时的,要做到这点可太奢侈了。”
“在电影制作过程中,算法会不断地重复,最后才得出一些可靠的结果。如果不经过足够的计算,动画里的网格会被拉伸、裁剪和膨胀,最后会呈现出来不规则的图形排列。”他描述道,在实时运算中,这项技术是“不可预测的”。
“没有工作室希望就因为衣服出了瑕疵,而导致他们的努力毁于一旦。花了这么多的金钱和精力,最后风险还这么大。”除此之外,其还需要占用大量的内存和运算空间 —— 这么多投入,难道就为了一个无关紧要的简单场景吗?游戏公司明明完全可以用手段把它掩盖过去,就像《质量效应2》一样。
其实,就算是像口袋这样极为琐碎的东西,有时也能给开发者们带来麻烦。在育碧2014年发售的游戏《看门狗》中,主角艾登皮尔斯在使用手机黑入各个设备的时候,会将手插到夹克的口袋里。
当时,游戏动画总监 Colin Graham 在一个幕后视频中说道,他“从来”没有见过哪个开发者在游戏中加入这个动作。因为要在游戏中呈现一个可信的衣服,同时还要让主角的手一直在口袋里,是几乎不可能的事情。开发团队最后想出的解决方案是在艾登动捕演员的脖子上挂一个牵引器,来确保他的手一直都在正常的位置上。
除此之外,在游戏开发过程中还出出现各种各样的问题。Sean Noonan 曾经是育碧的开发人员,他现在在 Splash Damage 工作,他这么说道:“我们在某个早上启动游戏,进入所在的关卡进行测试。然后看到艾登的手并不在口袋里,而是透过口袋在空中摆动。”
这个诡异的情景甚至被用在了游戏的一个角色 Tyler 的预告片中。在预告片里,当 Tyler 在边走边打电话时,艾登一副酷酷的样子在后面跟踪,然而他的手指很尴尬地透过口袋在摆动,感觉在开钢琴演奏会一样。
“就我个人来说,这个预告片让我想到,艾登在芝加哥游荡的时候,他两只手的手指还会在口袋里扭动,这有点诡异。”
其他的开发者们有时候能想到一些很有创意的解决方案,其中最值得注意的当属《巫师3》。这个游戏拥有一系列的性场面,要知道,性场面可是会牵扯到大量脱衣服的场景。但对于 CD Projekt 来说,创造能与角色产生互动的衣服可不是游戏开发的重点。在一封邮件中,游戏技术美工总监 Krzysztof Krzyścin 透露开发过程中有很多需要做的事情,他们很难花人力去制作衣服的动画和贴图,考虑到回报率,这样做也不值得。
那么有什么别的解决办法呢?魔法。
在一个很有名的性场景中(独角兽),叶奈法使用某种不知名的法术,让自己的衣服直接消失了。
你可能没有注意到,叶奈法的衣服其实不是真的消失了。“当叶奈法在这个场景中把自己衣服变没的时候,其实我们只是变化了衣服贴图的透明性而已,衣服其实没有离开她的身体,只是变透明了而已。这个做法虽然简单,但是是一个管用的小伎俩。”
也有真脱的
当然,在某些游戏中,制作人并没有使用魔法或镜头剪切的小伎俩,也还是制作出了非常可信的脱衣服场景。当我们已经知道其难度的时候,这会让我们觉得更加厉害。比如在《神秘海域4》里,德雷克的哥哥脱夹克的那一幕就非常真实。
在这个场景中,当看到山姆和内森都这么自然地把衣服从身上滑掉的时候,我都开始疑惑衣服到底使用什么材料做的了。到底是怎么做的?顽皮狗的“巫师”们到底是怎么做到这个别人都做不到的事情的?
Hans Godard 当时还在顽皮狗工作,他正巧就在负责这个模块的团队中效力。现代的游戏引擎并不支持实时模拟衣服质感,所以顽皮狗只能另辟蹊径:一个叫做 BlendShape 的更简单的几何变形技术。这个技术常被用于使脸部或其他部位变形,以从视觉上传递不同的表达及状态。顽皮狗将表面的“皮肤”(或者说“网格”) —— 也就是你在游戏中能看见的部分 —— 与一系列“骨骼”和“关节”链接在一起。
不过,将 BlendShape 技术应用于衣服上也不是轻松的工作。 BlendShape 依赖于预先创造好的夹克的不同形态,并在运行之前将它们结合。由于 BlendShape 中拥有大量不同的形态,将它们一股脑放到游戏里太占内存。但手工制作网格以适应夹克的轮廓“既艰难又痛苦”。
就在此时,Godard 和团队突然间灵机一动,想起了他们可以使用算法来生成夹克的不同形态。Godard 曾经制造过一个用以创造面部动画的工具,它在这儿可以派上用场。“比如说一件夹克有1000个不同的帧,那就相当于一个脸有1000个不同的 BlendShape”。
剩下的部分交给机器自己学习就好了。机器要做的就是分析这些已经打磨好的形态,并用建模器对其进行扫描,来判断形态的运动方式是否看起来真实可信。如果结果显示其只有87%的匹配度,那么机器就会继续重复这个过程。“在游戏中,这个过程进行得很快。如果匹配度达到了99.9%,没有人能看出来区别。”Godard 说道。
直到一段时间后,Godard 才意识到自己是第一个想出这个办法的人。“没有其他工作室使用过类似的方法,我知道是因为所有人都来找我聊这个。现在这已经是业界的标准了。”Godard说,“我很自豪。”
Godard 也确实应该感到自豪。下一次再看到角色淡定地把衣服滑下的时候,你就知道该感谢谁了。