読者です 読者をやめる 読者になる 読者になる

MMD-AR Viewer for Android (仮)開発日記

Android AR OpenGL MMD-AR Viewer for Android

前回までキュゥべえ専用ソフトでしたが、ファイル(pmd, vmd)を指定して実行できるように更新しました。

f:id:ka-ka_xyz:20110912010342p:image
ミクさん(mmd同梱モデル)

f:id:ka-ka_xyz:20110912010343p:image
横から見たミクさん


f:id:ka-ka_xyz:20110912010344p:image
ピロリミクさん(VPVP wikiより入手)


f:id:ka-ka_xyz:20110912012732p:image
スケールを拡大してみた(1つ前の画像のマーカーサイズと比較すると大きさが掴めるかと)


f:id:ka-ka_xyz:20110912010347p:image
振り向きキュゥべえさん(こちらの動画にて配布されているモデルを使用)


f:id:ka-ka_xyz:20110912010346p:image
設定画面でpmd(pmx不可)ファイル、vmdファイル、スケールを選択可能

使用したライブラリ

NyARToolkit for Android
 Android上で動作するNyARToolkit実装
 ライセンス:Apache Software License, 2.0

nymmd
 JavaMikuMikuDance再生ライブラリ
 ライセンス:GNU GPL v2
 
Android File Dialog
 ファイルダイアログ(何気にデフォルトAPIには存在しない)
 ライセンス:New BSD License

一応、どのライセンスもGPL互換のはず・・・・

その他ツール

ARToolKit Marker Generator Online

今のところの制限事項

  • テクスチャファイルを読み込む際に、イメージサイズ(pix)が2のn乗倍の整数からなる正方形(例:256pix X 256 pix)でない場合には、条件に当てはまるようリサイズした上で読み込みます。そのため、テクスチャ画像のアスペクト比がおかしくなる可能性があります。
  • pmx形式のファイルには対応していません。
  • スフィアマップ機能を使用したモデルの読み込みには対応していません。
  • 描画更新間隔は0.2秒〜0.5秒程度(Tegra2搭載のEee Pad Transformer上での値)。つまり、非常にカクカクです
  • Android3.0以降対応予定。
  • エラー処理がかなり適当。
  • Androidをスリープ状態にした後、再表示に失敗。

その他

  • もともと一画面用のNyARToolkit for Androidサンプルアプリを複数画面対応にした際に、Activityのライフサイクル管理に死ぬほど苦労しました。
  • とはいえ、こういう仕組みがJava標準APIで用意されていたら、Desktop Javaは相当違った道を歩んでたんじゃなかろうか。
  • もうそろそろAndroid Marketで公開するかどうか悩み時。ライセンスはGPL v2の予定。
  • ソース公開用にsourceforge.jpのアカウントも取らないと・・・・
  • 日本語表示に対応するのを忘れてた