Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/syoyo/mmdloader
Simple MMD(PMD/VMD) loader in C++
https://github.com/syoyo/mmdloader
Last synced: 2 months ago
JSON representation
Simple MMD(PMD/VMD) loader in C++
- Host: GitHub
- URL: https://github.com/syoyo/mmdloader
- Owner: syoyo
- License: other
- Created: 2014-08-14T13:38:43.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-09-20T15:32:01.000Z (over 8 years ago)
- Last Synced: 2023-10-20T23:19:06.166Z (about 1 year ago)
- Language: C++
- Size: 54 MB
- Stars: 99
- Watchers: 12
- Forks: 27
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# MMDLoader
![MMDLoaderExample](https://github.com/syoyo/MMDLoader/blob/master/mmdview.gif?raw=true)
(c) model : http://mikumikudance.wikia.com/wiki/Miku_Hatsune_(Lat)
(c) motion: http://mmd.nomeu.org/thumbs/sm13622845Simple MMD(PMD, VMD) loader in C++.
MMDLoader is written in portable manner. No dependency except for C++ STL.## Usage
Simply copy `mmd_*`, `pmd_*` and `vmd_*` files to your project.
## Code sample in quick
```
#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);
```## Example
OpenGL(GLUT) example viewer is included(see viewer_main.cc).
## Features
Supported
* PMD model loading.
* VMD motion loading.
* Bone animation(IK).
* Morph.TODOs
(Contributors welcome!)* [ ] Physics(Bullet)
* W.I.P.## Compiling example
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)## Author
Syoyo Fujita([email protected])
### Contributor(s)
Jerry Chen([email protected]) : glm, Bullet physics, Euler camera, split screen vr
## License
3-clause BSD.