这是针对The Facial Animation Pipeline of Call of Duty Modern Warfare II的技术分析。该视频是使命召唤现代战争 II 的面部动画管线的制作技术分享。该技术分享主要介绍了使命召唤中角色RIG是如何制作的,以及面部捕捉数据如何应用到RIG上,该分享是数字分身(digital double)的制作,所以演员和角色是同一人。技术分享流程大致分为:1、数据捕获 2、资产创建:FACE GEN 3、资产创建:面部合成 4、面部捕捉 5、RIG解算 6、RIG解算验证 7、动画压缩。图一是整个流程管线的流程图:数据捕获阶段是采集管线所用到所有原始数据,处理和资产创建阶段是对原始数据处理并生成管线所用资产,解算与压缩阶段主要是将面部捕获数据应用到面部绑定上面并将资产压缩转化为引擎运行时资产。
1、数据捕获:LIGHT STAGE 扫描
在light stage里面扫描演员的自然表情、100多个标准POSE表情,音素,情绪等表情,在LIGHT STAGE 是静态扫描,扫描过后使用di4dPro设备进行第二次的动态扫描,动态扫描的表情不仅仅包含FACS,也包含一些常用的英文发音,情绪等.Activision Central接受到LIGHT STAGE 扫描的数据后,会按照游戏中使用的拓扑对自然表情高模进行拓扑,生成几何数据,纹理贴图,法线以及皱纹贴图等。自然表情的低模数据也会发送给di4d用于跟踪处理。di4d处理过后得到的数据可能和发送给di4d的低模数据发生变化,为了保证法线在两个来源的数据上看起来正确,所以采用了一种频率分离的技术把高频信息(像毛孔)分离出去然后在游戏的最后环节再把高频信息合成到游戏最后使用的网格上。这种方法实现了把Light Stage的细节应用到di4d pro捕获的结果上。di4d 动态扫描的优势是可以获得微妙的联合形状而不是一系列分离的极限表情。DI4D 会利用这些动态扫描的数据生成一个演员指定的PCA运动模型. 总结一下:两种扫描都可用作美术参考以及制作资产的,light stage 是静态扫描,用于创建贴图、blendshape等,di4d 是动态扫描,用于制作in-between的表情。
【资料图】
2、资产创建:FACE GENface gen是一个类似于3dMM、FLAME的数学模型,该数学模型做到了身份与表情分离。技术分享中提到的FaceGEN 使用了N MODE SVD分解的方法得到一个多线性身份和表情分离的数学模型,该方法需要手里有大量的数据。N MODE SVD的优势是可以增量更新模型,比如有新的训练数据过来,N MODE SVD的计算方式可以有效更新加进来的训练数据。FaceGEN停供了合成新面部和生成FACS的方法,制作管线利用FACEGEN生成的BS初始化面部绑定,然后利用di4d pro的结果去补充初始化的绑定。talk 指出这块对他们的效率提升是极大的。因为原始制作方法,针对20个角色,手工雕刻300多个BS需要很多时间,而现在利用FACEGEN可以直接生成这些BS.
3、资产创建:面部合成
FACEGEN 可以生成不同形状的头,用于程序化人头的创建,可以方便的用于群众创建
4、面部捕捉
面部捕捉采用的是DI4D HMC纯4d的方式制作,双目摄像头,利用立体视角进行稠密重建得到RAW,然后使用MLTRCKING得到稀疏点的跟踪效果,再利用PCA模型与稀疏点的跟踪结果就可以得到SOLVE的结果,面部捕捉返回的结果是点缓存。这一步也会跟踪眼球和牙齿。
5、RIG解算
该阶段主要是把演员di4d的点缓存数据解算成控制器的系数。非负最小二乘就可以实现。这是一个基于表情的管线,如果在得到控制器系数后动画师需要进行一个剧烈的改变,那么需要重新拍摄。
由于在同一台机器上进行解算风险较大,所以技术管线采用的是并行解算的方式,该过程是自动化的。
6、RIG解算验证
通过热力图可以发现RIG和4d采集结果差异大的地方,这时可以修改RIG,管线开发了对应的自动可视化MASK和拆分工具,可以自动提取4d数据并注入到绑定中并实时更新绑定
7、RIG动画压缩
该阶段主要是把前面阶段的BS绑定转换为骨骼绑定。之前已经分享过BS绑定转骨骼绑定的方法,BS绑定转骨骼绑定,这里分享的方法是类似的,都是利用蒙皮分解的方法,他们在高端平台用了300多根骨骼,在低端平台用了117根骨骼