Skip to content

endink/Mediapipe4u-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简体中文

MediaPipe4U

An Unreal Engine plugin that helps you use AI and ML techniques in your unreal engine project.

Windows Android Linux

News | Document | Download | Demo Project | M4U Remoting(Android App) | Speech Model Packages

Free Edtion vs Commercial Edition

Introduction

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.

What's news

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 to MediaPipeHolisticComponent 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 to SpeechCaptureComponent;
  • [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.

Known Issues:

  • 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 the OpenCV plugin, the UE Editor will try to download the OpenCV 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.

Release Notes

For the release notes, ref below:

Features

💚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

Document

Download

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).

Cross Platform

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

Free License File Release

The license file will be published in the discussion, and the plugin package file will automatically include an license file.

M4U Remoting App

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

Demo Project

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 Channels

Video Tutorials (English)

MediaPipeU Metahuman Tutorials

Video Tutorials (Chinese)

bilibili

FAQ

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 .

Performance

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

Follow Me

bilibili

Youtube

Acknowledge

  1. M4U used MediaPipe for motion capture and face capture.
  2. M4U used NVIDIA Maxine AR SDK for facal capture.
  3. M4U used Paddle Speech for TTS.
  4. M4U used FunASR for ASR.
  5. M4U used whisper.cpp for ASR.
  6. M4U used GStreamer for video and live streaming decoding.
  7. M4U used llama.cpp for inference of LLaMA2 model.
  8. M4U borrowed a lot of code from PowerIK for ground ik.
  9. M4U borrowed a lot of ideas from Kalidokit for mocap.
  10. M4U borrowed a lot of code from wongfei for gstreamer/mediapipe integration.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published