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
狀態。另外,用戶只有進行動作校準以後才會開始廣播數據。
- 點擊人物資產 骨骼網絡體 【英文版本是:
<div align="center">
<img src="../../img/ue_plugin/ue2.png" alt="pic_left" width="80%">
<img src="../../img/ue_plugin/ue3.png" alt="pic_left" width="80%">
</div>
- 代码说明
主要动作控制相关代码在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
,其它版本后续补上。