GDC2016【For Honor-荣耀战魂】的次世代动画技术

生成自然丰富,反应灵敏的动作的“Motion Matching”是什么?
 
 
    Ubisoft在2016年内预定发售的【荣誉战魂】,是基于MOBA类集团战斗,并加入了高度紧张的剑斗动作的多人游戏。在绘制非常细致的战场里,主人公以骑士,武士还有维京勇士形象展现着厚重感和帅气的动作。是整体散发着次世代感的作品。
 
    特别引人注目的,是角色动画的自然响应性很高。无论切换到怎样的瞬间,自然的运动也感觉不像是游戏了,尽管如此,还是可以灵敏的反映玩家的操作。
 
    GDC 2016上,在Ubisoft的演讲【Motion Matching and Road To Next-Gen Animation】中对本作实现的高品质动画的独特算法和工作流做了讲解。即便稍微听一下说明,深入到那些游戏动画技术以外领域的,还真的是非常让人震惊的内容。
 
【For Honor Gameplay - Multiplayer Walkthrough】
 
 

角色动作的自然迁移“有力量的”作出的最新技术

 
Ubisoft、Simon Clavet氏
Ubisoft的Simon Clavet
 
本作におけるアニメーションシステムの目標
本作动画系统的目标
 
    进行演讲的Simon Clavet,已经在Ubisoft担任了10年的动画程序员。
 
    在【荣耀战魂】中,除了要真实的描绘战士们激烈的剑斗之外,还要有在广阔战场的战略移动,移动消耗的时间也很多。而本作动画系统所提出的目标就是【正确的游戏性】和【有说服力的动画】。
 
    先从结果来看的话,本作实现的移动动作,在各种情况,各种瞬间,都是以往游戏没有的自然运动。方向转换和加速减速动作的关联,也看不出是多个动画组合而成的那样自然。而且对玩家操作可以快速反应,提供了毫无压力的正确的游戏性。
 
本作における移動アニメーション。姿勢変更や方向転換、勢いの変化などに完璧に対応し、ツナギ目の全く感じられない自然な動きが再生される。
本作における移動アニメーション。姿勢変更や方向転換、勢いの変化などに完璧に対応し、ツナギ目の全く感じられない自然な動きが再生される。
本作における移動アニメーション。姿勢変更や方向転換、勢いの変化などに完璧に対応し、ツナギ目の全く感じられない自然な動きが再生される。
本作における移動アニメーション。姿勢変更や方向転換、勢いの変化などに完璧に対応し、ツナギ目の全く感じられない自然な動きが再生される。
本作的移动动画。姿势变更,方向转化以及气势的变化等都可以完美的对应,完全感觉不到有衔接部分,自然的播放动作。

以前动画系统的问题

 
自然な動きを実現するにはアニメーションクリップ間のツナギをユーザーの操作に合わせて柔軟に変化させる必要があるが、具体的にどうすればよいのか?
要实现自然的运动,就需要用户把动画片段(Animation Clip)之间的衔接可以对应玩家操作灵活的变化,这个具体要怎么实现?
 
従来的なアニメーション遷移システムでは組み合わせの爆発が起きるため、大雑把にしか対応できない
以前的动画移动系统因为会引起组合数量的爆炸,只能粗略的对应。
 
    这样,在有说服力的动作,和动作游戏才有的响应性上,【荣耀战魂】要求实现的等级很高,用以前的方法几乎是不可能的。
 
    用手工来设定动画片段的转移是有限的,走,跑,停止,转向等各个动作的链接部分,只用少数几个模板怎么也无法实现的。而角色现在的情况是,要正确的再现玩家输入的变化,动画转移的入口和出口变的非常的大,用手工来连接是很勉强的。
 
    因此,以前的游戏,采取的是动画的衔接部分通过程序在方向和力上做修正,动态的来近似的方法。用这种方法,会出现脚无法很好的贴合地面,以及滑步移动的绘制情况。这也是以往角色动画看起来像游戏风格的原因。
 
    【荣耀战魂】中对于这个问题,采用了非常大胆的方法来解决(只有次世代机才能实现)。也就是本次演讲公开的“Motion Matching”的方法。
 
走る→止まるだけのモーション制御でも、プレーヤーの入力に忠実に反応しつつ、本当に自然な動きを実現するためには多くの課題がある
走る→止まるだけのモーション制御でも、プレーヤーの入力に忠実に反応しつつ、本当に自然な動きを実現するためには多くの課題がある
走->停止的运动控制,因为要在忠实的反应玩家操作的同时,实现自然的运动,会有很多的问题。
 

在每帧中对庞大的动作捕捉数据做检索

 
ものすごく簡単なアルゴリズム
非常简单的算法
 
1種類の動きを撮るため、似たような動きを5分間も続ける
为了拍摄一种运动,要持续5分钟相似的动作。
 
30分の1秒に1度、次のアニメーション片が検索される
每30分之1秒1次,检索下一个动画片段
 
速度と姿勢について、いくつかの代表点を抽出してマッチングが行なわれる
对于速度和姿势,提取几个代表点进行匹配
 
     Clavet所说的【愚蠢又有力的的动画系统】的方法,原理上简单得惊人。在每帧里,检索全部的动作捕捉数据,发现最适合的一帧动画时,就进行动画的转移。
 
    例如【疲劳状态的走动】动作。游戏中使用的是,把演员动作的微妙变化全部保存在5分钟的运动数据里。同样的动作,手足位置,腰的高低,头的方向等有微妙的不同,是一连串的运动数据。
 
    然后并不把它分割成多个动画Clip,而是一个整体就直接在游戏中使用就是重点了。在这5分钟的动画数据中,按帧的单位检索,向最适合需要的动作范围进行转移就可以了。不再需要人手工的制作转移图了!
 
    候补的动画帧,以下面的条件为基准进行选择。
 
1.玩家输入预测的移动曲线的适合度
2.对角色现在的姿势(脚,头,手的位置的)的适合度
为了实现高速化,每帧里都把上面的数据通过预先计算输入到参数里。
 
    例如【边跑边转90度】的动作,在动作捕捉数据中也有模板的。在这些候补中,选择最接近现在姿势的帧。因为这样帧单位进行反复操作,可以达到玩家输入那样的灵敏反映,完全看不到有动画衔接部分。
 
いろいろなシチュエーションのモーションキャプチャーデータをひたすら撮り続ける。データは分割されずにそのままゲームに突っ込まれる
いろいろなシチュエーションのモーションキャプチャーデータをひたすら撮り続ける。データは分割されずにそのままゲームに突っ込まれる
只要不断的拍摄各种姿势的运动捕捉数据,不需要分割数据就在游戏里使用
 
プレーヤーの入力を基準に向かうべき方向を予測し、それに近い移動方向・将来位置・将来姿勢を持つアニメーションを選択する
プレーヤーの入力を基準に向かうべき方向を予測し、それに近い移動方向・将来位置・将来姿勢を持つアニメーションを選択する
为玩家输入为基准进行方向预测,选择接近的移动方向,维持将来的位置和姿势的动画

成为角色动画技术的革命者?

 
軌道予測でアニメーションマッチングの精度を向上させている
用轨迹预测提升动画匹配的精度
 
傾斜面での応用にも対応
斜面也对应了
 
本手法のメリットは、機敏に操作可能なハイクオリティのアニメーションを実現でき、さらに、手作業も減ること。いいことづくめ?
这个方法的优点是,可以实现支持灵敏操作的高品质动画,以及减轻手动工作。
 
    这个方法和以前的动画系统完全不同,以前那种从一个动画Clip转移到另外一个动画Clip,和现在这种运动匹配方法在结果上就不用说了。即便制作捕捉数据的人,也无法事先预测帧与帧之间的变化。
 
    而且,它与最近的热门话题-深度学习也有相似之处。这个是通过原始的庞大运动数据,创作出新的连续动作的系统。如果可以【学习】新的运动,这样对应动画的精度也会提升。
 
    但这个方法也有弱点。虽然这个系统也能实现类似【蹲下的状态从朝向右向左做旋转并后退移动】这样的复杂组合,因为不是手工制作动画转移图,要确认可以对应游戏玩法需要的全部运动是很难的。特定的操作组合,感觉还是会有动画模板的盲点产生(捕捉数据的不足)。这种情况因为转移到了不匹配的帧上,运动的表现程度也就下降了。
 
    这样的话,【For Honor】的开发团队每次都要进行游戏内运动的不自然情况的检查,每周都会实施“填坑”的动作捕捉议程。一边减少盲点,一边继续提高游戏的完成度。
 
    当然因为实现这种方法的负荷很高。使用大量运动数据的话,数据容量会变得非常大,为了最佳动画帧的检索需要有很强力的CPU,完全是面向次世代机的技术。但这确实是真正革命性的游戏动画系统。
 
    把动作的流畅和真实性作为生命的游戏【荣耀战魂】,使用这个技术的游戏究竟是怎么样的呢,作为动作游戏玩家真的是非常期待。
 
 
 
原文地址:https://www.cnblogs.com/TracePlus/p/5310701.html