MVN Skeleton Mapping

Sally Slade
3 min readMay 4, 2023

--

This is the article I needed while building my first MVN Live Link Retarget Asset in Unreal Engine.

Preamble

When using an XSens suit for motion capture, one must also use Movella’s MVN Animate software package. MVN Animate communicates with the XSens suit during performance, and uses the data to animate a skeletal mesh in real-time.

One option to get that performance into Unreal Engine is to stream the live performance through Unreal’s Live Link feature, which can in turn puppeteer a custom skeletal mesh.

However, it is unlikely that your custom skeletal mesh construction will match that of the MVN default skeletal mesh out of the box. For this reason, we will need to tell Unreal which MVN native joint maps to which joint on your custom skeleton.

The documentation on this may feel simultaneously too thin or too much, but most importantly, the joint names in Unreal do not match the joint names in the skeletons exported by MVN.

Live Link Mvn Remap Asset Names do not match MVN Skeleton Joint Names

Therefore, I am sharing the diagrams I created for our internal documentation.

Show Me the Docs

Live Link MVN Remap <> MVN Joint Name Mappings

The divergent joint names are as follows, in the format of “Live Link MVN Remap Name <> MVN Joint Name”:

  • Root <> Reference
  • Pelvis <> Hips
  • L5 <> Spine
  • L3 <> Spine1
  • T12 <> Spine2
  • T8 <> Spine3
  • RightUpperArm <> RightArm
  • RightForeArm <> RightForeArm
  • RightUpperLeg <> RightUpLeg
  • RightToe <> RightToeBase
  • RightCarpus <> RightHand
  • RightHand<> RightHand**

** Why is RightHand listed twice? It’s because RightCarpus is for finger tracking enabled models, whilst RightHand is for mitten handed models. I usually fill them both in to be safe.

Right Carpus vs Right Hand in MVN Animate

If you’re mapping fingers, here are the wrist and finger names in the same format:

I would’ve made the thumb zero, just sayin’

For SEO purposes, here are the joints listed out:

  • RightCarpus <> RightHand
  • RightFirstMC <> RightHandThumb1
  • RightFirstPP <> RightHandThumb2
  • RightFirstDP <> RightHandThumb3
  • RightSecondMC <> [None]**
  • RightSecondPP <> RightHandIndex1
  • RightSecondMP <> RightHandIndex2
  • RightSecondDP <> RightHandIndex3
  • RightThirdMC <> [None]**
  • RightThirdPP <> RightHandMiddle1
  • RightThirdMP <> RightHandMiddle2
  • RightThirdDP <> RightHandMiddle3
  • RightFourthMC <> [None]**
  • RightFourthPP <> RightHandRing1
  • RightFourthMP <> RightHandRing2
  • RightFourthDP <> RightHandRing3
  • RightFifthMC <> [None]**
  • RightFifthPP <> RightHandRing1
  • RightFifthMP <> RightHandRing2
  • RightFifthDP <> RightHandRing3

** Note, the MVN default skeletal mesh does not have Metacarpals for anything but the thumb! But your character rig may, in which case definitely fill these out.

If you are confused by the letters MC, PP, MP, DP, allow me to demystify:

  • MC: Metacarpals
  • PP: Proximal Phalanges
  • MP: Intermediate Phalanges (or “Middle Phalanges” if you nasty)
  • DP: Distal Phalanges

Conclusion

Thank you for reading, and I hope this article saves you some time. If you’d like more unsolicited rigging advice, feel free to follow me on Twitter.

--

--