[gdc10][anim&physics]《正当防卫2》的动画技术

这里写图片描述
是avalanche studio(也是技术网红humus所在的studio)开发的开放世界射击游戏,10年发布(15年发布的《just cause3》);以大世界,自由上天入地射击的特性著称;
本文link:http://www.gdcvault.com/play/1012739/Physics-Meets-Animation-Character-Stunts
avalanche studio本身也是非常hardcore的studio,分享了很多不错的技术,也推动了行业的发展(比如对clustered render起了很好的推动作用)
本文是gdc10的一篇文章,avalenche在这个大型复杂开放的世界中,把动画和物理做了特别好的结合,最后达到了一个在各种情况下,都表现的贴合自然,制作量也比节省的开发结果;

mind map :
这里写图片描述

一些比较有意思的点:
rigid body proxy
这里写图片描述
这里avalanche表示物理效果应用到animation上面时候要多加控制,用在ragdoll上面时候尤其容易失控。
正常1个rigid body代表一个character就好。

animation/physics/ragdoll/ik
这里写图片描述
(animation control flow)
整体上just cause的动画混进了physics,ragdoll,ik等,算是都比较全了。
这里ragdoll除了死亡情况,被炸飞的情况也在大量使用。

  1. ragdoll到animation会有过度
  2. impulse施加到bones上面比较有讲究,甚至有vector field这种来让ragdoll效果更棒
    这里写图片描述
  3. ragdoll的特性需要比较多的配置,在各种state下面,需要有专门的配置
  4. 好处:碰撞等感觉是比较好的;坏处:动量的传递效果不行

physics driven animation
传统做法是不同physics event导致animation state的变化;
但是这个就会导致不连贯的感觉,毕竟这些state和event都是离散的。
所以最后就是做法是:

  • 动画状态和混合都是由参数(比如当前motion状态)驱动的
  • 这些参数是连续的且持续的
    这样的结果就是一个平滑的,对于物理事件或者类似的状态有平滑混合的结果。
    这里写图片描述

animation中加入大量physics的优劣

  • +:适用各种情况&表现特别的贴合到位:预制动画难以覆盖到足够多的情况的
  • -:很难调,有很多东西要调,策划&动画&QA都要对这个系统有好的理解,否则大家一起懵逼!

猜你喜欢

转载自blog.csdn.net/ccanan/article/details/78147401
GDC