Описание
# MMD Skin - Bring MMD Models to Minecraft
**MMD Skin** is a Minecraft mod that allows you to replace the player skin with MMD (MikuMikuDance) models, complete with real-time physics simulation for hair, clothes, and accessories.
## ✨ Features
- **PMX/PMD Model Support** - Load and render MMD models in Minecraft
- **VMD Animation Playback** - Play skeletal and morph animations
- **Real-time Physics** - Hair, skirts, and accessories react naturally to movement
- **GPU Skinning** - High-performance vertex skinning via Compute Shader
- **Toon Rendering** - Cel-shading effects with customizable parameters
- **Multi-layer Animation** - Blend multiple animations simultaneously
- **TouhouLittleMaid Integration** - Apply MMD models to maids
## 📦 Installation
1. Install [Fabric Loader](https://fabricmc.net/) or [Forge](https://files.minecraftforge.net/) for Minecraft 1.20.1
2. Download the mod `.jar` file and place it in `.minecraft/mods/`
3. Launch the game - the mod will create the `3d-skin` resource directory automatically
4. Add your own models and animations to the corresponding folders
## 📁 Directory Structure
The mod uses `.minecraft/3d-skin/` as the resource root:
```
.minecraft/
└── 3d-skin/
├── EntityPlayer/ # Player models
│ ├── ModelA/ # Each subfolder = one model
│ │ ├── model.pmx # Model file (.pmx/.pmd)
│ │ ├── *.png # Textures
│ │ ├── dance.vmd # Model-specific animation (optional)
│ │ └── smile.vpd # Model-specific morph (optional)
│ └── ModelB/
│ └── ...
├── DefaultAnim/ # System preset animations
├── CustomAnim/ # User custom animations
├── DefaultMorph/ # System preset morphs
└── CustomMorph/ # User custom morphs
```
### EntityPlayer/ - Player Models
Store your MMD models here. **Each model must be in its own subfolder**.
| File Type | Extension | Description |
|-----------|-----------|-------------|
| Model | `.pmx` / `.pmd` | Required, PMX takes priority |
| Texture | `.png` / `.jpg` / `.bmp` / `.tga` | Referenced by model |
| Animation | `.vmd` | Optional, model-specific |
| Morph | `.vpd` | Optional, model-specific |
**Model Detection Rules:**
- Scans each subfolder for `.pmx` or `.pmd` files
- If multiple model files exist, `model.pmx` or `model.pmd` is prioritized
- Otherwise, the first file alphabetically is selected
### DefaultAnim/ - System Preset Animations
Contains built-in animations that map to player states:
| Animation | Trigger |
|-----------|---------|
| `idle.vmd` | Standing still |
| `walk.vmd` | Walking |
| `sprint.vmd` | Sprinting |
| `sneak.vmd` | Sneaking |
| `swim.vmd` | Swimming |
| `crawl.vmd` | Crawling |
| `sleep.vmd` | Sleeping |
| `die.vmd` | Death |
| `elytraFly.vmd` | Elytra flight |
| `onClimbable.vmd` | Climbing (idle) |
| `onClimbableUp.vmd` | Climbing up |
| `onClimbableDown.vmd` | Climbing down |
| `onHorse.vmd` | Riding |
| `swingLeft.vmd` | Left hand swing |
| `swingRight.vmd` | Right hand swing |
> You can replace these files to customize base animations.
### CustomAnim/ - User Custom Animations
Place your `.vmd` animation files here. They can be triggered manually via the action wheel.
### Animation Priority
When loading animations, the mod searches in this order:
1. **Model-specific folder** (`EntityPlayer/ModelName/*.vmd`) - Highest priority
2. **Custom animation folder** (`CustomAnim/*.vmd`)
3. **Default animation folder** (`DefaultAnim/*.vmd`) - Lowest priority
This allows you to create model-specific animations that override general ones.
## 🎮 Controls
### Main Config Wheel (Hold `Alt`)
Hold `Alt` to open the main configuration wheel:
| Option | Function |
|--------|----------|
| 🎭 **Model Switch** | Open model selector to change player model |
| 🎬 **Action Select** | Open action wheel to play custom animations |
| 😊 **Morph Select** | Open morph wheel to apply expressions |
| 👕 **Material Control** | Toggle visibility of model parts |
| ⚙ **Mod Settings** | Open mod configuration screen |
### Maid Config Wheel (Press `B` on maid)
If TouhouLittleMaid is installed, aim at a maid and press `B` to open maid-specific options.
> **Tip:** Keybinds can be customized in Options → Controls → MMD Skin category.
## ⚙ Settings
Access mod settings via the config wheel or Mod Menu. Available options:
### Rendering
- **OpenGL Lighting** - Enable/disable lighting
- **MMD Shader** - Use MMD-style shading
### Performance
- **Model Pool Max** - Maximum cached models (10-500)
- **GPU Skinning** - Use Compute Shader for vertex skinning (requires OpenGL 4.3+)
- **GPU Morph** - Use Compute Shader for morph calculations
- **Max Bones** - Maximum bone count (512-4096)
### Toon Rendering
- **Enable Toon** - Enable cel-shading
- **Toon Levels** - Number of shade levels (2-5)
- **Rim Light** - Edge highlighting
- **Shadow Color** - Custom shadow tint
- **Specular** - Highlight settings
- **Outline** - Model outline (width & color)
> ⚠️ **Note:** Toon Rendering and GPU Skinning are currently incompatible with shader mods (Iris/Optifine). Disable these features when using shaders.
## 🔧 Tips
1. **Model not showing?** Check that your model folder contains a valid `.pmx` or `.pmd` file
2. **Textures missing?** Ensure texture files are in the same folder as the model
3. **Animation not playing?** Verify the `.vmd` file is compatible with your model's bone structure
4. **Performance issues?** Try enabling GPU features on older hardware
## 📝 Supported Formats
| Format | Extension | Description |
|--------|-----------|-------------|
| PMX | `.pmx` | MikuMikuDance model (recommended) |
| PMD | `.pmd` | Legacy MMD model |
| VMD | `.vmd` | MikuMikuDance motion data |
| VPD | `.vpd` | Vocaloid Pose Data (morphs) |
## 💡 FAQ
**Q: Can I use any MMD model?**
A: Most PMX/PMD models should work. Very high-poly models may impact performance.
**Q: Do physics work with all models?**
A: Physics simulation depends on the model having properly configured rigid bodies and joints.
**Q: Can other players see my model?**
A: Yes, if they also have the mod installed and the same model files.
**Q: Is this compatible with shader mods?**
A: Basic rendering is compatible with Iris/Optifine, but **Toon Rendering and GPU Skinning do not currently support shaders**. Disable these features in settings when using shader packs.
## 🙏 Credits
This mod is based on the following projects:
- [KAIMyEntity](https://github.com/kjkjkAIStudio/KAIMyEntity) by **kjkjkAIStudio** - Original Minecraft MMD mod
- [KAIMyEntity-C](https://github.com/Gengorou-C/KAIMyEntity-C) by **Gengorou-C** - Direct predecessor of this project
Thanks to the original authors for their open-source contributions!
## 🎨 Where to Get Models
You can find MMD models on these websites (please respect the model authors' terms of use):
- [Aplaybox (模之屋)](https://www.aplaybox.com/)
- [Bowlroll](https://bowlroll.net/)
- [DeviantArt](https://www.deviantart.com/)
- [Niconi 3D](https://3d.nicovideo.jp/)
---
*Enjoy your MMD experience in Minecraft!*