# MMD-AR Viewer for Android ver 1.0.1.1

Android 端末上で、マーカー型AR（拡張現実）を使用し、MikuMikuDance（MMD）モデルデータをカメラ動画にオーバーレイ表示するソフトウェアです。

## 動作環境

Android 3.0以降のカメラ付きタブレット機（Tegra2または同等以上のCPUを搭載）を想定しています。
おそらく、スマートフォン端末での動作はパフォーマンス的に非常に厳しいはずです。

### 開発・動作確認環境

Eee Pad Transformer TF101

## 利用方法

1. 開発サイトよりARマーカー画像をこちらからダウンロードし、印刷しておきます。
2. 予めAndroid機のローカルストレージ（SDカード等）にMMDモデルデータファイル（*pmd）とモーションファイル （*vmd）をコピーしておいてください。
3. Android機上でMMD-AR Viewerを起動します。
4. 初めて起動したときに設定画面が表示されるので、MMDモデルデータファイル（*pmd）とモーションファイル（*vmd）を選択してください。
   （次回以降、設定画面をメニューから呼び出すことも可能です）
5. ファイルを選択後、設定画面の「Accept」ボタンをタップしてください。メイン画面が表示されます。
6. メイン画面にはカメラ画像が表示されます。１で用意したARマーカーを画面に写してみてください。MMDデータのCGが表示されるはずです。

## 開発サイト

sourceforge.jpにMMD-AR Viewer for Android開発サイトを開設しています。
URL: http://sourceforge.jp/projects/mmd-ar-vwr-andr/
ソースの取得などは上記サイトより行ってください。

## 利用可能なMMDモデルデータファイルについて

- MikuMikuDanceに同梱されているモデルデータについては表示を確認しています
- スフィアマップ機能を使用したモデルの読み込みには対応していません

## 作成に使用したライブラリやツール類

- NyARToolkit for Android
  Android上で動作するNyARToolkit実装です（Apache Software License, 2.0に基づき配布）
- nymmd
  OpenGLを使用したJava版MikuMikuDance再生ライブラリです（GNU GPL v2 Licenseに基づき配布>
- Android File Dialog
  AndroidのFile Dialog実装ライブラリです（New BSD Licenseに基づき配布）
- defaulticon
  アイコン集。（Creative Commons Attribution-No Derivative Works 3.0
- ARToolKit Marker Generator Online
  ARマーカーのオンラインジェネレーター

## 現在の制限事項

- 本体の電源ボタンを押してスリープ状態に入った場合、スリープ状態から復帰後に画面が固まります。いったんメニューから「Settings」を選択し、その後 メイン画面へ戻ることで解決します。
- テクスチャファイルを読み込む際に、イメージサイズ（pix）が2のn乗倍の整数からなる正方形（例：256 pix X 256 pix）でない場合には、条件に当てはまるようリサイズした上で読み込みます。そのため、テクスチャ画像のアスペクト比がおかしくなる可能性があります。
- pmx形式のファイルには対応していません。
- スフィアマップ機能を使用したモデルの読み込みに対応しましたが、通常のスフィアマップテクスチャは通常のテクスチャとして描画されます。
- 物理演算表示や衝突判定等には対応していません
- 描画更新間隔はモーションデータの長さ、モデルデータの複雑さやプレビュー解像度など、様々な要素に依存します。

## 追加・改善を予定している機能

- 画面録画機能
- （可能であれば）描画の高速化
- エラーハンドリングの充実

## ライセンス

本ソフトはGNU GPL v3に従って配布します。ライセンス条項の詳細についてはメニューの「License」から表示できます。