ARchemy


最新バージョンのダウンロード

ARchemy.zip(2009/05/17)

2009/05/17バージョンでのバグフィックス

2009/04/21バージョンでの変更点とバグフィックス

2008/08/15バージョンでの変更点とバグフィックス

2008/08/14バージョンでの変更点とバグフィックス

ARchemyはこんなことができます

ARchemy(アルケミー)は、画像から目印となるマーカーを検出し、カメラアングルに合わせて3DCGモデルを合成するソフトウェアです。静止画と動画に対応しています。

Windows XP上でもMac OS X上でも動作します。

静止画の場合、これが

こうなります。

動画の場合、Webカメラ等のキャプチャデバイをス入力源とし、リアルタイムで合成を行います。これが

こうなります。

Windowsでのインストール

ARchemyを使用するには、Java言語のクラスライブラリであるJOGLとJMFをインストールする必要があります。

Javaのインストール

Javaの実行環境をインストールしていない場合は、以下のサイトからダウンロードし、インストールして下さい。既にインストール済かどうかの確認もできます。

JOGLのインストール

以下のページを参考に、JOGLをインストールして下さい。

JMFのインストール

以下のページを参考に、JOGLをインストールして下さい。

インストールの前に、使用するキャプチャデバイスを接続しておくと、面倒がなくてよいと思います。接続していない状態でインストールした場合は、後でインストール先の"bin"フォルダ内の"jmfint.exe"を実行して下さい。

インストールが完了したら、キャプチャデバイスを接続し、"JMStudio"(デスクトップにショートカットが作られていると思います)を実行して動作確認をして下さい。"File"メニューから"Capture..."を選択し、キャプチャした画像が表示されればOKです。

ARchemyのインストール

ARchemy.zipを解凍し、お好きな場所に置いて下さい。"Program Files"フォルダ辺りが一般的かと思います。

Mac OS Xでのインストール

ARchemyを使用するには、Java言語のクラスライブラリであるJOGLをインストールする必要があります。

JOGLのインストール

以下のページを参考に、JOGLをインストールして下さい。

Mac OS Xの場合も、OSとCPUに合わせたファイルをダウンロードするところまでは同様です。

ダウンロードしたファイルを解凍してできる"lib"フォルダ内の全てのファイルを"/System/Library/Java/Extensions"(日本語環境では"/システム/ライブラリ/Java/Extensions")に置けば、インストールは完了です。

ARchemyのインストール

ARchemy.zipを解凍し、お好きな場所に置いて下さい。"アプリケーション"フォルダ辺りが一般的かと思います。

ARchemyの起動

"ARchemy.jar"をダブルクリックする、または開くことで起動できます。

Windowsの場合は、"ARchemy.jar"を実行してもエラーになって起動できないことがあります。その場合は、"ARchemy"フォルダ内の"ARchemy.bat"を実行してみて下さい。

マーカーの準備

ARchemyを使うには、3DCGモデルを合成する際の目印となるマーカーを用意する必要があります。マーカーは、以下のような黒枠で囲まれた正方形の図形です。

ARchemyでは、1面のマーカーを使用する平面型マーカーの他に、最大6面のマーカーをひとまとめにして扱うキューブ型マーカーを使用することができます。

キューブの各面の呼称とマーカーの向きは、以下の通りです。各面のマーカーは向きが決まっており、向きが違うと、正しく合成できません。私は一度間違えました。みなさんは間違えないよう御注意下さい。

キューブ型では、各面のマーカーはそれぞれ異なりますが、キューブのどの面が画像から検出されても同じ位置に3DCGモデルが合成されます。平面型では、例えばカメラをマーカーの下に回り込ませることはできませんが、キューブ型ではいずれかの面がカメラに映っていればいいので、平面型よりも広いカメラアングルに対応できます。

"ARchemy/Data/png"フォルダに、マーカー用画像ファイルがありますので、これを紙に印刷してお使い下さい。

マーカーはなるべく平坦であることが望ましいので、平面型の場合は固めの台紙に貼り付けるとよいと思います。

キューブ型は、立方体であれば材質や大きさは問いませんので、お好きに作って下さい。私は、10cm角のキューブ型マーカーを作りました。

10cm角のキューブ型マーカーは、東急ハンズで売っている10cm角の発泡スチロールを使用して作りました。それに、直径2.5cmの丸スチロール棒をくっつけています。

マーカーは紙に印刷した物を貼り付けています。

御自分でマーカーを作る場合は、以下の点に御注意下さい。

パターンファイルの準備

ARchemyがマーカーを検出できるようにするためには、マーカーをデータ化したパターンファイルが必要です。

"ARchemy/Data/pat"フォルダに、"ARchemy/Data/png"のマーカー用画像ファイルに対応したパターンファイルがありますのでお使い下さい。

御自分でパターンファイルを作る場合は、以下のページを参考にして下さい。

静止画モードの操作手順

ARchemyは、静止画モードで起動します。また、"Mode"メニューから"Still"を選択すると、静止画モードに切り替わります。

"File"メニューから"Open Image..."を選択し、3DCGモデル(以下モデル)を合成したい画像を読み込みます。もちろん、画像にはマーカーが写っている必要があります。

セーブしておいたキューブの設定がある場合は、"File"メニューから"Load Setting..."を選択して設定を読み込みます。設定を読み込まない場合は、一から設定を行うことになります。

キューブは、最大10個まで設定できます。つまり、一つの画像に最大10種類のモデルを合成することができます。

"新規キューブを追加"ボタンを押すと、新しいキューブの設定を追加します。"現在のキューブを削除"ボタンを押すと、現在表示されているキューブの設定を削除します。タブを切り替えることで表示するキューブの設定を切り替えることができます。

