在Unreal引擎中利用实现实时动作捕捉
前言:
在制作动画或者游戏时,我们如果需要动画表演准确且真实,动作捕捉必不可少,而在常规的虚幻引擎动捕工作流程中,我们需要将动捕数据导入到专业的动捕修复软件motionbuilder或者是其他软件中检查并且修改,然后再导入虚幻引擎中,但是这样做的劣势就是在导入虚幻引擎将动作放入场景中时,人物动作以及表演可能在一定程度上会存在误差,于是最好的做法就是让动捕演员直接实时在虚幻场景中进行表演,这样可以更加直接的反映出角色动画的状态,以便及时进行改进。
准备的软件:
- Motionbuilder
- Unreal4/5
准备工作:
为motionbuilder安装livelink插件:
-
-
解压后根据motionbuilder版本进行选择,放进对应路径中:
C:\Program Files\Autodesk\MotionBuilder 2022\bin\x64\plugins -
打开motionbuilder,在Asset Browser/Templates/Devices中可以找到该插件
-
将该插件左键直接拖入场景中即可使用
演员及Motionbuilder准备:
-
演员穿戴光学动捕服装,捕捉点物理位置务必确定,尽量少的出现位置偏差,否则将会直接影响动捕数据效果;
-
Motionbuilder连接动捕软件(一般提供动捕方案的厂家会将其动捕软件直接连接到Motionbuilder)同时livelink到UE,配置IP地址;
-
导入人物模型,在Definition中将骨骼映射对应,
-
在Character中选择被驱动的模型的骨骼
Target,Source选择动捕反射的骨骼Source。 -
通过Navigator预设置动捕重定向配置,让动捕演员在MotionBuilder中表现相对正常。
此处的设置将在我的另一篇文章 《动作捕捉数据的导入和调整》 中详细说明捕捉流程
捕捉流程
将Motionbuilder内容实时流送到UE中:
- 点击如图所示位置,选择需要流送的角色骨架;
2. 当为同一台电脑时,红色位置将其修改为0.0.0.0:0,蓝色位置为UE项目设置/UDP消息发送/组播末端的IP地址(如下图);当需要不同电脑远程同步的时候,将红色位置修改为运行Motionbuilder电脑的IP地址;
3. 而在UE上需要修改的时UDP消息发送位置:不同电脑远程同步的时候需要在静态末端添加motionbuilder运行电脑的IP地址及其端口;
4.进行如上操作完毕后,点击livelink插件中的左上角,显示为绿色时,开始流送;
-
此时打开UE/窗口/虚拟制片/Livelink
-
点击左上角的源/消息总线源,选取运行Motionbuilder的电脑,连接成功!
![网络连接 -
打开被流送主角的动画网格体,检查连接状况, 将***选择为,livelink subject Name 选择为刚刚在motionbuilder中选择的骨骼,如果打开Enable Camera Sync将会使motionbuilder的摄像头实时连接到UE中
变量 | 选项 |
---|---|
预览控制器 | Live Link Preview Controller |
livelink subject Name | 刚刚在motionbuilder中选择的骨骼 |
Enable Camera Sync | true |
如果在Enable Camera Sync中选择为True,则UE的相机会跟随Motionbuilder相机同步移动
- 最后为角色创建一个动画蓝图,创建实时链接姿势节点,选择刚刚于Motioinbuilder中选定的骨骼,再将角色拖进场景中,可以实现实时流送。
关于作者
我是一个TA
喜欢游戏,各种各样的游戏
希望未来能有幸创造出和头号玩家一样的游戏
目前致力于学习动作捕捉和面部捕捉方向,如有同好可以一起学习进步