使用面部绑定控制器,通过DY系统进入UE实时动捕的方案

动作捕捉 2023-04-01 9321

随着虚拟偶像行业的热度不断提升,动作捕捉实时进入引擎,尤其是同时驱动面部表情动画实时进入引擎的需求就越来越多了。近日朋友提出了一个这方面的问题,我咨询中国动作捕捉界的元老肖扬老师后,得到了启发,把这个方法记录下来分享给大家。

问题是这样的,我希望通过比iphone面捕更专业的Dynamixyz来动捕驱动UE实时渲染,并且为了得到更好的动画效果,也需要搭建更专业的面部绑定(facail rigging)

准备做动画渲染的角色模型是被绑定师绑定好的,对于面部这一块儿,一般绑定师会做一系列操作,目的是让动画师可以自由控制角色的面部运动,比如下图中,角色的面部的右边是角色面部的控制器

使用面部绑定控制器,通过DY系统进入UE实时动捕的方案  第1张
角色的右边是角色的面部控制器

角色的面部控制器会根据不同的需求做不同的设计,但是大体上都是通过控制器去控制角色面部的blendshape和bone,再通过这些blendshape和bone的协调运动产生自然的面部变形。

为什么一定要用控制器?控制器可以在后台驱动多个blendshape和bone连携运动,控制器相当于把抽象的blendshape和bone转换成动画师最容易理解,也最容易找到的方式与动画师交互,(这里引出来也非常有意思的话题《rigging控制器交互设计》之后分享)

简单说,动画师通过控制器制作角色动画在效果和效率上,比控制bone和blendshape有着非常巨大的提升。

问题来了---不管是Maya的控制器还是Max的控制器,UE是无法识别控制器与blendshape和bone之间的驱动关系的(Unity也一样)。这目前还是UE的一个缺陷(UE提供了自己的control rig)。那么我们如果需要通过UE实时驱动面部捕捉就需要一个方案了。

这里以Dynamixyz(下文用DY缩写)作为面部捕捉的系统为例子来解释一下大致的方案。

使用面部绑定控制器,通过DY系统进入UE实时动捕的方案  第2张
Dynamixyz的硬件部分,面捕头盔

(DY是一套通过摄像头采集角色面部动画,通过面部表情和DCC软件关键POSE对应映射复杂的算法获得面部动画的面部动画捕捉系统,同时它支持实时动捕,并且很好的可以将实时的数据导入UE,不少厂商已经无法接受iphone的低精度面部捕捉了,纷纷开始尝试使用这套系统,而这套系统在大量的3A游戏中得到应用和证明)


所以基于使用自定义面部rigging+DY实时动捕+UE实时渲染的情况。我们使用这套方案来操作:

使用面部绑定控制器,通过DY系统进入UE实时动捕的方案  第3张
整个流程的基本框架

让我来解析一下:

MAYA部分:和传统的绑定一样,绑定师可以根据项目需求自由的设计rigging系统。可以驱动bone也可以驱动blendshape。

DY部分:常规的bridge链接MAYA,创建face set的时候,不选择绑定师设置好的控制器,但拾取控制器会影响到的所有的blendshape和bone。这样在Rom的时候,所有的数据在DY的系统里都被记录在了blendshape和bone之上。在Rom制作的过程中,需要动画师回到MAYA的环节手KEY Rom里需要的所有Pose,那么这一步完全可以通过绑定师设置的控制器来KEY,因为快且效果好,而DY会忽略控制器直接记录blendshape和bone的运动。这样DY导出的realtime文件就仅仅包含blendshape和bone的信息,没有控制器的信息。

UE部分:将上一步DY生成的realtime文件导入UE。角色模型部分需要删除所有的控制器,保留blendshape和bone作为一个skeleton mesh导入UE,这样UE越过了它无法理解的MAYA控制器。

总结:虽然MAYA中的控制器没有在UE中直接起到作用,但是在DY的环节,手KEY Rom Pose的时候控制器起到了相当大的作用,这些数据会通过驱动映射关系体现在blendshape和bone的运动中。所以控制器设计还是有必要有意义的。

结尾的话:从blendshape制作,到控制器,到DY的rom到DY的实时动捕解算输出给UE。如果有一个环节没有正确表达角色面部运动,都会出现奇怪的结果,第一次走通未必是完全正确的结果,这需要多次反查原因,多次打磨迭代资源才能得到比较理想的效果。

祝大家在虚拟偶像的道路上一帆风顺~~~~

The End