UE4+DeepMotion 低成本的角色动画制作

1、前言

  • 最近工作中需要在UE4中使用大量的角色动画,动画要求如下:
  1. 绝大部分是肢体动画
  2. 大部分动作都是需要定制
  3. 动画的制作时间要求比较急、成本要有控制
  • 考虑到制作成本及时间要求,而且其实需求对动作的精准度要求不是很高,于是决定采用AI视频动作捕捉软件制作动画,然后导入到UE4中使用,其主要的转换工具为DeepMotion,流程有以下几步:
  1. 录制或准备动作视频
  2. 使用deepmotion进行视频解析,生成动作文件
  3. 动作文件导入到UE4中,并进行骨骼重定向,将动画适配到目标角色模型上
  4. 采用动画blend方案对角色动作进行合成和调整

2、DeepMotion

  • DeepMotion的Animate 3D让你把2D视频中的人体动作自动转化为可以在游戏、动漫、AR/VR应用软件、社交和移动平台、以及其它交互式媒体应用程序中使用的3D动画。
  1. 支持在线转换
  2. 支持视频和图片输入,生成动作或姿势文件
  3. 工具能够生成肢体动作动画和表情动画
  4. 免费试用,每个月有30s或30个动作的的免费试用
  5. 收费方式分为包年和包月,高级收费版支持导出动画优化(由于我用的是低级版本,优化效果尚不确定)
  • 官方网站:https://www.deepmotion.com/

3、录制或准备动作视频

  • 为了保证系统能够准确的识别动作姿态,官方对于输入的动画视频有如下建议:
  1. 视频的镜头需要和捕捉的人物平行
  2. 捕捉的人物从头部到腰部的整个身体或上半身都应该可见,并且距离摄像机2-6米
  3. 被捕捉的人物和背景要有强烈对比便于图像识别
  4. 镜头里的人物不应该被任何物体遮挡,并且镜头里只有一个人物
  5. 不要穿宽松的或覆盖膝盖和肘部等关键关节的衣服
  6. 面部捕捉支持全身和半身模式,但为了获得更好的结果,建议使用半身模式

4、使用DeepMotion进行动作解析

  • 注册并登录deepmotion官网,点击进入Animate3D产品,点击界面上的create,此时会有空白框提示拖入视频或图片文件,将准备好的视频拖入,这是会有输出选项,因为我需要把动作输出为FBX格式导入到UE4中,所以要选择FBXOutput和Root Joint at Origin(根节点在原点,便于导入UE4后进行重定向),Face Tracking因为当前我不关注角色表情,所以没有选择。

 

  • 点击create按钮,等待一段时间,就会生成角色动画,同时可以更换不同的角色模型进行预览

 

  •  点击download,将动作导出到本地

5、导入UE4,骨骼重定向

 由于UE4里的角色和Deepmotion导出的角色使用的不是同一套骨骼,因此需要使用UE4的Retarget功能进行骨骼重定向。

骨骼重定向(Retargeting)

骨骼重定向的实质是通过在相似骨骼间建立对应的关系,创建一个能在另一套骨骼播放的动画资源。

常用的使用场景 

  • A:我有一套带动画的人物模型,但它们没使用UE4的Mannequin骨骼,我想把这套动画应用到UE4的Mannequin上。
  • B:我有一个绑定好的人物角色,但它没有使用UE4的Mannequin骨骼,我想让它使用Mannequin的动画。

当前的使用场景就是A的情况,我希望把DeepMotion的动画应用到UE4的Mannequin上(当然骨骼重定向后,DeepMotion的角色也能Retarget出UE4的动画)

  1. 导入DeepMotion资产动画

将下载的FBX文件导入到UE4,deepMotion下载的FBX包含两个文件(A-Pose和T-Pose),建议导入含有T-pose的fbx文件,这样便于重定向时调整姿态。

  拖入到UE4中后,弹出导入选项,注意勾选导入动画选项

 点击ImportAll后,FBX资产导入到UE4中,这是应该出现 Mesh、动画序列、骨骼、物理属性和纹理等资产

2、将UE4骨骼调整为T-pose

由于UE4自带的骨骼动画包的pose为A-pose,而我们导入的模型是T-pose,因此需要将UE4的动画骨骼重定向Pose改为TPose。

a.首先下载UE4骨骼自带的T-Pose动画,链接如下  

链接:https://pan.baidu.com/s/10uTRfANIuLLprGc03isGIA
提取码:ni2q

b.下载完成后,导入到UE4中,并选择UE4自带的骨骼

右键导入的动画资产,选择create/ create poseAsset

 

        

 c.打开UE4小白人骨骼,点击Retarget Manager下的ModifyPose

 

        选择刚才生成的姿态资产,点击import

       最后选择usecurrentPose

       最后将UE4的小白人修改为T-Pose

 3.设置Rig Map

打开UE4骨骼和DeepMotion的骨骼,在Set up Rig下的Select Rig中统一选择Humanoid

       可以看到在UE4的骨骼中source和Target是一一对应的关系

       

但是在DeepMotion骨骼中source和Target还没有对应,此时需要进行关系对应,虽然autoMap能够对应部分关系,但是仍有错误,这就需要手动操作,否则动画重定向后由于对应关系错乱,会出现肢体扭曲的问题。或者直接下载以下连接,将资源拷贝到工程中,点击load加载

链接:https://pan.baidu.com/s/1xxd9RaZmXgLeOKJ2QwGXuw
提取码:b23p

(手动调节时需要点击show advanced显示所有信息,由于UE4自带一些武器和肢体插槽,但是deepmotion的骨骼中没有,如twist、ik等,选择none即可)

 以上为映射后的部分截图

 4.微调骨骼姿态

点击骨骼视图中的Character/bones/All hierarchy,显示骨骼信息,对比UE4和DeepMotion的骨骼,发现二者的T-Pose姿态还是有些差异的,此时需要对DeepMotion的骨骼姿态进行微调:

   

       点击deepmotion骨骼视图左下角的View Pose,选中骨骼,对骨骼进行拖拽调整,是deepmotion的姿态和UE4的基本一致

 

        最后点击Midefy Pose/use currentPose保存当前姿态

        5.生成重定向的动画

        鼠标右键点击DeepMotion生成的动画文件,点击复制动画资产并重定向

       此时DeepMotion的动画预览看不见,这是因为骨骼预览的Mesh未设定,需要修复一下

       

       在deepmotion骨骼的编辑界面点击Preview Scene Setting

       

       在右侧弹出的Preview Scene Setting面板中点击Apply to Asset

       此时在创建重定向动画资产就可以DeepMotion的动画预览,在左侧列表栏选择UE4个骨骼,点击Retarget,生成重定向动画。

       

      

      生成的重定向动画即可用到UE4中的小白人上。

6、采用动画blend方案对角色动作进行合成和调整

由于DeepMotion进行视频识别导出的动画是AI计算的,不可避免的会出现一些动作bug,最常见的现象是站立时双腿会不自然的抖动,为解决这一问题,可以采用UE4动画蓝图的blend进行修复,主要思路是上半身采用DeepMotion的动作,下半身采用其他站立的动作,这样进行混合,达到动画修复的目的:

首先新建动画蓝图

在动画蓝图的AnimGraph中,将导出的动画拖入到面板中,并连接OutPose

        此时可以看到动画预览界面播放动画。

        再将UE4的Idle动画拖入到场景中,调用Layered blend per bone,最终输出到outpose

        

        layered blend per bone修改的参数如下

        

        骨骼动画blend的原理是将多个动画按照不同的权重进行计算,最终会得出一个混合结果。

 这样,通过blend就能将动画的上半身动作和下半身动作进行融合,相应的,我们也可以对其他的身体部位进行融合生成新的动画,但是这周融合只能在特定的动作有效,如果全身协调性的动作,融合起来的最终结果就会显得任务动作很怪。

 目前我们的动画只是在蓝图动画里播放,但是有些需求可能是需要在动画资产里播放,UE4里提供的录制功能,我们点击动画视图里的Record按钮,对动画进行录制:

       点击Stop选择保存的路径,新的动画资产就生成了

 7、后记

      以上就是我通过DeepMotion导出动画到UE4中并且重定向后,通过blend和UE4自带的录制功能生成新的动画资产的全过程。由于目前需求只要求到肢体动画,虽然DeepMotion支持表情动画的导出,但并未实践到。另外,个人感觉deepmotion对人物手部动画没有支持,这部分后续可能需要通过动画blend进行修复。

 

       

posted @ 2022-03-10 18:35  小手一拿  阅读(2381)  评论(0编辑  收藏  举报