| INDEX |

えー、AdobeMAXでちらっとSaqooshaさんのFLARToolkitにものっかります的な話をしたんですが以下がそれです。Saqooshaさんが「FLARToolkitスタートガイド」を用意してくださっていたので、Frocessing版をつくってみました。つくったと言ってもほとんど変えてないですけど。カメラんとことか、計算結果の行列アテぐらいです。

とりあえずビデオはこんな感じ。(というか vimeo 使ってみたかっただけというか…)

ダウンロード

まとめたものです。マーカーはSaqooshaさんのブログのやつと同じです。
//nutsu.com/spark/FLAR_F5_start.zip
※何気に動かなくなっていたので「FLARToolkit 2.5.3」版で更新しました(2010/5/25)

使い方

とりあえず、遊んでみるには「SimpleCubeF5.as」の以下のところを適当に書いてみてください。FrocessingはY軸が反対なのに注意です。

//始まるまえに一度呼ばれます
override protected function setup3d(fg:F5Graphics3D):void
{
//なにかしら初期化
fg.rectMode( FC.CENTER );
}
//enterframeで呼ばれます
override protected function draw3d( fg:F5Graphics3D ):void
{
//なにかしら描画:以下はビデオのもの
fg.noFill();
fg.stroke( 255, 0, 0 );
fg.strokeWeight( 2 );
fg.rect( 0, 0, 80, 80 );
//axis
fg.rect( 0, 0, 40, 40 );
fg.stroke( 0xff0000 );
fg.line3d( 0, 0, 0, 50, 0, 0 ); //X
fg.stroke( 0xff0000ff );
fg.line3d( 0, 0, 0, 0, 50, 0 ); //Y
fg.stroke( 0xff00ff00 );
fg.line3d( 0, 0, 0, 0, 0, 50 ); //Z
fg.translate( 0, 0, 20 );
fg.fill( 255, 0, 0, 0.5 );
fg.stroke(255);
fg.strokeWeight( 0 );
fg.box(40);
}

その他

Frocessing版といっても、先ほど書いたようにカメラんとことかしかいじってないです。なので、他の3D系ライブラリにもすんなりいけるんじゃないかと。

まずは、F5ARApp.as(元は PV3DARApp.as)の65行目の認識結果取得のところ。

this._detector.getTransformMatrix(this._resultMat);

ここで「_resultMat」に計算結果の変換行列が入ってくるので、あてるライブラリに適用します(ライブラリによって座標系が違うのでその辺いい感じに)

次に、F5ARApp.as の _initCamera() でプロジェクションの設定をする感じです。
正直、僕のはなんとなくやってるんですが…多分あやしい。本家の「org.libspark.flartoolkit.pv3d.FLARCamera3D」の結果を適用するくだりを参考にするとよいと思います。

それではぁ。

| INDEX |