Re: [情报] CAPCOM将举办RE ENGINE研究会

楼主: cjcat2266 (CJ Cat)   2019-10-30 06:12:28
: 简单说,就是舍弃以往类似state machine,1对1的motion resource制作,
: 而是让演员录制一支5分钟的影片,
: 影片内容有规定必须遵照特定路线与动作来拍摄,以确保motion data的完整性。
: 然后在角色当下的动作完成时,会回去找该5分钟影片一祯一祯搜寻,
: 搭配玩家的指令输入,去找出最合适的那一祯动作,并迁移过去。
: 这是非常高价且奢侈的方式,基本上现世代主机游戏难以实现该作法,
: 但是荣耀战魂刚好是肢体表现为主的格斗游戏,有办法将所有资源通通拿来算motion,
: 因此非常可能是本世代唯一一片有办法使用该技术的作品。
: 推 lanstype: motion macthong有什么优点啊(门外汉看不懂 10/28 22:37
TLoU2也有用motion matching唷!
刚好敝人也有稍微涉猎MM,来献丑分享一下我的理解
将动画师做好的角色动作,让角色播放来符合移动路径,这个技术领域叫做locomotion
传统的作法是让动画师分别做好各个方向的行进动作
然后挑选方向符合移动路径的动作依序播放
例如一个角色要前进2公尺然后转身45度再前进1公尺,然后往左平移1公尺
传统的状态机式系统就会分析这个路径
然后让角色播放前进动作直到行进2公尺、接着播放转身动作直到旋转45度
最后再播放向左平移的动作直到移动1公尺
这其中牵涉的素材,就包括需要动画师制作前进、转身、和平移的动作
MM的做法则比较聪明
让动作撷取演员一次录取一段很长的动作,包含各种移动方式(前进、旋转、平移等)
然后MM系统则是从个数少、但单体资料量巨大的动作资料池中
寻找能够符合欲移动路径的动作片段
同时尽量减少角色当下动作与新动作片段的衔接断层
把这些片段串连起来播放,让角色用自然的动作依循理想路径移动
如此一来,动画师的工作便剩下协助动作撷取
然后再把动作素材的噪声清理一下,并将动作做一些微调以符合游戏视觉风格
程式设计师也不需要维护复杂的locomotion状态机
不过也如原文所说,这个"在巨大动作素材资料池中搜寻理想动作片段"是个效能瓶颈
约10年前Bungie雇用了原始MM paper作者要把MM用在Halo Reach上
结果因为当时硬件性能与优化技术不足而作罢
现在硬件性能与当时相比进步很多
开发者对动作资料的分析和优化技术也有了成长
所以MM不再是遥不可及的梦想,而是可以即时执行的技术了
接下来比较偏技术面
在巨大动作资料池中搜寻理想动作片段,有什么优化技术可以增加搜寻效率?
暴力解法就是每次需要新动作的时候,把整个资料池读一遍
找出符合理想移动路径、又与角色当下动作差异不会太大的片段挑出来
但是资料池非常大,这个暴力解是不切实际的,会花太多时间
其中一个优化方法,是把资料池切成很多小片段
然后把每一个片段的初始动作与移动路径撷取出来
动作可以预先编码成容易与其他动作辨识相似程度的格式
通常是把重要的关节位置座标和旋转角度编成多维向量
如双脚、骨盆三个关节位置和旋转总共有18或21个数字(看旋转是存成3个角度还是四元数)
这样就可以把动作编码成一个18维或21维的向量
两个动作的向量做内积,就可以得到一个能够与其他内积互相比较的"相似度"分数
同样的,也可以用类似方法把动作片段的行进路径进行编码
与理想路径比较,也可以得到相似度分数
所以现在寻找理想片段的工作,便成为经过编码后的动作与路径相似度的比较
但还是存在着被编码的动作片段过多的问题
对所有编码过后的动作和路径片段比较仍然会花太多时间
于是得借用游戏物理常用的空间加速资料结构技巧,快速选出少量比较理想的动作片段
然后只从这些少量片段中与角色当下动作和理想路径做评分比较,最后选出理想动作片段
简单来说,就是以角色当下动作编码向量为出发点
若一个动作片段的初始动作向量与角色当下动作向量"距离"差太多,就直接忽略这个片段
像是两个向量A与B的差A-B的长度太大,就直接忽略而省去取A和B的内积这个步骤
空间资料结构能够协助快速且大量筛选掉距离太远的向量
最后便只需要比较非常少数的动作向量与路径的相似度
然后最近MM延伸出了一个搭配机器学习(ML, machine learning)的变体
原理是透过ML预先分析动作资料池
生出能从角色当下动作与理想路径得出理想动作片段的类神经网络权重
如此得到的动作片段,完全是程序生成的结果,与ML分析的动作资料池已没有关系
也就是最终游戏所需要包含的素材,就只是类神经网络权重(量级大概就几MB)
大量的动作资料池已经不需要了
如此可以省去大量的动作资料空间(量级可以从几百MB高到甚至到几GB)
然而ML作法有个缺点,就是开发者在除错时
若发现角色的动作看起来怪怪的,唯一的线索就是人类无法解读的类神经网络权重
没办法直接得知会产生动作怪异的原因,是原本的动作资料池的哪个片段
或是在哪个ML环节中出错
以上!
作者: Winda (HOWARDHO)   2019-10-30 06:53:00
看完看无推...cj猫快去加班孵TLOU2 (误
作者: overworld (世)   2019-10-30 07:00:00
先推cj猫再看
作者: smallla (猴子)   2019-10-30 07:01:00
先推再看
作者: hipposman (井上多洛~喵)   2019-10-30 07:14:00
娘子 再出来看喵喵
作者: dasuininder (硬派大叔)   2019-10-30 07:39:00
CJ猫终于出来面对了(误
作者: zseineo (Zany)   2019-10-30 07:59:00
作者: ouskit (ouskit)   2019-10-30 08:24:00
推推
作者: patrickleeee (派脆)   2019-10-30 08:36:00
是CJ猫
作者: GR3eeeN (猪猪)   2019-10-30 08:42:00
CJ猫先推再看
作者: tom11725 (奥特斯)   2019-10-30 08:43:00
快推
作者: sora333000 (sora333000)   2019-10-30 08:44:00
CJ猫!!!
作者: xbox1 (插爸万)   2019-10-30 08:50:00
哼讲得好像你有制作tlou2一样...啊啊啊原来是CJ猫(跪
作者: Jetstream (Sammuel)   2019-10-30 08:54:00
怕 原来游戏也会用到ML...
作者: lovensr (龙猫)   2019-10-30 09:01:00
CJ猫!!!!
作者: kusanagi7331 (BEAR)   2019-10-30 09:03:00
推CJ大
作者: aaronpwyu (chocoboチョコボ)   2019-10-30 09:05:00
讲得好像……………………真香
作者: phix (88)   2019-10-30 09:11:00
原来是这样 看不懂...= =
作者: sthho (sthho)   2019-10-30 09:29:00
先推!
作者: lanstype (lanstype)   2019-10-30 09:30:00
推个
作者: shifa (西法)   2019-10-30 09:33:00
感觉很厉害,但是我看不懂 QQ
作者: kawazakiz2 (轮蛇)   2019-10-30 09:36:00
这么简单的道理,但是我看不懂
作者: sleepdada (活在当下吧~孩子!!)   2019-10-30 09:43:00
你说的每个字都看得懂,组合后看不懂
作者: Sutan (溼气)   2019-10-30 09:55:00
感谢大大分享
作者: JingYi09 (ChingYi)   2019-10-30 09:59:00
推CJ猫
作者: Jamesz (Jamesz in LIC)   2019-10-30 10:01:00
推~
作者: Jerrybow (芝心披萨)   2019-10-30 10:07:00
嗯嗯 跟我想的差不多
作者: awkward0207 (尴尬症发作)   2019-10-30 10:07:00
先推 不然别人以为我看不懂
作者: kuku321 (halipapon)   2019-10-30 10:14:00
最后的ML变体 老卡也是差不多作法 只是到最后就是各种系数 魔术数字调教 不管具体动作哪里出问题 反正也找不出原因 就是回去让魔术数字加加减减搞到好这样XD
作者: fetoyeh (小叶)   2019-10-30 10:29:00
是CJ猫!!
作者: rogerno1 (何の问题ですが?)   2019-10-30 10:42:00
快推CJ猫 不然TLoU2又要延期了(误
作者: ggchioinder (都快射了)   2019-10-30 10:46:00
作者: deray (Deray)   2019-10-30 11:40:00
讲那么多 看不懂啦干
作者: Howardyu (海豹一只)   2019-10-30 11:41:00
没关系,是CJ喵啊! 真香~~
作者: Askalaphos (Αμπηιαραυs)   2019-10-30 12:00:00
年薪600万以上,CJ猫猫大 ^^
作者: yeary2k (开心成真)   2019-10-30 12:14:00
推推推
作者: zorroptt (毛毛鼠)   2019-10-30 12:24:00
幸好这些字我都看的懂
作者: jimmysts (jimmysts)   2019-10-30 12:41:00
CJ猫终于出来面对了!(误
作者: angelfox (狐狸)   2019-10-30 12:58:00
神猛
作者: rltc (rlin)   2019-10-30 13:07:00
赶快推以免别人以为我看不懂
作者: darkdeus (王金平底锅)   2019-10-30 13:13:00
作者: AirRider (又怎么了)   2019-10-30 13:22:00
知识文推一个
作者: NCTU87 (八七)   2019-10-30 13:50:00
推推
作者: lolicat (猫雨果)   2019-10-30 14:09:00
嗯嗯 跟我想得一样
作者: Dante6 (Joker)   2019-10-30 14:27:00
CJ猫!
作者: sunlockfire (太陽沒有火)   2019-10-30 18:33:00
我也是这么想
作者: metallican (钢铁人)   2019-10-30 19:27:00
偶像发文啦
作者: DM1984 (DM)   2019-10-31 00:43:00
我居然认真看完了...拜
作者: yanis (∀⊥S!┘∀Σ)   2019-10-31 05:52:00
有神快拜
作者: wwa928 (无药可救的马尾控)   2019-10-31 12:10:00
专业推!
作者: pokiman (勃起男)   2019-10-31 21:15:00
想听你讲解死亡搁浅的技术

Links booklink

Contact Us: admin [ a t ] ucptt.com