[C#][XNA][AR]MikuMikuDance for XNAを使用してARを行う(1)


1. 概要
 MikuMikuDance for XNAを使用してXNA上でMikuMikuDanceのデータをAR(拡張現実、Augmented Reality)を行ってみます。ARtoolKitを使用した作例が多く紹介されていますが、この記事はXNA上で行うこと目的にしています。
参考画像(クリックするとSkyDriveで再生できます。)

2. 準備
 (1)ライブラリのダウンロード
 以下のライブラリをダウンロードします。
 ※各ライブラリのライセンスはMIT/LGPL/MITライセンスとなっており、使用したアプリケーションのソースコード公開の必要は無いライセンスとなっています。
 ■MMDX(MikuMikuDance for XNA/SlimDX)
 http://sourceforge.jp/projects/mmdx/
 → MikuMikuDanceデータの再生に使用します。
   MIT/X Consortium License
   Ver.2.04a
 
 ■GoblinXNA
 http://goblinxna.codeplex.com/
 → ARの処理に使用します。
   New BSD License (BSD)
   Ver.4.1
 
 ■ALVAR
 http://virtual.vtt.fi/virtual/proj2/multimedia/alvar/
 → GoblinXNA内のAR処理に使用されます。
   GNU Lesser General Public License, version 2.1
   Ver.2.00
 
 ■OpenCV
 http://opencv.org/
 → ALVARの処理に使用します。
   BSDラインセンス
   Ver.2.40
 
 (2)GoblinXNAのビルド
  ■GoblixXNA.dllをビルドします。
   GoblinXNAはコンパイルされたバイナリが付属していませんのでコンパイルする必要があります。以下の手順はダウンロードしたソースコードをコンパイルする手順です。
  
   1.GoblinXNAv4.1内のdlls\unmanagedにALVAR内のalvar200.dll, alvarplatform200.dllをコピーします。
   2.GoblinXNAv4.1内のwrappers\srcを開きます。
   3.GoblinXNA (Widnows).slnを開きます。
   4.ソリューション構成を[Release]に設定ます。
   5.プロジェクトを右クリックし「リビルド」を選択します。
   6.GoblinXNAv4.1\bin\x86ディレクトリに「GoblinXNA.dll」が作成されます。
  ■ALVARWrapper.dllをビルドします。
  ALVARWrapper.dllはGoblinXNAを使用したARアプリケーションを動作させるのに必要になります。このモジュールもコンパイルして作成する必要があります。
  
   1.GoblinXNAv4.1内のwrappers\ALVARWrapper2.0を開きます。
   2.ALVARWrapper2.0.slnをVisualStudioで開きます。
   3.プロジェクトのプロパティを開き[構成プロパティ-C/C++-全般]を開きます。
   4."ALVAR_200\include","opencv240\include\opencv","opencv240\build\include"のパスを追加インクルードディレクトリに設定します。
001_ALVARWrapper2の設定.jpg

   5.[構成プロパティ-リンカー-全般]を開き追加のライブラリディレクトリに"ALVAR_200\bin","opencv240\build\x86\vc10\lib"を追加します。
002_ALVARWrapper2の設定_lib.jpg

   6.ソリューション構成を[Release]に設定ます。
   7.プロジェクトを右クリックし「リビルド」を選択します。
   8.Releaseディレクトリに「ALVARWrapper.dll」が作成されます。
 
 (3)動作に必要となるモジュール
  (1)でダウンロードしたライブラリ及び(2)でコンパイルしたモジュールから以下を取り出します。
  ■MMDX(MikuMikuDance for XNA/SlimDX)
   MMDPileline.dll
   MMDXResource.dll
   MMDMotionLibrary.dll
   MMDModelLibrary.dll
   MikuMikuDanceXNA.dll
   MikuMikuDanceCore.dll
   BulletX.dll
  ■GoblinXNA
   DShowNET.dll
   GoblixXNA.dll
   ALVARWrapper.dll
  
  ■ALVAR
   alvar200.dll
   alvarplatform200.dll
  
  ■OpenCV
   opencv_calib3d240.dll
   opencv_core240.dll
   opencv_features2d240.dll
   opencv_flann240.dll
   opencv_highgui240.dll
   opencv_imgproc240.dll
   opencv_legacy240.dll
   opencv_ml240.dll
   opencv_video240.dll
   tbb.dll

0 件のコメント :

コメントを投稿