FLARToolkitで、カメラとマーカのファイルをEmbedする方法

このエントリをはてなブックマークに追加このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加このエントリをkwoutに追加
2009年12月2日 水曜日1:02:42

FLARToolkitのスターターキットは、基本的にマーカとカメラの
パラメータファイルを外部からロードすることになっている。
しかし、俺は埋め込みたいので、いつも違う方法を使っている。

実際埋め込みをやると結構長いコードになるのだが、
今日はFLARParamとFLARCodeをswfに埋め込んでおく時の
読み込み方だけを解説しよう。

ARのすべて-ケータイとネットを変える拡張現実
著者/訳者:日経コミュニケーション編集部
出版社:日経BP社( 2009-06-01 )
Amazon価格:¥ 2,520
ISBN-10 : 4822210839
ISBN-13 : 9784822210830

.fla 2 ―Idea of Flash Creation―
著者/訳者:新藤愛大 寺井周平 萩原俊矢 小山智彦 眞野東紗 小瀧和正
出版社:ワークスコーポレーション( 2009-11-21 )
Amazon価格:¥ 3,990
ISBN-10 : 4862670717
ISBN-13 : 9784862670717

基本はEmbed。

Flashで埋め込みと言えばEmbedだ。
メンバ変数の所に、こんな感じで書いておく。
勿論、ソースの位置からカメラファイルとパターンファイルを
参照できるようにしておくこと。

以下の例の場合、「このソースと同じフォルダに「assets」フォルダがあり、
その下にcamera_para.datとpatt.hiroがある。

[Embed(source = "assets/camera_para.dat", mimeType = "application/octet-stream")]
private var CParam:Class;
[Embed(source = "assets/patt.hiro", mimeType = "application/octet-stream")]
private var CodeData:Class;

protected var _param:FLARParam;
protected var _code:FLARCode;

で、コンストラクタにでもこうやって初期化コードを書く。

var codeFile:ByteArray = new CodeData() as ByteArray;

_param = new FLARParam();
_param.loadARParam(new CParam() as ByteArray);
_param.changeScreenSize(320, 240);
_code = new FLARCode(16,16);
_code.loadARPatt(codeFile.readMultiByte(codeFile.length, "shift-jis"));

これでよし。
以降、必要なものを順次初期化するんだが、結構多い。
このやり方だとスターターキットのPV3DAppだのを使えないので、
自分で初期化しないといけない。

このデモを作ったコード(これ)なんかは、初期化が全部書いてあって
サンプルとしてはいいと思う。
内容的にはスターターキットのSimpleCubeをPlaneに
変えたくらいのものだから。

なお、FLARToolkitのりビジョン3236辺りから、FLARParamは
自動的に標準のカメラパラメータが入るようにmakcなる人が改造していた
なので、読み込むのはマーカのファイルだけでいいかも。
ただ、当該スレッドには「new FLARParam(true)」とあるが、
多分「FLARParam()」で動く。

トラックバック URL :

コメントをどうぞ

HTML convert time: 2.083 sec.