電脳キューブ、大地に立つ!嘘まだ。

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

以前のエントリで、電脳フィギュア付属の電脳キューブが実に考えられたデザインだとか書いたが、
そのエントリへのコメントによると、
「いや総当りですけど何か?」
って感じらしかった。ちょっとゲンナリ。

しかし、そうなるとITmediaの記事や公式サイトで言っている、

各面のマーカーを少なくとも1つ以上認識すれば、位置を特定できる
「過激でないと革命は起こせない」――そして「電脳フィギュア ARis」は生まれた (2/2) – ITmedia News

って何なの?ってなる。
まぁこの辺は色々グレーなので、もうどうしようもない気がするけどね。(参考)

+GAINER―PHYSICAL COMPUTING WITH GAINER

著者/訳者:GainerBook Labo + くるくる研究室

出版社:オーム社( 2008-10-01 )

定価:

Amazon価格:¥ 4,104

単行本 ( 272 ページ )

ISBN-10 : 4274067335

ISBN-13 : 9784274067334



で、本題のFLARToolKitで電脳キューブだが、マーカの向きが上手く取れない。
上の画像だとちゃんと出ているが、これはかなり狙った感じで、
確率的には↓と五分五分くらい。

まだ試作段階で、
「頂点面か、サイドの面かしか区別できない(前後左右は分からない)」
「面の向きが上向きっぽかったら、傾けてキューブに乗ってるっぽくする。その他の時はそのまま」
とか言うゴミ仕様なんだが、問題は2個目の条件の、面の向き。
失敗ケース(画像2枚目)では、横向きとか判断されてるみたい。
まぁ、実際ミクを乗せてみたら、予想よりちゃんとした形になってるようでよかった。
試しに立方体乗せてたときは、ちょっとこりゃズレがひどいな・・・と思ったが、
逆に人間の形してると、多少ずれてても分からんのか。
足が細くて、接地面が小さいからな。

あ、上の条件のコードはこんな感じね。よくこんな恥ずかしいコード見せる気になったな級のテキトーぶりです。

ActionScript

  1. if (this._detector.getFace() != CubeFace.TOP && this._detector.getDirection() == 2) {
  2.     var rotate:Matrix3D = Matrix3D.rotationY( -90 * Math.PI / 180);
  3.     var move:Matrix3D = Matrix3D.translationMatrix(47,0, 47);
  4.     move.calculateMultiply(rotate, move);
  5.     this._model.transform.calculateMultiply(this._model.transform, move);
  6. }

しかし、現状で5fpsだとチト厳しい。
これから前後左右の判断入れたりして、重くなる一方なのに。

あーそうそう、
ARToolKitのソースは読んだとのことで、誰かここからごねにごねてARisのソース引き出してくださいよ。

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

フォローする

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