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
的连接。 对于runtime
模式(standalone or game mode
,也就是打包后运行) ,由于暂时还没有找到runtime
模式下获取 mesh 顶点的方法,因此打包以后,自动骨骼注册不包含脚底,脚底的表现会比Editor
模式下差一点点,未来会解决这个问题。 如果你在Editor
中使用livelink
连接,可能会导致livelink
通道占用导致game
模式下无法连接成功,建议重启Editor
后尝试。
视频操作演示
这里没有声音,临时使用,后续会更像
Meta Human 修改为 Tpose
下边是视频教程和对应所需转换Tpose文件打包,请根据视频操作即可。转换文件目前仅仅适用于 UE5.3
,其它版本后续补上。