开发环境:
Windows 10 专业版;
UE4.27;
ue插件:LiveLink / ControlRig / SteamVR
Vive Pro 套件;
Vive Tracker 3.0 (4个);
Steam Valve Index (2个),主要为了添加手指控制;
虚拟Avatar:Daz3D人物模型;
开发步骤:
SteamVR设备相关:参考
[XR]动捕 UnityXR + FinalIK(VRIK) + SteamVR_GrimRaider的专栏-CSDN博客
使用Final IK 控制人类骨骼实时同步动作。Unity + Final IK
https://blog.csdn.net/GrimRaider/article/details/121699024?spm=1001.2014.3001.5501
获取Tracker数据:(2种方式: MotionController / LiveLinkSource,本例使用的MotionController)
拼ControlRig(全身):
6个控制节点:head / hip / left hand / right hand / left foot / right foot;
4个PoleVector:左右elbow,左右knee;
注意control节点要和骨骼初始Transform完全一致,因为后续需要使用Tracker同步数据;
简单的例子就是把手部和足使用BaseIK(TwoBonesIK)实现,头部简单处理成从Control获取Transform数据(GetTransform - Control)然后直接设置给对应骨骼( SetTransform - Bone),hip也同head;
自己不会拼ControlRig也可参考Daz3D插件自带的Genesis8SimpleCtrlRig,或ControlRigForDaz3D,如果发现模型四肢扭曲,先排除是不是导出时没勾选 "Fix bone rotations on imports" ;
拼ControlRig(手指):
主要使用DistributeRotation节点控制手指弯曲;
弯曲值从index传过来的 SteamVRFingerCurls(弯曲度)获取,Splays数据不会用;
在Tracker的MotionController下创建ControlRig里的control同步节点;
运行校准时,将所有Tracker和人物Avatar模型重合,使用GetSocketTransform提取对应骨骼世界Transform,将MotionController下的control节点设置为此数据,完成校准;
校准后,每Tick获取第6步的control节点世界Transform,设置到ControlRig对应control上,就完成动捕数据同步了,注意使用FromWorld转换一下坐标系。
面捕可以直接使用Daz3D插件自带的资源目录下找(DazToUnreal\Content)Genesis81ArkitExample,看不到的同学请安装Daz3D对应插件,并开启ViewOptions中的 "Show Engine Content" ,配合上 LiveLinkFace;
index和Tracker\ Controller模型,可以使用OpenXR插件中的left_ValveIndexController、right_ValveIndexController,和Engine/VREditor/Devices/Vive,一般OpenXR/Devies下有大部分模型;
参考:
大佬github(里面有youtube视频讲解):
https://github.com/Megasteakman/VRMocap
https://github.com/Megasteakman/VRMocap
大佬文档:
https://docs.google.com/document/d/1yg98JJIbE_FsXjfotas_DSuWrzXPzFthoK6CIOlKLMk/edit#
https://docs.google.com/document/d/1yg98JJIbE_FsXjfotas_DSuWrzXPzFthoK6CIOlKLMk/edit#
日本基于AI算法的动捕软件MocapForAll:
https://www.bilibili.com/video/av803800872https://www.bilibili.com/video/av803800872
https://www.bilibili.com/video/av803800872
官方ControlRig视频1:
[英文直播]UE4.26中使用Control Rig制作动画 | Animating with Control Rig in 4.26(官方字幕)_哔哩哔哩_bilibili
虚幻引擎教学
https://www.bilibili.com/video/BV1Fb4y1d7KV?from=search&seid=7884981084531326263&spm_id_from=333.337.0.0
官方ControlRig视频2:
[英文直播]使用ControlRig样例工程创建动画 | Animating with the Control Rig Sample Project(官方字幕)_哔哩哔哩_bilibili
Animating with the Control Rig Sample Project
https://www.bilibili.com/video/BV1nb4y1X7A5
Daz3D相关1:
[Distribution] Control Rig for Animations in Unreal Engine - Daz 3D Forums
TO USE THIS YOU MUST ENABLE FIX BONE ROTATIONS ON IMPORT: http://davidvodhanel.com/daz-to-unreal-fix-bone-rotations-option/ Hello guys,
https://www.daz3d.com/forums/discussion/488811/distribution-control-rig-for-animations-in-unreal-engine
Daz3D相关2:
Daz To Unreal – Fix Bone Rotations Option – David Vodhanel
http://davidvodhanel.com/daz-to-unreal-fix-bone-rotations-option/
Daz3D相关3:
Inverse Kinematics - Control Rig - Daz 3D Forums
Has anyone been successful at setting up IK in the Control Rig?
https://www.daz3d.com/forums/discussion/502691/inverse-kinematics-control-rig
第3方动捕Manus:
Setup | Polygon
https://www.manus-meta.com/knowledge/setup-polygon#steamvr
其他1:
https://github.com/guto88/ControlRigForDaz3D
https://github.com/guto88/ControlRigForDaz3D
其他2:
https://github.com/guiglass/Unreal_Engine_5_Live_Production_Example/
https://github.com/guiglass/Unreal_Engine_5_Live_Production_Example/
————————————————
版权声明:本文为CSDN博主「GrimRaider」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/GrimRaider/article/details/122127623