Creating avatar from Ready player me

The main tip is that your animations should be converted from Mixamo to be compatible. Ready Player avatar will not work with Mixamo characters by default. You need to convert your GLB avatar to FBX in Blender, upload to Mixamo and save needed animations with this character. Bear in mind that there is 10x scaling difference between RPM and Mixamo, so you either scale your avatar first when converting to FBX in Blender or scale it after applying animations in Babylon code.

According to my experience, the best (or, at least, the most flexible) way is to use 2 asset containers, one for RPM avatar and one for animation GLB.

Let me know if you’ll have more questions. I hope someday I’ll have more time to make a detailed guide about RPM/Mixamo use.

I tried that workflow

  1. RP1 downloaded michael.glb
  2. Blender converted glb to michael.fbx
  3. Mixamo imported glb
  4. Mixamo added animation “Stand Idle” exporting meshes
  5. Mixamo exported fbx standidle.fbx
  6. Blender imported fbx
  7. Blender exported standidle.glb
  8. BabylonJ imported glb.

with another animation but it throws an exception
runtimeAnimation.ts:349

   Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'getRestPose')
at e._getOriginalValues (runtimeAnimation.ts:349:20)
at new e (runtimeAnimation.ts:237:18)
at e.appendAnimations (animatable.ts:187:41)
at new e (animatable.ts:141:18)
at _n.beginDirectAnimation (animatable.ts:799:24)
at a (animationGroup.ts:354:44)
at e.start (babylon.js?t=1676449592125:1:608872)
at <anonymous>:32:37

see this playground:

This playground, using the same two glbs loads fine: https://playground.babylonjs.com/#JQLEGG#25