swiftui动画之tab自定义切换动画_【2017 GDC挖坟】守望先锋动画制作管线(下篇)...

写在前面的话:GDC总是可以挖掘到很多值得学习的分享,今天拆解一下2017GDC上关于动画管线的分享,里面很多东西值得借鉴、思考,文中偶尔会有一点自己的想法、总结,欢迎大佬吐槽、提意见。(文章很长,多图预警!)

(本篇是下篇)

上篇链接:【2017 GDC挖坟】《守望先锋》动画制作管线(上篇)

第四部分:新技术——绑定

3ff6f073b136d6a7e677cfaaedbaf942.png

74c612a979564cf82132454265068832.png

7780b60af87c68401e734ed2653e393c.png

在maya中开发工具,为了让动画师能够快速、有效的制作、迭代动画。

1 . 动画播放帧率30帧是最基础的保证,不论是单一视图、四视图、还是镜头旋转视图,都要保证在30fps以上。

2 . 镜头自动旋转播放动画,是工具开发的一部分。

3 . Maya2016.5,即使进入polish阶段加入表情和次级动画等细节动作,也能做到30-50帧率的播放速率

9e568b51c8b0e6fe5a483416e01581c0.gif

另一个功能,Maya - 引擎快速 Hot Reload,实现动作在引擎中的快速查看

下图示意,maya中开启一个layer,使得角色可以向上瞄准,然后一键导出,就可以在引擎中看到角色向上瞄准了

cfdcd43e3bb4ab8857c22531cc3958d9.gif

基于代码的绑定流程 Code Based Rigging

延用影视的python脚本编程绑定功能,快速、自定义的创建任意肢体

01a8e63fa1ce4b5798f1c801ade09441.png

这里是创建一个肢体、镜像肢体的流程演示

每一次都是同通过脚本重建绑定,快速、稳定、无错是工具绑定的优点

总结:

技术团队不需要知道某个角色长什么样子,只需要负责功能的实现,以及功能的稳定

而绑定师Rigger,只需要根据角色特性,做出绑定,不用担心人为错误,比如命名、层级等问题。

f580aa807cd37ac0c6fa53321f86d5c7.png

利用这一套工具流程,减少错误的可能性,减少bug的发生。

9480cd68afa7096ab3c7784278c259aa.png

一套严格的绑定结构和命名规则是工具化的基础

(这点个人认为非常重要,很多项目在中后期才想到要工具化、自动化,但项目已经开始,很多东西在这时候批量修改起来困难重重!文件、骨骼最最基础的命名完全无规律可循,技术实施起来犹如开坦克车,每次都会伤害一大片相关资源,费神费力)

9e74a7ebb99402af72842986fb717b87.gif

maya的绑定内置功能:快速、容易的切换、添加约束的父级

5852ec6d9ba9cb21f468c4220ab9a944.png

以及一些其他功能的展示:

3a05990e056913e50040ffe744b02165.gif

动画师自定义控制手扶帽子的位置、时间点

b9efa074a3329803aa071dce80316690.gif

IK、FK混合控制

1bab1e6ae6a470b5ad62d432bd072bbe.gif

任意旋转身体,保证手的方向不变。

e33d6168801096a773c113a8e1b6144b.gif

Ragdoll

可以根据实际情况需求,完全手key,也可以完全引擎解算,还可以自定义部分手key+引擎解算

ec2c0e19eab1e46c8b96979b28f54fda.png

例如下面的Torbjorn的胡子,因为移动的很快,并且还有慢动作,所以最终决定手key胡子的动画。

(一个功能,不应该应用在所有动画上,基于不同的需求,来使用不同的功能方案才是最应该考虑的问题。)

f6dde61fd3739e5c1dd762a1cf261f12.gif

由于引擎物理技术大佬和绑定大佬的支持,所有死亡都是有一个pose发展出来的。

92220e1ba8334e4b4200b515d43670ff.gif

第五部分:新技术 —— 通用生产工具(maya、engine中的工具分享)

d585337c32d3904778ed2b15c543c6be.png

be216463b51ee232228c29ceded71981.png

MayaTools:

ba5102a6c20a3d5f7f50b01ac68b831c.png

copy - paste pose

adac9fe25502b69a285e484c523582b1.png

世界坐标的粘贴位置

158efb4cdd2bfc093d0b403a103bae92.png

local坐标的粘贴pose

eb575efc25ef3842fe60245eacf7c2c4.pnglocal坐标的粘贴镜像pose

快速选择工具,并且可以自定义选择集

78c3bdde7bb07092c1aa16e02d4b53a0.png

手指控制工具61689b436efe56e6f84cb12f873df449.png

镜像动画

249c3a8904c99d8e0792c9684c39a88f.gif

下图,左侧是动画师在maya中制作的跳跃动画表现,但是引擎导出,需要把前面半段的位移信息归零,所以利用层,快速切换,便于动画师制作、导出资源

0e6970c8a808357d93578f0f04df2e69.gif

引擎中工具:

68384fbb57c6c414b95f6f45d2d18e41.png

动画Debug工具

记录运行时动画过程的工具,可以回溯看到刚才所有运行时使用过的动画细节,并查看动画之间的融合,资源来源等等。还可以Hot Reload动画资源

9140d7a78dd17f49c81c3e362900ce5e.png

23332cf7313233c3f981dedac4288be8.png

ccbaca9c323f1ffde4f85b1c956836a9.png

第六部分——未来展望

a7bc9f47eae9df1fafe883e990efb1bd.png

希望模板可以通过数据驱动(基本上是ue4蓝图的意思,什么都可以让动画师配置完成)

(但因为有了ue,我们知道这样做的问题在于最终还是需要程序重新制作功能,才能让游戏性能达到最佳)

4620197c2a2364e93b616593b1c607c6.png

另外就是基于Spring曲线的过渡,多年前的一个GDC分享中有提到,两个pose之间的融合,利用曲线来增加融合效果,但是由于服务器要同步角色动作,这个功能对服务器的压力太大了(每个pose变化都需要跟服务器进行通信)

2014年的GDC分享链接:https://www.youtube.com/watch?v=LNidsMesxSE

6de4dbc3752b96eed76a46e7cd223d61.gif

MotionBlur的探索

24dd95e9f08d3b1162bb67f7f8008df9.png

总结

a1c72ea6821048ed5b122fdb92bd6be5.png

终于结束,这个视频一个多小时,用了好多天的业余时间才整理下来,强迫自己弄清楚很多细节,比自己草草的看十遍收获都多!

其实,里面的一些知识如果想真的变成自己脑子里,还需要个消化整理的过程,但碍于时间问题,先这样,后面有时间还是要整理成脑图。

希望对坚持看下来的您也能有点帮助!感谢您的坚持~


历史文章:

b36ed6ac6689056fd5871cd46ce2e1f0.png

Unity专题 —— DOTS

314c4049fe6a0ff14ffcdd6f03936caa.png

04899fcb0dd9ccbfefeb41c9cbbe4d28.png

4b79aaf293becb49e02b17e11544cc21.png

动画技术专题 —— MotionMatching

4780140516852a8da93dbd39ea8cf266.png

da27eb33b49fd9b936507c1f2832f210.png

c44f89c459f72d035f1ee4b506a70580.png

3164e376453c458420ea35880d0bde03.png

胡思乱想:

67f168a3071794bb24396a6233cffda8.png

职业规划:

8b61c893fad66311564b3cd8a01fd128.png

680fdce04d599dac0335dd8e5d9e05c6.png

68343cad4ab332e581d102112917e0da.png

a1c3d67d2adf6145b6c8b0bc03b103a5.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值