• 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,完全是面向次世代机的技术。但这确实是真正革命性的游戏动画系统。
     
        把动作的流畅和真实性作为生命的游戏【荣耀战魂】,使用这个技术的游戏究竟是怎么样的呢,作为动作游戏玩家真的是非常期待。
     
     
     
  • 相关阅读:
    C++学习笔记27,虚函数作品
    HDU
    POJ 2524 Ubiquitous Religions
    HDU-3839-Ancient Messages(DFS)
    thinkphp 删除所有缓存 Rumtime 以及 Html 静态缓存
    [AngularJS] Design Pattern: Simple Mediator
    [Javascript] Add a browser build to an npm module
    [Angular 2] ngrx/store
    [Typescript] Introduction to Generics in Typescript
    [AngularJS] angular-md-table for Angular material design
  • 原文地址:https://www.cnblogs.com/TracePlus/p/5310701.html
Copyright © 2020-2023  润新知