布娃娃物理系统:角色模型骨骼发展简史

布娃娃物理系统:角色模型骨骼发展简史

编者按:自九十年代布娃娃系统出现后,我们的游戏世界发生了许多改变。它使游戏中的互动变得更加真实,也给游戏开发带来了更多的挑战。一起了解一下布娃娃物理系统的由来吧。

不知道你有没有玩过 EA 的《UFC 2》,我想用它举个例子。先插播一段 Ronda Rousey 和 Miesha Tate 的比赛画面:Tate 女士的头部被狠狠地击中,整个身体都失去了平衡。她开始踉跄着后退,膝盖无力着地,最终失去了意识,比赛也就此结束。虽然这场面揪人心肺,但并非一场真实的挑战赛,而是一场游戏模拟。

实际上,这是一场多边形与骨骼通力合作的战斗。所有人物都由多边形组成,它们曲面上的顶点依附于骨骼,再由程序的算法控制动作。当物体之间发生碰撞,程序就会计算应产生的力,并判断这些力将对周遭产生何种影响。虚拟的 Tate 女士在模拟重力和生物参数的共同作用下倒地不起,输掉了比赛,成了布娃娃物理系统的「受害者」。这个系统模拟了虚拟角色骨骼的受力表现,包括角色的姿势和动作。

布娃娃物理系统非常适合体育格斗类游戏,不过也频频出现在其他游戏里。无论是在游戏大作中摔来摔去的尸体,还是《基友大合体》中叠在一起的裸男,全都是布娃娃物理系统的产物。但从游戏的发展来看,布娃娃物理系统算是位新人。它的出现,一定程度上要感谢计算机的处理能力及硬件水平的提升。在二十世纪九十年代,基于物理的建模,与虚拟场景下的实时计算在学术界备受关注。1996 年,Looking Glass Studios 发布了游戏《Terra Nova: Strike Force Centauri》,这款科幻类射击游戏使用反向动力学构建游戏的角色模型,结合 3D terrain 制成角色的腿部动作。到了 1998 年,该团队的主要成员在此基础上,继续开发了以同样方式建模的《重返侏罗纪》。

《重返侏罗纪》这款第一人称的射击游戏是《侏罗纪公园》的衍生游戏。它的开发者希望能够模拟真实世界的物理系统,让物体和人物的模型都能动态的对重力以及玩家的互动做出响应。这套物理系统的关键就在于主角的胳膊,通过反向动力学,实现胳膊受到碰撞,或在加速以及出现惯性时的各种动作。

恐龙的模型也运用了反向动力学。游戏设计师 Richard Wyckoff 在曾在一篇分析文章中,承认这套系统并不那么乐观:「反向动力系统无法完全控制那些恐龙的动作。恐龙的腿经常发生拉长、弯曲和弹起来的情况。那些恐龙之所以会看上去特别荒谬,是因为缺少了现实中肌肉对骨骼的限制。」即便如此,《重返侏罗纪》的建模和动作还是极具开创性。随着迅猛龙的没落,布娃娃物理系统却成为了焦点。

同时期,丹麦的数学家 Thomas Jakobsen 在论文《Advanced Character Physics》中发布了新的公式。通过计算的方式,分析出物体包含的粒子运动,模拟物体受到的物理影响。Jakobsen 解释道:「只要将粒子位置按照比例,移动到所受到的力上,速度自然会随之变化。」用游戏术语解释的话,就是攻击一个角色后,被攻击者会产生击退,或倒向某个方向的效果。开发商 IO Interactive 将 Jakobsen 的理论成果应用在《杀手:代号 47》的物理交互系统中。这个发布于 2000 年的游戏开创了许多先河,包括可以变形的衣服与植物。但是根据游戏制作人 Jonas Eneroth 所说,游戏的布娃娃物理系统更是实现了「游戏模式的转变」。

布娃娃物理系统:角色模型骨骼发展简史

Eneroth 解释道:「实际上这正是游戏的核心概念,也是制作游戏的动力。这个系统重要又新颖,与众不同。它能够影响游戏的剧情、玩法等所有游戏内容。」虽然游戏十分逼真地还原了人体被击中的效果,但这还只是布娃娃物理系统的一小部分成就。更多时候,布娃娃物理系统的宏观作用是实现游戏玩法,比如允许玩家拖拽和隐匿尸体。冰川引擎也被沿用于 IO 的众多游戏作品当中,包括《自由战士》、《凯恩与林奇》和 2006 年发行的《杀手 4:血钱》。

不过,业内又出现了一个应用范围更广泛的物理引擎。来自都柏林圣三一学院的一个研究小组,开发出了一套十分灵活的物理模拟器,最初应用于教育类游戏当中。后来这套系统受到政府的许可,开始迈向商业化。研究小组更名为 Havok,他们在 1999 年的游戏开发者大会上介绍了这套开发软件。

Hugh Reynolds 是 Havok 的联合创始人之一,也是圣三一学院早期的研究成员。他将这一切形容为一场魔法:「当你想要以某些动作传递情感时,却发现被角色根本做不了这个动作。物理方面的锅就该由物理引擎开发者来背,不该让剧情创作者承受压力。我们 Havok 物理引擎要做的,就是要解放剧情创作者,给他们一个充分发挥才能的空间。」

布娃娃物理系统:角色模型骨骼发展简史

