2008/12/10更新:
早速機能を追加してみた。詳細はこちらのエントリで。
FLARToolKitがまだバージョン1.0だった頃、Saqooshaさんが
ARToolKit用のマーカを作成するAIRアプリを作成してくださったが、
それから時代は流れた。
今はFLARToolKitも2.0版だし、
Flash Playerもバージョン10でローカル保存が可能だ。
と言うことで、オンライン版のマーカ作成アプリを作ってみた。
カメラに映ったマーカパターンを保存し、他のアプリで流用できる。
今回は、以前解明した枠線の太さを変更する機能を搭載し、
さらに、分割数を4×4?64×64までの5段階から選択可能、
しかも、最大640x480pixelの画像を読み込んで、
そこからマーカを探索する機能まで付けた豪華版。
お値段据え置きのARToolKit Marker Generator Onlineはこちら!
※このツールの使い方、英語化希望
機能紹介
では、機能の詳細を説明していく。
画面は、上部の操作パネルと下部の表示パネルに分かれている。
左から、カメラ選択/画像読み込みボックス、セーブボタン、
分割数選択ボックス、マーカサイズスライダーである。各機能の詳細は以下の通り。
- モード選択ボックス
- 「Camera Mode」を選択するとデフォルトのWebカメラを使用して、マーカを探索する。
その他のWebカメラ名が一覧にある場合、そちらを選択して使用出来る。
また、「Load marker image」を選択すると、静止画像を読み込んでマーカ探索に使える。 - 保存ボタン
- マーカパターンを保存するためのボタン。
マーカを補足している間のみ使用可能 - 分割数選択ボックス
- マーカをパターン化する際の分割数を指定する。
デフォルトは16×16である。
分割数を上げると、より精度の高いマーカ探索を行う事が出来る。
以下に、電脳フィギュア用のマーカを、16×16(デフォルト値)と64×64で
補足した場合のパターンをイメージ化したものを示す。- 16×16の場合
- 64×64の場合
なお、分割数に合わせて、
マーカパターンクラスのコンストラクタに与える引数を変更すること。- var code:FLARCode = new FLARCode(<パターン分割数>, <パターン分割数>);
64×64の場合、以下のようになる。
- var code:FLARCode = new FLARCode(64,64);
- マーカサイズス設定ライダー
- ARToolKitのマーカは、幅と中身の比が1:2だが、
スライダーを動かしてこの比率を変え、枠線の細いマーカを作成出来る。
100%にした場合枠は極めて細くすることが出来る。
(ただし、枠がないとそもそもマーカとして補足出来ないので、
ある程度の枠は必要。)
以下に、電脳フィギュア用のマーカを、50%(デフォルト値)と100%で
補足した場合のパターンをイメージ化したものを示す。- 50%の場合
- 100%の場合
なお、マーカの中身を大きくした場合、以下の2点に注意する必要がある。
- マーカとして扱う範囲が広がるので、分割数を上げないと大味になる
- パターンを認識するクラスを、
FLARColorPatt_O3
から
FLARDynamicRatioColorPatt_O3
に変更する必要がある。- new FLARColorPatt_O3(<パターン分割数>, <パターン分割数>);
↓
- new FLARDynamicRatioColorPatt_O3(<パターン分割数>, <パターン分割数>, <100-マーカサイズ(%)>,<100-マーカサイズ(%)>);
例えば、分割数を64×64、マーカサイズを100%にした場合、
以下のようなイメージになる。
(実際にはFLARCode
とIFLARColorPatt
は別の所で作るので、
あくまでもイメージ)- var code:FLARCode = new FLARCode(64,64);
- var patt:IFLARColorPatt = new FLARDynamicRatioColorPatt_O3(_code.getWidth(), _code.getHeight(), 0,0);