NyARToolkitとNyMMDを使ってみました。

ついでにマーカー画像やpmd,vmdの変更もやってみました。

この方のページを参考に...。

ほぼこのページのとおりでOKでした。

ただリソースの記述を一部訂正する必要があったのでちょっと時間をくいましたが。

vmdのソースも今までと同じようにしたかったので変更。

pmdはLat式ミクさんになってます。

動作速度もいい感じなので、マーカートラッキングとしてはこれ候補に決定!

こんな感じ。サディスティック・ラブを踊るミクさん。





この方のページではプロジェクトをインポートするとありますが、私はうまくいかなかったので、マニュアルでプロジェクトを作成しました。

まずはEclipseを起動。

パッケージ名は、jp.nyatla.andnya3。

Activity nameは、AndMmdActivity。
(サンプルのAndMmdがエントリーです)

Layout nameは、main。

PropertiesでUTF-8に変更。


プロジェクトが出来たら、srcフォルダー以下のjpフォルダーを上書きしていきます。

AndMmdのsrc/jpフォルダーをコピーして上書き。

NyARToolKit for Androidのsrc/jpフォルダーをコピーして上書き。

NyARToolKit for Android -Utilsのsrc/jpフォルダーをコピーして上書き。

NyMmdのsrc/jpフォルダーをコピーして上書き。

NyMmdのsrc.andGL/src/jpフォルダーをコピーして上書き。

resフォルダーにつては、AndMmdのres/layoutをコピーして上書き。

AndMmdのassets内の3つのフォルダーをassetsにコピー。

Manifestにカメラを記述。

<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.CAMERA"/>



プロジェクトをRefresh。

jp.nyatla.andnya3パッケージのAndMmdActivity.javaを開いて、import jp.nyatla.arbozu.R;を削除するかコメントアウト。

他のパッケージでRのimportでエラーが出たら、import jp.nyatla.andnya3.R;に変更。



実機にデプロイして動作確認。以下の機種で確認済み。

Xperia acro(docomo) Android 2.3.4
dtab01(docomo) Android 4.1.2

マーカーはこんな画像です。



画像を変更することもできます。

こんなマーカーを作ってみました。イーグル。



AndMmdActivity.java内の以下の関数の引数を必要に応じて変更してください。

addARMarker(String i_file_name, int i_patt_resolution, int i_patt_edge_percentage, double i_marker_size)

こんな感じ。



こんな画像でもOKですが、SATCHなどと違うのは「まさにこの画像でなければマーカーとして機能しない」ということ。

SATCHではこの画像をトラッキングすれば、他のレプリカユニのエンブレムでも認識してくれたんですが....。
マーカーレスについては、別途「OpenCV + NyMMDで初音ミクさんにご挨拶してもらいます」で公開予定。このページの一番下、参照。
SATCHも顔検出にはOpenCVのカスケード使ってたことだし....。



当然ながら、モデル(pmd)の変更も可能です。ただし、spaやsphを使っている場合は不可です。

咲音メイコさん。



マーカー用のpatファイルの作り方などは、このページを参照

マーカー無しでミクさんに踊ってもらうバージョンはこちらを参照

NyARToolkitとNyMMDを分離しようというわけです。

MMD-AR Viewer for Androidみたいな感じです。


NyARToolkitの代わりにOpenCVを使ったバージョンはこちら。
OpenCV + NyMMDで初音ミクさんにご挨拶してもらいます