引言
透过巨型角色的体型差异创造出视觉上的冲击,在现在的各种游戏或是动漫作品当中都是很常见的呈现手法。不过若是用跟一般角色相同的制作方式来创造这些巨大化角色,却有可能在无意间忽略掉应该注意的真实细节。在 2021 年的 CEDEC 第一天,曾经手过《汪达与巨像》以及《食人巨鹰 TRICO》的游戏动画师、现任 gen DESIGN 技术长田中政伸,透过自己过去的开发经验,从基础理论到实务上的应用,向大家分享了如何让创作出来的巨大化角色充满真实感的五大法则。
本文授权转载自 IGDShare.org,进行了简繁转换,并对一些词汇的不同用法做了修改。
巨大角色动画该怎么做会比较好?
为了方便理解,田中先生先播放了一段巨像与一般人一起奔跑的影片。画面中巨像轻巧的步伐使得整体感觉有点怪异,像是“感觉重量太轻”、“跳跃力有点过高”,以及“情报量太少”等问题。这些问题主要是因为没有把该限制住的地方限制起来,这就是今天要谈论的重点。
关于游戏动画的特性
游戏内的动画制作与一般动画有着几点不太相同的地方:
- 具有互动性 必须考虑被玩家操控或是 AI 运作时的各种状态,例如巨像在移动中受到攻击时该如何切换成受伤动作之类的问题。
- 会从各式各样的角度被观察 玩家可能会透过各种视角的摄影机观察游戏内的角色,巨大化角色更是可能会填满整个荧幕,所以得确保每个角度都是没有空隙的。在这个很容易透过游戏直播或是截图分享作品内容的时代更是重要。
- 必须做即时处理 在游戏过程中随时都可能发生变化,比方说在巨大角色缓慢踏出步伐时,依据落地点的状态也许角色动作也会随之被影响,为了要应付这些未来可能的变化,游戏中每个处理都要压在 1 个 frame 以内完成。
游戏特有的限制
游戏的动画制作受到许多限制,像是角色可以有什么动作、移动速度的平衡,或是为了效能得在技术上做妥协之类。虽然过程很辛苦,但当看到角色可以透过手把操控的那一瞬间,会感觉到一切都值得了,这也是游戏动画制作比纯 CG 行业有趣的地方吧。
将角色动画做好才算完成角色设计
优秀的角色动画可以让玩家沉浸在整个世界观里面,就算角色建模的再细致,失败的角色动画所造成的违和感还是能让玩家感觉出戏。像是动作感觉过于轻快、过于钝重,或是带来的情报量不够多,这些都是所谓的违和感。总而言之,当角色的“动作”跟“外观”给人感觉并不一致时,看起来就会很奇怪。
物理学与生物构造才是动画设计的根基
许多人在研究动画制作相关技术时,很容易将重点放在角色呈现出的演技上。虽然这也是一个不错的方向,但若是想要排除前述的违和感,我们其实得先学习正确的物理以及生物构造知识。所谓的演技是必须要建立在这两者之上,有没有将这基础打好,所呈现出来的作品差异是非常巨大的。
接下来,我们会从五个项目来分析动画制作该注意的细节,分别是“质量”、“重力与重量”、“肌肉”、“动画解析度”,以及“实装设计”。
质量
以动画师的观点来说,质量代表的是“维持当前速度的程度”,这边以卡车与昆虫来举例,卡车是属于质量比较大的物体,没有那么容易瞬间改变速度,所以无法做出急加速、急停,以及急转弯等动作。与其相比,昆虫就可以飞出相对灵巧的轨迹。
质量的差异会呈现在运动轨迹的变化上。质量大的物体,运动轨迹会比较平滑;质量小的物体,运动轨迹会比较曲折。反过来说,透过急停、急加速这些动作,可以呈现出小质量物体该有的表现,像是小鸟、昆虫,以及脸部表情的变化(脸部五官也具有质量所以理所当然可以套用此规则)。若是重型武器、卡车、巨大角色这种高质量物体则可以借由平滑的运动曲线来展现该有的感觉。
所以在《食人巨鹰 TRICO》的影片中,同样是要停在地面,影片中小鸟可以很轻灵的降落,巨鹰则还得经过一段煞停才可以站稳。
顺便做个补充,物体的质量与最高速度之间并没有相互关系。举例来说,喷射客机的重量高达 350 吨,却可以时速 890 公里的速度飞行。能对最高速度造成影响的因素是空气抵抗力,质量差异并不会影响物体的最高速。
重力与重量
据传伽利略在比萨斜塔进行过一个关于自由落体的著名实验,将两个不同重量的球体从同一高度同时落下,结果这两颗球会同时着地。重力加速度跟物体的质量无关,是一个固定值。所以当我们把一颗球以不同的角度及力道投出时,在抛物线顶端区的弧度都会是相同的。
重力也影响着动画内容,包括跳跃的速度、摔倒的速度、走路的速度,甚至往椅子坐下的速度都跟重力有关联。以坐下这个动作来说,正常情况下不管我们怎么努力都不太可能以超越重力加速度的方式坐到椅子上。反过来,在缓缓地坐下时,肌肉必须出力抵抗落下的力道,此时的动作就会转变成是以肌肉来做支撑的坐下动作。动画内容其实受重力影响很深,所以动画师必须培养对于重力加速度的感觉。
再举一个例子,我们观察在跑步动作下,腰部振动的高度变化。会发现其实这就是一个受到重力加速度影响的抛物线,这个抛物线跟上面提到的丢球曲线顶端弧度大致是相同的。但当我们在制作更激烈的冲刺动作时,却很容易无意间把腰部的变化加剧,使得重力加速增强,形成错误的曲线。
若我们有重力加速度不变的概念,当冲刺动作每一步的间隔变小时,在抛物线弧度不变的情形下,腰部的上下振动幅度应该是变小才对。
当实际在进行动画制作时,很容易进入对于重力加速度迷失的状态。这个时候我们可以添加依照重力落下的粒子特效来进行观察,或是加入人类角色做对比,以贴近人类的视角来确认动作是否有异。
接着是重量的部分。每个物体拥有的重量不同,以相同高度木球与铁球的落下状况为例子,木球反弹的高度略高,而铁球可能会在地面撞击出裂痕。依据重量的不同,物体的反弹力以及影响其他物体的能力也有所差异。
不同重量的物体,所呈现出的动画表现也不一样。那么身高高达 27 公尺的巨像该如何测定他的重量呢?我们用体型差不多的恐龙来做比较,可以抓出巨像的重量大概会在 40 吨左右。以单脚的重量约占全体的 15% 来计算,得到巨像的脚部重量大概会是 6 吨,约等同于 6 台普通小客车的重量。
这边的重量计算不用太精确,因为我们只是要呈现物体大致该有的重量感。
如果想要寻找一些制作巨大生物角色的参考灵感,很推荐去看一些恐龙化石之类的展览,从展览中可以亲自感受到这种体型差异带来的震撼,对于动画制作来说是无可取代的体验。或是也可以从类型相似的生物去做比较,例如巨鹰 Trico 的动作我们就可以从猫咪以及老虎之间的动作差异来做观察,再将这中间的差异放大到 Trico 身上。
当生物巨大化之后,本体的质量、骨骼的支撑力,以及整体肌力也都会提升,但提升的比例各自是不同的。质量的成长是以整体体积去做缩放,但肌肉以及骨骼的强度却是看切面的面积去做计算的。
举例来说,当一个角色的身高被放大 3 倍的话,他的质量会是 3 的 3 次方也就是 27 倍。但他的骨骼与肌肉强度却只有原来的 3 x 3 也就是 9 倍。所以照这个比例看来,当角色巨大化程度越高,肌肉与骨架应该是越难支撑起身体才对。
在理解身高与重量间的关系后,再回头检视前面制作的巨像走路动作,会发现虽然整体动作曲线运作的很流畅,但是却有点感受不到身体该有的重量感。应该有 6 吨重的脚部,移动起来却让人觉得毫不费力。所以我们可以再修正一下,让巨像在抬脚的时候感觉更加运用到全身的肌肉去动作,并且把脚步抬离地面的时间给缩短,让整体动作看起来更加费力。
肌肉
肌肉要怎么呈现?身体没有用力的部位,看起来会比较柔软放松,身体有在施力的部位则会看起来较为僵硬,这是很简单的肌肉施力呈现方式。
人跟其他动物都一样,会以最省力的方式来执行所有动作。比方说,当我们要拿取放在桌上的一件物品时,我们会很直觉地根据手腕的质量及障碍物的位置以最适合的速度跟轨迹来施力。想像一下,同样的事情改让机器人来做,应该就没有办法像我们一样以这么漂亮的动作执行。
我们身体各部位的动作,都会在无意识间按照质量的差异,以不同的加速度来运作。头部的质量比腕部重,所以它的加减速都比腕部缓慢。这种重视效率的施力方式是每个生物的天性,动画师必须要能够掌握住这些特质,经常思考每一个脚步动作是否会太靠前或靠后?什么角度才是最合适的?这些能力可以透过平时多观察动物的动作来慢慢养成。
肌肉的施力也会造成运动曲线的变化。例如当我们从缓慢步行转变为快速跑步时,身体的肌肉会因为出力显得比较僵硬,此时的运动曲线变化幅度也较大。反过来思考的话,当运动曲线比较激烈时,我们要让角色的动作看起来比较用力;当运动曲线比较和缓时,我们要让角色的动作看起来比较放松。这样才会让动作看起来比较自然。
再补充一点,在动画技法中有个叫做“残し(Follow Through)”的法则,这个技法会刻意延缓手腕或是尾巴末端的速度,使其跟随着前半部的运动轨迹摆动。要注意的是这个技法如果用过头,会让肌肉看起来像是处在脱力的状态。所以若是在运动曲线激烈的情况下,可能就需要拿捏一下这个技法的使用程度。
动画解析度
这边的动画解析度是讲者自己使用的词汇,指的其实就是动画中情报量的多寡。举例来说,大家可能看过像是水球炸开或是昆虫起飞瞬间这种用慢动作镜头拍摄的影片,可以清楚的感受到当中许多动态上的细节,这就是一个情报量丰富的片段。
以巨像走路的动作来说,我们可以透过几个地方来增加情报量。像是在行走中脚部踩踏到地面时的震动,或是跳跃动作前蹬地的瞬间,可以加强这些冲击力传达到身体上的效果。
有些震动效果实际发生时间可能非常短,短到低于一个 frame 的时间。像这种状况我们可以稍微增加特效的长度,虽然与真实情况不符,但有时候刻意放大效果的作法,反而可以让玩家感受到真实性。但还是要注意拿捏使用程度,使用过头仍然会造成反效果。
实装设计
最后要来谈谈,要把制作出来的巨大生物角色实际放到游戏内时会遇到的问题。首先是“没有办法突然改变姿势”以及“就算是些微的变化,从玩家的角度看来也很明显”这两点。特别是受到伤害时的动作演出是最困难、最需要调整的部分。
由于游戏中的巨大生物角色,在任何时刻以及各种姿势下都有可能发生被攻击的状况。假设在伸出右脚前踏的状况下受到伤害,此时的右脚应该要继续往前踩还是要缩腿?在各种场面以及姿势下需要调整的内容都不尽相同,要一个一个去调整动作是不太可能的任务。
为此,就只能透过叠加型动画(Additive Animation)来处理受伤时的动态。透过计算所有关节的位置数据差,来生成要叠上去的动画层。
但叠加型动画也是有许多需要修正的地方,仔细看处理过后的受伤动画,原本踩在地面的脚应该是不会移动的。可是当受到攻击时地面的脚会产生些许错位。原本在一般尺寸的角色上这个差异是轻微到可以忽略的,但放到巨大生物角色上这个差异就会很明显必须修正。
游戏动画会遇到各式各样的问题要处理,为此必须思考各种解决方案。以《食人巨鹰 TRICO》来说,在腿部的地方套用了反向动力运算(Inverse Kinematics),当脚部踩地时会将脚部固定,并且会修正因脚部固定带来的重心变化影响等等。这些还只是在伤害动作上要处理的内容而已。
要做出好的游戏动画,程式人员能提供的帮助其实是有限的。比如说你要程式人员去发现重心的偏移是很困难的,游戏动画还是得借由动画师本身的经验及知识来提升品质。如果动画人员在原本自身使用的工具以外,还能多了解一些游戏引擎的运作,知道角色动画在引擎内是怎么处理的话,最后所做出来的成品就会截然不同。
以上就是这次演讲中所介绍的五大法则,演讲的最后也播放了透过这些修改之后巨像的走路动作对比。希望这场分享可以带给大家一些收获。