写在前面的话:GDC总是可以挖掘到很多值得学习的分享,今天拆解一下2017GDC上关于动画管线的分享,里面很多东西值得借鉴、思考,文中偶尔会有一点自己的想法、总结,欢迎大佬吐槽、提意见。(文章很长,多图预警!)
(本篇是下篇)
上篇链接:【2017 GDC挖坟】《守望先锋》动画制作管线(上篇)
第四部分:新技术——绑定
在maya中开发工具,为了让动画师能够快速、有效的制作、迭代动画。
1 . 动画播放帧率30帧是最基础的保证,不论是单一视图、四视图、还是镜头旋转视图,都要保证在30fps以上。
2 . 镜头自动旋转播放动画,是工具开发的一部分。
3 . Maya2016.5,即使进入polish阶段加入表情和次级动画等细节动作,也能做到30-50帧率的播放速率
另一个功能,Maya - 引擎快速 Hot Reload,实现动作在引擎中的快速查看
下图示意,maya中开启一个layer,使得角色可以向上瞄准,然后一键导出,就可以在引擎中看到角色向上瞄准了
基于代码的绑定流程 Code Based Rigging
延用影视的python脚本编程绑定功能,快速、自定义的创建任意肢体
这里是创建一个肢体、镜像肢体的流程演示
每一次都是同通过脚本重建绑定,快速、稳定、无错是工具绑定的优点
总结:
技术团队不需要知道某个角色长什么样子,只需要负责功能的实现,以及功能的稳定
而绑定师Rigger,只需要根据角色特性,做出绑定,不用担心人为错误,比如命名、层级等问题。
利用这一套工具流程,减少错误的可能性,减少bug的发生。
一套严格的绑定结构和命名规则是工具化的基础
(这点个人认为非常重要,很多项目在中后期才想到要工具化、自动化,但项目已经开始,很多东西在这时候批量修改起来困难重重!文件、骨骼最最基础的命名完全无规律可循,技术实施起来犹如开坦克车,每次都会伤害一大片相关资源,费神费力)
maya的绑定内置功能:快速、容易的切换、添加约束的父级
以及一些其他功能的展示:
动画师自定义控制手扶帽子的位置、时间点
IK、FK混合控制
任意旋转身体,保证手的方向不变。
Ragdoll
可以根据实际情况需求,完全手key,也可以完全引擎解算,还可以自定义部分手key+引擎解算
例如下面的Torbjorn的胡子,因为移动的很快,并且还有慢动作,所以最终决定手key胡子的动画。
(一个功能,不应该应用在所有动画上,基于不同的需求,来使用不同的功能方案才是最应该考虑的问题。)
由于引擎物理技术大佬和绑定大佬的支持,所有死亡都是有一个pose发展出来的。
第五部分:新技术 —— 通用生产工具(maya、engine中的工具分享)
MayaTools:
copy - paste pose
世界坐标的粘贴位置
local坐标的粘贴pose
local坐标的粘贴镜像pose
快速选择工具,并且可以自定义选择集
手指控制工具
镜像动画
下图,左侧是动画师在maya中制作的跳跃动画表现,但是引擎导出,需要把前面半段的位移信息归零,所以利用层,快速切换,便于动画师制作、导出资源
引擎中工具:
动画Debug工具
记录运行时动画过程的工具,可以回溯看到刚才所有运行时使用过的动画细节,并查看动画之间的融合,资源来源等等。还可以Hot Reload动画资源
第六部分——未来展望
希望模板可以通过数据驱动(基本上是ue4蓝图的意思,什么都可以让动画师配置完成)
(但因为有了ue,我们知道这样做的问题在于最终还是需要程序重新制作功能,才能让游戏性能达到最佳)
另外就是基于Spring曲线的过渡,多年前的一个GDC分享中有提到,两个pose之间的融合,利用曲线来增加融合效果,但是由于服务器要同步角色动作,这个功能对服务器的压力太大了(每个pose变化都需要跟服务器进行通信)
2014年的GDC分享链接:https://www.youtube.com/watch?v=LNidsMesxSE
MotionBlur的探索
总结
终于结束,这个视频一个多小时,用了好多天的业余时间才整理下来,强迫自己弄清楚很多细节,比自己草草的看十遍收获都多!
其实,里面的一些知识如果想真的变成自己脑子里,还需要个消化整理的过程,但碍于时间问题,先这样,后面有时间还是要整理成脑图。
希望对坚持看下来的您也能有点帮助!感谢您的坚持~
历史文章:
Unity专题 —— DOTS
动画技术专题 —— MotionMatching
胡思乱想:
职业规划: