在上一篇文章中,我们导入了Mixamo生成的人物骨骼模型和动画文件,但是,这里的人物模型只能使用Mixamo导入的动画,而不能使用UE4的动画包。这是因为两者骨骼并不相同,如图,需要进行重定向。
第一步 添加root节点(非必须)
比较两者的骨骼树,发现UE4的官方骨骼文件,有root节点。给Mixamo生成的人物模型添加root节点方法参考https://github.com/20tab/UnrealEnginePython/blob/master/tutorials/FixingMixamoRootMotionWithPython.md,在此表示感谢
1.1 安装UnrealEnginePython插件
首先,前往https://github.com/20tab/UnrealEnginePython/releases下载符合所使用引擎版本的UnrealEnginePython插件,推荐embedded版本,方便安装使用,例如,本人使用4.18版本的引擎,选择UnrealEnginePython_20180330_4_18_python36_embedded_win64.zip。
此处,建议关闭Unreal Editor。在工程目录文件下新建Plugins目录,此目录与Content目录同级,将压缩包在此目录下解压。例如,工程名为FPS,则解压后有,RPGProject\Plugins\UnrealEnginePython
打开Unreal Editor,点击窗口,最下方出现Python Editor
点击,可以打开一个python的编辑器
1.2 运行Mixamo.py
https://github.com/20tab/UnrealEnginePython/blob/master/tutorials/FixingMixamoRootMotionWithPython_Assets/mixamo.py下Copy代码,打开Python Editor,选择new,新建一个脚本文件,粘贴复制的代码。若右下角弹出import窗口,选择确定import。
保持Python Editor打开,在Unreal内容浏览器中选择之前导入的Mixamo骨骼网格物体,然后,单击Python Editor的Execute,如图所示
弹出保存窗口,选择保存位置,执行结束后,多出两个文件,如图
这两个文件即是添加root节点后的骨骼文件,可以双击查看
第二步 骨骼重定向
2.1 UE4_Mannequin_Skeleton的Rearget
首先,双击UE4自带的UE4_Mannequin_Skeleton骨骼文件
单击左上角的Retarget Manager,再弹出的对话框里,选择类人绑定,如图
然后单击下方的Auto Mapping按钮,自动完成映射,点击保存,后关闭
2.2 Mixamo导入模型的Retarget
双击导入的骨骼模型,同样,选择Retarget Manager,选择类人绑定,但是这里不能Auto Mapping,需要手动进行绑定。UE4与Mixamo绑定的对应关系如下图所示。
基本
高级
完成手动绑定,点击保存,后关闭
2.3 重利用动画
选择一个官方的动画,右击,选择重定向动画资源
弹出如下画面,此处应该保持两者预览画面的姿势一致,同为T-pose或A-pose之类的(当使用UE4.1X版本时,可能出现没有预览画面,且映射失败的情况,在另一篇文章里说明)
点击重定向,则会生成重定向后的动画,拖入Level中,播放正常
到这里,已经可以使用其他骨骼的动画,但是,因为重定向pose的原因,可能导致模型动画显示的略有问题,下一篇文章,将使用相对简单的方法,调整重定向pose