在虚拟现实、游戏开发、影视制作等领域中,动作捕捉技术与实时渲染引擎的结合已经越来越紧密。UE作为业界领先的3D创作平台,受到了众多开发者的青睐,DS FUN-UE插件能够帮助开发者更便捷地在UE平台中利用动捕数据进行高效创作,提升项目效率。
准备事项
1、软件
DS FUN-采集端软件、DS FUN-UE插件、UE(4.26及以上)
DS FUN相关软件请到动石科技官网的开发者界面中下载
2、硬件
摄像头、电脑普通家用RGB摄像头即可,电脑推荐配置如下
3、动捕环境
室内9平⽅⽶以上明亮无遮挡的活动空间,演员请着修身衣物。
一、插件放入当前项目或引擎目录下
A. 如果不需要打包,插件直接放入项目文件中的plugins文件夹下就可以使用。
B. 如果需要打包,请放入引擎插件目录中的Marketplace文件夹下。(跳转目录“八、打包设置”查看详情)
二、引擎导入数字人(已有数字人可以忽略)
1、打开Bridge
2、在MetaHumans界面,下载自己喜欢的数字人,点击Add,导入引擎
三、数字人设置
1、打开导入引擎的数字人蓝图,添加组件DSActor:
2、Body骨骼动画蓝图设置为DS_ABP_Body_DM_C
3、Face骨骼动画蓝图设置为DS_ABP_Face_C
四、项目设置
1、打开项目设置面板,找到DS_UserSettings
2、设置以下链接动捕参数
IP:为DS FUN采集端IP;
Port:端口,默认8899;
Use FixedFrameRate、FrameRate:勾选Use FixedFrameRate可以锁定帧率,保证DS FUN采集端不被占用。由于UE默认会占据所有线程,所以锁定帧率越高,其他程序能使用的线程就越少,这样容易导致采集端运行卡帧,因此FrameRate(帧率)建议设置在25左右;
App ID,App Secret:使用DS FUN-UE插件需要开发人员提供App ID和App Secret。申请地址可到动石官网注册账号后到官网-控制台中申请。
动石官网注册账号
动石官网跳转到控制台界面
创建应用
五、开始运行
数字人蓝图拖入场景,确保采集端已经启用,点击开始运行。
提示1:如果需要展示切换IP效果,请在世界大纲视图找到BP_Cooper勾选“是否动态切换IP”;
提示2:如果需要展示切换角色效果,请在世界大纲视图找到Bp_ChangeHuman_01勾选“是否动态切换角色”;
六、自定义设置(高级用法)
1、每个数字人的DSActor组件独立存在
可以在组件细节面板设置不同位置偏移和端口识别索引接收采集端的不同人物数据。
DSC(基础设置):
(1)Face Link Options(面捕方案),面部捕捉方案选择,有三个选项视觉解算、Livelink解算、混合解算:
DSLink:动石自研面部解算方案,默认选项,默认启用,无需额外配置。
Livelink:支持UE支持的所有LiveLink面捕设备。
Both解算:当检测到LiveLink软件时自动应用Livelink解算,否则使用视觉解算。
(2)Offest(位置偏移),场景中角色的最终位置将会是采集端的数据+位置偏移。
(3)iPersonIndex(使用采集端识别到的第几位角色),根据填入的数字选择使用采集端识别到的第几位人物的数据。
Dev(高级设置):
(1)Use Actor Location(使用Actor位置作为原点),默认原点位置为采集端的数据,勾选后以场景角色的位置为起点,模拟运行支持手动拖放改变角色位置;
(2)Print Log(打印日志),勾选后显示细节日志消息;
(3)Change LowerBody(是否驱动下半身),取消勾选后下半身保持不动;
(4)Skeleton Index(骨骼模型的匹配方案索引),根据项目设置界面的骨骼匹配方案库的索引来选择使用对应骨骼的数据;
(5)Foot Offest(脚步偏移系数),用于调整不同玩家和角色的体型差异导致的滑步问题;
(6)Use FootTracFloor(是否开启脚步贴地),开启后人物站直状态会不断适配角色的脚步位置;
(7)Foot Trac Height(脚步贴地后偏移的高度),用于调整不同玩家和角色的体型差异导致的开启脚步贴地后仍然陷入地面一部分的问题。
RunTime(运行时查看):
(1)APPID is Vail?(APP ID是否生效),运行后查看APP ID是否生效
(2)DLL Data Index(当前DLL唯一索引),运行后查看当前角色生成的UUID
2、动态切换IP
蓝图中找到DSGameInstanceSubsystem,拖拽CreateSocket函数立即切换IP(延迟时间根据网络动态调整);
3、动态切换骨骼
(延迟时间根据网络动态调整);
4、动态切换蓝图
以上节点在参考项目中Bp_ChangeHuman_01和BP_Cooper图表界面可以查看
Blueprint'/Game/Bp_ChangeHuman_01.Bp_ChangeHuman_01'
Blueprint'/Game/MetaHumans/Cooper/BP_Cooper.BP_C
七、骨骼匹配方案库设置
不同骨骼模型需要使用自身对应的骨骼方案库,默认包含四种骨骼的匹配模式(Metahum标准、VRM_UE5标准、VRM_Bip标准、Mixamo标准)。
通过在DSActor的细节面板指定当前角色所使用的骨骼匹配方案的索引号来使角色正确被识别,比如metahuam骨骼模型的匹配方案索引为0或-1,VRM_UE5标准骨骼模型的匹配方案索引为1,RM_Bip标准骨骼模型的匹配方案索引为2,Mixamo标准骨骼模型的匹配方案索引为3
如果需要添加自定义的骨骼模型的骨骼匹配方案:
(1)打开项目设置面板,找到DS_UserSettings->SocketSetting
(2)点击添加新匹配库:
(3)填入当前方案名字,比如“NewElements”:
(4)依次点击当前方案身体骨骼名称、当前方案左手骨骼名称、当前方案右手骨骼名称,进行骨骼重定向,左边是标准骨骼名称,右边是对应的你的自定义骨骼的名称:
八、打包设置
如果项目有打包需求,需要做如下设置才能打包成功并生效:
1、插件不要放到项目Plugins下,而是放入Engine\Plugins\Marketplace
2、打包之前请在项目设置中填写配置信息,然后把DSUserSetings设置为默认,重复点击Yes
九、补充说明
1、依赖插件:
使用数字人资产需要包装UE引擎开启以下插件,默认开启,如果项目运行时失效,请检查这些插件是否开启:
"Live Link":
"Live Link Control Rig":
"Apple ARKit":
"RigLogic plugin":
2、示例项目打包说明:
示例项目依赖的VRM4U插件是服务于VRM的,所以并没有提供源代码,需要打包项目请禁用VRM4U
十、常见问题解答
1、找不到组件DSActor,项目设置面板找不到DS_UserSettings?
a.检查项目插件面板中,是否存在DSHumanComponent插件;
2、 采集端闪退?
a.登录成功后崩溃,检查相机是否能正常运行。 b.点击开始采集后崩溃。检查显卡是否是NVIDIA 20系列及以上。
3、采集端白屏?
a.检查显卡驱动版本是否大于520。
b.检查显卡是否是NVIDIA 20系列及以上。
4、运行后脸部和身体都没有数据?
a.查看日志面板,可能是网络连接失败:
b.检查采集端黄色采集框是否框选住动捕人员。
5、运行后脸部有数据,身体没有数据?
a.检查采集端是否已经点击开始采集;
b.查看日志面板,可能是动画蓝图不匹配:
6、 运行后特别卡顿?
a.项目设置面板->DS_UserSettings->帧率 调小; b.采集端不要放到后台运行或者最小化。
7、运行后角色有很明显的滑步?
DSActor细节面板->脚步偏移系数,调整。
8、运行后身体部分有数据,部分不会动?
修改数字人蓝图的函数EnableMasterPose:
9、 运行后没有头发,身体抽搐?
角色lod组件细节面板,LOD强制为0:
10、运行后角色脚悬空?
a.相机需要水平放置;
b.采集端需要显示完整的脚;
c.细节面板->填写“位置偏移”,叠加改变位置。
11、运行后角色位置不在初始位置?
细节面板->勾选“使用Actor位置作为原点”,默认不勾选为读取到的采集端位置。
12、如何把数据导出为UE动画序列?
点击连接保存动画序列。
13、 其它问题或建议?
欢迎评论区留言,或者私信讨论哦
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。