有了这个中间件,不管是布娃娃效果还是粒子特效,都能被轻松实现。虽然首个使用 Havok 引擎的《伦敦赛车手》不尽人意,但是很快,Havok 的技术就被广泛应用在各个方面,变得无处不在。其中包括电影《黑客帝国》和 Valve 的起源引擎。

2003 年的《马克思佩恩 2》也很值得一提,这系列的标志性慢动作和 Havok 的物理引擎结合得天衣无缝。2004 年的《超能力战警》可以把敌人四处乱扔,就像扔玩具一样。Havok 的技术也被应用在《神偷:死亡阴影》和《细胞分裂 3:混沌法则》中,使游戏中的物体可以任意倾倒。

布娃娃物理系统最初主要被应用在角色死亡,及受伤的场面上,成为对玩家大开杀戒的感官奖励。不过,成立于英国牛津的一家软件公司 NaturalMotion,在 2001 年开始探索物理和生物力学的领域。研究对于角色的行走、谈话、活动等方面,布娃娃物理系统能带来怎样的提升。凭借小组专业的生物学和工程学的背景,NaturalMotion 开发出了 Euphoria 引擎。通过模拟人体的运动神经系统、身体和肌肉,使角色可以作出连贯成运动的动作,并响应环境事件。换言之,物体和力之间的作用决定着角色模型的实时效果。

在 2008 年,Rockstar Studios 察觉到了 Euphoria 引擎的潜力,将其技术融合在《侠盗猎车手 4》的 RAGE 引擎当中。当尼克·贝里克穿梭在自由城熙熙攘攘的街道上,行人会被他绊倒,挥舞着胳膊后退,力求保持身体的平衡。随后还有基于 RAGE 引擎开发的《荒野大镖客》和《马克思佩恩 3》。Euphoria 引擎还被应用在了 LucasArts 的《星球大战:原力释放》当中。

布娃娃物理系统:角色模型骨骼发展简史

除了这些知名游戏以外,Euphoria 引擎还被应用于 2009 年的《美式橄榄球》。在该游戏的宣传视频中,制作人 Matthew Best 展示了玩家可以操作的一些列动作,包括抢断、抢球、卡位,皆可由 Euphoria引擎实现。Best 介绍道:「在物理引擎出现之前,游戏中所有的交互都是由动画师制作,或者捕捉真人动作录制而成。考虑到各种交互的复杂度,我们根本无法想象需要用多少动画才能呈现出较好的画面」。从这个角度来看,布娃娃物理系统给开发者带来了极大的便利,降低了大规模动作的制作时间与成本。虽然《美式橄榄球》的评价不好不坏,但是它给之后的体育类游戏树立了令人信服的标杆。因此,像 EA 的《FIFA》、《麦登橄榄球》,还有《UFC》都使用了自研发的 Ignite 引擎,动作效果表现不凡。

Jonas Eneroth 认为,布娃娃物理系统益处良多,但那些优质的动画和模型绑定依旧不可或缺。抛开游戏开发的层面,我们这些玩家为什么会对游戏中的布娃娃物理系统如此感兴趣呢?我们看到这些人物模型像真人一样倒下、扭曲时,会有很强的满足感吗?这是为了让我们在游戏中投射出对现实的幻想,还是为了增强玩家和游戏角色之间的代入感呢?

布娃娃物理系统:角色模型骨骼发展简史

Hugh Reynolds 认为,布娃娃物理系统承载了我们的移情需求。它与动画或动作捕捉完美结合,能产生不可思议的效果。也许用我们熟悉的方式操作角色,能让我们更好地与广阔的游戏世界相连。正如 Thomas Jakobsen 在《Advanced Character Physics》中所言,在物理引擎上开发游戏,准确性并不是最主要的,可信度才是最重要的目标。只要能让玩家沉浸在游戏当中,使用怎样的手段都可以。

当然,有时候物理引擎也会计算错误,破坏这份沉浸感。尽管有时会让玩家无比挫败,但是也会产生有趣的游戏体验,比方说《辐射 4》的各种 bug,《Skate 3》中不合常理的特技动作,还有《UFC 2》中一些诡异的打斗姿势。部分玩家甚至会故意破坏,或利用物理引擎的漏洞,制造有趣的游戏效果。

布娃娃物理系统:角色模型骨骼发展简史

上文提到,布娃娃物理系统会在一定程度上改变游戏模式。而它改变游戏的方式,正是利用根植于玩家脑海中的牛顿定律。Hugh Reynolds 解释道:「牛顿定律就像脑海中的开关,让你自然而然地理解游戏中的一切。而后我们就能根据已有条件,预测出特定行为和动作会带来怎样的后果。」

当玩家可以控制游戏角色时,就更能体会到这一点了。比如说《基佬大乱斗》、《章鱼奶爸:致命捕捉》和《成长家园》。这些游戏的布娃娃角色就像牵线木偶一样,四肢都由玩家控制。随着虚拟现实的发展,这种玩家控制角色的形式也有了进一步的发展。《工作模拟器》是一款 VR 游戏,允许玩家在游戏中拾取、扔出物品,展示了通过准确手势控制布娃娃角色的可能性。虽然这时候的玩家,看上去就像带着笨重的耳机演木偶戏一样。

布娃娃物理系统:角色模型骨骼发展简史

大胆设想一下,如果让玩家和游戏角色调换过来,当游戏中发生了力的作用,对玩家自己的身体会有什么影响?比如子弹攻击和车祸时的冲击效果?我们会期待这种物理作用的反馈吗?能够适应吗?在这些问题被解决之前,我们只能继续让虚拟角色们在游戏中替我们挨揍了。