An Unreal Engine plugin that helps you use AI and ML techniques in your unreal engine project.
News | Document | Download | Demo Project | M4U Remoting(Android App) | Speech Model Packages
Free Edtion vs Commercial Edition
MediaPipe4U provides a suite of libraries and tools for you to quickly apply artificial intelligence (AI) and machine learning (ML) techniques in Unreal Engine project. You can plug these solutions into your UE project immediately, customize them to your needs. Include motion capture , facial expression capture for your 3D avatar, text to speech (TTS), speech recorgnization (ASR), etc. All features are real-time, offline, low latency and easy to use.
Latest update: 20240524
- [new] 🌈 Licenses is no longer required to use MediaPipe4U (all plugin) in the UE editor (you can still use all plugins even though the license file has expireds).
- [new] 🌈 Unreal Engine version 5.4 support, I skipped UE 5.3, I'm sorry for that.
- [new] 🌈 Control Rig supported (preview). Add a new animation blueprint node
ControlRigFromPose
that used to convert FK poses to Control Rig Blueprints pose. - [new] 🔥 Upgrade to latest google mediapipe holistic task api, got better performace for holistic tracking.
- [new] 🌈 Add
StopAsync
toMediaPipeHolisticComponent
to support asynchronous stop Mediapipe. - [new] 🌈
MediaPipeHolisticComponent
Display "Raw mode" support for Android platform. - [fix] 🐛 #130: When packaging a game, the mediapipe model file is missing.
- [fix] 🐛 #124:
BVH Recorder
crash if skeleton bone index was not used for compact space pose. - [fix] 🐛 The
AnchorWidgetInCanvas
function exceeds the size limit when scaling the frame image. - [improve] 🌹 Optimize android performace, now Android platfrom can reach 15-20 fps (CPU: Qualcomm Snapdragon 870 ).
- [improve] 🌹 The Mediapipe4U solver is now adaptive to LOD changes and motion capture can also be done when the LOD changes.
- [remove] 🤢 LLM plugin has been removed. Because of the high latency of the LLM and the frequent updates of the llama.cpp project for a long time, there is no stable version. So I remove it, and maybe it will come back in the future.
- [remove] 🤢 Since this version, the 5.0.x version of UnrealEngine is no longer supported. Because 5.0.X requires VS 2019 and VS 2019 is no longer installed on my development PC. Sorry for that, but the older versions of the 5.0.x plugin are still available.
- [break change] 💊
ASRCaptureComponent
change name toSpeechCaptureComponent
; - [upgrade]: 🪧 Upgrade Windows SDK to 10.0.22621 (Windows 11 SDK)
- [upgrade]: 🪧 Upgrade VC Runtime to 14.38.33130
- [other]: 🪧 Demo project upgrade to UE5.4, add ControlRig Demo, use Windwalker Echo character instead
Kit boy
for facial capture demo. - [other]: 🪧 Due to github storage limitations, the Demo project has been moved to GitLab.
- Google's new holistic task API doesn't support GPUs, so Android uses CPU inference, and Windows, as always, CPU inference.
- Sine Unreal Engine 5.4 , the
OpenCV
engine built-in plugin no longer contains precompiled libraries (.dll files), the first time of the UE Editor launched, because M4U dependent on theOpenCV
plugin, the UE Editor will try to download theOpenCV
source code over the internet and compile it, this process may take a long time, it feels like the UE loading is block at 75%, please be patient and wait it done, for Chinese users, you may also need a VPN networking for that, you can do this manually: #166.
For the release notes, ref below:
💚All features are pure C++, no Python or external programs required.
- Motion Capture
- Motion of the body
- Motion of the fingers
- Movement
- Drive 3D avatar
- Real-time
- RGB webcam supported
- ControlRig supported
- Face Capture
- Facial expression.
- Arkit Blendshape compatible (52 expression)
- Live link compatible
- Real-time
- RGB webcam supported
- Multi-source Capture
- RGB WebCam
- Video File
- Image
- Living Stream (RTMP/SMTP)
- Android Device (M4U Remoting)
- LLM
- Offline
- CPU/GPU Inference
- Multiple models
- LLaMA/LLaMA2
- ChatGLM (work in progress)
- TTS
- Offline
- Real-time
- Lip-Sync
- Multiple models
- Paddle Speech: Chinese, English
- Bark: 13 languages (work in progress)
- ASR
- Offline
- Real-time
- Multiple models
- FunASR: Chinese
- Whisper: 99 languages
- Animation Data Export
- BVH export
- Pure plugins
- No external programs required
- All in Unreal Engine
Unreal Engine | China Site | Global Site | Update |
---|---|---|---|
UE 5.0 | 奶牛快传 | One Drive | 2023-10-10 |
UE 5.1 | 百度网盘 | One Drive | 2023-05-24 |
UE 5.2 | 百度网盘 | One Drive | 2023-05-24 |
UE 5.4 | 百度网盘 | One Drive | 2023-05-24 |
Because the plugin is precompiled and contains a large number of C++ link symbols and debug symbols, it will cost 10G disk space after decompression (most files are UE-generated binaries in Intermediate).
Don't need to worry about disk usage, this is just disk usage during development, after the project is packaged, the plug-in disk usage is 300M only (most files are GStreamer dynamic library and speech models).
Now, M4U support Android and Windows (Linux is coming soom)
Plugins (Modules) | Windows | Android | Linux |
---|---|---|---|
MediaPipe4U | ✔️ | ✔️ | Coming Soon |
MediaPipe4ULiveLink | ✔️ | ✔️ | Coming Soon |
GStreamer | ✔️ | ❌ | Coming Soon |
MediaPipe4UGStreamer | ✔️ | ❌ | Coming Soon |
MediaPipe4UBVH | ✔️ | ❌ | Coming Soon |
MediaPipe4USpeech | ✔️ | ❌ | Coming Soon |
The license file will be published in the discussion, and the plugin package file will automatically include an license file.
Android Version | Download Link | Update |
---|---|---|
Android 7.0 or later | Download | 2023-04-21 |
About M4U Remoting
Note
This is a commercial license exclusive feature: capturing facial expressions from android device.
Free license only supports using in UE Editor, cannot be packaged this feature.
M4U Remoting Document
Please clone this repository to get demo project:
Use the git client to get the demo project (require git and git lfs) :
git lfs clone https://gitlab.com/endink/mediapipe4u-demo.git
The demo project does not contain plugins, you need to download the plugin and copy content to the project's plugins folder to run.
Video Tutorials (English)
Video Tutorials (Chinese)
If you have any questiongs, please check FAQ first. The problems listed there may be also yours. If you can’t find an answer in the FAQ, please post an issue. Private message or emal may cause the question to be mised .
Since the Windows version of MediaPipe does not support GPU inference, Windows relies on the CPU to inferring human pose estimation (see MediaPipe offical site for more details).
Evaluation
Frame Rate: 18-24 fps
CPU usage:20% (Based on DEMO project)
Testing Evnrioment
CPU: AMD 3600 CPU
RAM: 32GB
GPU: Nvidia 1660s
- M4U used MediaPipe for motion capture and face capture.
- M4U used NVIDIA Maxine AR SDK for facal capture.
- M4U used Paddle Speech for TTS.
- M4U used FunASR for ASR.
- M4U used whisper.cpp for ASR.
- M4U used GStreamer for video and live streaming decoding.
- M4U used llama.cpp for inference of LLaMA2 model.
- M4U borrowed a lot of code from PowerIK for ground ik.
- M4U borrowed a lot of ideas from Kalidokit for mocap.
- M4U borrowed a lot of code from wongfei for gstreamer/mediapipe integration.