キューブの各面のパターンファイルとマーカーを設定して下さい。

コンボボックスで面を選択し、"ロード"ボタンを押すと、ファイル選択画面が開くので、ロードするパターンファイルを選択して下さい。ファイルを選択すると、コンボボックスで選択した面にパターンファイルをロードし、キューブ画像にマーカーを表示します。"クリア"ボタンを押すと、コンボボックスで選択した面のパターンファイルとマーカーをクリアします。

キューブ画像上でマウスをドラッグすることで、キューブを回転させることができます。

"キューブ(mm)"テキストフィールドは、キューブの一辺のサイズをmmで指定します。"マーカー(mm)"テキストフィールドは、マーカーの黒枠の内側の正方形の一辺のサイズをmmで指定します。

合成するモデルを選択して下さい。

"モデルを選択"ボタンを押すと、ファイル選択画面が開くので、合成するモデルファイルを選択して下さい。モデルファイルは、mqo形式にのみ対応しています。

"モデルサイズ(mm)"テキストフィールドは、モデルのサイズ(原点から最も遠い頂点と原点との距離)をmmで指定します。モデルの元のサイズに関らず、合成したい任意のサイズを指定できます。

"モデルの移動量(X,Y,Z)"テキストフィールドは、モデルの移動量をmmで指定します。左からそれぞれ、X軸、Y軸、Z軸方向の移動量です。マイナス値も指定できます。

"モデルの回転量(X,Y,Z)"テキストフィールドは、モデルの回転量を度(ラジアンではない)で指定します。左からそれぞれ、X軸、Y軸、Z軸を回転軸とした回転量です。プラス値を指定すると半時計回りに、マイナス値を指定すると時計回りに回転します。

"シェーディングモデル"コンボボックスは、シェーディングモデルを指定します。両者の違いはこんな感じです

"光源の位置"コンボボックスは、光源の位置を指定します。SOUTH面方向から見た場合の位置になります。

"光源の色(R,G,B)"テキストフィールドは、光源の色を指定します。左からそれぞれ、R(赤)、G(緑)、B(青)の値です。指定できる値の範囲は0〜1で、0,0,0が黒、1,1,1が白になります。

"設定を反映させる"ボタンを押すと、現在のキューブの設定内容で画像にモデルを合成します。指定を変更しても、"設定を反映させる"ボタンを押さないと変更内容は反映されませんので御注意下さい。

まずは、モデルの移動量と回転量を0にして合成し、結果を見ながら細かく調整していくとよいと思います。

"File"メニューから"Save Setiing As..."を選択すると、ファイル名を指定して設定を保存することができます。設定ファイルを読み込んでいる場合、"File"メニューから"Save Setiing"を選択すると、設定ファイルを上書きで保存します。保存する内容は、全てのキューブの設定と光源の設定です。

動画モード(Win)での操作手順

"Mode"メニューから"Movie(Win)"を選択すると、動画モード(Win)に切り替わります。

キャプチャデバイスが検出されると、"Select Capture Device"画面が開きます。

"デバイス"コンボボックスは、キャプチャデバイスを指定します。

"フォーマット"コンボボックスは、画像のフォーマットと解像度を指定します。

"フレームレート(fps)"テキストフィールドは、フレームレートをfps(1秒あたりのフレーム数)で指定します。フレームレートはマシンの性能に左右されますので、フレームレートが指定した値を下回ることもあります。

"OK"ボタンを押すと、キャプチャを開始します。以降は、静止画モードと同様です。

動画モード(Mac)での操作手順

"Mode"メニューから"Movie(Mac)"を選択すると、動画モード(Mac)に切り替わります。

"Select Width,Height,Frame Rate"画面が開きます。

"幅"テキストフィールドは、キャプチャ画像の解像度の幅を指定します。

"高さ"テキストフィールドは、キャプチャ画像の解像度の高さを指定します。

"フレームレート(fps)"テキストフィールドは、フレームレートをfps(1秒あたりのフレーム数)で指定します。フレームレートはマシンの性能に左右されますので、フレームレートが指定した値を下回ることもあります。

キャプチャデバイスが検出されると、"ビデオ"画面が開きます。

"OK"ボタンを押すと、キャプチャを開始します。以降は、静止画モードと同様です。

マーカーの検出感度の調整

"Confidence"メニューで、一致度の値が一定値未満のマーカーを無視するよう調整できます。ARchemyがマーカーではない部分もマーカーとして検出してしまう場合は、このメニューで調整して下さい。

満たすべき一致度の値が高い順に"High","Middle","Low","Off"です。"Off"の場合、一致度の値を考慮しません。

起動時は"Off"が選択されています。

キューブの設定の詳細

一つの画像に同じキューブが複数写っている場合は、最も一致度の高いキューブ1個にのみモデルが合成されます。一つの画像に同じモデルを複数合成したい場合は、異なるキューブに同じモデルを割り当てることで実現できます。

モデルが合成される位置は、常にTOP面です。モデルの座標系は、TOP面の中心を原点として以下のようになっており、モデルはこの座標系上で移動・回転します。

キューブは、全ての面を設定する必要はありません。平面型マーカーの場合は、TOP面のみ設定すればOKです。TOP面が設定されていない場合も、モデルが合成される位置は、TOP面になります。

FAQあるいは既知の問題

謝辞

ARchemyの作成にあたり、NyARToolkit for Javajava版OpenGL用モデルデータ読み込みを改変して使用させていただきました。作者の方に心より感謝を。

問い合わせ先

御意見、御感想はますべまで。