UE 插件下载
以下是下载连接,UE查看源代码开发,可自行编译,目前插件只适用于 UE5 版本。
UE 使用说明
在UE中新建工程
蓝图或者c++工程均可,如果需要二次开发插件,需要建立
c++项目,导入人物(人物的默认姿态必须是T-Pose,不可是A-Pose,否则手臂表现将会异常),然后打开工程所在文件夹,新建文件夹Plugins 文件夹,然后将rebocap_unreal_engine_plugin放入到Plugins中,例如新建testV3工程,那么整体目录结构如下:
重新打开UE将会自动编译【释放的是源码,因此应该兼容所有版本】
二次开发和调试插件时,可以使用Rider直接打开
[name].uproject即可开发和轻松调试。可以使用Rider编译,查看编译错误。如果使用UE自动编译,出现错误请查看
Saved/Logs/[name].Log,UE输出的Log一般会存在中文编码问题,可能需要调节系统编码为UTF-8才能正常查看。骨骼绑定步骤
- 点击人物资产 骨骼网格体 【英文版本是:
Skeleton Mesh】,右键新建动画蓝图,双击编辑动画蓝图。【不清楚的地方建议结合视频观看】 - 右键搜索
Rebocap,选择Rebocap Body Pose并创建节点,并将节点的右侧小人连接到输出姿态的Result中 - 在蓝图编辑页面左下角的变量这里点击加号新建变量,变量类型需要搜索,搜索
Rebocap,选择RebocapMapData,类引用,然后将变量拖入到蓝图中刚刚创建的节点RetargetAsset中,会自动产生一个变量节点。然后点击左上角的 编译按钮 单击刚刚新建的变量节点,然后在右侧的默认值中,点击加号,新建一个
Map资产,会自动跳转到一个新的页面,在新的页面中,需要用户自行填写骨骼映射。注意,建议24个节点都填写,大家可以根据Avatar的骨骼名称,来进行填写。骨骼名称可以在蓝图页面点击上方一栏中第一个浅蓝色的骨架小人,可以自动选择骨骼,查看每个骨骼对应的点位。
Rebocap中24个节点的点位就是标准的人体骨骼点位,这里Rebocap中骨骼的名称是以骨骼骨头起点命名。比如VRM中,命名为LeftUpperLeg的骨头,起点是屁股那里,所以在Rebocap中的命名就是L_Hip,LeftFoot的起点是脚踝,所以对应的命名是L_Ankle,Rebocap中L_Foot对应的是脚趾那里。在UE的命名体系中一般称为ball。L Collar左肩的骨骼L Shoulder左边上臂的骨骼L Elbow左边下臂的骨骼L Wrist左手手掌的骨骼L Hand左手中指的骨骼【不会驱动】如果骨骼较多,可以选择适当的骨骼进行映射,比如脊柱如果有6根,那么可以错开挑选其中的三根。
回到刚刚的蓝图页面(已经选好的骨骼映射需要保存并且编译才会生效),选择变量节点的值为刚刚新建的
Map资产。- 再次编译,查看
Warning,一般Warning只会有3个,如果某个骨骼map填写错误,会报warning提示某根骨骼没有找到 关闭动画蓝图编辑窗口,点击顶部
窗口->虚拟制片->Live Link,然后选择源->Rebocap Source->conn【port是端口号,如果Rebocap中的广播端口号改了这里需要修改】,如果Rebocap客户端打开,connect是ok状态,否则是bad状态。另外,用户只有进行动作校准以后才会开始广播数据。
- 点击人物资产 骨骼网格体 【英文版本是:
代码说明
主要动作控制相关代码在
Source\rebocap\Private\rebocap_pose_node.cpp中,其它属于外围相关代码例如dll调用和livelink。其中,Init_Foot_Vertices_And_SkeletalData函数用于获取人物的默认骨架位置以及vert点位,计算双脚脚底用于地面接触的6个点【每只脚6个】,由于是自动计算可能不够精确,用户可以自行找到脚底的6个点位传参进去可能会更精确。PS:脚低尺寸较大的可能会导致人物上下震荡,举一个极端的例子,比如2米的大长脚,人物也只有2米,踮脚然后落地,如果需要保持脚尖接触地面,肯定人物就会上下起伏。
打包说明
- 开发者
对于需要打包的开发者,可以下载最新版本的插件(以前版本打包后无法运行),在
runtime模式下增加了Livelink连接管理,可以参考Plugins/rebocap_unreal_engine_plugin/Source/rebocap_runtime/Private/RebocapLivelinkManagerDemoWidget.cpp文件中ConnectLiveLink和DisconnectLiveLink方法自行实现,如果需要关闭插件自带UI,可以修改Plugins/rebocap_unreal_engine_plugin/Source/rebocap_runtime/rebocap_runtime.Build.cs,注释掉USE_REBOCAP_LIVELINK_MANAGER_DEMO这里的宏定义后自己编译即可。建议将插件放入自己工程的开发者,请自行增加UI管理livelink的连接。 - 蓝图使用者
增加了蓝图节点用于管理
Livelink,节点名称分别是:Connect to Rebocap Livelink Source,Disconnect to Rebocap Livelink Source
- 开发者
注意:
- 如果你在
Editor中使用livelink连接,可能会导致livelink通道占用导致game模式下无法连接成功,建议重启Editor后尝试。- 对于
runtime模式(standalone or game mode,也就是打包后运行) ,由于暂时还没有找到runtime模式下获取 mesh 顶点的方法,因此打包以后,自动骨骼注册不包含脚底,脚底的表现会比Editor模式下差一点点,未来会解决这个问题。
视频操作演示
这里没有声音,作为临时使用,后续会更像
Meta Human (或者默认 Apose 人物)修改为 TPose( APose 转 TPose
注意,A-pose 必须要和官方的一致才可以,否则建议自行手动修改角度,将 Apose 处理为 Tpose 临时角度文件保存,具体参考下边压缩包内教程。