(c) model : http://mikumikudance.wikia.com/wiki/Miku_Hatsune_(Lat) (c) motion: http://mmd.nomeu.org/thumbs/sm13622845
Simple MMD(PMD, VMD) loader in C++. MMDLoader is written in portable manner. No dependency except for C++ STL.
Simply copy mmd_*, pmd_* and vmd_* files to your project.
#include "pmd_reader.h" #include "vmd_reader.h" #include "mmd_scene.h" #include "mmd_math.h" PMDModel* model = NULL; VMDAnimation* anim = NULL; MMDScene* scene = NULL; char* pmdmodel = "input.pmd"; char* vmdmodel = "input.vmd"; PMDReader pmdreader; model = pmdreader.LoadFromFile(pmdmodel); assert(model); VMDReader vmdreader; anim = vmdreader.LoadFromFile(vmdmodel); assert(anim); MMDScene* scene = new MMDScene(); scene->SetModel(model); scene->AttachAnimation(anim); OpenGL(GLUT) example viewer is included(see viewer_main.cc).
Supported
- PMD model loading.
- VMD motion loading.
- Bone animation(IK).
- Morph.
TODOs (Contributors welcome!)
- Physics(Bullet)
- W.I.P.
Here is the list of premake options.
--with-glm : Use glm --with-bullet : Use Bullet physics(Set path to bullet in `premake4.lua`) --with-euler-camera : Use Euler camera(Adds glm dependency) Syoyo Fujita(syoyo@lighttransport.com)
Jerry Chen(onlyuser@gmail.com) : glm, Bullet physics, Euler camera, split screen vr
3-clause BSD.
