# MikuMikuDance

MikuMikuDance (ミクミクダンス, MikuMikuDansu), também conhecido como MMD, é um programa de animação gratuito que permite que os usuários criem animações em 3D, originalmente produzido para a personagem Vocaloid Hatsune Miku. O MikuMikuDance foi programado por Yu Higuchi (HiguchiM) e recebeu várias atualizações desde a sua criação.

## Sobre o programa

O programa permite que os usuários importem modelos em 3D que podem ser animados em um espaço virtual. As expressões faciais das personagens podem ser facilmente alteradas e som pode ser adicionado posteriormente para criar videoclipes. O programa usa a Bullet Physical Engine como motor de física e os usuários podem fazer ajustes em qualquer objeto dentro do espaço virtual do programa. Os usuários também podem utilizar o Kinect da Microsoft para a captura de movimentos.
Todo o conteúdo, incluindo os modelos 3D, são distribuídos livremente pelos usuários e a maior parte dos conteúdos adicionais do software são produzidos em um programa de modelação 3D. O software em sí vem com um número de modelos baseados nos Vocaloids da Crypton Future Media. Originalmente esse software foi apenas lançado em Japonês, entretanto, a versão em Inglês foi lançada mais tarde. Vídeos usando tal software são regularmente vistos em sites como Nico Nico Douga e YouTube, e os mesmos são populares entre fãs de Vocaloid ou usuários afins.
Em Maio de 2011, o programa recebeu o que supostamente seria sua última atualização. Em um anúncio, o criador deixou o software nas mãos dos fãs, para que os próprios possam melhorar o programa.
Porém em Junho de 2013, HiguchiM, seu criador, voltou a atualizar o programa, liberando assim a versão 7.40 do programa com correção de bugs, compatibilidade à CPUs com Multithreading e adição de MipMapping. Atualmente o programa continua recebendo atualizações periodicamente e se encontra na versão 9.10.
O primeiro programa de televisão que foi totalmente produzido com o software foi o anime 'Straight Title Robot', que foi ao ar em 5 de fevereiro de 2013.

## O formato PMX

A partir das últimas versões do programa foi adicionado um novo formato para os modelos 3D usados no programa, o PMX. Com esse formato agora é possível:
* Ter um modelo com mais faces do que limite de 60.000 faces anteriormente permitido no formato PMD;
* Maior limite de registro de morphs nos modelos;
* Sliders que manipulam o mapeamento UV do modelo;
* Sliders que manipulam os materiais e estrutura de bones do modelo;
* Linhas (Edge lines) por material que podem ter suas cores editadas;
* Auto aplicação de MME (MikuMikuEffect) em materiais/subsets distintos;
* Sphere maps podem ser aplicados de 3 formas distintas ao material do modelo, sendo elas: Texture (aplica o mapa como uma textura sólida fixa); Multiply (aplica o mapa como textura guia de shading); Screen (aplica o mapa como textura guia de iluminação);
* Suporte oficial à FK bones.

### PMX 2.1

Após o lançamento do formato, ouve uma atualização do mesmo onde foram adicionados os seguintes recursos:
* Soft bodies;
* Sliders que manipulam o toon shading e o sphere mapping do modelo;
* Deformação de bones em QDEF e SDEF;
Inicialmente, essa versão do formato foi planejada apenas para uso no MikuMikuMoving, porém em Janeiro de 2014, foi confirmado (via Twitter) que tal versão formato será compatível em uma futura versão do MikuMikuDance, mas que a mesma demorará à vir, já que a adição de Soft bodies afeta o desempenho do programa e isso requere que certas partes do programa sejam revisadas.

### Tipos de arquivos com associação ao programa

Vários tipos de arquivos são associados ao MMD, os principais deles são:
| Formato do arquivo | Nome da extensão | Utilidade no MMD |
| .pmm | PolygonMovieMaker File | Arquivo usado para salvar e carregar projetos no MMD. |
| .emm | MME Savefile | Arquivo automaticamente gerado pelo MikuMikuEffect quando se salva um projeto no MMD. Esse arquivo armazena as informações de efeitos de quais efeitos de pós-produção usados no projeto. |
| .emd | MME Subset Model Savefile | Arquivo salvo pelo MikuMikuEffect para carregamento automático de shaders nos materiais/subsets dos modelos. |
| .fx | Direct3D Effects File | Formato usado pelo MikuMikuEffect para abrir os efeitos no projeto. |
| .x | DirectX Model File | Usado no MMD para arquivos de acessórios (como microfones, etc.), paisagens e também para abrir alguns efeitos de pós-produção. |
| .vmd | Vocaloid Motion Data | Este formato armazena dados de animação de modelos, câmera, sombreamento e iluminação. |
| .vpd | Vocaloid Pose Data | Formato de armazenamento de dados de pose dos modelos. |
| .avi | Audio Video Interleave File | Este formato de vídeo pode ser carregado no plano de fundo (e modelos em .x, se os mesmos tiverem parâmetros de uso de captura de tela) um projeto no programa. Esse formato é também o formato de renderização em vídeos do MMD. |
| .bmp | Bitmap Image File | .bmp é um dos formatos de imagem que pode ser renderizado no MMD, esse arquivo também pode ser carregado como plano de fundo em um projeto no programa. |
| .jpg | JPEG Image | .jpg é um dos formatos de imagem que pode ser renderizado no MMD, esse arquivo também pode ser carregado como plano de fundo em um projeto no programa. |
| .png | Portable Network Graphic | .png é um dos formatos de imagem que pode ser renderizado no MMD, esse arquivo também pode ser carregado como plano de fundo em um projeto no programa. |
| .dds | DirectDraw Surface | .dds é um dos formatos de imagem que pode ser renderizado no MMD, esse arquivo também pode ser carregado como plano de fundo em um projeto no programa. |
| .dib | Device Independent Bitmap File | .dib é um dos formatos de imagem que pode ser renderizado no MMD, esse arquivo também pode ser carregado como plano de fundo em um projeto no programa. |
| .pfm | Portable Float Map | .pfm é um dos formatos de imagem que pode ser renderizado no MMD, esse arquivo também pode ser carregado como plano de fundo em um projeto no programa. |
| .hdr | High Dynamic Range Image File | .hdr é um dos formatos de imagem que pode ser renderizado no MMD, esse arquivo também pode ser carregado como plano de fundo em um projeto no programa. |
| .wav | WAVE Audio File | Arquivo de som usado pelo MMD para sons/músicas de fundo. |
| .pmx | MikuMikuDance Model File | Formato de modelos (e alguns acessórios) no MMD. O PMX é um formato mais rico em recursos, se comparado ao formato PMD. |
| .pmd | MikuMikuDance Model File | Formato de modelos (e alguns acessórios) no MMD. |
| .vac | MikuMikuDance Accessory Settings File | Arquivos .vac contém dados de preferências de posição para os acessórios (.x) do MMD. |
| .vsq | VOCALOID2 Project File | Arquivos .vsq são arquivos de projeto salvos pela segunda versão programa de síntese de voz Vocaloid. Tal formato pode ser carregado no MMD para geração de animação labial automática. |

## Copyright

O software foi lançado como freeware. Os modelos da série Vocaloid fornecidas com o software estão sujeitas a acordo de cada distribuidor de direitos autorais dos Vocaloid e não podem ser usadas por razões comerciais. O programa não inclui todos as personagens de Vocaloid, mas inclui Meiko, Kaito, Hatsune Miku, Kagamine Rin, Kagamine Len, Luka Megurine, Yowane Haku, e Akita Neru.

## Programas Relacionados
### MikuMikuEffect

Complemento de pós-produção para o MMD, no qual o mesmo aceita efeitos (como shaders, filtros de imagem, etc.) pré-progamados para as animações. Os efeitos para este podem ser criados no programa RenderMonkey, e exportados em .fx para uso no programa.

### PMD/PMX Editor

Programas que permitem a edição e "rigagem" de modelos 3D para o MMD. São regularmente atualizados, e permitem que os usuários importem arquivos em: .obj, .x, .pmd, .pmx, .psk (Note que a importação de alguns desses ainda estão em construção e estas podem ser completas nas próximas atualizações do programa). Originalmente o PMD Editor (também conhecido como PMDe) tem como língua padrão o Japonês, porém uma versão traduzida para o Inglês foi lançada pelos fãs.

### MikuMikuMoving

Programa que foi desenvolvido após a saída do HigiuchiM. Esse programa, é atualizado frequentemente e tem suporte ao novo formato PMX 2.1, assim como o mesmo usa a versão mais atualizada da Bullet Physics Engine, que permite o uso de Soft bodies nos modelos.