電脳コイルももう間近!FLARToolKitとFlashDevelopで始める、お手軽簡単Flash拡張現実の世界(3)

  • このエントリーをはてなブックマークに追加
  • 80

前回前々回のエントリで、多分大半の人がFLARToolKitで好きなモデルを表示出来るようになって、「さ?て、次はどんなオリジナルコンテンツを作ろうかな?」と言う状態であるに違いないと楽観的なことを考えているが、一応、Metasequioaモデルの表示と言う当初の予定を果たそう。

Metasequoiaファイルの表示

Metasequoiaファイルの表示には、rch850氏作の「Metasequoia.as」を使う。Metasequoia.asもSubversion上にあるので、「http://www.libspark.org/svn/as3/Metasequoia」をチェックアウトし、FlashDevelopのClasspathsタブで、「Metasequoia\src」をクラスパスに入れ、プロジェクトのツリー部分に出ている事を確認する。

準備が終わったら、Metasequoia.asは簡単に使える。

ActionScript

  1. var mqo:Metasequoia = new Metasequoia();
  2. mqo.addEventListener(Event.COMPLETE , イベントハンドラ関数);
  3. mqo.load(Metasequoiaファイルへのパス);

これで、自動的にMetasequoiaファイルと模様マップの画像をダウンロードし、モデルとして組み上げてくれる。勿論、importは忘れずに。
なお、Metasequoia.asは、模様マップは読めるが透明マップ/バンプマップは読めないので、例えば、模様マップ部分にアルファ情報を含んだTGAファイルを使うなど、注意が必要。
で、読み込み&解析が完了したらEvent.COMPLETEが出てくるので、そしたらサンプルのthis._transGrpに登録すればよい。というか、別に読み込みも解析も完了してなくても、いきなり登録しても問題ない。その場合、解析が完了したら勝手に表示される。なので、サンプルを最も簡単に変更するとこういう感じになる。

ActionScript

  1. this._transGrp = this._scene.addChild(new DisplayObject3D()) as DisplayObject3D;
  2. var mqo:Metasequoia = new Metasequoia();
  3. mqo.load(Metasequoiaファイルへのパス);
  4. this_transGrp.addChild(mqo);

では、早速「ファイル保管庫@七葉」からはちゅねミクのモデルでもダウンロードしてきて、実行を試みて欲しい。見事、はちゅねミクがマーカー上に表示されたのではないだろうか?寝っ転がって。
寝っ転がるミク

寝っ転がる理由は前回のエントリに書いたとおりで、MetasequoiaではYが上下を表しているが、FLARToolKitでは(もしくはこのサンプルでは)Zが上下を表しているから。と言う事で、

ActionScript

  1. this._transGrp = this._scene.addChild(new DisplayObject3D()) as DisplayObject3D;
  2. var mqo:Metasequoia = new Metasequoia();
  3. mqo.load(Metasequoiaファイルへのパス);
  4. mqo.rotationX = -90;
  5. mqo.rotationZ = -90;
  6. this_transGrp.addChild(mqo);

こんな感じで、モデルをくるっと回しとけば良い。
ついでに、マーカーの向きと合うようにZ方向回転もしといた。

あと、モデルが大きすぎて入らないと言う場合、Metasequoia#loadの第2引数で倍率を指定できるので、

ActionScript

  1. mqo.load(Metasequoiaファイルへのパス,0.5);//元のモデルの半分の大きさで読み込む

等とすればよい。はちゅねミクは、0.3倍で読んでいる。

ここまでで、Metasequoiaモデルも簡単に読める事が分かったかと思う。と言う事で次回は、サンプルを改造してどんなモデルでも読めるクラスに変更しーますの巻。

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク