Monthly Archives

One Article

AR(拡張現実)&Wiiリモコンをやってみた

前から拡張現実と呼ばれるARWiiリモコンを組み合わせた物を作ってみたいと思っていました。
そこで、今回は卒業研究の方も順調に進んでいる(?)ので、一晩でARとWiiリモコンを組み合わせた作品を作る事にしました!
miku
↓動画は下のほうにあります。
ARとWiiリモコンを組み合わせるにあたり、初めはFLASHで実装しようと思いました。
というのも、FLASHはWeb上で実際に動かせる上に既にFLARToolKitというFlash用のARが作られていて、さらにWiiFlashというサーバーソフトを使えば、FlashのActionScript3.0とWiiリモコン間で情報をやりとりできるからです。
しかし!!
WiiFlashですが、研究室のパソコンでは動いたのですが、同じように自分のノートパソコンにインストールしてサンプルを動かしても動かない(´Д`;)
色々調べましたが、問題はFlashでもWiiリモコンでもなく、「Bluetoothスタック」にありました。
WiiFlashの使えるBluetoothスタックは限られているようで、こればかりはBluetoothアダプタを買い換えるしか方法がありません・・・
ということでFlashは諦めて、C#で実装する事にしました!
C#でARを動かすために、A虎@さんの作った「NyARToolKit for C#」というクラスライブラリを使わせて頂きました。
そのソース解読に時間がかかりましたが、なんとかWiiリモコン制御用のプログラムを打ち込んで行って、ARとWiiリモコンを同時に動かす事が出来ました(・∀・)
■AR(拡張現実)&Wiiリモコン

ここから解説。
Wiiリモコンから取得できる値として前も日記に書きましたが、
・XYZ軸加速度(傾き)
・赤外線座標(4点まで)
・11ボタン

があります。
まず、
[加速度]
平行移動がXとY軸、垂直(縦)の移動がZ軸となっていて、XとYの加速度をモデルの加速度に加算し、平行移動させています。Z軸は一定値以上の加速度が加わると、モデルの加速度に加算されるようになっています。
壁に当たった場合は加速度×-1して反射させ、さらに×0.8して擬似跳ね返り係数を作っています。
次に、
[赤外線]
赤外線の座標をX.Yで取得できるので、今回はX軸のみ使用してモデルをZ軸を中心に回転させています。
そして[ボタン]ですが、今回はマーカーの土台として使用したので、ボタンは使用しない設定で行きました。
ということで今回はARとWiiリモコン組み合わせてみました
ARとWiiリモコンを組み合わせるとかなり自由度が上がりますよね
これでARの世界もさらにインタラクティブに生まれ変わります
あとは、コンタクトレンズ型ディスプレイの製品化を待つのみですね
さぁ、みんなも電脳ワールドに飛び込もう!!