How to use babylon.js to load pmd, pmx, vmd and other formats

How to write an mmd loader to serve babylon.js, similar to mmd loader in threejs, which supports loading model formats such as pmd and pmx, and supports loading vmd animation format

I’m working on it.

I actually started after I saw your post.

2315137135/babylonjs-mmd-loader (

I made a start, and now he can load static meshes. However, things like materials, animations, bones, skins, mapping, and a lot more are still to be done.


WOOOO glad to see you working on it! :star_struck: I’ve been watching so many MMD videos recently :rofl:

MMD Hatsune Miku Punch Broken Glass Wallpaper by topex-psy on DeviantArt

There’s a VRML loader project too! virtual-cast/babylon-vrm-loader: glTF VRM extension Loader for babylon.js (



1 Like

Static I also solved, but animation and other do not know how to do


miku dance (gif) | Miku/vocaloid | Pinterest | Dancing, Vocaloid and ...

I’m working on bones and skins now



Skeleton and skin!
Some skeletal problems tormented me for quite some time, but now they are solved.


1 Like

Update! Bone animation.
Since ik has not been implemented yet, the feet look a bit strange.
Next, deal with facial expressions.



There may be a small problem. I submitted pr to fix it. Please check if there is any problem

Facial expressions and animations.

I will release an npm package after processing the ik.


WOOOHOOOO! I hope to play with it :smile:

Hatsune Miku Sway GIF - HatsuneMiku Sway Dance - Discover & Share GIFs

1 Like


I have implemented the basic version of ccd IK, which I will soon apply to the mmd model

1 Like

I’m looking forward to it!

pmd IK Complete.
pmx seems to need additional processing . Looks like I fell down a rabbit hole


You can do it!!!
Ganbatte Butterfly Estate GIF - Ganbatte ButterflyEstate YouCanDoIt ...

1 Like

I’m sorry, but the animation in the pmx section is a bit out of my league.

I can’t understand what “grant bone” is. And how it relates to ik.
I’ve searched a lot, but there’s no explanation.

Maybe when I become an actual MikuMikuDance master, I’ll come back.

I’ll take a break and actually try out how to use mmd.
In case anyone wants to use the existing code, the repository is here babylonjs-mmd-loader


I will take some time off.
And for those who want to use the existing implementation, here are

playground example:


npm: @wenxin123/babylonjs-mmd-loader - npm (

umd CDN:


Thanks for sharing the implementation! You did a lot of cool stuff already :smiley:

And I wish you luck in the journey to become MMD master :saluting_face:

1 Like