[gdc10]《正當防衛2》的動畫&物理技術
是avalanche studio(也是技術網紅humus所在的studio)開發的開放世界射擊遊戲,10年發布(15年發布的《just cause3》);以大世界,自由上天入地射擊的特性著稱;
avalanche studio本身也是非常hardcore的studio,分享了很多不錯的技術,也推動了行業的發展(比如對clustered render起了很好的推動作用)本文link:http://www.gdcvault.com/play/1012739/Physics-Meets-Animation-Character-Stunts
本文是gdc10的一篇文章,avalenche在這個大型複雜開放的世界中,把動畫和物理做了特別好的結合,最後達到了一個在各種情況下,都表現的貼合自然,製作量也比節省的開發結果;
mind map :
圖片壓縮有點厲害,這裡高清文件:
- xmind源文件:anbailin/TechBlogArchive
- 高清圖片:https://github.com/anbailin/TechBlogArchive/blob/master/gdc10_avalanch_PhysicsMeetsAnimation.jpg
//--------------------------------------------------
//插播招聘,騰訊北極光工作室群,客戶端程序:
//[招聘貼]求給力開發者一起hardcore
//-------------------------------------------------
一些比較有意思的點:
rigid body proxy
這裡avalanche表示物理效果應用到animation上面時候要多加控制,用在ragdoll上面時候尤其容易失控。
正常1個rigid body代表一個character就好。animation/physics/ragdoll/ik
(animation control flow)
整體上just cause的動畫混進了physics,ragdoll,ik等,算是都比較全了。 這裡ragdoll除了死亡情況,被炸飛的情況也在大量使用。- ragdoll到animation會有過度
- impulse施加到bones上面比較有講究,甚至有vector field這種來讓ragdoll效果更棒
- ragdoll的特性需要比較多的配置,在各種state下面,需要有專門的配置
- 好處:碰撞等感覺是比較好的;壞處:動量的傳遞效果不行
physics driven animation
傳統做法是不同physics event導致animation state的變化; 但是這個就會導致不連貫的感覺,畢竟這些state和event都是離散的。 所以最後就是做法是:- 動畫狀態和混合都是由參數(比如當前motion狀態)驅動的
- 這些參數是連續的且持續的 這樣的結果就是一個平滑的,對於物理事件或者類似的狀態有平滑混合的結果。
animation中加入大量physics的優劣
- +:適用各種情況&表現特別的貼合到位:預製動畫難以覆蓋到足夠多的情況的
- -:很難調,有很多東西要調,策劃&動畫&QA都要對這個系統有好的理解,否則大家一起懵逼!
推薦閱讀:
※小林家活寶們——妹抖龍精彩段落詳解 0~1回
※三集定律目前最穩一月新番【南極3話簡評】
※學動畫設計要用什麼3D軟體?
※哆啦A夢同人短篇:在世界的角落(1)