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

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

 
Ubisoft的Simon Clavet
 
本作动画系统的目标
 
    进行演讲的Simon Clavet,已经在Ubisoft担任了10年的动画程序员。
 
    在【荣耀战魂】中,除了要真实的描绘战士们激烈的剑斗之外,还要有在广阔战场的战略移动,移动消耗的时间也很多。而本作动画系统所提出的目标就是【正确的游戏性】和【有说服力的动画】。
 
    先从结果来看的话,本作实现的移动动作,在各种情况,各种瞬间,都是以往游戏没有的自然运动。方向转换和加速减速动作的关联,也看不出是多个动画组合而成的那样自然。而且对玩家操作可以快速反应,提供了毫无压力的正确的游戏性。
 
本作的移动动画。姿势变更,方向转化以及气势的变化等都可以完美的对应,完全感觉不到有衔接部分,自然的播放动作。

以前动画系统的问题

 
要实现自然的运动,就需要用户把动画片段(Animation Clip)之间的衔接可以对应玩家操作灵活的变化,这个具体要怎么实现?
 
以前的动画移动系统因为会引起组合数量的爆炸,只能粗略的对应。
 
    这样,在有说服力的动作,和动作游戏才有的响应性上,【荣耀战魂】要求实现的等级很高,用以前的方法几乎是不可能的。
 
    用手工来设定动画片段的转移是有限的,走,跑,停止,转向等各个动作的链接部分,只用少数几个模板怎么也无法实现的。而角色现在的情况是,要正确的再现玩家输入的变化,动画转移的入口和出口变的非常的大,用手工来连接是很勉强的。
 
    因此,以前的游戏,采取的是动画的衔接部分通过程序在方向和力上做修正,动态的来近似的方法。用这种方法,会出现脚无法很好的贴合地面,以及滑步移动的绘制情况。这也是以往角色动画看起来像游戏风格的原因。
 
    【荣耀战魂】中对于这个问题,采用了非常大胆的方法来解决(只有次世代机才能实现)。也就是本次演讲公开的“Motion Matching”的方法。
 
走->停止的运动控制,因为要在忠实的反应玩家操作的同时,实现自然的运动,会有很多的问题。
 

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

 
非常简单的算法
 
为了拍摄一种运动,要持续5分钟相似的动作。
 
每30分之1秒1次,检索下一个动画片段
 
对于速度和姿势,提取几个代表点进行匹配
 
     Clavet所说的【愚蠢又有力的的动画系统】的方法,原理上简单得惊人。在每帧里,检索全部的动作捕捉数据,发现最适合的一帧动画时,就进行动画的转移。
 
    例如【疲劳状态的走动】动作。游戏中使用的是,把演员动作的微妙变化全部保存在5分钟的运动数据里。同样的动作,手足位置,腰的高低,头的方向等有微妙的不同,是一连串的运动数据。
 
    然后并不把它分割成多个动画Clip,而是一个整体就直接在游戏中使用就是重点了。在这5分钟的动画数据中,按帧的单位检索,向最适合需要的动作范围进行转移就可以了。不再需要人手工的制作转移图了!
 
    候补的动画帧,以下面的条件为基准进行选择。
 
1.玩家输入预测的移动曲线的适合度
2.对角色现在的姿势(脚,头,手的位置的)的适合度
※为了实现高速化,每帧里都把上面的数据通过预先计算输入到参数里。
 
    例如【边跑边转90度】的动作,在动作捕捉数据中也有模板的。在这些候补中,选择最接近现在姿势的帧。因为这样帧单位进行反复操作,可以达到玩家输入那样的灵敏反映,完全看不到有动画衔接部分。
 
只要不断的拍摄各种姿势的运动捕捉数据,不需要分割数据就在游戏里使用
 
为玩家输入为基准进行方向预测,选择接近的移动方向,维持将来的位置和姿势的动画

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

 
用轨迹预测提升动画匹配的精度
 
斜面也对应了
 
这个方法的优点是,可以实现支持灵敏操作的高品质动画,以及减轻手动工作。
 
    这个方法和以前的动画系统完全不同,以前那种从一个动画Clip转移到另外一个动画Clip,和现在这种运动匹配方法在结果上就不用说了。即便制作捕捉数据的人,也无法事先预测帧与帧之间的变化。
 
    而且,它与最近的热门话题-深度学习也有相似之处。这个是通过原始的庞大运动数据,创作出新的连续动作的系统。如果可以【学习】新的运动,这样对应动画的精度也会提升。
 
    但这个方法也有弱点。虽然这个系统也能实现类似【蹲下的状态从朝向右向左做旋转并后退移动】这样的复杂组合,因为不是手工制作动画转移图,要确认可以对应游戏玩法需要的全部运动是很难的。特定的操作组合,感觉还是会有动画模板的盲点产生(捕捉数据的不足)。这种情况因为转移到了不匹配的帧上,运动的表现程度也就下降了。
 
    这样的话,【For Honor】的开发团队每次都要进行游戏内运动的不自然情况的检查,每周都会实施“填坑”的动作捕捉议程。一边减少盲点,一边继续提高游戏的完成度。
 
    当然因为实现这种方法的负荷很高。使用大量运动数据的话,数据容量会变得非常大,为了最佳动画帧的检索需要有很强力的CPU,完全是面向次世代机的技术。但这确实是真正革命性的游戏动画系统。
 
    把动作的流畅和真实性作为生命的游戏【荣耀战魂】,使用这个技术的游戏究竟是怎么样的呢,作为动作游戏玩家真的是非常期待。
 
 
 

