Papervision3DとFLARToolKitで、現実を拡張しようぜ!最新版!!
さて、以前のエントリでPapervision3Dのアルファ版、GreatWhiteの変更の影響でFLARToolKitが動かなくなったと言う話を書いたが、結局さくーしゃさんがFLARToolKitを修正してくださった。よく見るとサンプルの方もさりげなくバージョンアップしていて、流石としか言いようが無いんだが、GreatWhiteが狭量な所為で、書き換えないといけない。
と言う事で、今回は変更方法を解説したいと思う。
最新版の入手と変更
まず、Papervision3DとFLARToolKitの最新版を入手し、FlashDevelopのプロジェクト上で、両方にパスを通して欲しい。
次にFLARToolKitのcom.libspark.flartoolkit.scene.FLARCamera3Dクラスを開くと、116行目以降に変更が必要な部分についての解説が掲載されている。
// ので protected とかにしてください。無理やり。害はない。つーかまーそれ以外に方法がない。
this._projection = new Matrix3D(m_projection);
ここを開き、_projectionら辺にカーソルを合わせて(こんな感じ→「_proje|ction」)、F4キーを押すと、Papervision3DのCamera3D.asが開き、ちょうど
private var _prevFocus : Number;
private var _prevZoom : Number;
private var _prevWidth : Number;
private var _prevHeight : Number;
private var _prevOrtho : Boolean;
private var _prevOrthoProjection : Boolean;
private var _prevUseProjection : Boolean;
private var _focusFix : Matrix3D;
の_projection部分が選択されている事と思う。ここのprivateを、protectedに変更すれば終了。
private var _prevFocus : Number;
private var _prevZoom : Number;
private var _prevWidth : Number;
private var _prevHeight : Number;
private var _prevOrtho : Boolean;
private var _prevOrthoProjection : Boolean;
private var _prevUseProjection : Boolean;
private var _focusFix : Matrix3D;
これでOK。
もしくは、Papervsion3Dのorg.papervision3d.cameras.Camera3Dを直接編集してもよい。探すのが面倒だけど。
しかし、出来る事ならPapervision3Dの方に折れてもらって、この部分はprotectedで通して欲しいな。
誰か英語が出来てPapervision3D界隈に顔の利く方、ここがprotectedになるように働きかけてもらえませんかね?
違った投影方法にしたい人も居るんだよ?とか言って。