GDC2016【For Honor-荣耀战魂】的次世代动画技术的更多相关文章

  1. 深入Guerrilla Games解密次世代开山大作《杀戮地带暗影坠落》(The technology of Killzone Shadow Fall)

    文章摘要:这几天终于有时间,把全文翻译完了,自己感觉不是太满意,不过大家能看懂就好,就当一个学习的机会.整篇文章通过SONY第一方游戏工作室Guerrilla Games主创的语录,为我们展现了次世代 ...

  2. 基于Unity 5的次世代卡通渲染技术 -- Unite 2017 米哈游总监贺甲分享实录

    在5月12日Unite2017开发者大会上,米哈游技术总监兼美术指导贺甲进行了主题为次世代卡通渲染的演讲.一下为详细分享内容: 大家好,首先自我介绍一下,我叫贺甲,在米哈游担任技术总监和美术指导工作, ...

  3. 剖析虚幻渲染体系(14)- 延展篇:现代渲染引擎演变史Part 1(萌芽期)

    目录 14.1 本篇概述 14.1.1 游戏引擎简介 14.1.2 游戏引擎模块 14.1.3 游戏引擎列表 14.1.3.1 Unreal Engine 14.1.3.2 Unity 14.1.3. ...

  4. cg tut

    Gesture Drawing with Alex Woo Gesture Drawing with Alex Woo and Louis Gonzales http://eisneim.com/?p ...

  5. 中国VR公司的详尽名单

    中国VR公司的详尽名单   <VR圈深度投资报告一:2014年以来所有VR/AR融资事件> 特征一.投资机构观望居多 尽管VR在媒体和二级市场炒得很热,但大多风险投资机构却慎于出手,以观望 ...

  6. [转]Cryengine渲染引擎剖析

    转篇Napoleon314 大牛的分析,排版好乱,见谅,耐心读,这是个好东西,注意看他自己的实现,是个技术狂人啊,Ogre焕发次时代的光芒啊~~~努力 ------------------------ ...

  7. unity assetStore 常用插件

    常用插件 20180723============= 教程类 =============<Mecanim Example Scenes > 官方示例场景<Surivial Shoot ...

  8. 集显也能硬件编码:Intel SDK && 各种音视频编解码学习详解

    http://blog.sina.com.cn/s/blog_4155bb1d0100soq9.html INTEL MEDIA SDK是INTEL推出的基于其内建显示核心的编解码技术,我们在播放高清 ...

  9. Unity网游开发生存指南—蒸汽之城

    Posted by amy on 2013.03.07 文 / 王楠(梦加网络 游戏制作人) 前段时间关于Unity是否适合国内手游/网游创业团队的讨论非常火爆,本文从<蒸汽之城>的开发历 ...

随机推荐

  1. 记一次mybatis的classpath踩坑记录

    http://blog.csdn.net/jinzhencs/article/details/50595476

  2. Android service介绍和启动方式

    1.Android service的作用: service通常是用来处理一些耗时操作,或后台执行不提供用户交互界面的操作,例如:下载.播放音乐. 2.Android service的生命周期: ser ...

  3. BZOJ4684 : Company Organization

    二分答案,转化为判定问题. 建立有向图,$a->b$连边表示$a$是$b$的子集,至此可以处理掉$1$和$2$. 对于$5$,则往对应点的集合塞一个元素,即可满足$5$. 首先求出强连通分量进行 ...

  4. datanode启动不了

    报如下异常:*org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.protocol.DisallowedDatano ...

  5. Extjs tree的相关方法及配置项

    Ext.tree.TreePanel       主要配置项:             root:树的根节点.             rootVisible:是否显示根节点,默认为true.     ...

  6. 微软曝光眼球追踪新专利,未来或将可以使用眼球控制HoloLens

    想要在增强现实(AR)和虚拟现实(VR)中获得感官能力,计算机的配合非常重要.如何能够更好的追踪我们所感知的,计算机判断用户目光所向的能力就必须进一步提高.根据微软新曝光的专利,可能已经有一个解决方案 ...

  7. ORACLE11g JDBC Driver

    http://blog.163.com/z_rx/blog/static/276363762011312947507/ ORACLE服务器端安装程序找到相应目录"x$\app\Adminis ...

  8. CODEVS 1817 灾后重建 Label:Floyd || 最短瓶颈路

    描述 灾后重建(rebuild)  B地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响.但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车.换句话说,只有连接着两 ...

  9. BZOJ1110: [POI2007]砝码Odw

    Description 在byteotian公司搬家的时候,他们发现他们的大量的精密砝码的搬运是一件恼人的工作.公司有一些固定容量的容器可以装这些砝码.他们想装尽量多的砝码以便搬运,并且丢弃剩下的砝码 ...

  10. iOS 上线被拒收集

    根据上线被拒的原因 自己 也在慢慢总结  希望对各位有所帮助 1)QQ 微信 等第三方平台 必须要做是否安装应用的检测